inherit_from: .rubocop_todo.yml
+AllCops:
+ Include:
+ - '**/*.builder'
+
Rails:
Enabled: true
Style/StringLiterals:
EnforcedStyle: double_quotes
+
+Rails/HttpPositionalArguments:
+ Enabled: false
# This configuration was generated by
# `rubocop --auto-gen-config`
-# on 2015-08-18 20:27:49 +0100 using RuboCop version 0.33.0.
+# on 2016-10-20 21:45:27 +0100 using RuboCop version 0.44.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
- 'test/lib/bounding_box_test.rb'
- 'test/lib/country_test.rb'
-# Offense count: 115
+# Offense count: 117
Lint/AmbiguousRegexpLiteral:
Enabled: false
-# Offense count: 29
+# Offense count: 30
# Configuration parameters: AllowSafeAssignment.
Lint/AssignmentInCondition:
Exclude:
- 'lib/osm.rb'
- 'script/deliver-message'
-# Offense count: 3
-Lint/FormatParameterMismatch:
- Exclude:
- - 'app/controllers/swf_controller.rb'
-
# Offense count: 5
Lint/HandleExceptions:
Exclude:
- 'app/controllers/user_controller.rb'
- 'config/initializers/session.rb'
-# Offense count: 8
-Lint/ParenthesesAsGroupedExpression:
+# Offense count: 2
+Lint/ShadowingOuterLocalVariable:
Exclude:
- - 'test/controllers/amf_controller_test.rb'
- - 'test/lib/bounding_box_test.rb'
- - 'test/models/user_preference_test.rb'
+ - 'app/views/changeset/list.atom.builder'
-# Offense count: 671
+# Offense count: 630
Metrics/AbcSize:
- Max: 277
+ Max: 271
+
+# Offense count: 35
+# Configuration parameters: CountComments.
+Metrics/BlockLength:
+ Max: 295
# Offense count: 12
Metrics/BlockNesting:
# Offense count: 62
# Configuration parameters: CountComments.
Metrics/ClassLength:
- Max: 1654
+ Max: 1652
-# Offense count: 67
+# Offense count: 69
Metrics/CyclomaticComplexity:
Max: 20
-# Offense count: 2535
-# Configuration parameters: AllowURI, URISchemes.
+# Offense count: 2826
+# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives.
+# URISchemes: http, https
Metrics/LineLength:
Max: 962
-# Offense count: 628
+# Offense count: 612
# Configuration parameters: CountComments.
Metrics/MethodLength:
Max: 179
# Offense count: 1
# Configuration parameters: CountComments.
Metrics/ModuleLength:
- Max: 131
+ Max: 147
# Offense count: 4
# Configuration parameters: CountKeywordArgs.
Metrics/ParameterLists:
Max: 9
-# Offense count: 69
+# Offense count: 71
Metrics/PerceivedComplexity:
Max: 23
# Offense count: 2
# Configuration parameters: Include.
+# Include: app/**/*.rb, config/**/*.rb, lib/**/*.rb
+Rails/Exit:
+ Exclude:
+ - 'lib/**/*.rake'
+ - 'lib/daemons/gpx_import.rb'
+
+# Offense count: 2
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
Rails/HasAndBelongsToMany:
Exclude:
- 'app/models/changeset.rb'
- 'app/models/user.rb'
-# Offense count: 66
+# Offense count: 5
+# Configuration parameters: Include.
+# Include: db/migrate/*.rb
+Rails/NotNullColumn:
+ Exclude:
+ - 'db/migrate/002_cleanup_osm_db.rb'
+ - 'db/migrate/020_populate_node_tags_and_remove.rb'
+ - 'db/migrate/021_move_to_innodb.rb'
+ - 'db/migrate/025_add_end_time_to_changesets.rb'
+ - 'db/migrate/20120404205604_add_user_and_description_to_redaction.rb'
+
+# Offense count: 17
+Rails/OutputSafety:
+ Exclude:
+ - 'app/controllers/user_controller.rb'
+ - 'app/helpers/application_helper.rb'
+ - 'app/helpers/changeset_helper.rb'
+ - 'app/helpers/geocoder_helper.rb'
+ - 'app/helpers/note_helper.rb'
+ - 'app/helpers/open_graph_helper.rb'
+ - 'app/helpers/user_blocks_helper.rb'
+ - 'app/helpers/user_roles_helper.rb'
+ - 'lib/rich_text.rb'
+ - 'test/helpers/application_helper_test.rb'
+
+# Offense count: 74
# Configuration parameters: EnforcedStyle, SupportedStyles.
+# SupportedStyles: strict, flexible
Rails/TimeZone:
Enabled: false
Exclude:
- 'test/models/message_test.rb'
-# Offense count: 310
+# Offense count: 220
Style/Documentation:
Enabled: false
-# Offense count: 38
-# Configuration parameters: MinBodyLength.
-Style/GuardClause:
+# Offense count: 1
+# Cop supports --auto-correct.
+# Configuration parameters: MaxLineLength.
+Style/IfUnlessModifier:
Exclude:
- - 'app/controllers/application_controller.rb'
- - 'app/controllers/diary_entry_controller.rb'
- - 'app/controllers/message_controller.rb'
- - 'app/controllers/notes_controller.rb'
- - 'app/controllers/site_controller.rb'
- - 'app/controllers/user_blocks_controller.rb'
- - 'app/controllers/user_controller.rb'
- - 'app/controllers/user_roles_controller.rb'
- - 'app/helpers/application_helper.rb'
- - 'app/models/changeset.rb'
- - 'app/models/user.rb'
- - 'lib/diff_reader.rb'
- - 'lib/object_metadata.rb'
+ - 'app/controllers/way_controller.rb'
# Offense count: 60
# Cop supports --auto-correct.
- 'test/controllers/relation_controller_test.rb'
- 'test/controllers/way_controller_test.rb'
-# Offense count: 69
+# Offense count: 71
# Cop supports --auto-correct.
Style/NumericLiterals:
MinDigits: 11
-# Offense count: 42
-# Cop supports --auto-correct.
-Style/PerlBackrefs:
- Exclude:
- - 'app/controllers/amf_controller.rb'
- - 'app/controllers/application_controller.rb'
- - 'app/helpers/browse_helper.rb'
- - 'config/initializers/paperclip.rb'
- - 'lib/id.rb'
- - 'lib/potlatch.rb'
- - 'test/lib/i18n_test.rb'
-
# Offense count: 8
-# Configuration parameters: NamePrefix, NamePrefixBlacklist.
+# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
+# NamePrefix: is_, has_, have_
+# NamePrefixBlacklist: is_, has_, have_
+# NameWhitelist: is_a?
Style/PredicateName:
Exclude:
+ - 'spec/**/*'
- 'app/models/changeset.rb'
- 'app/models/old_node.rb'
- 'app/models/old_relation.rb'
- 'lib/classic_pagination/pagination.rb'
# Offense count: 97
+# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
+# SupportedStyles: compact, exploded
Style/RaiseArgs:
Enabled: false
# Offense count: 2
+# Cop supports --auto-correct.
Style/RescueModifier:
Exclude:
- 'app/helpers/browse_helper.rb'
-
-# Offense count: 8
-# Cop supports --auto-correct.
-# Configuration parameters: EnforcedStyle, SupportedStyles.
-Style/StringLiteralsInInterpolation:
- Enabled: false
sudo: false
language: ruby
rvm:
- - 2.1.8
+ - 2.3.1
cache: bundler
addons:
postgresql: 9.1
script:
- bundle exec rubocop -f fuubar
- bundle exec rake jshint
- - bundle exec rake test
+ - bundle exec rake test:db
source "https://rubygems.org"
# Require rails
-gem "rails", "4.2.6"
+gem "rails", "4.2.7.1"
# Require things which have moved to gems in ruby 1.9
gem "bigdecimal", "~> 1.1.0", :platforms => :ruby_19
gem "omniauth-google-oauth2", ">= 0.2.7"
gem "omniauth-facebook"
gem "omniauth-windowslive"
+gem "omniauth-github"
# Markdown formatting support
gem "redcarpet"
# Load faraday for mockable HTTP client
gem "faraday"
-# Load httpclient and soap4r for SOAP support for Quova GeoIP queries
-gem "httpclient"
-gem "soap4r-ruby1.9"
+# Load geoip for querying Maxmind GeoIP database
+gem "geoip"
# Load memcache client in case we are using it
gem "dalli"
gem "jshint"
gem "konacha"
gem "poltergeist"
+ gem "factory_girl_rails"
gem "coveralls", :require => false
end
remote: https://rubygems.org/
specs:
SystemTimer (1.2.3)
- actionmailer (4.2.6)
- actionpack (= 4.2.6)
- actionview (= 4.2.6)
- activejob (= 4.2.6)
+ actionmailer (4.2.7.1)
+ actionpack (= 4.2.7.1)
+ actionview (= 4.2.7.1)
+ activejob (= 4.2.7.1)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.5)
- actionpack (4.2.6)
- actionview (= 4.2.6)
- activesupport (= 4.2.6)
+ actionpack (4.2.7.1)
+ actionview (= 4.2.7.1)
+ activesupport (= 4.2.7.1)
rack (~> 1.6)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionpack-page_caching (1.0.2)
actionpack (>= 4.0.0, < 5)
- actionview (4.2.6)
- activesupport (= 4.2.6)
+ actionview (4.2.7.1)
+ activesupport (= 4.2.7.1)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- activejob (4.2.6)
- activesupport (= 4.2.6)
+ activejob (4.2.7.1)
+ activesupport (= 4.2.7.1)
globalid (>= 0.3.0)
- activemodel (4.2.6)
- activesupport (= 4.2.6)
+ activemodel (4.2.7.1)
+ activesupport (= 4.2.7.1)
builder (~> 3.1)
- activerecord (4.2.6)
- activemodel (= 4.2.6)
- activesupport (= 4.2.6)
+ activerecord (4.2.7.1)
+ activemodel (= 4.2.7.1)
+ activesupport (= 4.2.7.1)
arel (~> 6.0)
- activesupport (4.2.6)
+ activesupport (4.2.7.1)
i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.4.0)
arel (6.0.3)
- ast (2.2.0)
- autoprefixer-rails (6.3.5)
+ ast (2.3.0)
+ autoprefixer-rails (6.5.1)
execjs
bigdecimal (1.1.0)
builder (3.2.2)
- capybara (2.6.2)
+ capybara (2.10.1)
addressable
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
coffee-script-source
execjs
coffee-script-source (1.10.0)
- colorize (0.7.7)
- composite_primary_keys (8.1.2)
+ colorize (0.8.1)
+ composite_primary_keys (8.1.4)
activerecord (~> 4.2.0)
- concurrent-ruby (1.0.1)
- coveralls (0.8.13)
- json (~> 1.8)
- simplecov (~> 0.11.0)
+ concurrent-ruby (1.0.2)
+ coveralls (0.8.15)
+ json (>= 1.8, < 3)
+ simplecov (~> 0.12.0)
term-ansicolor (~> 1.3)
thor (~> 0.19.1)
- tins (~> 1.6.0)
+ tins (>= 1.6.0, < 2)
crass (1.0.2)
dalli (2.7.6)
deadlock_retry (1.2.0)
docile (1.1.5)
dynamic_form (1.1.4)
erubis (2.7.0)
- execjs (2.6.0)
- exifr (1.2.4)
+ execjs (2.7.0)
+ exifr (1.2.5)
+ factory_girl (4.7.0)
+ activesupport (>= 3.0.0)
+ factory_girl_rails (4.7.0)
+ factory_girl (~> 4.7.0)
+ railties (>= 3.0.0)
faraday (0.9.2)
multipart-post (>= 1.2, < 3)
- fspath (2.1.1)
- globalid (0.3.6)
+ fspath (3.0.1)
+ geoip (1.6.2)
+ globalid (0.3.7)
activesupport (>= 4.1.0)
- hashie (3.4.3)
+ hashie (3.4.6)
htmlentities (4.3.4)
http_accept_language (2.0.5)
- httpclient (2.7.1)
i18n (0.7.0)
- i18n-js (3.0.0.rc12)
+ i18n-js (3.0.0.rc14)
i18n (~> 0.6, >= 0.6.6)
- image_optim (0.22.1)
+ image_optim (0.24.0)
exifr (~> 1.2, >= 1.2.2)
- fspath (~> 2.1)
+ fspath (~> 3.0)
image_size (~> 1.3)
in_threads (~> 1.3)
progress (~> 3.0, >= 3.0.1)
image_size (1.4.2)
in_threads (1.3.1)
- jquery-rails (4.1.1)
+ jquery-rails (4.2.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jsonify-rails (0.3.2)
actionpack
jsonify (< 0.4.0)
- jwt (1.5.4)
+ jwt (1.5.6)
kgio (2.10.0)
konacha (4.0.0)
actionpack (>= 4.1, < 5)
sprockets (>= 2, < 4)
sprockets-rails (>= 2, < 4)
tilt
- libv8 (3.16.14.13)
- libxml-ruby (2.8.0)
+ libv8 (3.16.14.15)
+ libxml-ruby (2.9.0)
logstash-event (1.2.02)
- logstasher (0.9.0)
- activerecord (>= 3.0)
- activesupport (>= 3.0)
+ logstasher (1.0.1)
+ activerecord (>= 4.0)
+ activesupport (>= 4.0)
logstash-event (~> 1.2.0)
request_store
loofah (2.0.3)
nokogiri (>= 1.5.9)
mail (2.6.4)
mime-types (>= 1.16, < 4)
- mime-types (3.0)
+ mime-types (3.1)
mime-types-data (~> 3.2015)
- mime-types-data (3.2016.0221)
+ mime-types-data (3.2016.0521)
mimemagic (0.3.0)
- mini_portile2 (2.0.0)
- minitest (5.8.4)
- multi_json (1.11.2)
+ mini_portile2 (2.1.0)
+ minitest (5.9.1)
+ multi_json (1.12.1)
multi_xml (0.5.5)
multipart-post (2.0.0)
- nokogiri (1.6.7.2)
- mini_portile2 (~> 2.0.0.rc2)
- nokogumbo (1.4.7)
+ nokogiri (1.6.8.1)
+ mini_portile2 (~> 2.1.0)
+ nokogumbo (1.4.9)
nokogiri
oauth (0.4.7)
oauth-plugin (0.5.1)
oauth (~> 0.4.4)
oauth2 (>= 0.5.0)
rack
- oauth2 (1.0.0)
+ oauth2 (1.2.0)
faraday (>= 0.8, < 0.10)
jwt (~> 1.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
- rack (~> 1.2)
+ rack (>= 1.2, < 3)
omniauth (1.3.1)
hashie (>= 1.2, < 4)
rack (>= 1.0, < 3)
- omniauth-facebook (3.0.0)
+ omniauth-facebook (4.0.0)
omniauth-oauth2 (~> 1.2)
+ omniauth-github (1.1.2)
+ omniauth (~> 1.0)
+ omniauth-oauth2 (~> 1.1)
omniauth-google-oauth2 (0.4.1)
jwt (~> 1.5.2)
multi_json (~> 1.3)
omniauth-openid (1.0.1)
omniauth (~> 1.0)
rack-openid (~> 1.3.1)
- omniauth-windowslive (0.0.9.1)
+ omniauth-windowslive (0.0.11)
multi_json (>= 1.0.3)
- omniauth-oauth2 (~> 1.0)
- paperclip (4.3.6)
+ omniauth-oauth2 (~> 1.4)
+ paperclip (4.3.7)
activemodel (>= 3.2.0)
activesupport (>= 3.2.0)
cocaine (~> 0.5.5)
mime-types
mimemagic (= 0.3.0)
- parser (2.3.0.7)
+ parser (2.3.1.4)
ast (~> 2.2)
- pg (0.18.4)
- poltergeist (1.9.0)
+ pg (0.19.0)
+ poltergeist (1.11.0)
capybara (~> 2.1)
cliver (~> 0.3.1)
- multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
powerpack (0.1.1)
- progress (3.1.1)
- psych (2.0.17)
+ progress (3.2.2)
+ psych (2.1.1)
r2 (0.2.6)
rack (1.6.4)
rack-cors (0.4.0)
rack-test (0.6.3)
rack (>= 1.0)
rack-uri_sanitizer (0.0.2)
- rails (4.2.6)
- actionmailer (= 4.2.6)
- actionpack (= 4.2.6)
- actionview (= 4.2.6)
- activejob (= 4.2.6)
- activemodel (= 4.2.6)
- activerecord (= 4.2.6)
- activesupport (= 4.2.6)
+ rails (4.2.7.1)
+ actionmailer (= 4.2.7.1)
+ actionpack (= 4.2.7.1)
+ actionview (= 4.2.7.1)
+ activejob (= 4.2.7.1)
+ activemodel (= 4.2.7.1)
+ activerecord (= 4.2.7.1)
+ activesupport (= 4.2.7.1)
bundler (>= 1.3.0, < 2.0)
- railties (= 4.2.6)
+ railties (= 4.2.7.1)
sprockets-rails
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
- rails-i18n (4.0.8)
+ rails-i18n (4.0.9)
i18n (~> 0.7)
railties (~> 4.0)
- railties (4.2.6)
- actionpack (= 4.2.6)
- activesupport (= 4.2.6)
+ railties (4.2.7.1)
+ actionpack (= 4.2.7.1)
+ activesupport (= 4.2.7.1)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rainbow (2.1.0)
- rake (11.1.2)
+ rake (11.3.0)
redcarpet (3.3.4)
ref (2.0.0)
- request_store (1.3.0)
- rinku (1.7.3)
- rubocop (0.39.0)
- parser (>= 2.3.0.7, < 3.0)
+ request_store (1.3.1)
+ rinku (2.0.2)
+ rubocop (0.44.1)
+ parser (>= 2.3.1.1, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
ruby-openid (2.7.0)
- ruby-progressbar (1.7.5)
- sanitize (4.0.1)
+ ruby-progressbar (1.8.1)
+ sanitize (4.4.0)
crass (~> 1.0.2)
nokogiri (>= 1.4.4)
nokogumbo (~> 1.4.1)
- sass (3.4.21)
- sass-rails (5.0.4)
- railties (>= 4.0.0, < 5.0)
+ sass (3.4.22)
+ sass-rails (5.0.6)
+ railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
- simplecov (0.11.2)
+ simplecov (0.12.0)
docile (~> 1.1.0)
- json (~> 1.8)
+ json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.0)
- soap4r-ruby1.9 (2.0.5)
- sprockets (3.5.2)
+ sprockets (3.7.0)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
- sprockets-rails (3.0.4)
+ sprockets-rails (3.2.0)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
- term-ansicolor (1.3.2)
+ term-ansicolor (1.4.0)
tins (~> 1.0)
therubyracer (0.12.2)
libv8 (~> 3.16.14.0)
ref
thor (0.19.1)
thread_safe (0.3.5)
- tilt (2.0.2)
- timecop (0.8.0)
- tins (1.6.0)
+ tilt (2.0.5)
+ timecop (0.8.1)
+ tins (1.12.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
- uglifier (3.0.0)
+ uglifier (3.0.2)
execjs (>= 0.3.0, < 3)
- unicode-display_width (1.0.2)
+ unicode-display_width (1.1.1)
validates_email_format_of (1.6.3)
i18n
vendorer (0.1.16)
- websocket-driver (0.6.3)
+ websocket-driver (0.6.4)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)
xpath (2.0.0)
dalli
deadlock_retry (>= 1.2.0)
dynamic_form
+ factory_girl_rails
faraday
+ geoip
htmlentities
http_accept_language (~> 2.0.0)
- httpclient
i18n-js (>= 3.0.0.rc10)
image_optim (>= 0.22.0)
jquery-rails
oauth-plugin (>= 0.5.1)
omniauth
omniauth-facebook
+ omniauth-github
omniauth-google-oauth2 (>= 0.2.7)
omniauth-openid
omniauth-windowslive
r2
rack-cors
rack-uri_sanitizer
- rails (= 4.2.6)
+ rails (= 4.2.7.1)
rails-i18n (~> 4.0.0)
redcarpet
rinku (>= 1.2.2)
rubocop
sanitize
sass-rails (~> 5.0)
- soap4r-ruby1.9
timecop
uglifier (>= 1.3.0)
validates_email_format_of (>= 1.5.1)
vendorer
+
+BUNDLED WITH
+ 1.10.6
Installing other dependencies:
* Install Homebrew from http://mxcl.github.io/homebrew/
-* Install the latest version of Ruby: brew install ruby
-* Install ImageMagick: brew install imagemagick
-* Install Bundler: gem install bundler
+* Install the latest version of Ruby: `brew install ruby`
+* Install ImageMagick: `brew install imagemagick`
+* Install Bundler: `gem install bundler`
Note that OS X does not have a /home directory by default, so if you are using the GPX functions, you will need to change the directories specified in config/application.yml.
* Translation is managed by [Translatewiki](https://translatewiki.net/wiki/Translating:OpenStreetMap)
* There is a [rails-dev@openstreetmap.org](http://lists.openstreetmap.org/listinfo/rails-dev) mailing list for development discussion.
* IRC - there is the #osm-dev channel on irc.oftc.net.
-* There are also weekly meetings of the OpenStreetMap Foundation Engineering Working Group (EWG) on Mondays at 1700 UTC on the #osm-ewg channel.
More details on contributing to the code are in the [CONTRIBUTING.md](CONTRIBUTING.md) file.
end
folder 'leaflet' do
- file 'leaflet.js', 'http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet-src.js'
- file 'leaflet.css', 'http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.css'
+ file 'leaflet.js', 'https://unpkg.com/leaflet@1.0.1/dist/leaflet-src.js'
+ file 'leaflet.css', 'https://unpkg.com/leaflet@1.0.1/dist/leaflet.css'
[ 'layers.png', 'layers-2x.png',
'marker-icon.png', 'marker-icon-2x.png',
'marker-shadow.png' ].each do |image|
- file "images/#{image}", "http://cdn.leafletjs.com/leaflet/v0.7.7/images/#{image}"
+ file "images/#{image}", "https://unpkg.com/leaflet@1.0.1/dist/images/#{image}"
end
from 'git://github.com/kajic/leaflet-locationfilter.git' do
folder 'img', 'src/img'
end
- from 'git://github.com/domoritz/leaflet-locatecontrol.git' do
+ from 'git://github.com/domoritz/leaflet-locatecontrol.git', :tag => 'v0.54.0' do
file 'leaflet.locate.js', 'src/L.Control.Locate.js'
end
file 'leaflet.osm.js', 'leaflet-osm.js'
end
- from 'git://github.com/jieter/Leaflet.encoded.git' do
+ from 'git://github.com/jieter/Leaflet.encoded.git', :tag => '0.0.8' do
file 'leaflet.polyline.js', 'Polyline.encoded.js'
end
end
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="520"
+ height="20"
+ viewBox="0 0 520.00001 20"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="routing-sprite.svg"
+ inkscape:export-filename="/home/patrick/Code/openstreetmap-website/app/assets/images/routing-sprite.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6568542"
+ inkscape:cx="131.24519"
+ inkscape:cy="13.736603"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="1920"
+ inkscape:window-height="1080"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ showguides="false"
+ inkscape:guide-bbox="true"
+ units="px">
+ <inkscape:grid
+ type="xygrid"
+ id="grid4224" />
+ <sodipodi:guide
+ position="20.000001,31"
+ orientation="1,0"
+ id="guide4226" />
+ <sodipodi:guide
+ position="40.000001,19"
+ orientation="1,0"
+ id="guide4245" />
+ <sodipodi:guide
+ position="60.000002,29"
+ orientation="1,0"
+ id="guide4299" />
+ <sodipodi:guide
+ position="80.000002,35"
+ orientation="1,0"
+ id="guide4388" />
+ <sodipodi:guide
+ position="71.000002,10"
+ orientation="-0.7193398,-0.69465837"
+ id="guide4432"
+ inkscape:label=""
+ inkscape:color="rgb(0,0,255)" />
+ <sodipodi:guide
+ position="100,15"
+ orientation="1,0"
+ id="guide4499" />
+ <sodipodi:guide
+ position="120,15"
+ orientation="1,0"
+ id="guide4578" />
+ <sodipodi:guide
+ position="140,16"
+ orientation="1,0"
+ id="guide4580" />
+ <sodipodi:guide
+ position="160,21"
+ orientation="1,0"
+ id="guide4582" />
+ <sodipodi:guide
+ position="180,15"
+ orientation="1,0"
+ id="guide4729" />
+ <sodipodi:guide
+ position="200.00001,15"
+ orientation="1,0"
+ id="guide4731" />
+ <sodipodi:guide
+ position="220.00001,11"
+ orientation="1,0"
+ id="guide4747" />
+ <sodipodi:guide
+ position="78.000002,12"
+ orientation="-0.70710678,0.70710678"
+ id="guide4212"
+ inkscape:label=""
+ inkscape:color="rgb(0,0,255)" />
+ <sodipodi:guide
+ position="240.00001,19"
+ orientation="1,0"
+ id="guide4264" />
+ <sodipodi:guide
+ position="260.00001,19"
+ orientation="1,0"
+ id="guide4266" />
+ <sodipodi:guide
+ position="280.00001,5"
+ orientation="1,0"
+ id="guide4280" />
+ <sodipodi:guide
+ position="300.00001,10"
+ orientation="1,0"
+ id="guide4297" />
+ <sodipodi:guide
+ position="320.00001,24"
+ orientation="1,0"
+ id="guide4305" />
+ <sodipodi:guide
+ position="340.00001,28"
+ orientation="1,0"
+ id="guide4335" />
+ <sodipodi:guide
+ position="360.00001,30"
+ orientation="1,0"
+ id="guide4337" />
+ <sodipodi:guide
+ position="380.00001,19"
+ orientation="1,0"
+ id="guide4376" />
+ <sodipodi:guide
+ position="400.00001,19"
+ orientation="1,0"
+ id="guide4382" />
+ <sodipodi:guide
+ position="420.00001,36"
+ orientation="1,0"
+ id="guide4394" />
+ <sodipodi:guide
+ position="440.00001,20"
+ orientation="1,0"
+ id="guide4449" />
+ <sodipodi:guide
+ position="460.00001,22"
+ orientation="1,0"
+ id="guide4451" />
+ <sodipodi:guide
+ position="480.00001,20"
+ orientation="1,0"
+ id="guide4485" />
+ <sodipodi:guide
+ position="500.00001,40"
+ orientation="1,0"
+ id="guide4487" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1032.3622)">
+ <image
+ y="1002.3622"
+ x="1.7763568e-15"
+ id="image4217"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWgAAAAUCAMAAACXrFfpAAABOFBMVEUAAAB/f39/f39/f39/f396 enoAAAB7e3t7e3t4eHh5eXl5eXl6enp3d3d4eHgAAAB3d3d1dXVzc3MAAABwcHBvb29ubm4AAABt bW1sbGxsbGxsbGxra2tra2toaGhoaGhqamoAAABmZmZoaGgAAABnZ2dkZGQAAABiYmJXV1dXV1cA AAAAAABMTEwAAAAAAABDQ0MAAAA1NTU1NTUxMTEAAAAxMTEAAAAAAAAmJiYlJSUkJCQjIyMiIiIA AAAcHBwAAAAAAAAAAAAAAAAUFBQAAAAAAAAQEBAPDw8AAAAPDw8AAAAAAAANDQ0MDAwAAAAAAAAM DAwKCgoAAAAAAAAICAgICAgAAAAHBwcAAAAHBwcGBgYAAAAAAAAAAAAAAAADAwMAAAAAAAAAAAAA AAAAAAAAAAAAAABULW3yAAAAZ3RSTlMAAQIGCw4QEBIUFhcZGh0gICItMDQ5PEBAQUJERUZHSEhK SkxMTU9QUFZXWGBgZGZpcHl6f4CAiJCRk5SXmaCmrLC1uLzAxMXIyMrM0NDT09TU29zg4OLk5ebm 6fDx8/T09vf4+/z9ttm2NwAABH9JREFUeF7tV+9zFTUUzQOMFZUAiwZbkB9bXYEU3UI0FVhcNQVx rQpbsBopFuX8//+BMy/vvd3k7mRnio8PHc/HOyc35545yWbZkYOQtKYSvDeOgg/Xs4JR8OI/kDnc Q6jX02wqqtZlKR7tN47MWtNfOMRZOZ/n+fmVuNwMD6hRhDmQSlcNXCCpJAKVtbYiRnIViAVspQsp w9Wo0+OmNXMHQWeoUjzabxwSsP1mNDMn1/KHAB7ma+9EK9uhfi1CPdxgijJMggtjnzWeZViSVnmW jqaF0yyBtGYNVNRTiEEe7Xc4oxXtxS78Co+fVoO6BSTpZgEgKt78GyCCHGxvFN5iBh12a6kD+OsK C2EBtCqR6pRm8SdI0QCwMQ8AsvF+FGLA6HkcpV64cOwz5B7Iw3B492gsXVgtp0XVXRFTPANQyX5S jSya/iyyBvDMs1WfCFeQrNGqrOFqyRjRTL0CGh7SDnAANcQb7Uf3FS01ugRQe+kL6uRT5Jfu/nb3 UmR04++DENmTOAu8jszXmKMbUMxa8WZxPHmDHnSQK8AQo1+uswDKExUb0VyUN4B1VQSBLixspnnI W/c82m9k3woqMtofTMjI6E9waxfA7i3kE5IiQcYLjc5aAO0VmCGj3fzclPOsyO48CO0GjGa1KxyA RgRG/wPU8UH3EGxM8w3gJovQ4BdvM+Wl+9F9BdDGRvvwtbxv9MnVTcyxufruwkBX/Qh8VTfkCq2t DZ4JQM1ZkwXfFCnlE7guMvUiFw5YULl2aKSUVd9oVTHRRPeTdp8DCEMJdNlPajYziXE6XMEor2Is 3Y/ua19iX4dGq9YAKJuqb/SFB+jwYG2RmNmHQPDoUeA4r8NLrAzf/3pqm0AtyDeFfF2EhfArupKc jdM3WjILOHKjzo5XUrMGtrcBE8Zl77s9H0rKS/aj+4pCY12FRgvGpgOIvtFn76HDvbPpL64F1HQ9 edPERpeK0ValySywrqquQ1lGRnuERnN/ZAeNrkdeCQ5qKrNnVjk91DUqwisATvsl9/VeclNIwApT BAPw5gd8Y33L41efYo6nV48nRJNSyujhdRYHwD6K0RUA0pUSM5RpgZk/CE2/rOGPuiUPZs8j/ZL7 +tAW2Aeew0ZyZe+ZdeY25rh9hi3XaOH8RXhYo+nDvB1JIPcZbUOjDWNMBcqF/7N1yGi/9L7eaP/9 cyKWa7tpJznmyCdLNdp7CscPazR90zfZiEDWoBa8ggtFl0y68DC0nteO9aP7ash5hjSRK3tfgouP XuHF9y/w6tFFtmyjufNqDmd0iELrgrFRYzBFwKww8BPT8Ui/9L7KZrMpHKdyy0WgT63lG1vX8+tb G/naqcmSjWYajr+e0RRpzdm3wM9RUe/hueGUt50cOA3uoFNyz23uPL6zcf+P+xt3Hu9snluC0ZEc zZZvdKxRUp5lKR7tNw7jeEpujp3Z1YHd35Ev22hmxFE1Wpik3MubH324sXXtg2tff7H68ZeX2dFD Zm1G0mdNgrcUrLw/YW+dPsFOnH6bHXtvhb0p/I9/AQmEF7Y+Eo3CAAAAAElFTkSuQmCC "
+ preserveAspectRatio="none"
+ height="20.000017"
+ width="360" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 9,1039.3309 3.6e-5,10.0313 1.999964,0 -3.5e-5,-10.0313 z"
+ id="path4446"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="path4448"
+ d="m 15,1039.3466 -5,-4.9844 -5,5 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 87.125,4.984375 87.125,5 86,5 86,12.005859 82,12 l 5,5 5,-4.984375 -4,-0.0059 0,-5.025391 7,0 L 95,17 l 2,0 0,-12 -0.46875,0 0,-0.015625 -9.40625,0 z"
+ transform="translate(0,1032.3622)"
+ id="path4509"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 28,3.9882812 2.814453,2.8203126 -4.777344,4.7460942 0,0.04297 -0.03711,0 L 26,17 28,17 28,12.423828 32.228516,8.2226562 35,11 35,4 28,3.9882812 Z"
+ transform="translate(0,1032.3622)"
+ id="path4450"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 53,4 0.0059,3.984375 -6.005859,0 0,2 L 47,17 l 2,0 0,-7.015625 4.009766,0 L 53.015625,14 58,9 53,4 Z"
+ transform="translate(0,1032.3622)"
+ id="path4208"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 67.025391,4.4101562 67.003906,17 l 2,0 0,-7.5527344 3.685547,3.8710934 -2.683114,2.694508 6.989812,0.05505 0.01101,-7.0846724 -2.854816,2.9210504 z"
+ transform="translate(0,1032.3622)"
+ id="path4424"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 170,1035.3622 -4,5 3,0 0,5 2,0 0,-5 3,0 z"
+ id="path4735"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" />
+ <g
+ id="g4237">
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 189,1039.3309 4e-5,10.0313 1.99996,0 -3e-5,-10.0313 z"
+ id="path4233"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="path4235"
+ d="m 195,1039.3466 -5,-4.9844 -5,5 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <path
+ id="path4221"
+ d="m 112.00001,1036.3505 -2.81445,2.8203 4.77734,4.7461 0,0.043 0.0371,0 0,5.4023 -2,0 0,-4.5762 -4.22852,-4.2011 -2.77148,2.7773 0,-7 7,-0.012 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4223"
+ d="m 128.00028,1036.3622 -0.006,3.9844 6.00586,0 0,2 0,7.0156 -2,0 0,-7.0156 -4.00977,0 -0.006,4.0156 -4.98437,-5 5,-5 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="cccccccccc"
+ inkscape:connector-curvature="0"
+ id="path4225"
+ d="m 153.98575,1036.7724 0.0215,12.5898 -2,0 0,-7.5527 -3.68555,3.8711 2.68312,2.6945 -6.98982,0.055 -0.011,-7.0847 2.85482,2.9211 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <g
+ id="g4254"
+ transform="translate(-2.0000461,0)">
+ <circle
+ r="3"
+ transform="scale(1,-1)"
+ cy="-1044.3622"
+ cx="210.04105"
+ id="path4231"
+ style="opacity:1;fill:none;fill-opacity:0.43824702;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ id="path4247"
+ transform="translate(0,1032.3622)"
+ d="m 211,3.9882812 2.81445,2.8203126 -1.76562,1.7539062 c 0.58436,0.3442274 1.07073,0.8277607 1.41797,1.4101562 l 1.76172,-1.75 L 218,11 218,4 211,3.9882812 Z M 209,15.84375 209,17 l 2,0 0,-1.130859 C 210.69097,15.946541 210.3729,16 210.04102,16 209.67912,16 209.3342,15.935262 209,15.84375 Z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ transform="translate(17.999954,0)"
+ id="g4258">
+ <circle
+ style="opacity:1;fill:none;fill-opacity:0.43824702;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="circle4260"
+ cx="210.04105"
+ cy="-1044.3622"
+ transform="scale(1,-1)"
+ r="3" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 211,3.9882812 2.81445,2.8203126 -1.76562,1.7539062 c 0.58436,0.3442274 1.07073,0.8277607 1.41797,1.4101562 l 1.76172,-1.75 L 218,11 218,4 211,3.9882812 Z M 209,15.84375 209,17 l 2,0 0,-1.130859 C 210.69097,15.946541 210.3729,16 210.04102,16 209.67912,16 209.3342,15.935262 209,15.84375 Z"
+ transform="translate(0,1032.3622)"
+ id="path4262" />
+ </g>
+ <g
+ id="g4268"
+ transform="translate(37.999954,0)">
+ <circle
+ r="3"
+ transform="scale(1,-1)"
+ cy="-1044.3622"
+ cx="210.04105"
+ id="circle4270"
+ style="opacity:1;fill:none;fill-opacity:0.43824702;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ id="path4272"
+ transform="translate(0,1032.3622)"
+ d="m 211,3.9882812 2.81445,2.8203126 -1.76562,1.7539062 c 0.58436,0.3442274 1.07073,0.8277607 1.41797,1.4101562 l 1.76172,-1.75 L 218,11 218,4 211,3.9882812 Z M 209,15.84375 209,17 l 2,0 0,-1.130859 C 210.69097,15.946541 210.3729,16 210.04102,16 209.67912,16 209.3342,15.935262 209,15.84375 Z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g4274"
+ transform="translate(80,0)">
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path4276"
+ d="m 189,1039.3309 4e-5,10.0313 1.99996,0 -3e-5,-10.0313 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 195,1039.3466 -5,-4.9844 -5,5 z"
+ id="path4278"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <path
+ id="path4295"
+ d="m 290,1035.3622 a 2,2 0 0 0 -2,2 2,2 0 0 0 2,2 2,2 0 0 0 2,-2 2,2 0 0 0 -2,-2 z m 0,4 -4,5 3,0 0,5 2,0 0,-5 3,0 -4,-5 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g4313">
+ <g
+ id="g4299"
+ transform="translate(115.01146,2)">
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path4301"
+ d="m 189,1037.3422 4e-5,7.9763 1.99996,0 -3e-5,-7.9763 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 192.99451,1037.3474 190,1034.3622 l -3.01146,3.0115 z"
+ id="path4303"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <g
+ transform="matrix(1,0,0,-1,123.01146,2083.7244)"
+ id="g4307">
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 189,1039.3309 4e-5,10.0313 1.99996,0 -3e-5,-10.0313 z"
+ id="path4309"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="path4311"
+ d="m 195,1039.3466 -5,-4.9844 -5,5 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ </g>
+ <g
+ id="g4321"
+ transform="matrix(-1,0,0,-1,640.01146,2083.7244)">
+ <g
+ transform="translate(115.01146,2)"
+ id="g4323">
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 189,1037.3422 4e-5,7.9763 1.99996,0 -3e-5,-7.9763 z"
+ id="path4325"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="path4327"
+ d="M 192.99451,1037.3474 190,1034.3622 l -3.01146,3.0115 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4329"
+ transform="matrix(1,0,0,-1,123.01146,2083.7244)">
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path4331"
+ d="m 189,1039.3309 4e-5,10.0313 1.99996,0 -3e-5,-10.0313 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 195,1039.3466 -5,-4.9844 -5,5 z"
+ id="path4333"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ </g>
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ d="m 349,3 0,1 -3,0 0,5.2265625 L 343.95508,10 347,13 l 0,0.904297 1.61133,1.425781 1.88867,-1.671875 1.89062,1.671875 L 354,13.90625 354,13 357.04492,10.044922 355,9.2617188 355,4 l -3,0 0,-1 -3,0 z m -2,2 7,0 0,3.8769531 L 350.48633,7.53125 347,8.8496094 347,5 Z m -0.2793,9.992188 -2.2207,1.966796 0.66211,0.748047 1.55859,-1.378906 L 348.61133,18 350.5,16.328125 352.39062,18 l 1.88868,-1.671875 1.55859,1.378906 0.66211,-0.748047 -2.2207,-1.966796 -1.88868,1.673828 -1.89062,-1.673828 -1.88867,1.673828 -1.89063,-1.673828 z"
+ transform="translate(0,1032.3622)"
+ id="path4341"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g4384">
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 370,1036.3505 2.81445,2.8203 -4.77734,4.7461 0,0.043 -0.0371,0 0,5.4023 2,0 0,-4.5762 4.22852,-4.2011 2.77148,2.7773 0,-7 -7,-0.012 z"
+ id="path4374"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0"
+ id="path4378"
+ d="m 365.18556,1039.1708 4.77734,4.7461 0,0.043 0.0371,0 0,5.4023 -2,0 0,-4.5762 -4.22852,-4.2011 z"
+ style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4388"
+ transform="matrix(-1,0,0,1,760.00001,0)">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4390"
+ d="m 370,1036.3505 2.81445,2.8203 -4.77734,4.7461 0,0.043 -0.0371,0 0,5.4023 2,0 0,-4.5762 4.22852,-4.2011 2.77148,2.7773 0,-7 -7,-0.012 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 365.18556,1039.1708 4.77734,4.7461 0,0.043 0.0371,0 0,5.4023 -2,0 0,-4.5762 -4.22852,-4.2011 z"
+ id="path4392"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc" />
+ </g>
+ <g
+ id="g4438">
+ <path
+ id="path4421"
+ transform="translate(0,1032.3622)"
+ d="m 407.0293,3.9882812 0,5.4023438 0.0371,0 0,0.042969 1.95117,1.9375 0,5.638672 2.8164,-2.820313 2.72657,2.796875 1.44531,-1.382812 -2.76758,-2.837891 0.0195,-0.02148 2.75977,-2.7460939 -5.5293,0.00977 -1.45898,-1.4433584 0,-4.5761719 -2,0 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0"
+ id="path4423"
+ d="m 404.21408,1046.5416 4.77734,-4.7461 0,-0.043 0.0371,0 0,-5.4023 -2,0 0,4.5762 -4.22852,4.2011 z"
+ style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g4442"
+ transform="matrix(-1,0,0,1,840.01754,0)">
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 407.0293,3.9882812 0,5.4023438 0.0371,0 0,0.042969 1.95117,1.9375 0,5.638672 2.8164,-2.820313 2.72657,2.796875 1.44531,-1.382812 -2.76758,-2.837891 0.0195,-0.02148 2.75977,-2.7460939 -5.5293,0.00977 -1.45898,-1.4433557 0,-4.5761719 -2,0 z"
+ transform="translate(0,1032.3622)"
+ id="path4444"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 404.21408,1046.5416 4.77734,-4.7461 0,-0.043 0.0371,0 0,-5.4023 -2,0 0,4.5762 -4.22852,4.2011 z"
+ id="path4447"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc" />
+ </g>
+ <g
+ id="g4465"
+ transform="translate(-0.99975,0)">
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path4455"
+ d="m 449,1041.3622 4e-5,8 1.99996,0 -3e-5,-8 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 454.0156,1045.3622 4.9844,-5 -5,-5 z"
+ id="path4457"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 455,1039.3466 -6,0 0,2 6,-10e-5 z"
+ id="path4461"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path4463"
+ d="m 451.01565,1039.3466 -7.9629,0 0,2 7.9629,-10e-5 z"
+ style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path4473"
+ d="m 472.053,1041.3622 -4e-5,8 -1.99996,0 3e-5,-8 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 467.0374,1045.3622 -4.9844,-5 5,-5 z"
+ id="path4475"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 466.053,1039.3466 6,0 0,2 -6,-10e-5 z"
+ id="path4477"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path4479"
+ d="m 470.03735,1039.3466 7.9629,0 0,2 -7.9629,-10e-5 z"
+ style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 490,1036.3505 2.81445,2.8203 -4.77734,4.7461 0,0.043 -0.0371,0 0,5.4023 2,0 0,-4.5762 4.22852,-4.2011 2.77148,2.7773 0,-7 -7,-0.012 z"
+ id="path4491"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;fill-opacity:0.50980392;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 490,1038.3622 -4e-5,11 -1.99996,0 3e-5,-11 z"
+ id="path4505"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4510"
+ d="m 490,1036.3505 2.81445,2.8203 -4.77734,4.7461 0,0.043 -0.0371,0 0,5.4023 2,0 0,-4.5762 4.22852,-4.2011 2.77148,2.7773 0,-7 -7,-0.012 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4514"
+ d="m 510.00001,1036.3505 -2.81445,2.8203 4.77734,4.7461 0,0.043 0.0371,0 0,5.4023 -2,0 0,-4.5762 -4.22852,-4.2011 -2.77148,2.7773 0,-7 7,-0.012 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path4516"
+ d="m 510.00001,1038.3622 4e-5,11 1.99996,0 -3e-5,-11 z"
+ style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 510.00001,1036.3505 -2.81445,2.8203 4.77734,4.7461 0,0.043 0.0371,0 0,5.4023 -2,0 0,-4.5762 -4.22852,-4.2011 -2.77148,2.7773 0,-7 7,-0.012 z"
+ id="path4518"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:125%;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="7.5"
+ y="1065.3622"
+ id="text4238"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4240"
+ x="7.5"
+ y="1065.3622">0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25</tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 170,1045.3622 c -1.10457,0 -2,0.8954 -2,2 0,1.1046 0.89543,2 2,2 1.10457,0 2,-0.8954 2,-2 0,-1.1046 -0.89543,-2 -2,-2 z"
+ id="path3440"
+ sodipodi:nodetypes="sssss" />
+ </g>
+</svg>
args[parts[0]] = decodeURIComponent(parts[1] || '');
}
+ var thunderforestOptions = {
+<% if defined?(THUNDERFOREST_KEY) %>
+ apikey: <%= THUNDERFOREST_KEY.to_json %>
+<% end %>
+ };
+
var map = L.map("map");
map.attributionControl.setPrefix('');
map.removeControl(map.attributionControl);
- if (!args.layer || args.layer === "mapnik" || args.layer === "osmarender") {
+ if (!args.layer || args.layer === "mapnik" || args.layer === "osmarender" || args.layer === "mapquest") {
new L.OSM.Mapnik().addTo(map);
} else if (args.layer === "cyclemap" || args.layer === "cycle map") {
- new L.OSM.CycleMap().addTo(map);
+ new L.OSM.CycleMap(thunderforestOptions).addTo(map);
} else if (args.layer === "transportmap") {
- new L.OSM.TransportMap().addTo(map);
- } else if (args.layer === "mapquest") {
- new L.OSM.MapQuestOpen().addTo(map);
+ new L.OSM.TransportMap(thunderforestOptions).addTo(map);
} else if (args.layer === "hot") {
new L.OSM.HOT().addTo(map);
}
L.OSM.zoom({position: position})
.addTo(map);
- L.control.locate({
+ var locate = L.control.locate({
position: position,
+ icon: 'icon geolocate',
+ iconLoading: 'icon geolocate',
strings: {
title: I18n.t('javascripts.map.locate.title'),
popup: I18n.t('javascripts.map.locate.popup')
}
}).addTo(map);
+ var locateContainer = locate.getContainer();
+
+ $(locateContainer)
+ .removeClass('leaflet-control-locate leaflet-bar')
+ .addClass('control-locate')
+ .children("a")
+ .removeClass('leaflet-bar-part leaflet-bar-part-single')
+ .addClass('control-button');
+
var sidebar = L.OSM.sidebar('#map-ui')
.addTo(map);
map.getLayersCode(),
map._object);
- $.removeCookie("_osm_location");
- $.cookie("_osm_location", OSM.locationCookie(map), { expires: expiry, path: "/" });
+ $.removeCookie('_osm_location');
+ $.cookie('_osm_location', OSM.locationCookie(map), { expires: expiry, path: '/' });
});
if ($.cookie('_osm_welcome') === 'hide') {
$('.welcome').hide();
}
- $('.welcome .close').on('click', function() {
+ $('.welcome .close-wrap').on('click', function() {
$('.welcome').hide();
- $.cookie("_osm_welcome", 'hide', { expires: expiry });
+ $.cookie('_osm_welcome', 'hide', { expires: expiry, path: '/' });
+ });
+
+ var bannerExpiry = new Date();
+ bannerExpiry.setYear(bannerExpiry.getFullYear() + 1);
+
+ $('#banner .close-wrap').on('click', function(e) {
+ var cookieId = e.target.id;
+ $('#banner').hide();
+ e.preventDefault();
+ if (cookieId) {
+ $.cookie(cookieId, 'hide', { expires: bannerExpiry, path: '/' });
+ }
});
if (OSM.PIWIK) {
function GraphHopperEngine(id, vehicleType) {
var GH_INSTR_MAP = {
- "-3": 6, // sharp left
- "-2": 7, // left
- "-1": 8, // slight left
+ "-3": 7, // sharp left
+ "-2": 6, // left
+ "-1": 5, // slight left
0: 0, // straight
1: 1, // slight right
2: 2, // right
3: 3, // sharp right
- 4: -1, // finish reached
- 5: -1, // via reached
- 6: 11 // roundabout
+ 4: 14, // finish reached
+ 5: 14, // via reached
+ 6: 10 // roundabout
};
return {
var len = path.instructions.length;
for (var i = 0; i < len; i++) {
var instr = path.instructions[i];
- var instrCode = (i === len - 1) ? 15 : GH_INSTR_MAP[instr.sign];
+ var instrCode = (i === len - 1) ? 14 : GH_INSTR_MAP[instr.sign];
var instrText = "<b>" + (i + 1) + ".</b> ";
instrText += instr.text;
var latLng = line[instr.interval[0]];
function MapQuestEngine(id, routeType) {
var MQ_SPRITE_MAP = {
- 0: 1, // straight
- 1: 2, // slight right
- 2: 3, // right
- 3: 4, // sharp right
- 4: 5, // reverse
- 5: 6, // sharp left
- 6: 7, // left
- 7: 8, // slight left
- 8: 5, // right U-turn
- 9: 5, // left U-turn
- 10: 2, // right merge
- 11: 8, // left merge
- 12: 2, // right on-ramp
- 13: 8, // left on-ramp
- 14: 2, // right off-ramp
- 15: 8, // left off-ramp
- 16: 2, // right fork
- 17: 8, // left fork
- 18: 1 // straight fork
+ 0: 0, // straight
+ 1: 1, // slight right
+ 2: 2, // right
+ 3: 3, // sharp right
+ 4: 4, // reverse
+ 5: 7, // sharp left
+ 6: 6, // left
+ 7: 5, // slight left
+ 8: 4, // right U-turn
+ 9: 4, // left U-turn
+ 10: 21, // right merge
+ 11: 20, // left merge
+ 12: 21, // right on-ramp
+ 13: 20, // left on-ramp
+ 14: 24, // right off-ramp
+ 15: 25, // left off-ramp
+ 16: 18, // right fork
+ 17: 19, // left fork
+ 18: 0 // straight fork
};
return {
function MapzenEngine(id, costing) {
var MZ_INSTR_MAP = [
- 1, // kNone = 0;
- 14, // kStart = 1;
- 14, // kStartRight = 2;
- 14, // kStartLeft = 3;
- 15, // kDestination = 4;
- 15, // kDestinationRight = 5;
- 15, // kDestinationLeft = 6;
- 1, // kBecomes = 7;
- 1, // kContinue = 8;
- 2, // kSlightRight = 9;
- 3, // kRight = 10;
- 4, // kSharpRight = 11;
- 5, // kUturnRight = 12;
- 5, // kUturnLeft = 13;
- 6, // kSharpLeft = 14;
- 7, // kLeft = 15;
- 8, // kSlightLeft = 16;
- 1, // kRampStraight = 17;
- 2, // kRampRight = 18;
- 8, // kRampLeft = 19;
- 2, // kExitRight = 20;
- 8, // kExitLeft = 21;
- 1, // kStayStraight = 22;
- 2, // kStayRight = 23;
- 8, // kStayLeft = 24;
- 1, // kMerge = 25;
- 11, // kRoundaboutEnter = 26;
- 12, // kRoundaboutExit = 27;
- 18, // kFerryEnter = 28;
- 1 // kFerryExit = 29;
+ 0, // kNone = 0;
+ 8, // kStart = 1;
+ 8, // kStartRight = 2;
+ 8, // kStartLeft = 3;
+ 14, // kDestination = 4;
+ 14, // kDestinationRight = 5;
+ 14, // kDestinationLeft = 6;
+ 0, // kBecomes = 7;
+ 0, // kContinue = 8;
+ 1, // kSlightRight = 9;
+ 2, // kRight = 10;
+ 3, // kSharpRight = 11;
+ 4, // kUturnRight = 12;
+ 4, // kUturnLeft = 13;
+ 7, // kSharpLeft = 14;
+ 6, // kLeft = 15;
+ 5, // kSlightLeft = 16;
+ 0, // kRampStraight = 17;
+ 24, // kRampRight = 18;
+ 25, // kRampLeft = 19;
+ 24, // kExitRight = 20;
+ 25, // kExitLeft = 21;
+ 0, // kStayStraight = 22;
+ 1, // kStayRight = 23;
+ 5, // kStayLeft = 24;
+ 20, // kMerge = 25;
+ 10, // kRoundaboutEnter = 26;
+ 11, // kRoundaboutExit = 27;
+ 17, // kFerryEnter = 28;
+ 0 // kFerryExit = 29;
];
return {
locations: points.map(function (p) { return { lat: p.lat, lon: p.lng }; }),
costing: costing,
directions_options: {
- units: "km"
+ units: "km",
+ language: I18n.currentLocale()
}
})
},
// Doesn't yet support hints
function OSRMEngine() {
- var previousPoints, hintData;
+ var cachedHints = [];
return {
id: "osrm_car",
creditline: '<a href="http://project-osrm.org/" target="_blank">OSRM</a>',
draggable: true,
+ _transformSteps: function(input_steps, line) {
+ var INSTRUCTION_TEMPLATE = {
+ 'continue': 'javascripts.directions.instructions.continue',
+ 'merge right': 'javascripts.directions.instructions.merge_right',
+ 'merge left': 'javascripts.directions.instructions.merge_left',
+ 'off ramp right': 'javascripts.directions.instructions.offramp_right',
+ 'off ramp left': 'javascripts.directions.instructions.offramp_left',
+ 'on ramp right': 'javascripts.directions.instructions.onramp_right',
+ 'on ramp left': 'javascripts.directions.instructions.onramp_left',
+ 'fork right': 'javascripts.directions.instructions.fork_right',
+ 'fork left': 'javascripts.directions.instructions.fork_left',
+ 'end of road right': 'javascripts.directions.instructions.endofroad_right',
+ 'end of road left': 'javascripts.directions.instructions.endofroad_left',
+ 'turn straight': 'javascripts.directions.instructions.continue',
+ 'turn slight right': 'javascripts.directions.instructions.slight_right',
+ 'turn right': 'javascripts.directions.instructions.turn_right',
+ 'turn sharp right': 'javascripts.directions.instructions.sharp_right',
+ 'turn uturn': 'javascripts.directions.instructions.uturn',
+ 'turn sharp left': 'javascripts.directions.instructions.sharp_left',
+ 'turn left': 'javascripts.directions.instructions.turn_left',
+ 'turn slight left': 'javascripts.directions.instructions.slight_left',
+ 'trun straight': 'javascripts.directions.instructions.follow',
+ 'roundabout': 'javascripts.directions.instructions.roundabout',
+ 'rotary': 'javascripts.directions.instructions.roundabout',
+ 'depart': 'javascripts.directions.instructions.start',
+ 'arrive': 'javascripts.directions.instructions.destination',
+ };
+ var ICON_MAP = {
+ 'continue': 0,
+ 'merge right': 21,
+ 'merge left': 20,
+ 'off ramp right': 24,
+ 'off ramp left': 25,
+ 'on ramp right': 2,
+ 'on ramp left': 6,
+ 'fork right': 18,
+ 'fork left': 19,
+ 'end of road right': 22,
+ 'end of road left': 23,
+ 'turn straight': 0,
+ 'turn slight right': 1,
+ 'turn right': 2,
+ 'turn sharp right': 3,
+ 'turn uturn': 4,
+ 'turn slight left': 5,
+ 'turn left': 6,
+ 'turn sharp left': 7,
+ 'trun straight': 0,
+ 'roundabout': 10,
+ 'rotary': 10,
+ 'depart': 8,
+ 'arrive': 14
+ };
+ var transformed_steps = input_steps.map(function(step, idx) {
+ var maneuver_id;
+
+ // special case handling
+ switch (step.maneuver.type) {
+ case 'on ramp':
+ case 'off ramp':
+ case 'merge':
+ case 'end of road':
+ case 'fork':
+ maneuver_id = step.maneuver.type + ' ' + (step.maneuver.modifier.indexOf('left') >= 0 ? 'left' : 'right');
+ break;
+ case 'depart':
+ case 'arrive':
+ case 'roundabout':
+ case 'rotary':
+ maneuver_id = step.maneuver.type;
+ break;
+ case 'roundabout turn':
+ case 'turn':
+ maneuver_id = "turn " + step.maneuver.modifier;
+ break;
+ // for unknown types the fallback is turn
+ default:
+ maneuver_id = "turn " + step.maneuver.modifier;
+ break;
+ }
+ var template = INSTRUCTION_TEMPLATE[maneuver_id];
+
+ // convert lat,lng pairs to LatLng objects
+ var step_geometry = L.PolylineUtil.decode(step.geometry, { precision: 5 }).map(function(a) { return L.latLng(a); }) ;
+ // append step_geometry on line
+ Array.prototype.push.apply(line, step_geometry);
+
+ var instText = "<b>" + (idx + 1) + ".</b> ";
+ var name = step.name ? "<b>" + step.name + "</b>" : I18n.t('javascripts.directions.instructions.unnamed');
+ if (step.maneuver.type.match(/rotary|roundabout/)) {
+ instText += I18n.t(template + '_with_exit', { exit: step.maneuver.exit, name: name } );
+ } else {
+ instText += I18n.t(template + '_without_exit', { name: name });
+ }
+ return [[step.maneuver.location[1], step.maneuver.location[0]], ICON_MAP[maneuver_id], instText, step.distance, step_geometry];
+ });
+
+ return transformed_steps;
+ },
+
getRoute: function (points, callback) {
- var TURN_INSTRUCTIONS = [
- "",
- 'javascripts.directions.instructions.continue', // 1
- 'javascripts.directions.instructions.slight_right', // 2
- 'javascripts.directions.instructions.turn_right', // 3
- 'javascripts.directions.instructions.sharp_right', // 4
- 'javascripts.directions.instructions.uturn', // 5
- 'javascripts.directions.instructions.sharp_left', // 6
- 'javascripts.directions.instructions.turn_left', // 7
- 'javascripts.directions.instructions.slight_left', // 8
- 'javascripts.directions.instructions.via_point', // 9
- 'javascripts.directions.instructions.follow', // 10
- 'javascripts.directions.instructions.roundabout', // 11
- 'javascripts.directions.instructions.leave_roundabout', // 12
- 'javascripts.directions.instructions.stay_roundabout', // 13
- 'javascripts.directions.instructions.start', // 14
- 'javascripts.directions.instructions.destination', // 15
- 'javascripts.directions.instructions.against_oneway', // 16
- 'javascripts.directions.instructions.end_oneway', // 17
- 'javascripts.directions.instructions.ferry' // 18
- ];
var params = [
- { name: "z", value: "14" },
- { name: "output", value: "json" },
- { name: "instructions", value: true }
+ { name: "overview", value: "false" },
+ { name: "geometries", value: "polyline" },
+ { name: "steps", value: true }
];
- for (var i = 0; i < points.length; i++) {
- params.push({ name: "loc", value: points[i].lat + "," + points[i].lng });
- if (hintData && previousPoints && previousPoints[i].equals(points[i])) {
- params.push({ name: "hint", value: hintData.locations[i] });
- }
+ if (cachedHints.length === points.length) {
+ params.push({name: "hints", value: cachedHints.join(";")});
+ } else {
+ // invalidate cache
+ cachedHints = [];
}
- if (hintData && hintData.checksum) {
- params.push({ name: "checksum", value: hintData.checksum });
- }
+ var encoded_coords = points.map(function(p) {
+ return p.lng + ',' + p.lat;
+ }).join(';');
+
+ var req_url = document.location.protocol + OSM.OSRM_URL + encoded_coords;
+
+ var onResponse = function (data) {
+ if (data.code !== 'Ok')
+ return callback(true);
+
+ cachedHints = data.waypoints.map(function(wp) {
+ return wp.hint;
+ });
+
+ var line = [];
+ var transformLeg = function (leg) {
+ return this._transformSteps(leg.steps, line);
+ };
+
+ var steps = [].concat.apply([], data.routes[0].legs.map(transformLeg.bind(this)));
+
+ callback(false, {
+ line: line,
+ steps: steps,
+ distance: data.routes[0].distance,
+ time: data.routes[0].duration
+ });
+ };
return $.ajax({
- url: document.location.protocol + OSM.OSRM_URL,
+ url: req_url,
data: params,
dataType: "json",
- success: function (data) {
- if (data.status === 207)
- return callback(true);
-
- previousPoints = points;
- hintData = data.hint_data;
-
- var line = L.PolylineUtil.decode(data.route_geometry, {
- precision: 6
- });
-
- var steps = [];
- for (i = 0; i < data.route_instructions.length; i++) {
- var s = data.route_instructions[i];
- var linesegend;
- var instCodes = s[0].split('-');
- if (s[8] === 2) {
- /* indicates a ferry in car routing mode, see https://github.com/Project-OSRM/osrm-backend/blob/6cbbd1e5a1b441eb27055f56956e1bac14832a58/profiles/car.lua#L151 */
- instCodes = ["18"];
- }
- var instText = "<b>" + (i + 1) + ".</b> ";
- var name = s[1] ? "<b>" + s[1] + "</b>" : I18n.t('javascripts.directions.instructions.unnamed');
- if (instCodes[0] === "11" && instCodes[1]) {
- instText += I18n.t(TURN_INSTRUCTIONS[instCodes[0]] + '_with_exit', { exit: instCodes[1], name: name } );
- } else {
- instText += I18n.t(TURN_INSTRUCTIONS[instCodes[0]] + '_without_exit', { name: name });
- }
- if ((i + 1) < data.route_instructions.length) {
- linesegend = data.route_instructions[i + 1][3] + 1;
- } else {
- linesegend = s[3] + 1;
- }
- steps.push([line[s[3]], instCodes[0], instText, s[2], line.slice(s[3], linesegend)]);
- }
-
- callback(false, {
- line: line,
- steps: steps,
- distance: data.route_summary.total_distance,
- time: data.route_summary.total_time
- });
- },
+ success: onResponse.bind(this),
error: function () {
callback(true);
}
$(this).closest("li").removeClass("selected");
}
- function clickSearchResult(e) {
- var data = $(this).data(),
- center = L.latLng(data.lat, data.lon);
-
+ function panToSearchResult(data) {
if (data.minLon && data.minLat && data.maxLon && data.maxLat) {
map.fitBounds([[data.minLat, data.minLon], [data.maxLat, data.maxLon]]);
} else {
- map.setView(center, data.zoom);
+ map.setView([data.lat, data.lon], data.zoom);
}
+ }
+
+ function clickSearchResult(e) {
+ var data = $(this).data();
+
+ panToSearchResult(data);
// Let clicks to object browser links propagate.
if (data.type && data.id) return;
};
page.load = function() {
- $(".search_results_entry").each(function() {
+ $(".search_results_entry").each(function(index) {
var entry = $(this);
$.ajax({
url: entry.data("href"),
},
success: function(html) {
entry.html(html);
+ // go to first result of first geocoder
+ if (index === 0) {
+ var firstResult = entry.find('*[data-lat][data-lon]:first').first();
+ if (firstResult.length) {
+ panToSearchResult(firstResult.data());
+ }
+ }
}
});
});
}
function updateButton() {
- var disabled = map.getMapBaseLayerId() !== 'mapnik';
+ var disabled = ['mapnik', 'cyclemap'].indexOf(map.getMapBaseLayerId()) === -1;
button
.toggleClass('disabled', disabled)
.attr('data-original-title',
map.whenReady(function() {
var miniMap = L.map(div[0], {attributionControl: false, zoomControl: false})
- .addLayer(new layer.constructor());
+ .addLayer(new layer.constructor({ apikey: layer.options.apikey }));
miniMap.dragging.disable();
miniMap.touchZoom.disable();
var copyright = I18n.t('javascripts.map.copyright', {copyright_url: '/copyright'});
var donate = I18n.t('javascripts.map.donate_link_text', {donate_url: 'http://donate.openstreetmap.org'});
- this.baseLayers = [
- new L.OSM.Mapnik({
- attribution: copyright + " ♥ " + donate,
- code: "M",
- keyid: "mapnik",
- name: I18n.t("javascripts.map.base.standard")
- }),
- new L.OSM.CycleMap({
+ this.baseLayers = [];
+
+ this.baseLayers.push(new L.OSM.Mapnik({
+ attribution: copyright + " ♥ " + donate,
+ code: "M",
+ keyid: "mapnik",
+ name: I18n.t("javascripts.map.base.standard")
+ }));
+
+ if (OSM.THUNDERFOREST_KEY) {
+ this.baseLayers.push(new L.OSM.CycleMap({
attribution: copyright + ". Tiles courtesy of <a href='http://www.thunderforest.com/' target='_blank'>Andy Allan</a>",
+ apikey: OSM.THUNDERFOREST_KEY,
code: "C",
keyid: "cyclemap",
name: I18n.t("javascripts.map.base.cycle_map")
- }),
- new L.OSM.TransportMap({
+ }));
+
+ this.baseLayers.push(new L.OSM.TransportMap({
attribution: copyright + ". Tiles courtesy of <a href='http://www.thunderforest.com/' target='_blank'>Andy Allan</a>",
+ apikey: OSM.THUNDERFOREST_KEY,
code: "T",
keyid: "transportmap",
name: I18n.t("javascripts.map.base.transport_map")
- }),
- new L.OSM.MapQuestOpen({
- attribution: copyright + ". Tiles courtesy of <a href='http://www.mapquest.com/' target='_blank'>MapQuest</a> <img src='https://developer.mapquest.com/content/osm/mq_logo.png'>",
- code: "Q",
- keyid: "mapquest",
- name: I18n.t("javascripts.map.base.mapquest")
- }),
- new L.OSM.HOT({
- attribution: copyright + ". Tiles courtesy of <a href='http://hot.openstreetmap.org/' target='_blank'>Humanitarian OpenStreetMap Team</a>",
- code: "H",
- keyid: "hot",
- name: I18n.t("javascripts.map.base.hot")
- })
- ];
+ }));
+ }
+
+ this.baseLayers.push(new L.OSM.HOT({
+ attribution: copyright + ". Tiles courtesy of <a href='http://hot.openstreetmap.org/' target='_blank'>Humanitarian OpenStreetMap Team</a>",
+ code: "H",
+ keyid: "hot",
+ name: I18n.t("javascripts.map.base.hot")
+ }));
this.noteLayer = new L.FeatureGroup();
this.noteLayer.options = {code: 'N'};
}
});
-L.Icon.Default.imagePath = "/images";
+L.Icon.Default.imagePath = "/images/";
L.Icon.Default.imageUrls = {
"/images/marker-icon.png": OSM.MARKER_ICON,
<% if defined?(MAPZEN_VALHALLA_KEY) %>
MAPZEN_VALHALLA_KEY: <%= MAPZEN_VALHALLA_KEY.to_json %>,
<% end %>
+<% if defined?(THUNDERFOREST_KEY) %>
+ THUNDERFOREST_KEY: <%= THUNDERFOREST_KEY.to_json %>,
+<% end %>
MARKER_GREEN: <%= image_path("marker-green.png").to_json %>,
MARKER_RED: <%= image_path("marker-red.png").to_json %>,
L.OSM.zoom({position: position})
.addTo(map);
- L.control.locate({
+ var locate = L.control.locate({
position: position,
+ icon: 'icon geolocate',
+ iconLoading: 'icon geolocate',
strings: {
title: I18n.t('javascripts.map.locate.title'),
popup: I18n.t('javascripts.map.locate.popup')
}
}).addTo(map);
+ var locateContainer = locate.getContainer();
+
+ $(locateContainer)
+ .removeClass('leaflet-control-locate leaflet-bar')
+ .addClass('control-locate')
+ .children("a")
+ .removeClass('leaflet-bar-part leaflet-bar-part-single')
+ .addClass('control-button');
+
if (OSM.home) {
map.setView([OSM.home.lat, OSM.home.lon], 12);
} else {
.icon.clipboard { background-position: -160px 0; }
.icon.link { background-position: -180px 0; }
.icon.close { background-position: -200px 0; }
+.close-wrap:hover .icon.close,
.icon.close:hover { background-position: -200px -20px; }
.icon.check { background-position: -220px 0; }
.icon.note { background-position: -240px 0; }
background: #fff;
font-size: 12px;
+ > div {
+ position: relative;
+ float: left;
+ clear: both;
+ width: 100%;
+ }
+
h2 {
padding: $lineheight $lineheight $lineheight/2;
}
font-size: 13px;
}
+ .close-wrap {
+ cursor: pointer;
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 60px;
+ height: 60px;
+
+ .icon.close {
+ pointer-events: none;
+ position: absolute;
+ right: 20px;
+ top: 20px;
+ }
+ }
+
.icon.close {
float: right;
cursor: pointer;
}
}
- .welcome {
- display: none;
- }
-
.overlay-sidebar #sidebar {
position: absolute;
z-index: 1000;
height: auto;
- border-bottom-right-radius: 5px;
overflow: hidden;
+
+ #banner,
.welcome {
display: block;
}
+
#sidebar_content {
display: none;
}
}
.welcome {
+ display: none;
+ padding-bottom: 5px;
+
p {
padding: $lineheight/2 $lineheight $lineheight;
font-size: 110%;
}
}
+ #banner {
+ display: none;
+
+ img {
+ display: block;
+ width: $sidebarWidth;
+ }
+ }
+
#map {
height: 100%;
overflow: hidden;
font-size: 16px;
text-stroke: 2px #fff;
background: rgba(255,255,255,.9);
- z-index: 2; // For IE9
+ z-index: 1000;
input[type="radio"] {
display: none;
}
#sidebar {
#sidebar_loader,
+ .search_more {
+ width: 100%;
+ margin: $lineheight auto;
+ }
+
.loader,
.load_more {
text-align: center;
- margin: $lineheight auto;
+ margin: auto;
width: 40px;
display: block;
}
height: 20px;
background-repeat: no-repeat;
}
-@for $i from 1 through 18 {
-div.direction.i#{$i} { background-position: #{($i)*-20+20}px 0px; }
+@for $i from 0 through 25 {
+div.direction.i#{$i} { background-position: #{($i)*-20}px 0px; }
}
p#routing_summary {
float: left;
}
+
+.diary-subscribe-buttons {
+ position:relative;
+ top: -30px;
+ left: 130px;
+}
+
/* Rules for the log in page */
#login_auth_buttons {
}
}
- #sidebar .welcome {
+ #sidebar .welcome,
+ #sidebar #banner {
display: none !important;
}
.leaflet-top.leaflet-right {
top: 10px !important;
- z-index: 0;
}
.content_map {
orn = renumberednodes.dup
result = putway(renumberednodes, *args)
result[4] = renumberednodes.reject { |k, _v| orn.key?(k) }
- renumberedways[result[2]] = result[3] if result[0] == 0 && result[2] != result[3]
+ renumberedways[result[2]] = result[3] if result[0].zero? && result[2] != result[3]
when "putrelation" then
result = putrelation(renumberednodes, renumberedways, *args)
when "deleteway" then
result = deleteway(*args)
when "putpoi" then
result = putpoi(*args)
- renumberednodes[result[2]] = result[3] if result[0] == 0 && result[2] != result[3]
+ renumberednodes[result[2]] = result[3] if result[0].zero? && result[2] != result[3]
when "startchangeset" then
result = startchangeset(*args)
end
end
# open a new changeset
- if opennew != 0
+ if opennew.nonzero?
cs = Changeset.new
cs.tags = cstags
cs.user_id = user.id
tags = strip_non_xml_chars tags
relid = relid.to_i
- visible = (visible.to_i != 0)
+ visible = visible.to_i.nonzero?
new_relation = nil
relation = nil
id = a[2].to_i
version = a[3].to_i
- return -2, "Server error - node with id 0 found in way #{originalway}." if id == 0
+ return -2, "Server error - node with id 0 found in way #{originalway}." if id.zero?
return -2, "Server error - node with latitude -90 found in way #{originalway}." if lat == 90
id = renumberednodes[id] if renumberednodes[id]
def getuser(token) #:doc:
if token =~ /^(.+)\:(.+)$/
- User.authenticate(:username => $1, :password => $2)
+ User.authenticate(:username => Regexp.last_match(1), :password => Regexp.last_match(2))
else
User.authenticate(:token => token)
end
INNER JOIN current_ways ON current_ways.id =current_way_nodes.id
WHERE current_nodes.visible=TRUE
AND current_ways.visible=TRUE
- AND #{OSM.sql_for_area(bbox, "current_nodes.")}
+ AND #{OSM.sql_for_area(bbox, 'current_nodes.')}
EOF
ActiveRecord::Base.connection.select_all(sql).collect { |a| [a["wayid"].to_i, a["version"].to_i] }
end
LEFT OUTER JOIN current_way_nodes cwn ON cwn.node_id=current_nodes.id
WHERE current_nodes.visible=TRUE
AND cwn.id IS NULL
- AND #{OSM.sql_for_area(bbox, "current_nodes.")}
+ AND #{OSM.sql_for_area(bbox, 'current_nodes.')}
EOF
ActiveRecord::Base.connection.select_all(sql).each do |row|
poitags = {}
FROM current_relations cr
INNER JOIN current_relation_members crm ON crm.id=cr.id
INNER JOIN current_nodes cn ON crm.member_id=cn.id AND crm.member_type='Node'
- WHERE #{OSM.sql_for_area(bbox, "cn.")}
+ WHERE #{OSM.sql_for_area(bbox, 'cn.')}
EOF
unless way_ids.empty?
sql += <<-EOF
# * if authenticated via basic auth all permissions are granted, so the list will contain all permissions.
# * unauthenticated users have no permissions, so the list will be empty.
def permissions
- @permissions = case
- when current_token.present?
+ @permissions = if current_token.present?
ClientApplication.all_permissions.select { |p| current_token.read_attribute(p) }
- when @user
+ elsif @user
ClientApplication.all_permissions
else
[]
unless current_token.nil?
unless current_token.read_attribute(cap)
report_error "OAuth token doesn't have that capability.", :forbidden
- return false
+ false
end
end
end
if params[:cookie_test].nil?
session[:cookie_test] = true
redirect_to Hash[params].merge(:cookie_test => "true")
- return false
+ false
else
flash.now[:warning] = t "application.require_cookies.cookies_needed"
end
# check user is a moderator
unless @user.moderator?
render :text => errormessage, :status => :forbidden
- return false
+ false
end
end
def check_api_readable
if api_status == :offline
report_error "Database offline for maintenance", :service_unavailable
- return false
+ false
end
end
def check_api_writable
unless api_status == :online
report_error "Database offline for maintenance", :service_unavailable
- return false
+ false
end
end
def require_public_data
unless @user.data_public?
report_error "You must make your edits public to upload new data", :forbidden
- return false
+ false
end
end
##
# ensure that there is a "this_user" instance variable
def lookup_this_user
- unless @this_user = User.active.find_by_display_name(params[:display_name])
+ unless @this_user = User.active.find_by(:display_name => params[:display_name])
render_unknown_user params[:display_name]
end
end
# the request is in pseudo-osm format... this is kind-of an
# abuse, maybe should change to some other format?
- doc = XML::Parser.string(request.raw_post).parse
+ doc = XML::Parser.string(request.raw_post, :options => XML::Parser::Options::NOERROR).parse
doc.find("//osm/node").each do |n|
lon << n["lon"].to_f * GeoRecord::SCALE
lat << n["lat"].to_f * GeoRecord::SCALE
end
if params[:display_name]
- user = User.find_by_display_name(params[:display_name])
+ user = User.find_by(:display_name => params[:display_name])
if !user || !user.active?
render_unknown_user params[:display_name]
return
raise OSM::APIBadUserInput.new("invalid user ID") if user.to_i < 1
u = User.find(user.to_i)
else
- u = User.find_by_display_name(name)
+ u = User.find_by(:display_name => name)
end
# make sure we found a user
# if parameter 'open' is nill then open and closed changesets are returned
def conditions_open(changesets, open)
if open.nil?
- return changesets
+ changesets
else
- return changesets.where("closed_at >= ? and num_changes <= ?",
- Time.now.getutc, Changeset::MAX_ELEMENTS)
+ changesets.where("closed_at >= ? and num_changes <= ?",
+ Time.now.getutc, Changeset::MAX_ELEMENTS)
end
end
# ('closed at' time has passed or changes limit is hit)
def conditions_closed(changesets, closed)
if closed.nil?
- return changesets
+ changesets
else
- return changesets.where("closed_at < ? or num_changes > ?",
- Time.now.getutc, Changeset::MAX_ELEMENTS)
+ changesets.where("closed_at < ? or num_changes > ?",
+ Time.now.getutc, Changeset::MAX_ELEMENTS)
end
end
# (either specified as array or comma-separated string)
def conditions_ids(changesets, ids)
if ids.nil?
- return changesets
+ changesets
elsif ids.empty?
raise OSM::APIBadUserInput.new("No changesets were given to search for")
else
ids = ids.split(",").collect(&:to_i)
- return changesets.where(:id => ids)
+ changesets.where(:id => ids)
end
end
before_action :authorize_web
before_action :set_locale
- before_action :require_user, :only => [:new, :edit, :comment, :hide, :hidecomment]
+ before_action :require_user, :only => [:new, :edit, :comment, :hide, :hidecomment, :subscribe, :unsubscribe]
before_action :lookup_this_user, :only => [:view, :comments]
before_action :check_database_readable
- before_action :check_database_writable, :only => [:new, :edit]
+ before_action :check_database_writable, :only => [:new, :edit, :comment, :hide, :hidecomment, :subscribe, :unsubscribe]
before_action :require_administrator, :only => [:hide, :hidecomment]
def new
else
@user.preferences.create(:k => "diary.default_language", :v => @diary_entry.language_code)
end
- redirect_to :controller => "diary_entry", :action => "list", :display_name => @user.display_name
+
+ # Subscribe user to diary comments
+ @diary_entry.subscriptions.create(:user => @user)
+
+ redirect_to :action => "list", :display_name => @user.display_name
else
render :action => "edit"
end
@diary_entry = DiaryEntry.find(params[:id])
if @user != @diary_entry.user
- redirect_to :controller => "diary_entry", :action => "view", :id => params[:id]
+ redirect_to :action => "view", :id => params[:id]
elsif params[:diary_entry] && @diary_entry.update_attributes(entry_params)
- redirect_to :controller => "diary_entry", :action => "view", :id => params[:id]
+ redirect_to :action => "view", :id => params[:id]
end
set_map_location
@diary_comment = @entry.comments.build(comment_params)
@diary_comment.user = @user
if @diary_comment.save
- if @diary_comment.user != @entry.user
- Notifier.diary_comment_notification(@diary_comment).deliver_now
+
+ # Notify current subscribers of the new comment
+ @entry.subscribers.visible.each do |user|
+ if @user != user
+ Notifier.diary_comment_notification(@diary_comment, user).deliver_now
+ end
end
- redirect_to :controller => "diary_entry", :action => "view", :display_name => @entry.user.display_name, :id => @entry.id
+ # Add the commenter to the subscribers if necessary
+ @entry.subscriptions.create(:user => @user) unless @entry.subscribers.exists?(@user.id)
+
+ redirect_to :action => "view", :display_name => @entry.user.display_name, :id => @entry.id
else
render :action => "view"
end
render :action => "no_such_entry", :status => :not_found
end
+ def subscribe
+ diary_entry = DiaryEntry.find(params[:id])
+
+ diary_entry.subscriptions.create(:user => @user) unless diary_entry.subscribers.exists?(@user.id)
+
+ redirect_to :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
+ rescue ActiveRecord::RecordNotFound
+ render :action => "no_such_entry", :status => :not_found
+ end
+
+ def unsubscribe
+ diary_entry = DiaryEntry.find(params[:id])
+
+ diary_entry.subscriptions.where(:user => @user).delete_all if diary_entry.subscribers.exists?(@user.id)
+
+ redirect_to :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
+ rescue ActiveRecord::RecordNotFound
+ render :action => "no_such_entry", :status => :not_found
+ end
+
def list
if params[:display_name]
- @this_user = User.active.find_by_display_name(params[:display_name])
+ @this_user = User.active.find_by(:display_name => params[:display_name])
if @this_user
@title = t "diary_entry.list.user_title", :user => @this_user.display_name
def rss
if params[:display_name]
- user = User.active.find_by_display_name(params[:display_name])
+ user = User.active.find_by(:display_name => params[:display_name])
if user
@entries = user.diary_entries
def require_administrator
unless @user.administrator?
flash[:error] = t("user.filter.not_an_administrator")
- redirect_to :controller => "diary_entry", :action => "view"
+ redirect_to :action => "view"
end
end
exclude = "&exclude_place_ids=#{params[:exclude]}" if params[:exclude]
# ask nominatim
- response = fetch_xml("http:#{NOMINATIM_URL}search?format=xml&q=#{escape_query(query)}#{viewbox}#{exclude}&accept-language=#{http_accept_language.user_preferred_languages.join(',')}")
+ response = fetch_xml("http:#{NOMINATIM_URL}search?format=xml&extratags=1&q=#{escape_query(query)}#{viewbox}#{exclude}&accept-language=#{http_accept_language.user_preferred_languages.join(',')}")
# extract the results from the response
results = response.elements["searchresults"]
if klass == "boundary" && type == "administrative"
rank = (place.attributes["place_rank"].to_i + 1) / 2
prefix_name = t "geocoder.search_osm_nominatim.admin_levels.level#{rank}", :default => prefix_name
+ place.elements["extratags"].elements.each("tag") do |extratag|
+ if extratag.attributes["key"] == "place"
+ prefix_name = t "geocoder.search_osm_nominatim.prefix.place.#{extratag.attributes['value']}", :default => prefix_name
+ end
+ end
end
prefix = t "geocoder.search_osm_nominatim.prefix_format", :name => prefix_name
object_type = place.attributes["osm_type"]
if @message.save
flash[:notice] = t "message.new.message_sent"
Notifier.message_notification(@message).deliver_now
- redirect_to :controller => "message", :action => "inbox", :display_name => @user.display_name
+ redirect_to :action => "inbox", :display_name => @user.display_name
end
end
end
@title = t "message.inbox.title"
if @user && params[:display_name] == @user.display_name
else
- redirect_to :controller => "message", :action => "inbox", :display_name => @user.display_name
+ redirect_to :action => "inbox", :display_name => @user.display_name
end
end
@title = t "message.outbox.title"
if @user && params[:display_name] == @user.display_name
else
- redirect_to :controller => "message", :action => "outbox", :display_name => @user.display_name
+ redirect_to :action => "outbox", :display_name => @user.display_name
end
end
@message.message_read = message_read
if @message.save && !request.xhr?
flash[:notice] = notice
- redirect_to :controller => "message", :action => "inbox", :display_name => @user.display_name
+ redirect_to :action => "inbox", :display_name => @user.display_name
end
rescue ActiveRecord::RecordNotFound
@title = t "message.no_such_message.title"
if params[:referer]
redirect_to params[:referer]
else
- redirect_to :controller => "message", :action => "inbox", :display_name => @user.display_name
+ redirect_to :action => "inbox", :display_name => @user.display_name
end
end
rescue ActiveRecord::RecordNotFound
comment = params[:text]
# Find the note and check it is valid
- @note = Note.find_by_id(id)
+ @note = Note.find_by(:id => id)
raise OSM::APINotFoundError unless @note
raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible?
raise OSM::APINoteAlreadyClosedError.new(@note) if @note.closed?
comment = params[:text]
# Find the note and check it is valid
- @note = Note.find_by_id(id)
+ @note = Note.find_by(:id => id)
raise OSM::APINotFoundError unless @note
raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? || @user.moderator?
raise OSM::APINoteAlreadyOpenError.new(@note) unless @note.closed? || !@note.visible?
# Display a list of notes by a specified user
def mine
if params[:display_name]
- if @this_user = User.active.find_by_display_name(params[:display_name])
+ if @this_user = User.active.find_by(:display_name => params[:display_name])
@title = t "note.mine.title", :user => @this_user.display_name
@heading = t "note.mine.heading", :user => @this_user.display_name
@description = t "note.mine.subheading", :user => render_to_string(:partial => "user", :object => @this_user)
end
##
- # Generate a condition to choose which bugs we want based
+ # Generate a condition to choose which notes we want based
# on their status and the user's request parameters
def closed_condition(notes)
closed_since = if params[:closed]
end
def revoke
- @token = current_user.oauth_tokens.find_by_token params[:token]
+ @token = current_user.oauth_tokens.find_by :token => params[:token]
if @token
@token.invalidate!
flash[:notice] = t("oauth.revoke.flash", :application => @token.client_application.name)
def swf_record(id, r)
if r.length > 62
# Long header: tag id, 0x3F, length
- return pack_u16((id << 6) + 0x3F) + pack_u32(r.length) + r
+ pack_u16((id << 6) + 0x3F) + pack_u32(r.length) + r
else
# Short header: tag id, length
- return pack_u16((id << 6) + r.length) + r
+ pack_u16((id << 6) + r.length) + r
end
end
# Find number of bits required to store arbitrary-length binary
def length_sb(n)
- Math.frexp(n + (n == 0 ? 1 : 0))[1] + 1
+ Math.frexp(n + (n.zero? ? 1 : 0))[1] + 1
end
# ====================================================================
@title = t "trace.view.title", :name => @trace.name
else
flash[:error] = t "trace.view.trace_not_found"
- redirect_to :controller => "trace", :action => "list"
+ redirect_to :action => "list"
end
rescue ActiveRecord::RecordNotFound
flash[:error] = t "trace.view.trace_not_found"
- redirect_to :controller => "trace", :action => "list"
+ redirect_to :action => "list"
end
def create
session[:new_user_settings] = params
redirect_to auth_url(params[:user][:auth_provider], params[:user][:auth_uid])
end
+ elsif errors = session.delete(:user_errors)
+ errors.each do |attribute, error|
+ @user.errors.add(attribute, error)
+ end
end
end
@user.data_public = true
@user.save
flash[:notice] = t "user.go_public.flash success"
- redirect_to :controller => "user", :action => "account", :display_name => @user.display_name
+ redirect_to :action => "account", :display_name => @user.display_name
end
def lost_password
@title = t "user.lost_password.title"
if params[:user] && params[:user][:email]
- user = User.visible.find_by_email(params[:user][:email])
+ user = User.visible.find_by(:email => params[:user][:email])
if user.nil?
users = User.visible.where("LOWER(email) = LOWER(?)", params[:user][:email])
@title = t "user.reset_password.title"
if params[:token]
- token = UserToken.find_by_token(params[:token])
+ token = UserToken.find_by(:token => params[:token])
if token
@user = token.user
if params[:session] == request.session_options[:id]
if session[:token]
- token = UserToken.find_by_token(session[:token])
+ token = UserToken.find_by(:token => session[:token])
token.destroy if token
session.delete(:token)
end
def confirm
if request.post?
- token = UserToken.find_by_token(params[:confirm_string])
+ token = UserToken.find_by(:token => params[:confirm_string])
if token && token.user.active?
flash[:error] = t("user.confirm.already active")
redirect_to :action => "login"
user = token.user
user.status = "active"
user.email_valid = true
+ flash[:notice] = gravatar_status_message(user) if gravatar_enable(user)
user.save!
referer = token.referer
token.destroy
if session[:token]
- token = UserToken.find_by_token(session[:token])
+ token = UserToken.find_by(:token => session[:token])
session.delete(:token)
else
token = nil
end
end
else
- user = User.find_by_display_name(params[:display_name])
+ user = User.find_by(:display_name => params[:display_name])
redirect_to root_path if user.nil? || user.active?
end
end
def confirm_resend
- user = User.find_by_display_name(params[:display_name])
- token = UserToken.find_by_token(session[:token])
+ user = User.find_by(:display_name => params[:display_name])
+ token = UserToken.find_by(:token => session[:token])
if user.nil? || token.nil? || token.user != user
flash[:error] = t "user.confirm_resend.failure", :name => params[:display_name]
def confirm_email
if request.post?
- token = UserToken.find_by_token(params[:confirm_string])
+ token = UserToken.find_by(:token => params[:confirm_string])
if token && token.user.new_email?
@user = token.user
@user.email = @user.new_email
@user.new_email = nil
@user.email_valid = true
+ gravatar_enabled = gravatar_enable(@user)
if @user.save
- flash[:notice] = t "user.confirm_email.success"
+ flash[:notice] = if gravatar_enabled
+ t("user.confirm_email.success") + " " + gravatar_status_message(@user)
+ else
+ t("user.confirm_email.success")
+ end
else
flash[:errors] = @user.errors
end
end
def view
- @this_user = User.find_by_display_name(params[:display_name])
+ @this_user = User.find_by(:display_name => params[:display_name])
if @this_user &&
(@this_user.visible? || (@user && @user.administrator?))
end
def make_friend
- @new_friend = User.find_by_display_name(params[:display_name])
+ @new_friend = User.find_by(:display_name => params[:display_name])
if @new_friend
if request.post?
if params[:referer]
redirect_to params[:referer]
else
- redirect_to :controller => "user", :action => "view"
+ redirect_to :action => "view"
end
end
else
end
def remove_friend
- @friend = User.find_by_display_name(params[:display_name])
+ @friend = User.find_by(:display_name => params[:display_name])
if @friend
if request.post?
if params[:referer]
redirect_to params[:referer]
else
- redirect_to :controller => "user", :action => "view"
+ redirect_to :action => "view"
end
end
else
def set_status
@this_user.status = params[:status]
@this_user.save
- redirect_to :controller => "user", :action => "view", :display_name => params[:display_name]
+ redirect_to :action => "view", :display_name => params[:display_name]
end
##
# delete a user, marking them as deleted and removing personal data
def delete
@this_user.delete
- redirect_to :controller => "user", :action => "view", :display_name => params[:display_name]
+ redirect_to :action => "view", :display_name => params[:display_name]
end
##
email_verified = false
end
- user = User.find_by_auth_provider_and_auth_uid(provider, uid)
-
- if user.nil? && provider == "google"
- openid_url = auth_info[:extra][:id_info]["openid_id"]
- user = User.find_by_auth_provider_and_auth_uid("openid", openid_url) if openid_url
- user.update(:auth_provider => provider, :auth_uid => uid) if user
- end
-
- if user
- case user.status
- when "pending" then
- unconfirmed_login(user)
- when "active", "confirmed" then
- successful_login(user, env["omniauth.params"]["referer"])
- when "suspended" then
- failed_login t("user.login.account is suspended", :webmaster => "mailto:#{SUPPORT_EMAIL}")
- else
- failed_login t("user.login.auth failure")
- end
- elsif settings = session.delete(:new_user_settings)
+ if settings = session.delete(:new_user_settings)
@user.auth_provider = provider
@user.auth_uid = uid
update_user(@user, settings)
+ session[:user_errors] = @user.errors.as_json
+
redirect_to :action => "account", :display_name => @user.display_name
elsif session[:new_user]
session[:new_user].auth_provider = provider
redirect_to :action => "terms"
else
- redirect_to :action => "new", :nickname => name, :email => email,
- :auth_provider => provider, :auth_uid => uid
+ user = User.find_by(:auth_provider => provider, :auth_uid => uid)
+
+ if user.nil? && provider == "google"
+ openid_url = auth_info[:extra][:id_info]["openid_id"]
+ user = User.find_by(:auth_provider => "openid", :auth_uid => openid_url) if openid_url
+ user.update(:auth_provider => provider, :auth_uid => uid) if user
+ end
+
+ if user
+ case user.status
+ when "pending" then
+ unconfirmed_login(user)
+ when "active", "confirmed" then
+ successful_login(user, env["omniauth.params"]["referer"])
+ when "suspended" then
+ failed_login t("user.login.account is suspended", :webmaster => "mailto:#{SUPPORT_EMAIL}")
+ else
+ failed_login t("user.login.auth failure")
+ end
+ else
+ redirect_to :action => "new", :nickname => name, :email => email,
+ :auth_provider => provider, :auth_uid => uid
+ end
end
end
# try and come up with the correct URL based on what the user entered
def openid_expand_url(openid_url)
if openid_url.nil?
- return nil
+ nil
elsif openid_url.match(%r{(.*)gmail.com(/?)$}) || openid_url.match(%r{(.*)googlemail.com(/?)$})
# Special case gmail.com as it is potentially a popular OpenID
# provider and, unlike yahoo.com, where it works automatically, Google
# have hidden their OpenID endpoint somewhere obscure this making it
# somewhat less user friendly.
- return "https://www.google.com/accounts/o8/id"
+ "https://www.google.com/accounts/o8/id"
else
- return openid_url
+ openid_url
end
end
# - If they were referred to the login, send them back there.
# - Otherwise, send them to the home page.
if REQUIRE_TERMS_SEEN && !user.terms_seen
- redirect_to :controller => :user, :action => :terms, :referer => target
+ redirect_to :action => :terms, :referer => target
elsif user.blocked_on_view
redirect_to user.blocked_on_view, :referer => target
else
flash[:error] = t("user.filter.not_an_administrator")
if params[:display_name]
- redirect_to :controller => "user", :action => "view", :display_name => params[:display_name]
+ redirect_to :action => "view", :display_name => params[:display_name]
else
- redirect_to :controller => "user", :action => "login", :referer => request.fullpath
+ redirect_to :action => "login", :referer => request.fullpath
end
elsif !@user
- redirect_to :controller => "user", :action => "login", :referer => request.fullpath
+ redirect_to :action => "login", :referer => request.fullpath
end
end
##
# ensure that there is a "this_user" instance variable
def lookup_user_by_name
- @this_user = User.find_by_display_name(params[:display_name])
+ @this_user = User.find_by(:display_name => params[:display_name])
rescue ActiveRecord::RecordNotFound
- redirect_to :controller => "user", :action => "view", :display_name => params[:display_name] unless @this_user
+ redirect_to :action => "view", :display_name => params[:display_name] unless @this_user
end
##
!blocked
end
+
+ ##
+ # check if this user has a gravatar and set the user pref is true
+ def gravatar_enable(user)
+ # code from example https://en.gravatar.com/site/implement/images/ruby/
+ return false if user.image.present?
+ hash = Digest::MD5.hexdigest(user.email.downcase)
+ url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
+ response = OSM.http_client.get(URI.parse(url))
+ oldsetting = user.image_use_gravatar
+ user.image_use_gravatar = response.success?
+ oldsetting != user.image_use_gravatar
+ end
+
+ ##
+ # display a message about th current status of the gravatar setting
+ def gravatar_status_message(user)
+ if user.image_use_gravatar
+ t "user.account.gravatar.enabled"
+ else
+ t "user.account.gravatar.disabled"
+ end
+ end
end
new_preferences = {}
- doc = XML::Parser.string(request.raw_post).parse
+ doc = XML::Parser.string(request.raw_post, :options => XML::Parser::Options::NOERROR).parse
doc.find("//preferences/preference").each do |pt|
if preference = old_preferences.delete(pt["k"])
--- /dev/null
+module BannerHelper
+ def active_banners
+ BANNERS.reject do |_k, v|
+ enddate = v[:enddate]
+ begin
+ parsed = enddate && Date.parse(enddate)
+ rescue
+ parsed = nil
+ end
+ !parsed.is_a?(Date) || (parsed.is_a?(Date) && parsed.past?)
+ end
+ end
+
+ # returns the least recently seen banner that is not hidden
+ def next_banner
+ banners = active_banners
+ banner_key = nil
+ cookie_key = nil
+ min_index = 9999
+ min_date = Date.new(9999, 1, 1)
+
+ banners.each do |k, v|
+ ckey = banner_cookie(v[:id]).to_sym
+ cval = cookies[ckey] || 0
+ next if cval == "hide"
+
+ # rotate all banner queue positions
+ index = cval.to_i
+ cookies[ckey] = index - 1 if index > 0
+
+ # pick banner with mininum queue position
+ next if index > min_index
+
+ # or if equal queue position, pick banner with soonest end date (i.e. next expiring)
+ end_date = Date.parse(v[:enddate])
+ next if index == min_index && end_date > min_date
+
+ banner_key = k
+ cookie_key = ckey
+ min_index = index
+ min_date = end_date
+ end
+
+ unless banner_key.nil?
+ cookies[cookie_key] = banners.length # bump to end of queue
+ banners[banner_key]
+ end
+ end
+
+ def banner_cookie(key)
+ "_osm_banner_#{key}"
+ end
+end
def format_value(key, value)
if wp = wikipedia_link(key, value)
link_to h(wp[:title]), wp[:url], :title => t("browse.tag_details.wikipedia_link", :page => wp[:title])
- elsif wdt = wikidata_link(key, value)
- link_to h(wdt[:title]), wdt[:url], :title => t("browse.tag_details.wikidata_link", :page => wdt[:title])
+ elsif wdt = wikidata_links(key, value)
+ # IMPORTANT: Note that wikidata_links() returns an array of hashes, unlike for example wikipedia_link(),
+ # which just returns one such hash.
+ wdt = wdt.map do |w|
+ link_to(w[:title], w[:url], :title => t("browse.tag_details.wikidata_link", :page => w[:title].strip))
+ end
+ safe_join(wdt, ";")
elsif url = wiki_link("tag", "#{key}=#{value}")
link_to h(value), url, :title => t("browse.tag_details.wiki_link.tag", :key => key, :value => value)
elsif url = telephone_link(key, value)
lang = if value =~ /^([a-z-]{2,12}):(.+)$/i
# Value is <lang>:<title> so split it up
# Note that value is always left as-is, see: https://trac.openstreetmap.org/ticket/4315
- $1
+ Regexp.last_match(1)
else
# Value is <title> so default to English Wikipedia
"en"
end
elsif key =~ /^wikipedia:(\S+)$/
# Language is in the key, so assume value is the title
- lang = $1
+ lang = Regexp.last_match(1)
else
# Not a wikipedia key!
return nil
if value =~ /^([^#]*)#(.*)/
# Contains a reference to a section of the wikipedia article
# Must break it up to correctly build the url
- value = $1
- section = "#" + $2
- encoded_section = "#" + URI.encode($2.gsub(/ +/, "_"), /[^A-Za-z0-9:_]/).tr("%", ".")
+ value = Regexp.last_match(1)
+ section = "#" + Regexp.last_match(2)
+ encoded_section = "#" + URI.encode(Regexp.last_match(2).gsub(/ +/, "_"), /[^A-Za-z0-9:_]/).tr("%", ".")
else
section = ""
encoded_section = ""
}
end
- def wikidata_link(key, value)
+ def wikidata_links(key, value)
+ # The simple wikidata-tag (this is limited to only one value)
if key == "wikidata" && value =~ /^[Qq][1-9][0-9]*$/
- return {
+ return [{
:url => "//www.wikidata.org/wiki/#{value}?uselang=#{I18n.locale}",
:title => value
- }
+ }]
+ # Key has to be one of the accepted wikidata-tags
+ elsif key =~ /(architect|artist|brand|operator|subject):wikidata/ &&
+ # Value has to be a semicolon-separated list of wikidata-IDs (whitespaces allowed before and after semicolons)
+ value =~ /^[Qq][1-9][0-9]*(\s*;\s*[Qq][1-9][0-9]*)*$/
+ # Splitting at every semicolon to get a separate hash for each wikidata-ID
+ return value.split(";").map do |id|
+ { :title => id, :url => "//www.wikidata.org/wiki/#{id.strip}?uselang=#{I18n.locale}" }
+ end
end
nil
end
if by.nil?
I18n.t("browse.note." + event + "_by_anonymous",
:when => friendly_date(at),
- :exact_time => l(at)
- ).html_safe
+ :exact_time => l(at)).html_safe
else
I18n.t("browse.note." + event + "_by",
:when => friendly_date(at),
:exact_time => l(at),
- :user => note_author(by)
- ).html_safe
+ :user => note_author(by)).html_safe
end
end
module TraceHelper
def link_to_tag(tag)
if @action == "mine"
- return link_to(tag, :tag => tag, :page => nil)
+ link_to(tag, :tag => tag, :page => nil)
else
- return link_to(tag, :tag => tag, :display_name => @display_name, :page => nil)
+ link_to(tag, :tag => tag, :display_name => @display_name, :page => nil)
end
end
end
class Acl < ActiveRecord::Base
+ validates :k, :presence => true
+
def self.match(address, domain = nil)
if domain
Acl.where("address >>= ? OR domain = ?", address, domain)
attr_accessor :token_callback_url
def self.find_token(token_key)
- token = OauthToken.find_by_token(token_key, :include => :client_application)
+ token = OauthToken.includes(:client_application).find_by(:token => token_key)
token if token && token.authorized?
end
has_many :comments, -> { order(:id).preload(:user) }, :class_name => "DiaryComment"
has_many :visible_comments, -> { joins(:user).where(:visible => true, :users => { :status => %w(active confirmed) }).order(:id) }, :class_name => "DiaryComment"
+ has_many :subscriptions, :class_name => "DiaryEntrySubscription"
+ has_many :subscribers, :through => :subscriptions, :source => :user
scope :visible, -> { where(:visible => true) }
--- /dev/null
+class DiaryEntrySubscription < ActiveRecord::Base
+ belongs_to :user
+ belongs_to :diary_entry
+end
# Read in xml as text and return it's Node object representation
def self.from_xml(xml, create = false)
- p = XML::Parser.string(xml)
+ p = XML::Parser.string(xml, :options => XML::Parser::Options::NOERROR)
doc = p.parse
doc.find("//osm/node").each do |pt|
node.id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
- raise OSM::APIBadUserInput.new("ID of node cannot be zero when updating.") if node.id == 0
+ raise OSM::APIBadUserInput.new("ID of node cannot be zero when updating.") if node.id.zero?
end
# We don't care about the time, as it is explicitly set on create/update/delete
lock!
check_consistency(self, new_node, user)
ways = Way.joins(:way_nodes).where(:visible => true, :current_way_nodes => { :node_id => id }).order(:id)
- raise OSM::APIPreconditionFailedError.new("Node #{id} is still used by ways #{ways.collect(&:id).join(",")}.") unless ways.empty?
+ raise OSM::APIPreconditionFailedError.new("Node #{id} is still used by ways #{ways.collect(&:id).join(',')}.") unless ways.empty?
rels = Relation.joins(:relation_members).where(:visible => true, :current_relation_members => { :member_type => "Node", :member_id => id }).order(:id)
- raise OSM::APIPreconditionFailedError.new("Node #{id} is still used by relations #{rels.collect(&:id).join(",")}.") unless rels.empty?
+ raise OSM::APIPreconditionFailedError.new("Node #{id} is still used by relations #{rels.collect(&:id).join(',')}.") unless rels.empty?
self.changeset_id = new_node.changeset_id
self.tags = {}
end
end
- def diary_comment_notification(comment)
- with_recipient_locale comment.diary_entry.user do
- @to_user = comment.diary_entry.user.display_name
+ def diary_comment_notification(comment, recipient)
+ with_recipient_locale recipient do
+ @to_user = recipient.display_name
@from_user = comment.user.display_name
@text = comment.body
@title = comment.diary_entry.title
:title => "Re: #{comment.diary_entry.title}")
mail :from => from_address(comment.user.display_name, "c", comment.id, comment.digest),
- :to => comment.diary_entry.user.email,
+ :to => recipient.email,
:subject => I18n.t("notifier.diary_comment_notification.subject", :user => comment.user.display_name)
end
end
TYPES = %w(node way relation).freeze
def self.from_xml(xml, create = false)
- p = XML::Parser.string(xml)
+ p = XML::Parser.string(xml, :options => XML::Parser::Options::NOERROR)
doc = p.parse
doc.find("//osm/relation").each do |pt|
relation.id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
- raise OSM::APIBadUserInput.new("ID of relation cannot be zero when updating.") if relation.id == 0
+ raise OSM::APIBadUserInput.new("ID of relation cannot be zero when updating.") if relation.id.zero?
end
# We don't care about the timestamp nor the visibility as these are either
# Read in xml as text and return it's Node object representation
def self.from_xml(xml, create = false)
- p = XML::Parser.string(xml)
+ p = XML::Parser.string(xml, :options => XML::Parser::Options::NOERROR)
doc = p.parse
doc.find("//osm/gpx_file").each do |pt|
trace.id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
- raise OSM::APIBadUserInput.new("ID of trace cannot be zero when updating.") if trace.id == 0
+ raise OSM::APIBadUserInput.new("ID of trace cannot be zero when updating.") if trace.id.zero?
end
# We don't care about the time, as it is explicitly set on create/update/delete
has_many :traces, -> { where(:visible => true) }
has_many :diary_entries, -> { order(:created_at => :desc) }
has_many :diary_comments, -> { order(:created_at => :desc) }
+ has_many :diary_entry_subscriptions, :class_name => "DiaryEntrySubscription"
+ has_many :diary_subscriptions, :through => :diary_entry_subscriptions, :source => :diary_entry
has_many :messages, -> { where(:to_user_visible => true).order(:sent_on => :desc).preload(:sender, :recipient) }, :foreign_key => :to_user_id
has_many :new_messages, -> { where(:to_user_visible => true, :message_read => false).order(:sent_on => :desc) }, :class_name => "Message", :foreign_key => :to_user_id
has_many :sent_messages, -> { where(:from_user_visible => true).order(:sent_on => :desc).preload(:sender, :recipient) }, :class_name => "Message", :foreign_key => :from_user_id
validates :home_zoom, :allow_nil => true, :numericality => { :only_integer => true }
validates :preferred_editor, :inclusion => Editors::ALL_EDITORS, :allow_nil => true
validates :image, :attachment_content_type => { :content_type => %r{\Aimage/.*\Z} }
+ validates :auth_uid, :unless => proc { |u| u.auth_provider.nil? },
+ :uniqueness => { :scope => :auth_provider }
validates_email_format_of :email, :if => proc { |u| u.email_changed? }
validates_email_format_of :new_email, :allow_blank => true, :if => proc { |u| u.new_email_changed? }
user = nil
end
elsif options[:token]
- token = UserToken.find_by_token(options[:token])
+ token = UserToken.find_by(:token => options[:token])
user = token.user if token
end
##
# return an oauth access token for a specified application
def access_token(application_key)
- ClientApplication.find_by_key(application_key).access_token_for_user(self)
+ ClientApplication.find_by(:key => application_key).access_token_for_user(self)
end
private
# Read in xml as text and return it's Way object representation
def self.from_xml(xml, create = false)
- p = XML::Parser.string(xml)
+ p = XML::Parser.string(xml, :options => XML::Parser::Options::NOERROR)
doc = p.parse
doc.find("//osm/way").each do |pt|
way.id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
- raise OSM::APIBadUserInput.new("ID of way cannot be zero when updating.") if way.id == 0
+ raise OSM::APIBadUserInput.new("ID of way cannot be zero when updating.") if way.id.zero?
end
# We don't care about the timestamp nor the visibility as these are either
lock!
check_consistency(self, new_way, user)
rels = Relation.joins(:relation_members).where(:visible => true, :current_relation_members => { :member_type => "Way", :member_id => id }).order(:id)
- raise OSM::APIPreconditionFailedError.new("Way #{id} is still used by relations #{rels.collect(&:id).join(",")}.") unless rels.empty?
+ raise OSM::APIPreconditionFailedError.new("Way #{id} is still used by relations #{rels.collect(&:id).join(',')}.") unless rels.empty?
self.changeset_id = new_way.changeset_id
self.changeset = new_way.changeset
# create list of permissions
-xml.instruct! :xml, :version=>"1.0"
-xml.osm("version" => "#{API_VERSION}", "generator" => "OpenStreetMap Server") do
+xml.instruct! :xml, :version => "1.0"
+xml.osm("version" => API_VERSION.to_s, "generator" => "OpenStreetMap Server") do
xml.permissions do
@permissions.each do |permission|
xml.permission :name => permission
comments.each do |comment|
xml.item do
xml.title t("changeset.rss.comment", :author => comment.author.display_name, :changeset_id => comment.changeset.id.to_s)
-
+
xml.link url_for(:controller => "browse", :action => "changeset", :id => comment.changeset.id, :anchor => "c#{comment.id}", :only_path => false)
xml.guid url_for(:controller => "browse", :action => "changeset", :id => comment.changeset.id, :anchor => "c#{comment.id}", :only_path => false)
xml.description do
- xml.cdata! render(:partial => "comment", :object => comment, :formats => [ :html ])
+ xml.cdata! render(:partial => "comment", :object => comment, :formats => [:html])
end
- if comment.author
- xml.dc :creator, comment.author.display_name
- end
+ xml.dc :creator, comment.author.display_name if comment.author
xml.pubDate comment.created_at.to_s(:rfc822)
end
-xml.rss("version" => "2.0",
+xml.rss("version" => "2.0",
"xmlns:dc" => "http://purl.org/dc/elements/1.1/") do
xml.channel do
if @changeset
- xml.title t('changeset.rss.title_particular', :changeset_id => @changeset.id)
+ xml.title t("changeset.rss.title_particular", :changeset_id => @changeset.id)
else
- xml.title t('changeset.rss.title_all')
+ xml.title t("changeset.rss.title_all")
end
xml.link url_for(:controller => "site", :action => "index", :only_path => false)
xml << render(:partial => "comments", :object => @comments)
end
end
-
atom_feed(:language => I18n.locale, :schema_date => 2009,
- :id => url_for(params.merge({ :only_path => false })),
- :root_url => url_for(params.merge({ :action => :list, :format => nil, :only_path => false })),
+ :id => url_for(params.merge(:only_path => false)),
+ :root_url => url_for(params.merge(:action => :list, :format => nil, :only_path => false)),
"xmlns:georss" => "http://www.georss.org/georss") do |feed|
feed.title changeset_list_title(params, @user)
- feed.updated @edits.map {|e| [e.created_at, e.closed_at].max }.max
+ feed.updated @edits.map { |e| [e.created_at, e.closed_at].max }.max
feed.icon "http://#{SERVER_URL}/favicon.ico"
feed.logo "http://#{SERVER_URL}/images/mag_map-rss2.0.png"
- feed.rights :type => 'xhtml' do |xhtml|
+ feed.rights :type => "xhtml" do |xhtml|
xhtml.a :href => "http://creativecommons.org/licenses/by-sa/2.0/" do |a|
a.img :src => "http://#{SERVER_URL}/images/cc_button.png", :alt => "CC by-sa 2.0"
end
end
- for changeset in @edits
+ @edits.each do |changeset|
feed.entry(changeset, :updated => changeset.closed_at, :id => changeset_url(changeset.id, :only_path => false)) do |entry|
entry.link :rel => "alternate",
:href => changeset_read_url(changeset, :only_path => false),
:href => changeset_download_url(changeset, :only_path => false),
:type => "application/osmChange+xml"
- if !changeset.tags.empty? and changeset.tags.has_key? "comment"
- entry.title t('browse.changeset.feed.title_comment', :id => h(changeset.id), :comment => h(changeset.tags['comment'])), :type => "html"
+ if !changeset.tags.empty? && changeset.tags.key?("comment")
+ entry.title t("browse.changeset.feed.title_comment", :id => h(changeset.id), :comment => h(changeset.tags["comment"])), :type => "html"
else
- entry.title t('browse.changeset.feed.title', :id => h(changeset.id))
+ entry.title t("browse.changeset.feed.title", :id => h(changeset.id))
end
if changeset.user.data_public?
entry.author do |author|
author.name changeset.user.display_name
- author.uri url_for(:controller => 'user', :action => 'view', :display_name => changeset.user.display_name, :only_path => false)
+ author.uri url_for(:controller => "user", :action => "view", :display_name => changeset.user.display_name, :only_path => false)
end
end
- feed.content :type => 'xhtml' do |xhtml|
+ feed.content :type => "xhtml" do |xhtml|
xhtml.style "th { text-align: left } tr { vertical-align: top }"
xhtml.table do |table|
table.tr do |tr|
atom_feed(:language => I18n.locale, :schema_date => 2009,
- :id => url_for(params.merge({ :only_path => false })),
- :root_url => url_for(params.merge({ :only_path => false, :format => nil })),
+ :id => url_for(params.merge(:only_path => false)),
+ :root_url => url_for(params.merge(:only_path => false, :format => nil)),
"xmlns:georss" => "http://www.georss.org/georss") do |feed|
feed.title @title
- feed.subtitle :type => 'xhtml' do |xhtml|
+ feed.subtitle :type => "xhtml" do |xhtml|
xhtml.p do |p|
- p << t('changeset.timeout.sorry')
+ p << t("changeset.timeout.sorry")
end
end
end
xml.instruct!
-xml.rss("version" => "2.0",
+xml.rss("version" => "2.0",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.channel do
xml.title "OpenStreetMap"
xml.width "100"
xml.height "100"
- xml.link url_for(:action => "list", :host=> SERVER_URL)
+ xml.link url_for(:action => "list", :host => SERVER_URL)
end
- for entry in @entries
+ @entries.each do |entry|
xml.item do
xml.title h(entry.title)
xml.link url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :host => SERVER_URL)
xml.author entry.user.display_name
xml.pubDate entry.created_at.to_s(:rfc822)
xml.comments url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :anchor => "comments", :host => SERVER_URL)
-
- if entry.latitude and entry.longitude
+
+ if entry.latitude && entry.longitude
xml.geo :lat, entry.latitude.to_s
xml.geo :long, entry.longitude.to_s
- xml.georss :point, "#{entry.latitude.to_s} #{entry.longitude.to_s}"
+ xml.georss :point, "#{entry.latitude} #{entry.longitude}"
end
end
end
<%= richtext_area :diary_comment, :body, :cols => 80, :rows => 15 %>
<%= submit_tag t('diary_entry.view.save_button') %>
<% end %>
+ <% if @user and @entry.subscribers.exists?(@user.id) %>
+ <div class="diary-subscribe-buttons"><%= link_to t('javascripts.changesets.show.unsubscribe'), diary_entry_unsubscribe_path(:display_name => @entry.user.display_name, :id => @entry.id), :method => :post, :class => :button %></div>
+ <% elsif @user %>
+ <div class="diary-subscribe-buttons"><%= link_to t('javascripts.changesets.show.subscribe'), diary_entry_subscribe_path(:display_name => @entry.user.display_name, :id => @entry.id), :method => :post, :class => :button %></div>
+ <% end %>
<% end %>
<%= if_not_logged_in(:div) do %>
--- /dev/null
+<% unless (banner = next_banner()).nil? %>
+<%= link_to (image_tag banner[:img], :alt => banner[:alt], :title => banner[:alt]), banner[:link] %>
+<div class="close-wrap" id="<%= banner_cookie(banner[:id]) %>"><span class="icon close"></span></div>
+<% end %>
<% unless @user %>
<div class="welcome">
- <h2><a><span class="icon close"></span></a><%= t 'layouts.intro_header' %></h2>
+ <h2><%= t 'layouts.intro_header' %></h2>
+ <div class="close-wrap"><span class="icon close"></span></div>
<p><%= t 'layouts.intro_text' %></p>
<a class="button learn-more" href="<%= about_path %>"><%= t('layouts.learn_more') %></a>
<a class="button sign-up" href="<%= user_new_path %>"><%= t('layouts.start_mapping') %></a>
</div>
<% end %>
+
+ <div id="banner">
+ <%= render :partial => "layouts/banner" %>
+ </div>
</div>
<noscript>
xml.name t("browse.note.title", :id => note.id)
xml.desc do
- xml.cdata! render(:partial => "description", :object => note, :formats => [ :html ])
+ xml.cdata! render(:partial => "description", :object => note, :formats => [:html])
end
xml.link("href" => browse_note_url(note, :host => SERVER_URL))
xml.date_created note.created_at
xml.status note.status
- if note.closed?
- xml.date_closed note.closed_at
- end
+ xml.date_closed note.closed_at if note.closed?
end
end
location = describe_location(note.lat, note.lon, 14, locale)
if note.closed?
- xml.title t('note.rss.closed', :place => location)
+ xml.title t("note.rss.closed", :place => location)
elsif note.comments.length > 1
- xml.title t('note.rss.commented', :place => location)
+ xml.title t("note.rss.commented", :place => location)
else
- xml.title t('note.rss.opened', :place => location)
+ xml.title t("note.rss.opened", :place => location)
end
xml.link browse_note_url(note)
xml.guid note_url(note)
- xml.description render(:partial => "description", :object => note, :formats => [ :html ])
+ xml.description render(:partial => "description", :object => note, :formats => [:html])
- if note.author
- xml.author note.author.display_name
- end
+ xml.author note.author.display_name if note.author
xml.pubDate note.updated_at.to_s(:rfc822)
xml.geo :lat, note.lat
xml.date_created note.created_at
xml.status note.status
- if note.closed?
- xml.date_closed note.closed_at
- end
+ xml.date_closed note.closed_at if note.closed?
xml.comments do
note.comments.each do |comment|
xml.instruct!
-xml.rss("version" => "2.0",
+xml.rss("version" => "2.0",
"xmlns:dc" => "http://purl.org/dc/elements/1.1/",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.channel do
- xml.title t('note.rss.title')
- xml.description t('note.rss.description_area', :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon )
+ xml.title t("note.rss.title")
+ xml.description t("note.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
xml.link url_for(:controller => "site", :action => "index", :only_path => false)
@comments.each do |comment|
xml.item do
xml.title t("note.rss.#{comment.event}", :place => location)
-
+
xml.link url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
xml.guid url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
xml.description do
- xml.cdata! render(:partial => "entry", :object => comment, :formats => [ :html ])
+ xml.cdata! render(:partial => "entry", :object => comment, :formats => [:html])
end
- if comment.author
- xml.dc :creator, comment.author.display_name
- end
+ xml.dc :creator, comment.author.display_name if comment.author
xml.pubDate comment.created_at.to_s(:rfc822)
xml.geo :lat, comment.note.lat
xml.instruct!
-xml.gpx("version" => "1.1",
+xml.gpx("version" => "1.1",
"creator" => "OpenStreetMap.org",
"xmlns" => "http://www.topografix.com/GPX/1/1",
"xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
xml.instruct!
-xml.rss("version" => "2.0",
+xml.rss("version" => "2.0",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.channel do
- xml.title t('note.rss.title')
- xml.description t('note.rss.description_area', :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon )
+ xml.title t("note.rss.title")
+ xml.description t("note.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
xml.link url_for(:controller => "site", :action => "index", :only_path => false)
xml << (render(:partial => "note", :collection => @notes) || "")
xml.instruct!
-xml.gpx("version" => "1.1",
+xml.gpx("version" => "1.1",
"creator" => "OpenStreetMap.org",
"xmlns" => "http://www.topografix.com/GPX/1/1",
"xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
xml.instruct!
-xml.rss("version" => "2.0",
+xml.rss("version" => "2.0",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.channel do
- xml.title t('note.rss.title')
- xml.description t('note.rss.description_item', :id => @note.id)
+ xml.title t("note.rss.title")
+ xml.description t("note.rss.description_item", :id => @note.id)
xml.link url_for(:controller => "site", :action => "index", :only_path => false)
xml << render(:partial => "note", :object => @note)
xml.instruct!
-xml.rss("version" => "2.0",
+xml.rss("version" => "2.0",
"xmlns:dc" => "http://purl.org/dc/elements/1.1/",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.guid url_for(:controller => :trace, :action => :view, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
xml.description do
- xml.cdata! render(:partial => "description", :object => trace, :formats => [ :html ])
+ xml.cdata! render(:partial => "description", :object => trace, :formats => [:html])
end
xml.dc :creator, trace.user.display_name
xml.pubDate trace.timestamp.to_s(:rfc822)
- if trace.latitude and trace.longitude
+ if trace.latitude && trace.longitude
xml.geo :lat, trace.latitude
xml.geo :long, trace.longitude
xml.georss :point, "#{trace.latitude} #{trace.longitude}"
xml.tag! "user", :id => @this_user.id,
:display_name => @this_user.display_name,
:account_created => @this_user.creation_time.xmlschema do
- if @this_user.description
- xml.tag! "description", @this_user.description
- end
+ xml.tag! "description", @this_user.description if @this_user.description
if @user && @user == @this_user
- xml.tag! "contributor-terms", :agreed => !!@this_user.terms_agreed,
- :pd => !!@this_user.consider_pd
+ xml.tag! "contributor-terms", :agreed => @this_user.terms_agreed.present?,
+ :pd => @this_user.consider_pd
else
- xml.tag! "contributor-terms", :agreed => !!@this_user.terms_agreed
+ xml.tag! "contributor-terms", :agreed => @this_user.terms_agreed.present?
end
- if @this_user.image.file? or @this_user.image_use_gravatar
+ if @this_user.image.file? || @this_user.image_use_gravatar
xml.tag! "img", :href => user_image_url(@this_user, :size => 256)
end
xml.tag! "roles" do
end
end
if @user && @user == @this_user
- if @this_user.home_lat and @this_user.home_lon
+ if @this_user.home_lat && @this_user.home_lon
xml.tag! "home", :lat => @this_user.home_lat,
:lon => @this_user.home_lon,
:zoom => @this_user.home_zoom
<% if defined?(WINDOWSLIVE_AUTH_ID) -%>
<li><%= auth_button "windowslive", "windowslive" %></li>
<% end -%>
+ <% if defined?(GITHUB_AUTH_ID) -%>
+ <li><%= auth_button "github", "github" %></li>
+ <% end -%>
<li><%= auth_button "yahoo", "openid", :openid_url => "yahoo.com" %></li>
<li><%= auth_button "wordpress", "openid", :openid_url => "wordpress.com" %></li>
<li><%= auth_button "aol", "openid", :openid_url => "aol.com" %></li>
--- /dev/null
+sotmasia2016:
+ id: sotmasia2016
+ alt: State of the Map Asia 2016
+ link: http://stateofthemap.asia/
+ img: banners/sotmasia-2016.jpg
+ enddate: 2016-oct-01
+
+donate2016:
+ id: donate2016
+ alt: OpenStreetMap Funding Drive 2016
+ link: https://donate.openstreetmap.org/
+ img: banners/donate-2016.jpg
+ enddate: 2016-oct-31
+
+sotmlatam2016:
+ id: sotmlatam2016
+ alt: State of the Map Latam 2016
+ link: http://state.osmlatam.org/
+ img: banners/sotmlatam-2016.jpg
+ enddate: 2016-nov-25
require_terms_agreed: false
# Imagery to return in capabilities as blacklisted
imagery_blacklist:
- - ".*\\.googleapis\\.com/.*"
- - ".*\\.google\\.com/.*"
- - ".*\\.google\\.ru/.*"
+ # Current Google imagery URLs have google or googleapis in the domain
+ # with a vt or kh endpoint, and x, y and z query parameters
+ - ".*\\.google(apis)?\\..*/(vt|kh)[\\?/].*([xyz]=.*){3}.*"
# URL of Overpass instance to use for feature queries
overpass_url: "//overpass-api.de/api/interpreter"
# Routing endpoints
graphhopper_url: "//graphhopper.com/api/1/route"
mapquest_directions_url: "//open.mapquestapi.com/directions/v2/route"
mapzen_valhalla_url: "//valhalla.mapzen.com/route"
- osrm_url: "//router.project-osrm.org/viaroute"
+ osrm_url: "//router.project-osrm.org/route/v1/driving/"
# External authentication credentials
#google_auth_id: ""
#google_auth_secret: ""
#facebook_auth_secret: ""
#windowslive_auth_id: ""
#windowslive_auth_secret: ""
+ #github_auth_id: ""
+ #github_auth_secret: ""
# MapQuest authentication details
#mapquest_key: ""
# Mapzen authentication details
#mapzen_valhalla_key: ""
+ # Thunderforest authentication details
+ #thunderforest_key: ""
development:
<<: *defaults
facebook_auth_secret: "dummy"
windowslive_auth_id: "dummy"
windowslive_auth_secret: "dummy"
+ github_auth_id: "dummy"
+ github_auth_secret: "dummy"
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
-Rails.application.config.assets.precompile += %w( index.js browse.js welcome.js fixthemap.js )
-Rails.application.config.assets.precompile += %w( user.js login.js diary_entry.js )
-Rails.application.config.assets.precompile += %w( screen-ltr.css print-ltr.css )
-Rails.application.config.assets.precompile += %w( screen-rtl.css print-rtl.css )
-Rails.application.config.assets.precompile += %w( leaflet-all.css leaflet.ie.css )
-Rails.application.config.assets.precompile += %w( id.js id.css )
-Rails.application.config.assets.precompile += %w( embed.js embed.css )
-Rails.application.config.assets.precompile += %w( html5shiv.js )
-Rails.application.config.assets.precompile += %w( images/marker-*.png img/*-handle.png )
-Rails.application.config.assets.precompile += %w( swfobject.js expressInstall.swf )
-Rails.application.config.assets.precompile += %w( potlatch2.swf )
-Rails.application.config.assets.precompile += %w( potlatch2/assets.zip )
-Rails.application.config.assets.precompile += %w( potlatch2/FontLibrary.swf )
-Rails.application.config.assets.precompile += %w( potlatch2/locales/*.swf )
-Rails.application.config.assets.precompile += %w( help/introduction.* )
-Rails.application.config.assets.precompile += %w( iD/img/*.svg iD/img/*.png iD/img/*.gif )
-Rails.application.config.assets.precompile += %w( iD/img/pattern/*.png )
-Rails.application.config.assets.precompile += %w( iD/locales/*.json )
-Rails.application.config.assets.precompile += %w( iD/traffico/stylesheets/traffico.css )
-Rails.application.config.assets.precompile += %w( iD/traffico/fonts/traffico_* )
-Rails.application.config.assets.precompile += %w( iD/traffico/string-maps/*.json )
+Rails.application.config.assets.precompile += %w(index.js browse.js welcome.js fixthemap.js)
+Rails.application.config.assets.precompile += %w(user.js login.js diary_entry.js)
+Rails.application.config.assets.precompile += %w(screen-ltr.css print-ltr.css)
+Rails.application.config.assets.precompile += %w(screen-rtl.css print-rtl.css)
+Rails.application.config.assets.precompile += %w(leaflet-all.css leaflet.ie.css)
+Rails.application.config.assets.precompile += %w(id.js id.css)
+Rails.application.config.assets.precompile += %w(embed.js embed.css)
+Rails.application.config.assets.precompile += %w(html5shiv.js)
+Rails.application.config.assets.precompile += %w(images/marker-*.png img/*-handle.png)
+Rails.application.config.assets.precompile += %w(swfobject.js expressInstall.swf)
+Rails.application.config.assets.precompile += %w(potlatch2.swf)
+Rails.application.config.assets.precompile += %w(potlatch2/assets.zip)
+Rails.application.config.assets.precompile += %w(potlatch2/FontLibrary.swf)
+Rails.application.config.assets.precompile += %w(potlatch2/locales/*.swf)
+Rails.application.config.assets.precompile += %w(help/introduction.*)
+Rails.application.config.assets.precompile += %w(iD/img/*.svg iD/img/*.png iD/img/*.gif)
+Rails.application.config.assets.precompile += %w(iD/img/pattern/*.png)
+Rails.application.config.assets.precompile += %w(iD/locales/*.json)
+Rails.application.config.assets.precompile += %w(iD/traffico/stylesheets/traffico.css)
+Rails.application.config.assets.precompile += %w(iD/traffico/fonts/traffico_*)
+Rails.application.config.assets.precompile += %w(iD/traffico/string-maps/*.json)
--- /dev/null
+begin
+ BANNERS = YAML.load_file("#{Rails.root}/config/banners.yml").deep_symbolize_keys
+rescue
+ BANNERS = {}.freeze
+end
google_options = { :name => "google", :scope => "email", :access_type => "online" }
facebook_options = { :name => "facebook", :scope => "email" }
windowslive_options = { :name => "windowslive", :scope => "wl.signin,wl.emails" }
+github_options = { :name => "github", :scope => "user:email" }
if defined?(GOOGLE_OPENID_REALM)
google_options[:openid_realm] = GOOGLE_OPENID_REALM
provider :google_oauth2, GOOGLE_AUTH_ID, GOOGLE_AUTH_SECRET, google_options if defined?(GOOGLE_AUTH_ID)
provider :facebook, FACEBOOK_AUTH_ID, FACEBOOK_AUTH_SECRET, facebook_options if defined?(FACEBOOK_AUTH_ID)
provider :windowslive, WINDOWSLIVE_AUTH_ID, WINDOWSLIVE_AUTH_SECRET, windowslive_options if defined?(WINDOWSLIVE_AUTH_ID)
+ provider :github, GITHUB_AUTH_ID, GITHUB_AUTH_SECRET, github_options if defined?(GITHUB_AUTH_ID)
end
# Pending fix for: https://github.com/intridea/omniauth/pull/795
url = super(style_name, options)
if url =~ %r{^/assets/(.*)$}
- asset_path($1)
+ asset_path(Regexp.last_match(1))
else
url
end
-class R2Template < Tilt::Template
- self.default_mime_type = "text/css"
+require "r2"
- def self.engine_initialized?
- defined? ::R2
- end
-
- def initialize_engine
- require_template_library "r2"
- end
-
- def prepare
- @output = R2.r2(data)
- end
-
- def evaluate(_scope, _locals, &_block)
- @output
+class R2ScssProcessor < Sprockets::ScssProcessor
+ def self.call(input)
+ output = super(input)
+ data = R2.r2(output[:data])
+ output.delete(:map)
+ output.merge(:data => data)
end
end
Rails.application.config.assets.configure do |env|
- env.register_engine ".r2", R2Template
+ env.register_mime_type "text/r2+scss", :extensions => [".r2.scss"]
+ env.register_transformer "text/r2+scss", "text/css", R2ScssProcessor
+ env.register_preprocessor "text/r2+scss", Sprockets::DirectiveProcessor.new(:comments => ["//", ["/*", "*/"]])
end
- { min_zoom: 15, max_zoom: 19, name: private, image: private.png }
- { min_zoom: 15, max_zoom: 19, name: destination, image: destination.png }
- { min_zoom: 12, max_zoom: 19, name: construction, image: construction.png }
+cyclemap:
+ - { min_zoom: 0, max_zoom: 11, name: motorway, image: motorway.png }
+ - { min_zoom: 12, max_zoom: 19, name: motorway, image: motorway12.png }
+ - { min_zoom: 0, max_zoom: 11, name: trunk, image: trunk.png }
+ - { min_zoom: 12, max_zoom: 19, name: trunk, image: trunk12.png }
+ - { min_zoom: 7, max_zoom: 11, name: primary, image: primary.png }
+ - { min_zoom: 12, max_zoom: 19, name: primary, image: primary12.png }
+ - { min_zoom: 9, max_zoom: 11, name: secondary, image: secondary.png }
+ - { min_zoom: 12, max_zoom: 19, name: secondary, image: secondary12.png }
+ - { min_zoom: 13, max_zoom: 19, name: track, image: track.png }
+ - { min_zoom: 8, max_zoom: 19, name: cycleway, image: cycleway.png }
+ - { min_zoom: 5, max_zoom: 12, name: cycleway_national, image: cycleway_national.png }
+ - { min_zoom: 13, max_zoom: 19, name: cycleway_national, image: cycleway_national13.png }
+ - { min_zoom: 5, max_zoom: 12, name: cycleway_regional, image: cycleway_regional.png }
+ - { min_zoom: 13, max_zoom: 19, name: cycleway_regional, image: cycleway_regional13.png }
+ - { min_zoom: 8, max_zoom: 12, name: cycleway_local, image: cycleway_local.png }
+ - { min_zoom: 13, max_zoom: 19, name: cycleway_local, image: cycleway_local13.png }
+ - { min_zoom: 13, max_zoom: 19, name: footway, image: footway.png }
+ - { min_zoom: 7, max_zoom: 13, name: rail, image: rail.png }
+ - { min_zoom: 14, max_zoom: 19, name: rail, image: rail14.png }
+ - { min_zoom: 9, max_zoom: 19, name: forest, image: forest.png }
+ - { min_zoom: 10, max_zoom: 19, name: common, image: common.png }
+ - { min_zoom: 7, max_zoom: 19, name: lake, image: lake.png }
+ - { min_zoom: 14, max_zoom: 19, name: bicycle_shop, image: bicycle_shop.png }
+ - { min_zoom: 14, max_zoom: 19, name: bicycle_parking, image: bicycle_parking.png }
+ - { min_zoom: 16, max_zoom: 19, name: toilets, image: toilets.png }
# Author: TTMTT
# Author: Yahya Sakhnini
# Author: Zaher kadour
+# Author: بدارين
# Author: ترجمان05
+# Author: ديفيد
# Author: عباد ديرانية
# Author: عبد الرحمان أيمن
# Author: محمد أحمد عبد الفتاح
مضت</abbr>
commented_by: تعليق من %{user} <abbr title='%{exact_time}'>%{when} مضت</abbr>
changesetxml: حزمة التغييرات إكس إم أل
+ osmchangexml: osmChange XML
feed:
title: حزمة التغييرات %{id}
title_comment: حزمة التغييرات %{id} - %{comment}
search_osm_nominatim:
prefix:
aerialway:
+ cable_car: عربة قطار هوائي
station: محطة قطار هوائي
aeroway:
aerodrome: المطار
taxiway: مدرج المناورات
terminal: صالة مطار
amenity:
+ animal_shelter: مأوى للحيوانات
arts_centre: مركز فني/ثقافي
atm: صراف آلي
bank: مصرف
bicycle_parking: موقف دراجات
bicycle_rental: تأجير دراجة
biergarten: حديقة البيرة
+ boat_rental: تأجير قوارب
brothel: بيت دعارة
bureau_de_change: مكتب صرافة
bus_station: محطة حافلات
building:
"yes": مبنى
craft:
+ brewery: مصنع الجعة
carpenter: نجار
electrician: اختصاصي كهرباء
gardener: بستاني
volcano: بركان
water: ماء
wetland: أرض رطبة
- wood: Øرج
+ wood: غابة
office:
accountant: محاسب
administrative: إدارة
wadi: وادي
waterfall: شلال
weir: هدار (سدّ منخفض)
+ "yes": معبر مائي
admin_levels:
level2: حدود قطرية
level4: حدود الدولة
logout: سجل خروج
log_in: لِج
log_in_tooltip: سجّل الدخول مع حساب موجود
- sign_up: Ø¥Ù\86شئ ØساباÙ\8b
+ sign_up: Ø£Ù\86شئ ØسابÙ\8bا
sign_up_tooltip: أنشئ حسابًا كي تستطيع المساهمة
edit: تعديل
history: تاريخ
native:
title: حول هذه الصفحة
native_link: النسخة العربية
- mapping_link: Ø¥بدأ التخطيط
+ mapping_link: ابدأ التخطيط
legal_babble:
title_html: حقوق النشر والترخيص
more_title_html: معرفة المزيد
contributors_title_html: المساهمين
welcome_page:
title: أهلاً بك.
+ rules:
+ title: قواعد!
questions:
title: هل هناك أسئلة ؟
fixthemap:
الذي اُرسِلَ إليك فى رسالة تأكيد البريد الإلكتروني، كما <a href="%{reconfirm}">يُمكنك
طلب رسالة تأكيد جديدة فى حالة عدم إستلام الاولى</a>.
auth failure: آسف، لا يمكن الدخول بتلك التفاصيل.
+ auth_providers:
+ google:
+ title: قم بتسجيل الدخول عن طريق جوجل
+ facebook:
+ title: قم بتسجيل الدخول باستخدام الفيس بوك
logout:
title: تسجيل الخروج
heading: الخروج من خريطة الشارع المفتوحة
flash changed: كلمة المرور الخاصة بك قد تغيرت.
flash token bad: لم نجد هذا النموذج، تحقق من الرابط ربما؟
new:
- title: Ø¥Ù\86شئ ØساباÙ\8b
+ title: Ø£Ù\86شئ Øسابا
no_auto_account_create: للأسف نحن غير قادرين في الوقت الحالي على إنشاء حساب
لك تلقائيًا.
contact_webmaster: يرجى الاتصال <a href="mailto:webmaster@openstreetmap.org">بمسؤول
التفضيلات في وقت لاحق.
password: 'كلمة السر:'
confirm password: 'تأكيد كلمة المرور:'
- continue: Ø¥Ù\86شئ ØساباÙ\8b
+ continue: Ø£Ù\86شئ Øسابا
terms accepted: نشكرك على قبول شروط المساهم الجديدة!
terms:
title: 'شروط المساهم:'
title: شارك
cancel: ألغ
image: صورة
+ link: وصلة أو HTML
+ long_link: وصلة
format: 'التنسيق:'
scale: 'المقياس:'
download: نزل
de retirada de datos</a> o pidilo direutamente nel nuesu <a href="http://dmca.openstreetmap.org/">formulariu
en llinia</a>.
trademarks_title_html: <span id="trademarks"></span>Marques rexistraes
- trademarks_1_html: OpenStreetMap ya'l logotipu de la lente son marques rexistraes
- de la Fundación OpenStreetMap. Si tienes entrugues tocante al to usu de les
- marques, mándales al <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">grupu
+ trademarks_1_html: OpenStreetMap ,el logotipu de la lente y Estáu del Mapa son
+ marques rexistraes de la Fundación OpenStreetMap. Si tienes entrugues tocante
+ al usu de les marques, mándales al <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">grupu
de trabayu sobro llicencies</a>.
welcome_page:
title: ¡Bienveníu!
track: Pista
bridleway: Caleya
cycleway: Carril bici
+ cycleway_national: Carril bici nacional
+ cycleway_regional: Carril bici rexonal
+ cycleway_local: Carril bici llocal
footway: Camín peatonal
rail: Ferrocarril
subway: Metro
private: Accesu priváu
destination: Accesu pa destín
construction: Carreteres en construcción
+ bicycle_shop: Tienda de bicicletes
+ bicycle_parking: Aparcamientu de bicicletes
+ toilets: Servicios
richtext_area:
edit: Editar
preview: Vista previa
windowslive:
title: Anicia sesión con Windows Live
alt: Anicia sesión con una cuenta de Windows Live
+ github:
+ title: Aniciar sesión con GitHub
+ alt: Aniciar sesión con una cuenta de GitHub
yahoo:
title: Aniciar sesión con Yahoo
alt: Aniciar sesión con una OpenID de Yahoo
gravatar: Usar Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: ¿qué ye esto?
+ disabled: Desactivóse Gravatar.
+ enabled: Activóse la vista del to Gravatar.
new image: Amestar una imaxe
keep image: Mantener la imaxe actual
delete image: Desaniciar la imaxe actual
standard: Estándar
cycle_map: Mapa ciclista
transport_map: Mapa de tresportes
- mapquest: MapQuest Open
hot: Humanitariu
layers:
header: Capes del mapa
instructions:
continue_without_exit: Siguir en %{name}
slight_right_without_exit: Llixeramente a la drecha haza %{name}
+ offramp_right_without_exit: Cueye la rampla a la drecha haza %{name}
+ onramp_right_without_exit: Xira a la drecha na rampla haza %{name}
+ endofroad_right_without_exit: Al final de la carretera xira a la drecha haza
+ %{name}
+ merge_right_without_exit: Xúnite a la drecha haza %{name}
+ fork_right_without_exit: Nel biforcu xira a la drecha haza %{name}
turn_right_without_exit: Xira a la drecha haza %{name}
sharp_right_without_exit: Fuerte a la drecha haza %{name}
uturn_without_exit: Cambiu de sentíu en %{name}
sharp_left_without_exit: Fuerte a la izquierda haza %{name}
turn_left_without_exit: Xira a la izquierda haza %{name}
+ offramp_left_without_exit: Cueye la rampla a la izquierda haza %{name}
+ onramp_left_without_exit: Xira a la izquierda na rampla haza %{name}
+ endofroad_left_without_exit: Al final de la carretera xira a la izquierda
+ haza %{name}
+ merge_left_without_exit: Xúnite a la izquierda haza %{name}
+ fork_left_without_exit: Nel biforcu xira a la izquierda haza %{name}
slight_left_without_exit: Llixeramente a la izquierda haza %{name}
via_point_without_exit: (pel puntu)
follow_without_exit: Siguir %{name}
--- /dev/null
+# Messages for Bengali (বাংলা)
+# Exported from translatewiki.net
+# Export driver: phpyaml
+# Author: Aftabuzzaman
+# Author: Bellayet
+# Author: Bodhisattwa
+# Author: Ehsanulhb
+# Author: Kayser Ahmad
+# Author: Nasir8891
+# Author: Sayma Jahan
+# Author: Tauhid16
+# Author: Wikisagnik
+# Author: আজিজ
+# Author: এম আবু সাঈদ
+---
+bn:
+ time:
+ formats:
+ friendly: '%e %B %Y %H:%M-এ'
+ activerecord:
+ models:
+ acl: প্রবেশাধিকার নিয়ন্ত্রণ তালিকা
+ changeset: পরিবর্তনধার্য
+ changeset_tag: পরিবর্তনধার্য ট্যাগ
+ country: দেশ
+ diary_comment: ডাইরি মন্তব্য
+ diary_entry: ডাইরি ভুক্তি
+ friend: বন্ধু
+ language: ভাষা
+ message: বার্তা
+ node: সংযোগস্থল
+ node_tag: সংযোগস্থল ট্যাগ
+ notifier: নোটিফায়ার
+ old_node: পুরাতন সংযোগস্থল
+ old_node_tag: পুরাতন সংযোগস্থল ট্যাগ
+ old_relation: পুরনো সম্পর্ক
+ old_relation_member: পুরনো সম্পর্ক সদস্য
+ old_relation_tag: পুরনো সম্পর্ক ট্যাগ
+ old_way: পুরাতন পদ্ধতি
+ old_way_node: পুরাতন পদ্ধতির নোড
+ old_way_tag: পুরাতন পদ্ধতির ট্যাগ
+ relation: সম্পর্ক
+ relation_member: সম্পর্ক সদস্য
+ relation_tag: সম্পর্ক টাগ
+ session: সেশন
+ trace: ট্রেস
+ tracepoint: পথচিহ্ন বিন্দু
+ tracetag: ট্রেস ট্যাগ
+ user: ব্যবহারকারী
+ user_preference: ব্যবহারকারীর পছন্দ
+ user_token: ব্যবহারকারী টোকেন
+ way: রাস্তা
+ way_node: রাস্তার নোড
+ way_tag: রাস্তার ট্যাগ
+ attributes:
+ diary_comment:
+ body: মূলাংশ
+ diary_entry:
+ user: ব্যবহারকারী
+ title: বিষয়
+ latitude: অক্ষাংশ
+ longitude: দ্রাঘিমাংশ
+ language: ভাষা
+ friend:
+ user: ব্যবহারকারী
+ friend: বন্ধু
+ trace:
+ user: ব্যবহারকারী
+ visible: দৃশ্যমান
+ name: নাম
+ size: আকার
+ latitude: অক্ষাংশ
+ longitude: দ্রাঘিমাংশ
+ public: পাবলিক
+ description: বিবরণ
+ message:
+ sender: প্রেরক
+ title: শিরোনাম
+ body: বডি
+ recipient: প্রাপক
+ user:
+ email: ইমেইল
+ active: সক্রিয়
+ display_name: প্রদর্শনের জন্য নাম
+ description: বিবরণ
+ languages: ভাষা
+ pass_crypt: পাসওয়ার্ড
+ editor:
+ default: ডিফল্ট (বর্তমানে %{name})
+ potlatch:
+ name: পটল্যাচ ১
+ description: পটল্যাচ ১ (ব্রাউজার থেকে সম্পাদনা)
+ id:
+ name: আইডি
+ description: আইডি (ব্রাউজার সম্পাদকে)
+ potlatch2:
+ name: পটল্যাচ ২
+ description: পটল্যাচ ২ (ব্রাউজার থেকে সম্পাদনা)
+ remote:
+ name: রিমোট কন্ট্রোল
+ description: রিমোট কন্ট্রোল (JOSM অথবা Merkaartor)
+ browse:
+ created: তৈরি হয়েছে
+ closed: বন্ধ
+ created_html: <abbr title='%{title}'>%{time} আগে</abbr> তৈরি
+ closed_html: <abbr title='%{title}'>%{time} আগে</abbr> বন্ধ
+ created_by_html: '%{user} কর্তৃক <abbr title=''%{title}''>%{time} আগে</abbr> তৈরি'
+ deleted_by_html: '%{user} কর্তৃক <abbr title=''%{title}''>%{time}আগে</abbr> অপসারণ'
+ edited_by_html: '%{user} কর্তৃক <abbr title=''%{title}''>%{time} আগে</abbr> সম্পাদিত'
+ closed_by_html: '%{user} কর্তৃক <abbr title=''%{title}''>%{time} আগে</abbr> বন্ধ'
+ version: সংস্করণ
+ in_changeset: পরিবর্তনসমূহ
+ anonymous: নামহীন
+ no_comment: (কোন মন্তব্য নেই)
+ part_of: অংশ
+ download_xml: এক্সএমএল ডাউনলোড
+ view_history: ইতিহাস দেখুন
+ view_details: বিস্তারিত দেখুন
+ location: 'অবস্থান:'
+ changeset:
+ title: 'পরিবর্তনধার্য: %{id}'
+ belongs_to: লেখক
+ node: (%{count}টি) সংযোগস্থল
+ node_paginated: সংযোগস্থল (%{count}টির %{x}-%{y})
+ way: (%{count}টি) রাস্তা
+ way_paginated: পথসমূহ (%{count}টির %{x}-%{y})
+ relation: সম্পর্ক (%{count}টি)
+ relation_paginated: সম্পর্ক (%{count}টির %{x}-%{y})
+ comment: মন্তব্য (%{count}টি)
+ hidden_commented_by: '%{user} থেকে <abbr title=''%{exact_time}''>%{when} আগের</abbr>
+ মন্তব্য লুকান'
+ commented_by: <abbr title='%{exact_time}'>%{when} আগে</abbr> %{user} থেকে মন্তব্য
+ changesetxml: পরিবর্তনধার্য এক্সএমএল
+ osmchangexml: osmChange এক্সএমএল
+ feed:
+ title: পরিবর্তনধার্য %{id}
+ title_comment: পরিবর্তনধার্য %{id} - %{comment}
+ join_discussion: আলোচনায় যোগ দিতে প্রবেশ করুন
+ discussion: আলোচনা
+ node:
+ title: 'সংযোগস্থল: %{name}'
+ history_title: 'সংযোগস্থলের ইতিহাস: %{name}'
+ way:
+ title: 'রাস্তা: %{name}'
+ history_title: 'রাস্তা ইতিহাস: %{name}'
+ nodes: সংযোগস্থলসমূহ
+ relation:
+ title: 'সম্পর্ক: %{name}'
+ history_title: 'সম্পর্ক ইতিহাস: %{name}'
+ members: সদস্যবৃন্দ
+ relation_member:
+ entry_role: '%{type} %{name} %{role} হিসাবে'
+ type:
+ node: সংযোগস্থল
+ way: রাস্তা
+ relation: সম্পর্ক
+ containing_relation:
+ entry: সম্পর্ক %{relation_name}
+ entry_role: সম্পর্ক %{relation_name} (যখন %{relation_role})
+ not_found:
+ sorry: 'দুঃখিত, %{type} #%{id} পাওয়া যায়নি।'
+ type:
+ node: সংযোগস্থল
+ way: রাস্তা
+ relation: সম্পর্ক
+ changeset: পরিবর্তনধার্য
+ note: টীকা
+ timeout:
+ sorry: দুঃখিত, %{type} এর সাথে সম্পৃক্ত আইডি %{id}-র তথ্য, পুনরুদ্ধার করতে অতিরিক্ত
+ সময় লেগেছে।
+ type:
+ node: সংযোগস্থল
+ way: দিক
+ relation: সম্পর্ক
+ changeset: পরিবর্তনধার্য
+ note: টীকা
+ redacted:
+ redaction: সম্পর্ক %{id}
+ message_html: কোনও কারণে %{type}-এর %{version} সংস্করণটি দেখানো যাবে না। বিস্তারিত
+ জানতে %{redaction_link} দেখুন।
+ type:
+ node: সংযোগস্থল
+ way: দিক
+ relation: সম্পর্ক
+ start_rjs:
+ feature_warning: '%{num_features} বৈশিষ্ট্যগুলো লোড হচ্ছে, যা আপনার ব্রাউজারকে
+ ধীর অথবা সংবেদনহীন করতে পারে। আপনি কি এই তথ্য প্রদর্শনের ব্যপারে নিশ্চিত?'
+ load_data: তথ্য লোড করুন
+ loading: লোডিং...
+ tag_details:
+ tags: 'ট্যাগসমূহ:'
+ wiki_link:
+ key: '%{key} ট্যাগ এর উইকি বর্ণনা পাতা'
+ tag: '%{key}=%{value} ট্যাগ এর উইকি বর্ণনা পাতা'
+ wikidata_link: উইকিউপাত্ত উপাদানে %{page}
+ wikipedia_link: উইকিপিডিয়াতে %{page} প্রবন্ধ
+ telephone_link: '%{phone_number}-এ কল করুন'
+ note:
+ title: টীকা:%{id}
+ new_note: নতুন টীকা
+ description: 'বর্ণনা:'
+ open_title: 'অমীমাংসিত টীকা #%{note_name}'
+ closed_title: 'মীমাংসিত টীকা #%{note_name}'
+ hidden_title: 'লুকানো টীকা #%{note_name}'
+ open_by: '%{user} কর্তৃক <abbr title=''%{exact_time}''>%{when} আগে</abbr> তৈরি'
+ open_by_anonymous: বেনামী ব্যবহারকারী কর্তৃক <abbr title='%{exact_time}'>%{when}
+ আগে</abbr> তৈরি
+ commented_by: '%{user} কর্তৃক করা <abbr title=''%{exact_time}''>%{when} আগের</abbr>
+ মন্তব্য'
+ commented_by_anonymous: বেনামি ব্যবহারকারী কর্তৃক করা <abbr title='%{exact_time}'>%{when}
+ আগের</abbr> মন্তব্য
+ closed_by: '%{user} কর্তৃক <abbr title=''%{exact_time}''>%{when} আগে</abbr>
+ মীমাংসিত'
+ closed_by_anonymous: বেনামি ব্যবহারকারী দ্বারা <abbr title='%{exact_time}'>%{when}
+ আগে</abbr> সমাধানকৃত
+ reopened_by: '%{user} কর্তৃক <abbr title=''%{exact_time}''>%{when} আগে</abbr>
+ পুনঃসক্রিয়কৃত'
+ reopened_by_anonymous: বেনামি ব্যবহারকারী দ্বারা <abbr title='%{exact_time}'>%{when}
+ আগে</abbr> পুনঃসক্রিয়কৃত
+ hidden_by: '%{user} কর্তৃক <abbr title=''%{exact_time}''>%{when} আগে লুকায়িত</abbr>'
+ query:
+ title: বৈশিষ্ট্য অনুসন্ধান করুন
+ introduction: নিকটবর্তী বৈশিষ্ট্য খুঁজে পেতে মানচিত্রে ক্লিক করুন।
+ nearby: নিকটবর্তী বৈশিষ্ট্য
+ enclosing: আবদ্ধ বৈশিষ্ট্য
+ changeset:
+ changeset_paging_nav:
+ showing_page: '%{page}টি পাতা'
+ next: পরবর্তী »
+ previous: « পূর্ববর্তী
+ changeset:
+ anonymous: বেনামী ব্যবহারকারী
+ no_edits: (কোনো সম্পাদনা নেই)
+ view_changeset_details: পরিবর্তনধার্যে বিস্তারিত দেখুন
+ changesets:
+ id: আইডি
+ saved_at: সংরক্ষণ হয়েছে
+ user: ব্যবহারকারী
+ comment: মন্তব্য
+ area: এলাকা
+ list:
+ title: পরিবর্তনসমূহ
+ title_user: '%{user} দ্বারা পরিবর্তন ধার্য'
+ title_friend: আপনার বন্ধুদের পরিবর্তনসেট
+ title_nearby: আপনার কাছকাছি ব্যবহারকারীর পরিবর্তনসেট
+ empty: কোনো পরিবর্তনসেট পাওয়া যায়নি।
+ empty_area: এই এলাকায় কোনো পরিবর্তনসেট নেই।
+ empty_user: এই ব্যবহারকারীর দ্বারা আর কোনো পরিবর্তনসেট নেই।
+ no_more: আর কোনো পরিবর্তনসেট পাওয়া যায়নি।
+ no_more_area: এই এলাকায় কোনো পরিবর্তনসেট নেই।
+ no_more_user: এই ব্যবহারকারীর দ্বারা আর কোনো পরিবর্তনসেট নেই।
+ load_more: আরও লোড করুন
+ timeout:
+ sorry: দুঃখিত, আপনি যেই পরিবর্তনসেটটির জন্য আবেদন করছেন সেটি ফিরিয়ে আনতে আরও
+ সময় লাগবে।
+ rss:
+ title_all: ওপেনস্ট্রীটম্যাপ পরিবর্তনধার্য সম্পর্কিত আলোচনা
+ title_particular: ওপেনস্ট্রীটম্যাপ পরিবর্তনধার্য %{changeset_id} সম্পর্কিত আলোচনা
+ comment: '%{author} কর্তৃক পরিবর্তনধার্য %{changeset_id}-এ নতুন মন্তব্য'
+ commented_at_html: '%{when} আগে থেকেই হালনাগাদকৃত'
+ commented_at_by_html: '%{user} কর্তৃক %{when} আগে হালনাগাদকৃত'
+ full: সম্পূর্ণ আলোচনা
+ diary_entry:
+ new:
+ title: নতুন দিনলিপির ভুক্তি
+ publish_button: প্রকাশ করুন
+ list:
+ title: ব্যবহারকারীর দিনলিপি
+ title_friends: বন্ধুর দিনলিপি
+ title_nearby: নিকটবর্তী ব্যবহারকারীর দিনলিপি
+ user_title: '%{user}-এর দিনলিপি'
+ in_language_title: '%{language} ভাষায় দিনলিপির ভুক্তি'
+ new: নতুন দিনলিপির ভুক্তি
+ new_title: আপনার ব্যবহারকারী দিনলিপিতে একটি নতুন ভুক্তি রচনা করুন
+ no_entries: কোনও দিনলিপির ভুক্তি নেই
+ recent_entries: সাম্প্রতিক দিনলিপির ভুক্তি
+ older_entries: পুরাতন ভুক্তি
+ newer_entries: নতুন ভুক্তি
+ edit:
+ title: দিনলিপির ভুক্তি সম্পাদনা করুন
+ subject: 'বিষয়:'
+ body: 'মূলাংশ:'
+ language: 'ভাষা:'
+ location: 'অবস্থান:'
+ latitude: 'অক্ষাংশ:'
+ longitude: 'দ্রাঘিমাংশ:'
+ use_map_link: মানচিত্র ব্যবহার করুন
+ save_button: সংরক্ষণ
+ marker_text: দিনলিপির ভুক্তির অবস্থান
+ view:
+ title: '%{user}-এর দিনলিপি | %{title}'
+ user_title: '%{user}-এর দিনলিপি'
+ leave_a_comment: মন্তব্য করুন
+ login_to_leave_a_comment: মন্তব্য করতে %{login_link} করুন
+ login: প্রবেশ
+ save_button: সংরক্ষণ
+ no_such_entry:
+ title: এমন কোন দিনলিপির ভুক্তি নেই
+ heading: '%{id} এই আইডি থেকে কোনও ভুক্তি নেই'
+ body: দুঃখিত, %{id} এই আইডি থেকে কোনও দিনলিপির ভুক্তি অথবা মন্তব্য নেই। দয়া
+ করে আপনার বানান যাচাই করুন, অথবা হতে পারে আপনি যে লিংকটিতে ক্লিক করেছেন তা
+ ভুল।
+ diary_entry:
+ comment_link: এই ভুক্তিতে মন্তব্য করুন
+ reply_link: এই ভুক্তির প্রত্যুত্তর দিন
+ comment_count:
+ zero: কোন মন্তব্য নেই
+ one: '%{count}টি মন্তব্য'
+ other: '%{count}টি মন্তব্য'
+ edit_link: এই ভুক্তি সম্পাদনা করুন
+ hide_link: এই ভুক্তি লুকান
+ confirm: নিশ্চিত করুন
+ diary_comment:
+ comment_from: '%{comment_created_at}-এ %{link_user} কর্তৃক মন্তব্য'
+ hide_link: এই মন্তব্যটি লুকান
+ confirm: নিশ্চিত করুন
+ location:
+ location: 'অবস্থান:'
+ view: দেখাও
+ edit: সম্পাদনা
+ feed:
+ user:
+ title: ওপেনস্ট্রীটম্যাপে %{user}-এর জন্য দিনলিপির ভুক্তি
+ description: ওপেনস্ট্রীটম্যাপে %{user}-এর সাম্প্রতিক দিনলিপির ভুক্তি
+ language:
+ title: ওপেনস্ট্রীটম্যাপে %{language_name} ভাষায় দিনলিপির ভুক্তি
+ description: ওপেনস্ট্রীটম্যাপ ব্যবহারকারীগণ কর্তৃক %{language_name} ভাষায়
+ সাম্প্রতিক দিনলিপির ভুক্তি
+ all:
+ title: ওপেনস্ট্রীটম্যাপ দিনলিপির ভুক্তি
+ description: ওপেনস্ট্রীটম্যাপ ব্যবহারকারীগণ কর্তৃক সাম্প্রতিক দিনলিপির ভুক্তি
+ comments:
+ post: পোস্ট
+ when: কখন
+ comment: মন্তব্য
+ ago: '%{ago} আগে'
+ newer_comments: নতুন মন্তব্য
+ older_comments: পুরাতন মন্তব্য
+ export:
+ title: রপ্তানি
+ start:
+ area_to_export: রপ্তানির এলাকা
+ manually_select: ম্যানুয়ালি একটি ভিন্ন জায়গা নির্বাচন করুন
+ format_to_export: রপ্তানির বিন্যাস
+ osm_xml_data: ওপেনস্ট্রীটম্যাপ এক্সএমএল উপাত্ত
+ map_image: মানচিত্র ছবি (মান্য স্তর দেখাও)
+ embeddable_html: অভ্যন্তরীণ HTML
+ licence: লাইসেন্স
+ export_details: ওপেনস্ট্রীটম্যাপের সমস্ত উপাত্ত <a href="http://opendatacommons.org/licenses/odbl/1.0/">ওপেন
+ ডাটা কমন্স ওপেন ডাটাবেস লাইসেন্সের</a> (ODbL) আওতায় প্রকাশিত।
+ too_large:
+ advice: 'যদি উপরের রপ্তানি ব্যর্থ হয়, দয়া করে নীচে তালিকাভুক্ত উৎসের কোন
+ একটি ব্যবহারের জন্য বিবেচনা করুন:'
+ planet:
+ title: ওএসএম জগৎ
+ description: সম্পূর্ণ ওপেনস্ট্রীটম্যাপ ডাটাবেসের নিয়মিত হালনাগাদের অনুলিপি
+ overpass:
+ title: ওভারপাস API
+ geofabrik:
+ title: জিওফ্যাব্রিক ডাউনলোড
+ other:
+ title: অন্যান্য উৎস
+ description: ওপেনস্ট্রীটম্যাপ উইকিতে তালিকাভুক্ত অতিরিক্ত সূত্র
+ options: বিকল্প
+ format: বিন্যাস
+ scale: স্কেল
+ max: সর্বোচ্চ
+ image_size: চিত্রের আকার
+ zoom: জুম
+ add_marker: মানচিত্রে একটি চিহ্নিতকারী যোগ করুন
+ latitude: 'অক্ষাংশ:'
+ longitude: 'দ্রাঘিমাংশ:'
+ output: আউটপুট
+ export_button: রপ্তানি
+ geocoder:
+ search:
+ title:
+ latlon: <a href="http://openstreetmap.org/">অভ্যন্তরীণ</a> থেকে ফলাফল
+ us_postcode: <a href="http://geocoder.us/">Geocoder.us</a থেকে ফলাফল
+ uk_postcode: <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>
+ থেকে ফলাফল
+ ca_postcode: <a href="http://geocoder.ca/">Geocoder.CA</a> থেকে ফলাফল
+ osm_nominatim: <a href="http://nominatim.openstreetmap.org/">ওপেনস্ট্রীটম্যাপ
+ নমিনাতিম</a> থেকে ফলাফল
+ geonames: <a href="http://www.geonames.org/">জিওনেমস</a> থেকে ফলাফল
+ osm_nominatim_reverse: <a href="http://nominatim.openstreetmap.org/">ওপেনস্ট্রীটম্যাপ
+ নমিনাতিম</a> থেকে ফলাফল
+ geonames_reverse: <a href="http://www.geonames.org/">জিওনেমস</a> থেকে ফলাফল
+ search_osm_nominatim:
+ prefix:
+ aerialway:
+ station: বিমানপথ স্টেশন
+ aeroway:
+ aerodrome: বিমানশালা
+ apron: বর্হিবাস
+ gate: প্রবেশপথ
+ helipad: হেলিপ্যাড
+ runway: রানওয়ে
+ taxiway: ট্যাক্সিওয়ে
+ terminal: টার্মিনাল
+ amenity:
+ animal_shelter: পশুদের আশ্রয়স্থল
+ arts_centre: শিল্পকলা কেন্দ্র
+ atm: এটিএম
+ bank: ব্যাংক
+ bar: বার
+ bench: বেঞ্চ
+ bicycle_parking: সাইকেল পার্কিং
+ bicycle_rental: ভাড়ার সাইকেল
+ biergarten: বিয়ার বাগ
+ boat_rental: ভাড়ার নৌকা
+ brothel: পতিতালয়
+ bureau_de_change: পরিবর্তন ব্যুরো
+ bus_station: বাস স্টেশন
+ cafe: ক্যাফে
+ car_rental: ভাড়ার কার
+ car_sharing: শেয়ারিং কার
+ car_wash: গাড়ি ধোয়া
+ casino: ক্যাসিনো
+ charging_station: চার্জিং স্টেশন
+ childcare: শিশু যত্ন
+ cinema: সিনেমা
+ clinic: ক্লিনিক
+ clock: ঘড়ি
+ college: কলেজ
+ community_centre: কমিউনিটি সেন্টার
+ courthouse: আদালত
+ crematorium: শ্মশান
+ dentist: দন্তচিকিৎসক
+ doctors: ডাক্তার
+ dormitory: ছাত্রাবাস
+ drinking_water: পানীয় জল
+ driving_school: ড্রাইভিং স্কুল
+ embassy: দূতাবাস
+ emergency_phone: জরুরি ফোন
+ fast_food: ফাস্ট ফুড
+ ferry_terminal: ফেরিঘাট
+ fire_hydrant: ফায়ার হাইড্র্যান্ট
+ fire_station: অগ্নি নির্বাপন কেন্দ্র
+ food_court: খাবার দোকান
+ fountain: ঝরনা
+ fuel: জ্বালানি
+ gambling: জুয়াখেলার আড্ডা
+ grave_yard: কবরস্থান
+ gym: ব্যায়াম কেন্দ্র / জিমখানা
+ health_centre: স্বাস্থকেন্দ্র
+ hospital: হাসপাতাল
+ hunting_stand: শিকারশালা
+ ice_cream: আইসক্রিম
+ kindergarten: শিশুবিদ্যালয়
+ library: পাঠাগার
+ market: বাজার
+ marketplace: নগরচত্বর
+ monastery: আশ্রম
+ motorcycle_parking: মোটরসাইকেল পার্কিং
+ nightclub: নৈশক্লাব
+ nursery: শিশুশালা
+ nursing_home: নার্সিংহোম
+ office: দপ্তর
+ parking: পার্কিং
+ parking_entrance: পার্কিং প্রবেশপথ
+ pharmacy: ঔষধালয়
+ place_of_worship: উপাসনালয়
+ police: পুলিশ
+ post_box: ডাকবাক্স
+ post_office: ডাকঘর
+ preschool: প্রাক-বিদ্যালয়
+ prison: কারাগার
+ pub: মদ্যশালা
+ public_building: সরকারি ভবন
+ reception_area: অভ্যর্থন এলাকা
+ restaurant: রেঁস্তোরা
+ retirement_home: অবসর গৃহ
+ school: বিদ্যালয়
+ shelter: আশ্রয়
+ shop: দোকান
+ shower: ঝরনা
+ social_centre: সামাজিক কেন্দ্র
+ social_club: সামাজিক সমিতি
+ social_facility: সামাজিক সুবিধা
+ studio: স্টুডিও
+ swimming_pool: সুইমিং পুল
+ taxi: ট্যাক্সি
+ telephone: সরকারি টেলিফোন
+ theatre: নাট্যশালা
+ toilets: পায়খানা
+ townhall: টাউনহল
+ university: বিশ্ববিদ্যালয়
+ vending_machine: ভেন্ডিং মেশিন
+ veterinary: ভেটেরিনারি সার্জারি
+ village_hall: গ্রামগৃহ
+ waste_basket: বর্জ্যদানি
+ waste_disposal: বর্জ্য পুনর্বাসন
+ youth_centre: যুব কেন্দ্র
+ boundary:
+ administrative: প্রশাসনিক সীমানা
+ national_park: জাতীয় উদ্যান
+ protected_area: সুরক্ষিত এলাকা
+ bridge:
+ aqueduct: জলপ্রণালী
+ suspension: ঝুলন্ত সেতু
+ swing: দোলনা সেতু
+ viaduct: ভায়াডাক্ট
+ "yes": সেতু
+ building:
+ "yes": ভবন
+ craft:
+ brewery: ভাটিখানা
+ carpenter: ছুতোর
+ electrician: বিদ্যুৎ মিস্তিরি
+ gardener: মালি
+ painter: চিত্রশিল্পী
+ photographer: আলোকচিত্ৰকর
+ plumber: নল মিস্তিরি
+ shoemaker: মুচি
+ tailor: দর্জি
+ emergency:
+ ambulance_station: রুগ্নবাহিকা স্টেশন
+ landing_site: জরুরি অবতরণ ক্ষেত্র
+ phone: জরুরি ফোন
+ highway:
+ abandoned: পরিত্যক্ত মহাসড়ক
+ bridleway: অঙ্কুশ পথ
+ bus_guideway: নির্দেশিত বাস পথ
+ bus_stop: বাস স্টপ
+ construction: নির্মীয়মাণ মহাসড়ক
+ cycleway: সাইকেল রাস্তা
+ elevator: লিফট
+ emergency_access_point: জরুরি প্রবেশ স্থল
+ footway: ফুটপাথ
+ milestone: মাইলফলক
+ path: পাথ
+ pedestrian: পাদচারী পথ
+ platform: প্লাটফর্ম
+ primary: প্রাথমিক সড়ক
+ primary_link: প্রাথমিক সড়ক
+ proposed: প্রস্তাবিত সড়ক
+ raceway: ধাবনপথ
+ residential: আবাসিক সড়ক
+ rest_area: বিশ্রামস্থল
+ road: রাস্তা
+ secondary: অপ্রধান সড়ক
+ secondary_link: অপ্রধান সড়ক
+ service: পার্শ্ব সড়ক
+ speed_camera: গতিমাপক ক্যামেরা
+ steps: ধাপ
+ street_lamp: রাস্তার বাতি
+ tertiary: প্রশাখা সড়ক
+ tertiary_link: প্রশাখা সড়ক
+ traffic_signals: ট্রাফিক সংকেত
+ trunk: মূল সড়ক
+ trunk_link: মূল সড়ক
+ unclassified: অশ্রেণীকৃত সড়ক
+ unsurfaced: কাঁচা সড়ক
+ "yes": সড়ক
+ historic:
+ archaeological_site: প্রত্নতাত্ত্বিক স্থান
+ battlefield: যুদ্ধক্ষেত্র
+ boundary_stone: সীমানাজ্ঞাপক পাথর
+ building: ঐতিহাসিক ভবন
+ castle: কেল্লা
+ church: গির্জা
+ city_gate: নগর দ্বার
+ citywalls: নগর প্রাচীর
+ fort: দুর্গ
+ heritage: ঐতিহ্য স্থান
+ house: বাড়ি
+ icon: আইকন
+ manor: জমিদারি
+ memorial: স্মারক
+ mine: খনি
+ monument: স্মৃতিস্তম্ভ
+ roman_road: রোমান সড়ক
+ ruins: ধ্বংসাবশেষ
+ stone: প্রস্তর
+ tomb: সমাধি
+ tower: মিনার
+ junction:
+ "yes": জংশন
+ landuse:
+ basin: অববাহিকা
+ cemetery: কবরস্থান
+ commercial: বানিজ্যিক এলাকা
+ farm: খামার
+ farmland: কৃষিজমি
+ forest: অরণ্য
+ garages: গ্যারেজ
+ grass: ঘাস
+ greenfield: তৃণভূমি
+ industrial: শিল্পাঞ্চল
+ meadow: তৃণভূমি
+ military: সামরিক এলাকা
+ mine: খনি
+ orchard: ফলবাগিচা
+ quarry: আকরিক
+ railway: রেলপথ
+ recreation_ground: চিত্তবিনোদন মাঠ
+ reservoir: জলাধার
+ reservoir_watershed: জলাধারের বিভাগরেখা
+ residential: আবাসিক এলাকা
+ road: সড়ক এলাকা
+ village_green: হরিত গ্রাম
+ vineyard: আঙুর খেত
+ "yes": ব্যবহার্য ভূমি
+ leisure:
+ beach_resort: সৈকতীয় রিসোর্ট
+ club: ক্লাব
+ common: সাধারণ ভূমি
+ dog_park: কুকুর উদ্যান
+ fishing: মৎস শিকারের এলাকা
+ garden: বাগান
+ golf_course: গল্ফ মাঠ
+ nature_reserve: সংরক্ষিত প্রাকৃতিক ভূমি
+ park: উদ্যান
+ playground: খেলার মাঠ
+ recreation_ground: চিত্তবিনোদন মাঠ
+ resort: রিসোর্ট
+ sports_centre: ক্রীড়া কেন্দ্র
+ stadium: ক্রিড়াঙ্গন
+ swimming_pool: সুইমিং পুল
+ water_park: বারি উদ্যান
+ "yes": অবসর
+ man_made:
+ lighthouse: বাতিঘর
+ pipeline: পাইপলাইন
+ tower: টাওয়ার
+ works: কারখানা
+ "yes": মনুষ্য-নির্মিত
+ military:
+ airfield: সামরিক বিমানপোত
+ barracks: সেনানিবাস
+ mountain_pass:
+ "yes": গিরিপথ
+ natural:
+ bay: উপসাগর
+ beach: সৈকত
+ cape: অন্তরীপ
+ cave_entrance: গুহা প্রবেশিকা
+ cliff: দুরারোহ পর্বতগাত্র
+ crater: গর্ত
+ dune: বালিয়াড়ি
+ fjord: সমুদ্রের খাড়ি
+ forest: অরণ্য
+ geyser: উষ্ণপ্রস্রবণ
+ glacier: হিমবাহ
+ grassland: চারণক্ষেত্র
+ heath: স্বাস্থ্য
+ hill: পাহাড়
+ island: দ্বীপ
+ land: জমি
+ marsh: দলদল
+ moor: প্রাস্তর
+ mud: কাদা
+ peak: শৃঙ্গ
+ point: স্থানবিন্দু
+ reef: প্রবালপ্রাচীর
+ ridge: শৈলশিরা
+ rock: শিলা
+ sand: বালু
+ scrub: ঝাড়ভূমি
+ spring: বসন্ত
+ stone: পাথর
+ strait: প্রণালী
+ tree: গাছ
+ valley: উপত্যকা
+ volcano: আগ্নেয়গিরি
+ water: পানি
+ wetland: জলাভূমি
+ office:
+ accountant: হিসাবরক্ষক
+ administrative: প্রশাসন
+ architect: স্থপতি
+ company: কোম্পানি
+ employment_agency: কর্মসংস্থান সংস্থা
+ estate_agent: এস্টেট এজেন্ট
+ government: সরকারি দপ্তর
+ insurance: বিমা দপ্তর
+ lawyer: উকিল
+ ngo: এনজিও দপ্তর
+ telecommunication: টেলিযোগাযোগ দপ্তর
+ travel_agent: ভ্রমণ দালাল
+ "yes": দপ্তর
+ place:
+ block: ব্লক
+ airport: বিমানবন্দর
+ city: নগর
+ country: দেশ
+ county: প্রদেশ
+ farm: খামার
+ hamlet: পল্লি
+ house: বাড়ি
+ houses: বাড়িগুলো
+ island: দ্বীপ
+ islet: ক্ষুদ্র দ্বীপ
+ isolated_dwelling: বিচ্ছিন্ন বাসস্থান
+ locality: বসতি
+ moor: প্রাস্তর
+ municipality: পৌরসভা
+ neighbourhood: শহরতলি
+ postcode: ডাক সংখ্যা
+ region: অঞ্চল
+ sea: সাগর
+ state: রাজ্য
+ subdivision: মহকুমা
+ suburb: উপনগর
+ town: শহর
+ unincorporated_area: অনিগমিত এলাকা
+ village: গ্রাম
+ "yes": স্থান
+ railway:
+ abandoned: পরিত্যক্ত রেলপথ
+ construction: নির্মীয়মাণ রেলপথ
+ disused: অব্যবহৃত রেলপথ
+ disused_station: অব্যবহৃত রেল স্টেশন
+ historic_station: ঐতিহাসিক রেল স্টেশন
+ junction: রেল জংশন
+ monorail: মনোরেল
+ narrow_gauge: সংকীর্ণ গেজ রেল
+ platform: রেলওয়ে প্লাটফর্ম
+ preserved: সংরক্ষিত রেলপথ
+ proposed: প্রস্তাবিত রেলপথ
+ station: রেল স্টেশন
+ stop: রেল থামার স্থান
+ subway: ভূগর্ভস্থ পথ
+ subway_entrance: ভূগর্ভস্থ পথের প্রবেশিকা
+ tram: ট্রামপথ
+ shop:
+ antiques: প্রাচীন শিল্পকর্ম
+ art: শিল্পকলা সংক্রান্ত দোকান
+ bakery: বেকারি
+ beauty: প্রসাধনীর দোকান
+ beverages: পানীয় দোকান
+ bicycle: বাইসাইকেল দোকান
+ books: বইয়ের দোকান
+ butcher: মাংসবিক্রেতা
+ carpet: কার্পেটের দোকান
+ clothes: কাপড়ের দোকান
+ computer: কম্পিউটারের দোকান
+ confectionery: মিষ্টান্নের দোকান
+ convenience: কনভেনিয়েন্স স্টোর
+ copyshop: কপি শপ
+ cosmetics: প্রসাধনী সামগ্রীর দোকান
+ deli: যন্ত্রাংশ
+ discount: সস্তা সামগ্রীর দোকান
+ doityourself: নিজে-করো
+ dry_cleaning: কাপড় ধোয়ার দোকান
+ electronics: বৈদ্যুতিক জিনিসের দোকান
+ estate_agent: এস্টেট এজেন্ট
+ farm: কৃষি ভাণ্ডার
+ fashion: ফ্যাশন সামগ্রীর দোকান
+ fish: মাছের দোকান
+ florist: ফুলওয়ালা
+ food: খাবারের দোকান
+ funeral_directors: অন্ত্যেষ্টিক্রিয়া পরিচালকবৃন্দ
+ furniture: আসবাবপত্র
+ gallery: চিত্রশালা
+ garden_centre: বাগান কেন্দ্র
+ general: সাধারণ দোকান
+ gift: উপহারের দোকান
+ greengrocer: সবজিওয়ালা
+ grocery: মুদি দোকান
+ hairdresser: নাপিত
+ hardware: যন্ত্রাংশের দোকান
+ hifi: হাই-ফাই
+ insurance: বিমা
+ jewelry: গহনার দোকান
+ laundry: ধোপার দোকান
+ mall: মল
+ market: বাজার
+ mobile_phone: মোবাইল ফোনের দোকান
+ motorcycle: মোটোরসইকেলের দোকান
+ music: সঙ্গীতের দোকান
+ newsagent: সংবাদপত্র বিক্রেতা
+ optician: চশমা বিক্রেতা
+ organic: জৈব খাদ্যের দোকান
+ pharmacy: ঔষধালয়
+ photo: ছবির দোকান
+ salon: সালোন
+ second_hand: পুরনো-সামগ্রীর দোকান
+ shoes: জুতোর দোকান
+ shopping_centre: বিপনি কেন্দ্র
+ sports: ক্রীড়াসামগ্রীর দোকান
+ stationery: স্টেশনারি দোকান
+ supermarket: অধিবিপণী
+ tailor: দর্জি
+ toys: খেলনার দোকান
+ travel_agency: ভ্রমণ দালাল
+ "yes": দোকান
+ tourism:
+ attraction: আকর্ষণ
+ guest_house: অতিথি বাড়ি
+ hostel: হোস্টেল
+ hotel: হোটেল
+ information: তথ্য
+ motel: মোটেল
+ museum: যাদুঘর
+ picnic_site: বনভোজনের স্থান
+ zoo: চিড়িয়াখানা
+ tunnel:
+ culvert: সাঁকো
+ "yes": সুড়ঙ্গ
+ waterway:
+ artificial: কৃত্রিম জলপথ
+ boatyard: নৌকাক্ষেত্র
+ canal: খাল
+ dam: বাঁধ
+ derelict_canal: পরিত্যক্ত খাল
+ ditch: খাই
+ dock: ফেরিঘাট
+ drain: নালা
+ lock: বন্ধ
+ lock_gate: ফটক বন্ধ
+ mooring: নঙ্গরাবদ্ধকরণ
+ river: নদী
+ wadi: ওয়াদি
+ waterfall: জলপ্রপাত
+ "yes": জলপথ
+ admin_levels:
+ level2: রাষ্ট্রের সীমানা
+ level4: রাজ্যের সীমানা
+ level5: অঞ্চলের সীমানা
+ level6: প্রদেশের সীমানা
+ level8: নগরের সীমান
+ level9: গ্রামের সীমানা
+ level10: উপনগরের সীমানা
+ description:
+ title:
+ osm_nominatim: <a href="http://nominatim.openstreetmap.org/">ওপেনস্ট্রীটম্যাপ
+ Nominatim</a> থেকে অবস্থান
+ geonames: <a href="http://www.geonames.org/">জিওনেম্স</a> থেকে অবস্থান
+ types:
+ cities: নগর
+ towns: শহর
+ places: স্থান
+ results:
+ no_results: ফলাফল খুঁজে পাওয়া যায়নি
+ more_results: আরও ফলাফল
+ layouts:
+ logo:
+ alt_text: ওপেনস্ট্রীটম্যাপ লোগো
+ home: নিড় অবস্থানে যান
+ logout: প্রস্থান
+ log_in: প্রবেশ
+ log_in_tooltip: একটি বিদ্যমান অ্যাকাউন্ট দিয়ে প্রবেশ করুন
+ sign_up: যোগ দিন
+ start_mapping: মানচিত্রকরণ শুরু করুন
+ sign_up_tooltip: সম্পাদনা করতে একটি অ্যাকাউন্ট তৈরি করুন
+ edit: সম্পাদনা
+ history: ইতিহাস
+ export: রপ্তানি
+ data: উপাত্ত
+ export_data: উপাত্ত রপ্তানি করুন
+ gps_traces: জিপিএস ট্রেস
+ gps_traces_tooltip: জিপিএস ট্রেস ব্যাবস্থাপনা
+ user_diaries: ব্যবহারকারীর দিনলিপি
+ user_diaries_tooltip: ব্যবহারকারী দিনলিপি দেখুন
+ edit_with: '%{editor} দিয়ে সম্পাদনা করুন'
+ tag_line: মুক্ত উইকি বিশ্ব মানচিত্র
+ intro_header: ওপেনস্ট্রীটম্যাপে স্বাগতম!
+ intro_text: ওপেনস্ট্রীটম্যাপ বিশ্বের, একটি মানচিত্র; যা আপনার মতো মানুষের দ্বারা
+ নির্মিত এবং এটি মুক্ত লাইসেন্সের অধীনে বিনামূল্যে ব্যবহারযোগ্য।
+ intro_2_create_account: একটি ব্যবহারকারী অ্যাকাউন্ট তৈরি করুন
+ partners_html: হোস্টিং %{ucl}, %{ic} ও %{bytemark}, এবং অন্যান্য %{partners} কর্তৃক
+ সমর্থিত।
+ partners_ic: ইম্পেরিয়াল মহাবিদ্যালয় লন্ডন
+ partners_partners: সহযোগীগণ
+ help: সাহায্য
+ about: পরিচিতি
+ copyright: মেধাসত্ব
+ community: সম্প্রদায়
+ community_blogs: সম্প্রদায়ের ব্লগ
+ community_blogs_title: ওপেনস্ট্রীটম্যাপ সম্প্রদায়ের সদস্যগণের ব্লগ
+ foundation: ফাউন্ডেশন
+ foundation_title: ওপেনস্ট্রীটম্যাপ ফাউন্ডেশন
+ make_a_donation:
+ title: আর্থিক অনুদান দিয়ে ওপেনস্ট্রীটম্যাপকে সাহায্য করুন
+ text: দান করুন
+ learn_more: আরও পড়ুন
+ more: আরও
+ license_page:
+ foreign:
+ title: এই অনুবাদ সম্পর্কে
+ english_link: মূল ইংরেজি
+ native:
+ title: এই পাতা সম্পর্কে
+ text: আপনি মেধাস্বত্ব পৃষ্ঠার ইংরেজি সংস্করণ দেখছেন। আপনি এই পৃষ্ঠার %{native_link}-এ
+ ফিরে যেতে পারেন অথবা আপনি মেধাস্বত্ব এবং %{mapping_link} সম্পর্কে পড়া বন্ধ
+ করতে পারেন।
+ native_link: THIS_LANGUAGE_NAME_HERE সংস্করণ
+ mapping_link: মানচিত্রকরণ শুরু করুন
+ legal_babble:
+ title_html: কপিরাইট ও লাইসেন্স
+ intro_1_html: |-
+ ওপেনস্ট্রীটম্যাপ<sup><a href="#trademarks">®</a></sup> একটি <i>মুক্ত উপাত্ত</i> যা <a
+ href="http://osmfoundation.org/">ওপেনস্ট্রীটম্যাপ ফাউন্ডেশন কর্তৃক</a> (OSMF) <a
+ href="http://opendatacommons.org/licenses/odbl/">মুক্ত উপাত্ত কমন্স মুক্ত তথ্যভিত লাইসেন্সের</a> (ODbL) আওতায় লাইসেন্সকৃত।
+ contributors_title_html: আমাদের অবদানকারীগণ
+ infringement_title_html: কপিরাইট লঙ্ঘন
+ trademarks_title_html: <span id="trademarks"></span>ট্রেডমার্ক
+ welcome_page:
+ title: স্বাগতম!
+ whats_on_the_map:
+ title: মানচিত্রে কী আছে
+ basic_terms:
+ title: মানচিত্রকরণের জন্য মৌলিক শর্তাবলী
+ rules:
+ title: নিয়মাবলী!
+ questions:
+ title: কোনও প্রশ্ন?
+ start_mapping: মানচিত্রকরণ শুরু করুন
+ add_a_note:
+ title: সম্পাদনার সময় নেই? একটি টীকা যোগ করুন!
+ fixthemap:
+ how_to_help:
+ join_the_community:
+ title: সম্প্রদায়ে যোগ দিন
+ other_concerns:
+ title: অন্যান্য উদ্বেগ
+ help_page:
+ welcome:
+ url: /স্বাগতম
+ title: ওএসএম-এ স্বাগতম
+ beginners_guide:
+ url: http://wiki.openstreetmap.org/wiki/Bn:Beginners%27_guide
+ title: আরম্ভকারী সহায়িকা
+ help:
+ url: https://help.openstreetmap.org/
+ title: help.openstreetmap.org
+ wiki:
+ url: http://wiki.openstreetmap.org/
+ title: wiki.openstreetmap.org
+ about_page:
+ next: পরবর্তী
+ copyright_html: <span>©</span>ওপেনস্ট্রীটম্যাপ<br>অবদানকারী
+ local_knowledge_title: স্থানীয় অভিজ্ঞতা
+ community_driven_title: সম্প্রদায় চালক
+ open_data_title: মুক্ত তথ্য
+ legal_title: আইনগত
+ partners_title: অংশীদার
+ notifier:
+ diary_comment_notification:
+ subject: '[OpenStreetMap] %{user} আপনার দিনলিপি ভুক্তিতে মন্তব্য করেছেন'
+ hi: হাই %{to_user},
+ message_notification:
+ hi: হাই %{to_user},
+ friend_notification:
+ had_added_you: '%{user} আপনাকে ওপেনস্ট্রীটম্যাপে বন্ধু হিসেবে যোগ করেছেন।'
+ see_their_profile: আপনি %{userurl}-এ তাদের প্রোফাইল দেখতে পারেন।
+ gpx_notification:
+ greeting: হাই,
+ with_description: বিবরণ সহ
+ and_the_tags: 'এবং নিম্নলিখিত ট্যাগ:'
+ signup_confirm:
+ subject: '[OpenStreetMap] ওপেনস্ট্রীটম্যাপে স্বাগতম'
+ email_confirm:
+ subject: '[OpenStreetMap] আপনার ইমেইল ঠিকানা নিশ্চিত করুন'
+ email_confirm_plain:
+ greeting: হাই,
+ click_the_link: এটি যদি আপনি হন, দয়া করে পরিবর্তন নিশ্চিত করতে নিচের লিংকে
+ ক্লিক করুন।
+ email_confirm_html:
+ greeting: হাই,
+ click_the_link: এটি যদি আপনি হন, দয়া করে পরিবর্তন নিশ্চিত করতে নিচের লিংকে
+ ক্লিক করুন।
+ lost_password:
+ subject: '[ওপেনস্ট্রীটম্যাপ] পাসওয়ার্ড পুনঃধার্য করার অনুরোধ'
+ lost_password_plain:
+ greeting: হাই,
+ click_the_link: এটি যদি আপনি হন, তবে পাসওয়ার্ড পুনঃধার্য করতে দয়া করে নিচের
+ লিংকে ক্লিক করুন।
+ lost_password_html:
+ greeting: হাই,
+ click_the_link: এটি যদি আপনি হন, তবে পাসওয়ার্ড পুনঃধার্য করতে দয়া করে নিচের
+ লিংকে ক্লিক করুন।
+ note_comment_notification:
+ anonymous: একজন বেনামি ব্যবহারকারী
+ greeting: হাই,
+ details: টীকাটি সম্পর্কে আরও বিস্তারিত %{url|এখানে} পাওয়া যাবে।
+ changeset_comment_notification:
+ greeting: হাই,
+ details: পরিবর্তনধার্য সম্পর্কে আরও বিস্তারিত %{url|এখানে} পাওয়া যাবে।
+ message:
+ inbox:
+ title: ইনবক্স
+ my_inbox: আমার ইনবক্স
+ outbox: আউটবক্স
+ subject: বিষয়
+ date: তারিখ
+ people_mapping_nearby: কাছাকাছি অবদানকারী
+ message_summary:
+ unread_button: অপঠিত হিসেবে চিহ্নিত করুন
+ read_button: পঠিত হিসেবে চিহ্নিত করুন
+ reply_button: প্রত্যুত্তর
+ site:
+ key:
+ table:
+ entry:
+ cycleway_national: জাতীয় সাইকেলের রাস্তা
+ cycleway_regional: আঞ্চলিক সাইকেলের রাস্তা
+ cycleway_local: স্থানীয় সাইকেলের রাস্তা
+ bicycle_shop: সাইকেলের দোকান
+ bicycle_parking: সাইকেল পার্কিং
+ toilets: পায়খানা
+ trace:
+ create:
+ upload_trace: জিপিএস অনুসরণ আপলোড
+ trace_uploaded: আপনার জিপিএক্স ফাইলটি আপলোড হয়েছে এবং ডাটাবেইজ এ অন্তর্ভুক্তির
+ জন্য অপেক্ষা করছে। সাধারণত, এটি আধা ঘন্টার মধ্যেই সম্পন্ন হয় এবং সমাপ্ত হতেই
+ আপনার কাছে একটি ই-মেইল পৌছে যাবে।
+ edit:
+ title: অনুসরণ সম্পাদনা %{name}
+ heading: অনুসরণ সম্পাদনা %{name}
+ filename: 'ফাইলের নাম:'
+ download: ডাউনলোড
+ uploaded_at: 'আপলোড হয়েছে:'
+ points: 'পয়েন্ট:'
+ start_coord: 'প্রারম্ভের কোঅর্ডিনেট:'
+ map: মানচিত্র
+ edit: সম্পাদনা
+ owner: 'মালিক:'
+ description: 'বিবরণ:'
+ tags: 'ট্যাগসমূহ:'
+ visibility_help: এটার মানে কি?
+ trace_form:
+ upload_gpx: 'জিপিএক্স ফাইল আপলোড:'
+ description: 'বিবরণ:'
+ tags: 'ট্যাগসমূহ:'
+ visibility_help: এটার মানে কি?
+ upload_button: আপলোড
+ help: সাহায্য
+ trace_header:
+ upload_trace: অনুসরণ আপলোড
+ see_all_traces: সব অনুসরণগুলো দেখুন
+ see_your_traces: আপনার সব অনুসরণগুলো দেখুন
+ traces_waiting: আপনার %{count}টি অনুসরণ আপলোড হতে বাকি আছে। দয়া করে এগুলো আপলোড
+ হওয়া পর্যন্ত অপেক্ষা করুন, যেন অন্য ব্যবহারকারীদের অনুসরণ আপলোড করার সুযোগ
+ দেয়া যায়।
+ trace_optionals:
+ tags: ট্যাগসমূহ
+ view:
+ title: '%{name} অনুসরণটি দেখছেন'
+ heading: '%{name} অনুসরণটি দেখছেন'
+ pending: অমিমাংসিত
+ filename: 'ফাইলের নাম:'
+ download: ডাউনলোড
+ uploaded: 'আপলোড হয়েছে:'
+ points: 'পয়েন্ট:'
+ start_coordinates: 'প্রারম্ভের কোঅর্ডিনেট:'
+ map: মানচিত্র
+ edit: সম্পাদনা
+ owner: 'মালিক:'
+ description: 'বিবরণ:'
+ tags: 'ট্যাগসমূহ:'
+ none: কোনটিই নয়
+ edit_track: এই অনুসরণটি সম্পাদনা করুন
+ delete_track: এই অনুসরণটি মুছে ফেলুন
+ trace_not_found: অনুসরণ পাওযা যায়নি।
+ trace_paging_nav:
+ showing_page: '%{page} পাতা'
+ trace:
+ pending: অমিমাংসিত
+ count_points: '%{count} পয়েন্ট'
+ ago: '%{time_in_words_ago} পূর্বে'
+ more: আরও
+ trace_details: অনুসরণের বিস্তারিত দেখুন
+ view_map: মানচিত্র দেখুন
+ edit: সম্পাদনা
+ edit_map: মানচিত্র সম্পাদনা
+ identifiable: শনাক্তকরণযোগ্য
+ private: ব্যাক্তিগত
+ trackable: অনুসরণযোগ্য
+ by: দ্বারা
+ map: মানচিত্র
+ list:
+ your_traces: আপনার জিপিএস অনুসরণ
+ offline_warning:
+ message: জিপিএক্স ফাইল আপলোড বর্তমানে সম্ভব নয়
+ offline:
+ message: জিপিএক্স ফাইল সংরক্ষণ এবং আপলোড বর্তমানে সম্ভব নয়
+ user:
+ login:
+ auth_providers:
+ github:
+ title: গিটহাব দিয়ে প্রবেশ করুন
+ alt: একটি গিটহাব অ্যাকাউন্ট দিয়ে প্রবেশ করুন
+ terms:
+ agree: একমত
+ legale_select: 'আপনার দেশ বাছাই করুন:'
+ legale_names:
+ france: ফ্রান্স
+ italy: ইতালি
+ rest_of_world: অন্যান্য দেশসমূহ
+ view:
+ description: বিবরণ
+ block_history: সক্রিয় বাধাসমূহ
+ moderator_history: প্রদত্ত বাধাগুলি
+ create_block: এই ব্যবহারকারীকে বাধা দাও
+ activate_user: এই ব্যবহাকারীকে সক্রিয় করুন
+ deactivate_user: এই ব্যবহারকারীকে নিষ্ক্রিয় করুন
+ confirm_user: এই ব্যবহারকারীকে নিশ্চিত করুন
+ hide_user: এই ব্যবহারকারীকে লুকান
+ unhide_user: এই ব্যবহাকারীকে দেখান
+ delete_user: এই ব্যবহাকারীকে অপসারণ করুন
+ confirm:
+ button: নিশ্চিত করুন
+ go_public:
+ flash success: আপনার সকল সম্পাদনা এখন উন্মুক্ত, এবং এখন আপনার সম্পাদনের অনুমতি
+ রয়েছে।
+ user_role:
+ filter:
+ not_an_administrator: শুধুমাত্র এডমিনিস্ট্রেটরই ব্যবহারকারীর দায়িত্ব প্রদান
+ করতে পারে এবং আপনি এডমিনিষ্ট্রেটর নন।
+ not_a_role: উক্ত `%{role}' টি কোন সঠিক দায়িত্ব নয়।
+ already_has_role: এই ব্যবহারকারী %{role} দায়িত্বটি এখনো আছে।
+ doesnt_have_role: এই ব্যবহারকারীর %{role} দায়িত্বটি নেই।
+ grant:
+ title: দায়িত্ব প্রদানকরণ নিশ্চিত করুন
+ heading: দায়িত্ব প্রদানকরণ নিশ্চিত করুন
+ are_you_sure: আপনি কি `%{name}' ব্যবহারকারী কে `%{role}' দায়িত্বটি দিতে চান?
+ confirm: নিশ্চিত করুন
+ fail: '`%{name}'' ব্যবহারকারীর `%{role}'' দায়িত্বটি প্রদান সম্ভব হয় নি। দয়া
+ করে দেখুন যে এই ব্যবহারকারী এবং দায়িত্বটি সঠিক কিনা।'
+ revoke:
+ title: দায়িত্ব বাতিলকরণ নিশ্চিত করুন
+ heading: দায়িত্ব বাতিলকরণ নিশ্চিত করুন
+ are_you_sure: আপনি কি নিশ্চিতভাবে `%{name}' ব্যবহারকারীর উক্ত `%{role}' দায়িত্বটি
+ বাতিল করতে চান?
+ confirm: নিশ্চিত করুন
+ fail: '`%{name}'' ব্যবহারকারীর `%{role}'' দায়িত্বটি বাতিল অযোগ্য। দয়া করে
+ দেখুন যে এই ব্যবহারকারী এবং দায়িত্বটি সঠিক কিনা।'
+ user_block:
+ partial:
+ next: পরবর্তী »
+ previous: « পূর্ববর্তী
+ show:
+ status: স্থিতি
+ show: দেখাও
+ edit: সম্পাদনা
+ confirm: আপনি কি নিশ্চিত?
+ javascripts:
+ notes:
+ new:
+ add: টীকাযুক্ত করুন
+ show:
+ hide: লুকান
+ resolve: মিমাংসা করুন
+ reactivate: পুনঃসক্রিয়
+ directions:
+ errors:
+ no_place: দুঃখিত - এই স্থানটি খুঁজে পাওয়া যায়নি।
+ instructions:
+ continue_without_exit: '%{name}-এ যেতে থাকুন'
+ slight_right_without_exit: '%{name}-এ সামান্য ডান দিকে সরান'
+ turn_right_without_exit: '%{name}-এ ডানদিকে মোড় নিন'
+ turn_left_without_exit: '%{name}-এ ডানদিকে মোড় নিন'
+ slight_left_without_exit: '%{name}-এ সামান্য বামে'
+ via_point_without_exit: (বিন্দুর মাধ্যমে)
+ follow_without_exit: '%{name} অনুসরণ করুন'
+ start_without_exit: '%{name}-এর শেষে শুরু'
+ destination_without_exit: গন্তব্যে পৌঁছানো
+ against_oneway_without_exit: '%{name}-এ একমুখীর বিরুদ্ধে যান'
+ end_oneway_without_exit: '%{name}-এর একমুখী শেষ'
+ unnamed: নামহীন সড়ক
+ time: সময়
+ query:
+ node: সংযোগস্থল
+ way: রাস্তা
+ relation: সম্পর্ক
+ nothing_found: বৈশিষ্ট্য খুঁজে পাওয়া যায়নি
+ redaction:
+ edit:
+ description: বিবরণ
+ heading: সম্পাদনা সম্পাদন করুন
+ submit: সম্পাদন সংরক্ষণ করুন
+ title: সম্পাদনা সম্পাদন করুন
+ index:
+ empty: প্রদর্শন করার মতো সম্পাদন নেই।
+ heading: সম্পাদন সমূহের তালিকা
+ title: সম্পাদন সমূহের তালিকা
+ new:
+ description: বিবরণ
+ heading: নতুন সম্পাদনের জন্য তথ্য লিখুন
+ submit: সম্পাদন তৈরি করুন
+ title: নতুন সম্পাদন তৈরি করা হচ্ছে
+ show:
+ description: 'বিবরণ:'
+ confirm: আপনি কি নিশ্চিত?
+ update:
+ flash: পরিবর্তন সংরক্ষিত।
+...
track: Roudenn
bridleway: Hent evit kezeg
cycleway: Roudenn divrodegoù
+ cycleway_national: roudenn vroadel evit an divrodegoù
+ cycleway_local: roudenn lec'hel evit an divrodegoù
footway: Hent evit an dud war droad
rail: Hent-houarn
subway: Linenn vetro
private: Moned prevez
destination: Moned d'ar pal
construction: Hentoù war ar stern
+ bicycle_shop: Stal varc'hoù-houarn
+ toilets: Privezioù
richtext_area:
edit: Aozañ
preview: Rakwelet
revoke:
administrator: Disteurel ar moned merour
moderator: Disteurel ar moned habaskaer
- block_history: stankadurioù resevet
- moderator_history: stankadurioù roet
+ block_history: stankadurioù oberiant
+ moderator_history: Stankadurioù roet
comments: evezhiadennoù
- create_block: stankañ an implijer-mañ
- activate_user: gweredekaat an implijer-mañ
- deactivate_user: diweredekaat an implijer-mañ
- confirm_user: kadarnaat an implijer-mañ
- hide_user: kuzhat an implijer-mañ
+ create_block: Stankañ an implijer-mañ
+ activate_user: Gweredekaat an implijer-mañ
+ deactivate_user: Diweredekaat an implijer-mañ
+ confirm_user: Kadarnaat an implijer-mañ
+ hide_user: Kuzhat an implijer-mañ
unhide_user: Diguzhat an implijer-mañ
- delete_user: dilemel an implijer-mañ
+ delete_user: Dilemel an implijer-mañ
confirm: Kadarnaat
friends_changesets: Strolladoù kemmoù graet gant mignoned
friends_diaries: Enmonedoù deizlevr ar vignoned
invalid_scope: Astenn dianav
auth_association:
heading: N'eo ket kevredet ho ID ouzh ur gont OpenStreetMap.
+ option_1: Ma'z oc'h un den nevez en OpenStreetMap, krouit ur gont nevez, mar
+ plij, war-bouez ar furmskrid amañ dindan.
user_role:
filter:
not_an_administrator: N'eus nemet ar verourien a c'hall merañ ar rolloù, ha
center_marker: Kreizañ ar gartenn war ar merker
paste_html: Pegañ HTML evit bezañ enkorfet en ul lec'hienn web
view_larger_map: Gwelet ur gartenn vrasoc'h
+ embed:
+ report_problem: Menegiñ ur gudenn
key:
title: Alc'hwez ar gartenn
tooltip: Alc'hwez ar gartenn
standard: Standard
cycle_map: Kelc'hiad kartenn
transport_map: Kartenn treuzdougen
- mapquest: MapQuest digor
hot: Denegour
layers:
header: Gwiskadoù kartenn
# Author: Macofe
# Author: Martorell
# Author: McDutchie
+# Author: Medol
# Author: Micru
# Author: Mlforcada
# Author: Nemo bis
# Author: 아라
---
ca:
+ html:
+ dir: ltr
time:
formats:
friendly: '%e %B %Y a les %H.%M'
trademarks_title_html: <span id="trademarks"></span>Marques registrades
trademarks_1_html: OpenStreetMap i el logotip de la lupa són marques registrades
de la Fundació OpenStreetMap. Si teniu preguntes sobre l'ús de les marques,
- si us plau envieu-les vostres al <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Grup
+ si us plau envieu les vostres al <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Grup
de Treball de Llicències</a>.
welcome_page:
title: Benvingut!
track: Pista
bridleway: Camí de ferradura
cycleway: Carril bici
+ cycleway_national: Via ciclista nacional
+ cycleway_regional: Via ciclista regional
+ cycleway_local: Via ciclista local
footway: Footway
rail: Ferrocarril
subway: Metro
private: Accés privat
destination: Accés de destinació
construction: Carreteres en construcció
+ bicycle_shop: Botiga de bicicletes
+ bicycle_parking: Aparcament de bicicleta
+ toilets: Lavabos
richtext_area:
edit: Modifica
preview: Previsualització
windowslive:
title: Inici de sessió amb Windows Live
alt: Inici de sessió amb un Compte de Windows Live
+ github:
+ title: Inicia la sessió amb GitHub
+ alt: Inicia la sessió amb un compte de GitHub
yahoo:
title: Inicieu la sessió amb Yahoo
alt: Inici de sessió amb un compte OpenID de Yahoo
gravatar: Usa Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: què és això?
+ disabled: S'ha inhabilitat Gravatar.
+ enabled: S'ha habilitat que es mostri el vostre Gravatar.
new image: Afegeix una imatge
keep image: Conserva la imatge actual
delete image: Suprimeix la imatge actual
standard: Estàndard
cycle_map: Cycle Map
transport_map: Mapa de transports
- mapquest: MapQuest Open
hot: Humanitarian
layers:
header: Capes del mapa
# Author: Chmee2
# Author: Cvanca
# Author: DemonioCZ
+# Author: Dvorapa
# Author: H4nek
# Author: JAn Dudík
# Author: Jezevec
# Author: Jkjk
# Author: Kuvaly
# Author: Luk
+# Author: LukasJandera
+# Author: Marek Pavlica
+# Author: Martin Urbanec
# Author: Masox
# Author: Matěj Grabovský
# Author: Michaelbrabec
# Author: Tchoř
# Author: Urbanecm
# Author: Veritaslibero
+# Author: Walter Klosse
---
cs:
time:
old_relation_tag: Tag staré relace
old_way: Stará cesta
old_way_node: Uzel staré cesty
- old_way_tag: Starý tag cesty
+ old_way_tag: Starý způsob tagu
relation: Relace
relation_member: Člen relace
relation_tag: Tag relace
session: Relace
trace: Stopa
tracepoint: Bod stopy
- tracetag: Štítek stopy
+ tracetag: Tag stopy
user: Uživatel
user_preference: Uživatelské nastavení
user_token: Uživatelský token
closed: Uzavřeno
created_html: Vytvořeno <abbr title='%{title}'>před %{time}</abbr>
closed_html: Uzavřeno <abbr title='%{title}'>před %{time}</abbr>
- created_by_html: Vytvořil <abbr title='%{title}'>před %{time}</abbr> %{user}
+ created_by_html: Vytvořeno <abbr title='%{title}'>před %{time}</abbr> uživatelem
+ %{user}
deleted_by_html: Smazáno <abbr title='%{title}'>před %{time}</abbr> uživatelem
%{user}
edited_by_html: Upraveno <abbr title='%{title}'>před %{time}</abbr> uživatelem
%{user}
- closed_by_html: Uzavřel <abbr title='%{title}'>před %{time}</abbr> uživatel %{user}
+ closed_by_html: Uzavřeno <abbr title='%{title}'>před %{time}</abbr> uživatelem
+ %{user}
version: Verze
in_changeset: Sada změn
anonymous: anonym
relation: Relace (%{count})
relation_paginated: Relace (%{x}–%{y} z %{count})
comment: Komentáře (%{count})
- hidden_commented_by: Skrytý komentář od %{user} <abbr title='%{exact_time}'>Před
+ hidden_commented_by: Skrytý komentář od uživatele %{user} <abbr title='%{exact_time}'>před
%{when}</abbr>
commented_by: <abbr title='%{exact_time}'>Před %{when}</abbr> okomentoval %{user}
- changesetxml: Soubor změn XML
+ changesetxml: Sada změn XML
osmchangexml: osmChange XML
feed:
title: Sada změn %{id}
- title_comment: 'Sada změn: %{id} - %{comment}'
- join_discussion: Pokud chcete diskutovat, přihlaste se
+ title_comment: Sada změn %{id} - %{comment}
+ join_discussion: Chcete-li diskutovat, přihlaste se
discussion: Diskuse
node:
title: 'Uzel: %{name}'
hidden_title: 'Skrytá poznámka #%{note_name}'
open_by: Vytvořil %{user} <abbr title='%{exact_time}'>před %{when}</abbr>
open_by_anonymous: Vytvořil anonym <abbr title='%{exact_time}'>před %{when}</abbr>
- commented_by: <abbr title='%{exact_time}'>Před %{when}</abbr> okomentoval %{user}
+ commented_by: <abbr title='%{exact_time}'>Před %{when}</abbr> okomentoval uživatel
+ %{user}
commented_by_anonymous: <abbr title='%{exact_time}'>Před %{when}</abbr> okomentoval
anonym
- closed_by: Vyřešil <abbr title='%{exact_time}'>před %{when}</abbr> %{user}
+ closed_by: Vyřešil <abbr title='%{exact_time}'>před %{when}</abbr> uživatel
+ %{user}
closed_by_anonymous: Vyřešil <abbr title='%{exact_time}'>před %{when}</abbr>
anonym
- reopened_by: Reaktivoval <abbr title='%{exact_time}'>před %{when}</abbr> %{user}
+ reopened_by: Reaktivoval <abbr title='%{exact_time}'>před %{when}</abbr> uživatel
+ %{user}
reopened_by_anonymous: Reaktivoval <abbr title='%{exact_time}'>před %{when}</abbr>
anonym
- hidden_by: Skryl <abbr title='%{exact_time}'>před %{when}</abbr> %{user}
+ hidden_by: Skryl <abbr title='%{exact_time}'>před %{when}</abbr> uživatel %{user}
query:
title: Průzkum prvků
- introduction: Pro nalezení okolních prvků klikněte do mapy.
+ introduction: Pro nalezení okolních prvků klikněte na mapu.
nearby: Okolní prvky
enclosing: Umístění prvku
changeset:
empty_area: Pro tuto oblast neexistují žádné sady změn.
empty_user: Tento uživatel nemá žádné sady změn.
no_more: Nebyly nalezeny žádné další sady změn.
- no_more_area: Nebyly nalezeny žádné další sady změn pro tuto oblast.
+ no_more_area: Pro tuto oblast nebyly nalezeny žádné další sady změn.
no_more_user: Nebyly nalezeny žádné další sady změn tohoto uživatele.
load_more: Načíst další
timeout:
new: Nový záznam do deníčku
new_title: Vložit nový záznam do vašeho uživatelského deníčku
no_entries: Žádné záznamy v deníčku
- recent_entries: Aktuální deníčkové záznamy
+ recent_entries: Nedávné deníčkové záznamy
older_entries: Starší záznamy
newer_entries: Novější záznamy
edit:
description: Nedávné záznamy v OpenStreetMap deníčku uživatele %{user}
language:
title: Deníčkové záznamy OpenStreetMap v jazyce %{language_name}
- description: Aktuální záznamy v deníčcích uživatelů OpenStreetMap v jazyce
+ description: Nedávné záznamy v deníčcích uživatelů OpenStreetMap v jazyce
%{language_name}
all:
title: Deníčkové záznamy OpenStreetMap
advice: 'Pokud se tento export nezdaří, zvažte použití jednoho z následujících
zdrojů:'
body: 'Tato oblast je pro export do XML formátu OpenStreetMap příliš velká.
- Přejděte na větší měřítko, zvolte menší oblast nebo použijte jeden z následujících
+ Přejděte na větší měřítko, zvolte menší oblast, nebo použijte jeden z následujících
zdrojů pro stahování velkého množství dat:'
planet:
title: Planeta OSM
motorway: Dálnice
motorway_junction: Dálniční křižovatka
motorway_link: Dálnice
- path: Pěšina
+ path: Stezka
pedestrian: Pěší zóna
platform: Nástupiště
primary: Silnice první třídy
raceway: Závodní dráha
residential: Ulice
rest_area: Odpočívadlo
- road: Cesta
+ road: Silnice
secondary: Silnice druhé třídy
secondary_link: Silnice druhé třídy
service: Účelová komunikace
pro odstranění</a> nebo přímo podejte výzvu pomocí <a href="http://dmca.openstreetmap.org/">on-line
formuláře</a>.
trademarks_title_html: <span id="trademarks"></span>Ochranné známky
- trademarks_1_html: OpenStreetMap a logo s lupou jsou zapsané ochranné známky
- OpenStreetMap Foundation. Pokud máte dotazy ohledně vašeho používání těchto
- známek, zašlete své dotazy <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">pracovní
+ trademarks_1_html: OpenStreetMap, logo s lupou a State of the Map jsou zapsané
+ ochranné známky OpenStreetMap Foundation. Pokud máte dotazy ohledně vašeho
+ používání těchto známek, zašlete své dotazy <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">pracovní
skupině pro licencování</a>.
welcome_page:
title: Vítejte!
track: Lesní a polní cesta
bridleway: Koňská stezka
cycleway: Cyklostezka
+ cycleway_national: Národní cyklotrasa
+ cycleway_regional: Regionální cyklotrasa
+ cycleway_local: Místní cyklotrasa
footway: Pěší cesta
rail: Železnice
subway: Metro
private: Soukromý pozemek
destination: Průjezd zakázán
construction: Cesta ve výstavbě
+ bicycle_shop: Cykloobchod
+ bicycle_parking: Parkoviště pro kola
+ toilets: Záchody
richtext_area:
edit: Upravit
preview: Náhled
windowslive:
title: Přihlásit se přes Windows Live
alt: Přihlášení pomocí účtu služeb Windows Live
+ github:
+ title: Přihlásit se přes GitHub
+ alt: Přihlásit se pomocí GitHub účtu
yahoo:
title: Přihlásit se prostřednictvím Yahoo
alt: Přihlášení pomocí Yahoo OpenID
gravatar: Používat Gravatar
link: http://wiki.openstreetmap.org/wiki/CS:Gravatar
link text: co to znamená?
+ disabled: Gravatar byl zakázán.
+ enabled: Zobrazování vašeho Gravataru bylo povoleno.
new image: Přidat obrázek
keep image: Zachovat stávající obrázek
delete image: Odstranit stávající obrázek
standard: Standardní
cycle_map: Cyklomapa
transport_map: Dopravní mapa
- mapquest: MapQuest Open
hot: Humanitární
layers:
header: Mapové vrstvy
instructions:
continue_without_exit: Pokračujte na %{name}
slight_right_without_exit: Mírně vpravo na %{name}
+ offramp_right_without_exit: Použijte nájezd vpravo na %{name}
+ onramp_right_without_exit: Odbočte vpravo na nájezd na %{name}
+ endofroad_right_without_exit: Na konci silnice odbočte vpravo na %{name}
+ merge_right_without_exit: Připojte se vpravo na %{name}
+ fork_right_without_exit: Na rozcestí odbočte vpravo na %{name}
turn_right_without_exit: Odbočte vpravo na %{name}
sharp_right_without_exit: Ostře vpravo na %{name}
uturn_without_exit: Otočte se na %{name}
sharp_left_without_exit: Ostře vlevo na %{name}
turn_left_without_exit: Odbočte vlevo na %{name}
+ offramp_left_without_exit: Použijte nájezd vlevo na %{name}
+ onramp_left_without_exit: Odbočte vlevo na nájezd na %{name}
+ endofroad_left_without_exit: Na konci silnice odbočte vlevo na %{name}
+ merge_left_without_exit: Připojte se vlevo na %{name}
+ fork_left_without_exit: Na rozcestí odbočte vlevo na %{name}
slight_left_without_exit: Mírně vlevo na %{name}
via_point_without_exit: (zastávka)
follow_without_exit: Jeďte po %{name}
private: Privat adgang
destination: Ærindekørsel tilladt
construction: Veje under konstruktion
+ bicycle_parking: Cykelparkering
+ toilets: Toiletter
richtext_area:
edit: Redigér
preview: Forhåndsvisning
# Author: Suriyaa Kudo
# Author: Tehabe
# Author: The Evil IP address
+# Author: ThePiscin
# Author: Thomas Bohn
# Author: Umherirrender
# Author: Woodpeck
city_gate: Stadttor
citywalls: Stadtmauern
fort: Fort
- heritage: Denkmalschutz
+ heritage: Denkmalgeschützt
house: Historisches Haus
icon: Symbol
manor: Gutshaus
cliff: Klippe
crater: Krater
dune: Düne
- fell: Weide
+ fell: Fjell
fjord: Fjord
forest: Wald
geyser: Geysir
"yes": Ort
railway:
abandoned: Aufgegebene Bahnstrecke
- construction: Eisenbahn im Bau
+ construction: Bahnstrecke im Bau
disused: Aufgelassene Bahnstrecke
disused_station: Aufgelassener Bahnhof
funicular: Standseilbahn
- halt: Haltepunkt
+ halt: Haltestelle
historic_station: Historischer Bahnhof
junction: Bahnknoten
level_crossing: Eisenbahnkreuzung
clothes: Bekleidungsgeschäft
computer: Computergeschäft
confectionery: Konditorei
- convenience: Tante-Emma-Laden
+ convenience: Nachbarschaftsladen
copyshop: Copyshop
cosmetics: Parfümerie
deli: Feinkostladen
zum Entfernen von Inhalten</a> oder melde dies direkt mit unserem
<a href="http://dmca.openstreetmap.org/">Onlineformular</a>.
trademarks_title_html: <span id="trademarks"></span>Markenzeichen
- trademarks_1_html: OpenStreetMap und das Lupenlogo sind eingetragene Warenzeichen
- der OpenStreetMap Foundation. Falls du Fragen über deine Verwendung der Marken
- hast, sende deine Fragen bitte an die <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Lizenz-Arbeitsgruppe</a>.
+ trademarks_1_html: OpenStreetMap, das Lupenlogo und „State of the Map“ sind
+ eingetragene Warenzeichen der OpenStreetMap Foundation. Falls du Fragen über
+ deine Verwendung der Marken hast, sende deine Fragen bitte an die <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Lizenz-Arbeitsgruppe</a>.
welcome_page:
title: Willkommen!
introduction_html: |-
der gleichen Lizenz verbreiten. Siehe die
<a href='%{copyright_path}'>Urheberrechts- und Lizenzseite</a> für Einzelheiten.
legal_title: Rechtliche Hinweise
- legal_html: "Diese Website und viele damit in Zusammenhang stehende Dienste werden
- \nvon der <a href='http://osmfoundation.org/'>OpenStreetMap Foundation</a> (OSMF)
- für die OSM-Gemeinschaft betrieben.\n<br>\nBitte <a href='http://osmfoundation.org/Contact'>kontaktiere
- die OSMF</a>,\nfalls du Lizenz-, Urheberrechts- oder andere rechtliche Fragen
- und Probleme hast."
+ legal_html: |-
+ Diese Website und viele damit in Zusammenhang stehende Dienste werden
+ von der <a href='http://osmfoundation.org/'>OpenStreetMap Foundation</a> (OSMF)
+ für die OSM-Gemeinschaft betrieben. Die Verwendung aller OSMF-betriebenen Dienste
+ ist Thema unserer
+ „<a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">Acceptable Use Policies</a>“
+ und unserer <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">Datenschutzrichtlinie</a>.
+ <br>
+ Bitte <a href='http://osmfoundation.org/Contact'>kontaktiere die OSMF</a>,
+ falls du Lizenz-, Urheberrechts- oder andere rechtliche Fragen und Probleme hast.
partners_title: Partner
notifier:
diary_comment_notification:
- subject: '[OpenStreetMap] %{user} hat deinen Blogeintrag kommentiert'
+ subject: '[OpenStreetMap] %{user} hat zu einem Blogeintrag kommentiert'
hi: Hallo %{to_user},
- header: '%{from_user} hat deinen Blogeintrag %{subject} kommentiert:'
+ header: '%{from_user} hat zu dem OpenStreetMap-Blogeintrag mit dem Thema %{subject}
+ kommentiert:'
footer: Hier gehts zum Eintrag %{readurl}, du kannst ihn kommentieren %{commenturl}
oder direkt beantworten %{replyurl}.
message_notification:
track: Wald-, Feldweg
bridleway: Reitweg
cycleway: Radweg
+ cycleway_national: Nationaler Radweg
+ cycleway_regional: Regionaler Radweg
+ cycleway_local: Lokaler Radweg
footway: Fußweg
rail: Eisenbahn
subway: U-Bahn
private: Privater Zugang
destination: Nur für Anrainer
construction: Straßen im Bau
+ bicycle_shop: Fahrradladen
+ bicycle_parking: Fahrradparkplatz
+ toilets: Toiletten
richtext_area:
edit: Bearbeiten
preview: Vorschau
windowslive:
title: Mit Windows Live anmelden
alt: Mit einem Windows-Live-Konto anmelden
+ github:
+ title: Mit GitHub anmelden
+ alt: Mit einem GitHub-Konto anmelden
yahoo:
title: Mit Yahoo anmelden
alt: Mit einer Yahoo-OpenID anmelden
für Mitwirkende</a> zustimmen.
email address: 'E-Mail-Adresse:'
confirm email address: 'Bitte wiederhole die E-Mail-Adresse:'
- not displayed publicly: Nicht öffentlich sichtbar (<a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy">Datenschutzrichtlinie</a>)
+ not displayed publicly: Deine Anrede wird nicht öffentlich angezeigt, siehe
+ unsere <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF-Datenschutzrichtlinie
+ inklusive des Abschnitts zu E-Mail-Adressen">Datenschutzrichtlinie</a> für
+ weitere Informationen.
display name: 'Benutzername:'
display name description: Dein öffentlich angezeigter Benutzername. Er kann
später in den Einstellungen geändert werden.
gravatar: Gravatar verwenden
link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: Was ist das?
+ disabled: Gravatar wurde deaktiviert.
+ enabled: Die Anzeige deines Gravatars wurde aktiviert.
new image: Bild einfügen
keep image: Bild unverändert beibehalten
delete image: Bild löschen
key:
title: Legende
tooltip: Legende
- tooltip_disabled: Die Legende ist nur für die Standardebene verfügbar
+ tooltip_disabled: Die Legende ist nicht für diese Ebene verfügbar
map:
zoom:
in: Vergrößern
standard: Standard
cycle_map: Radfahrerkarte
transport_map: Verkehrskarte
- mapquest: MapQuest Open
hot: Humanitarian
layers:
header: Kartenebenen
instructions:
continue_without_exit: Weiter auf %{name}
slight_right_without_exit: Leicht rechts auf %{name}
+ offramp_right_without_exit: Die rechte Auffahrt auf %{name} nehmen
+ onramp_right_without_exit: Bei der Auffahrt rechts abbiegen auf %{name}
+ endofroad_right_without_exit: Am Straßenende rechts abbiegen auf %{name}
+ merge_right_without_exit: Rechts einfädeln in %{name}
+ fork_right_without_exit: Bei der Gabelung rechts abbiegen auf %{name}
turn_right_without_exit: Rechts abbiegen auf %{name}
sharp_right_without_exit: Scharf rechts auf %{name}
uturn_without_exit: Umkehren entlang %{name}
sharp_left_without_exit: Scharf links auf %{name}
turn_left_without_exit: Links abbiegen auf %{name}
+ offramp_left_without_exit: Die linke Auffahrt auf %{name} nehmen
+ onramp_left_without_exit: Bei der Auffahrt links abbiegen auf %{name}
+ endofroad_left_without_exit: Am Straßenende links abbiegen auf %{name}
+ merge_left_without_exit: Links einfädeln in %{name}
+ fork_left_without_exit: Bei der Gabelung links abbiegen auf %{name}
slight_left_without_exit: Leicht links auf %{name}
via_point_without_exit: (über Punkt)
follow_without_exit: '%{name} folgen'
# Messages for Zazaki (Zazaki)
# Exported from translatewiki.net
# Export driver: phpyaml
+# Author: Asmen
# Author: Erdemaslancan
# Author: Gorizon
+# Author: Gırd
+# Author: Kumkumuk
# Author: Marmase
# Author: Mirzali
---
created_html: <abbr title='%{title}'>%{time} veror</abbr> vıraziye
closed_html: <abbr title='%{title}'>%{time} veror</abbr> racneye
version: Versiyon
+ in_changeset: Qeydê Vurnayışan
anonymous: anonim
no_comment: (be vatış)
part_of: Letey
download_xml: XML ron
- view_history: Verori bıvin
- view_details: Teferruati bıvin
+ view_history: Tarixi Bıvêne
+ view_details: Teferuatan Bıvêne
location: 'Lokasyon:'
changeset:
title: 'Koma vurnayışi: %{id}'
node: '%{count} noqtey'
node_paginated: pero piya (%{x}-%{y} - %{count}) noqtey
way: '%{count} ray'
+ way_paginated: Ray (%{x}-%{y} - pêro piya %{count})
+ relation: Eleqey %{count}
+ relation_paginated: Eleqey %{x}-%{y} pêro piya %{count}
comment: Mışewreyi (%{count})
+ changesetxml: Vurnayışê peyênê XML
+ osmchangexml: OsmVurnayışê XML
+ feed:
+ title: 'Koma vurnayışi: %{id}'
+ join_discussion: Dekewtena vatenayışi rê qeyd bê
discussion: Werênayış
node:
title: Noqta:%{name}
+ history_title: 'Verora nokta: %{name}'
way:
title: Ray:%{name}
+ history_title: Verora rayer:%{name}
+ nodes: Noqtey
+ also_part_of:
+ one: letey ray %{related_ways}
+ other: letey rayer %{related_ways}
relation:
+ title: Eleqe:%{name}
+ history_title: 'Verorê eleqey: %{name}'
members: Ezay
relation_member:
+ entry_role: '%{type} %{name}, de %{role}'
type:
node: Qedyin
way: Ray
entry: Eleqe %{relation_name}
entry_role: Eleqe %{relation_name} (%{relation_role} deye)
not_found:
+ sorry: 'Qısur mewni, #%{id} numreya %{type} nêvine yê.'
type:
node: qedyin
way: ray
relation: eleqe
changeset: Qeydê Vurnayışan
+ note: Not
timeout:
type:
node: qedyin
way: ray
relation: eleqe
changeset: Qeydê Vurnayışan
+ note: Not
redacted:
redaction: Temamey %{id}
type:
loading: Bar beno...
tag_details:
tags: 'Etiketi:'
+ telephone_link: Veynd %{phone_number}
note:
+ title: 'Not: %{id}'
+ new_note: Nota Newi
description: Şınasnayış
+ query:
+ title: Xısusiyetan bıasne
+ introduction: Xısusiyetanê nezdiyan vinayışi rê xeriter sero bıploğnê
+ nearby: Nezdıra xısusiyeti
+ enclosing: Muhtewa xısusiyeti
changeset:
changeset_paging_nav:
showing_page: Pele %{page}
next: Peyên »
previous: « Verên
changeset:
+ anonymous: Anonim
no_edits: (vurnayış çıniyo)
+ view_changeset_details: Teferuatê vurnayışê seti bıvin
changesets:
id: ID
saved_at: Demê qeydi
area: Erz
list:
title: Seta vurnayışan
+ title_user: Vurriyayışê setê %{user}
+ title_friend: Qeydê vurnayışê embazan
+ title_nearby: Nezdıra vurriyayışê setê karberi
+ load_more: Dehana vêşi
+ rss:
+ full: Vaten pêro
diary_entry:
new:
publish_button: Vıla ke
+ list:
+ user_title: '%{user} (Rocek)'
edit:
subject: 'Mewzu:'
body: 'Vêrey mesaci:'
newer_comments: Mışewreyê Tewr Neweyi
older_comments: Vatışo Tewr Kehan
export:
+ title: Teber de
start:
area_to_export: Cayo ke cıra bıvciyo
+ manually_select: Be desti ra yew cayo bin weçıne
+ format_to_export: Formatê teberi ra eştışi
+ osm_xml_data: OpenStreetMap XML Data
licence: Lisans
+ too_large:
+ planet:
+ title: Geyrenıka OSM
+ overpass:
+ title: Overpass API
+ metro:
+ title: Çap kerdenê Metroy
+ description: Çap kerdenê metroyan u banliyo
+ other:
+ title: Çemê bini
options: Weçinegi
format: Format
scale: Sence
geonames: <a href="http://www.geonames.org/">GeoNames.org</a> ra neticey
search_osm_nominatim:
prefix:
+ aerialway:
+ cable_car: Kabloy ereber
+ gondola: Telesiyej
+ station: İstasyona teleferiki
aeroway:
aerodrome: Hewaherun
apron: Apron
taxiway: Raya Texsiyan
terminal: Terminal
amenity:
+ animal_shelter: Kozıkê heywanan
arts_centre: Merkeze Zagoni
atm: ATM
bank: Banka
bicycle_parking: Perka Bisiklet
bicycle_rental: Bisiklet İcar kerden
biergarten: Hegay Bira
+ boat_rental: Bot icar
brothel: Kerxane
bureau_de_change: Buroye Dovizan
bus_station: Otogar
car_wash: Wesayıt Şuwayış
casino: Kasino
charging_station: İstasyona Pırkerden
+ childcare: Qeç weynayış
cinema: Sinema
clinic: Klinik
+ clock: Saete
college: Lise
community_centre: Merkezê Cemeati
courthouse: Adliye
dormitory: Ware
drinking_water: Awa Şımıtışi
driving_school: Kursa Ramenan
+ embassy: Sefirey
emergency_phone: Vistren Telefon
fast_food: Fast Food
ferry_terminal: Terminala Feriboter
food_court: Kerwanseray
fountain: Fıskiye
fuel: Petrol
+ gambling: Kumarxane
grave_yard: Mezla ser
gym: Merkeza Fitnessi / Salona Spori
health_centre: Merkeza Weşiney
library: Kıtıbxane
market: Market
marketplace: Heruna bazari
+ monastery: Manastır
+ motorcycle_parking: Motorpiskilet park kerdış
nightclub: Kluba Şewer
nursery: Kreş
nursing_home: Rehatxane
office: Ofis
parking: Otopark
+ parking_entrance: Keyberê par kerdışi
pharmacy: Eczaxane
place_of_worship: Bawerxane
police: Pulis
shower: Çımecek
social_centre: Merkezo Sosyal
social_club: Kluba Sosyal
+ social_facility: Tesiso sosyal
studio: Studyo
swimming_pool: Dola Asnawkerdışi
taxi: Taksi
veterinary: Veteriner
village_hall: Wedey Dewer
waste_basket: Tenkey Sıloy
+ waste_disposal: Cay sıloy
youth_centre: Merkezê Gencan
boundary:
administrative: Sinorê İdari
+ census: Sinora amora nıfusi
national_park: Perka Milli
+ protected_area: Star biyaye erd
bridge:
+ aqueduct: Kemerê awer
+ suspension: Pırdo layın
swing: Pırde Asnawi
+ viaduct: Viyaduk
"yes": Pırd
building:
"yes": Bina
+ craft:
+ brewery: Fabriqay bira
+ carpenter: Merengoz
+ electrician: Ceyranwan
+ gardener: Bahçıvan
+ painter: Dawtewan
+ photographer: Fotrafkar
+ plumber: Tesisatwan
+ shoemaker: Postalwan
+ tailor: Deştoğ
+ "yes": Dukanê çiy
+ emergency:
+ ambulance_station: İstasyona ambulans
+ defibrillator: Defibrillator ( makinay qelbi)
+ landing_site: Cay war amyayışi
+ phone: Vistren Telefon
highway:
+ abandoned: Raya kehan
bridleway: Raya Estoran
+ bus_guideway: İsleg raya otobosan
bus_stop: İstasyonê Otobozan
+ construction: Vıraziyê weziyet de ray
cycleway: Raya Bisikleter
+ elevator: Esansor
emergency_access_point: Cayê vistra resnayışi
footway: Raya geyrayışi
ford: Balan
living_street: Kuçey Cıwiyayışi
+ milestone: Siyê kilometri
motorway: Otoray
motorway_junction: Kewşaxa Otorayer
motorway_link: Raya Otoray
platform: Platform
primary: Raya Dewlet
primary_link: Raya Dewlet
+ proposed: Plan bıyayi ray
raceway: Raya Vestışi
- residential: Kuçe
+ residential: Are Ray
rest_area: Cay solıxgrotışi
road: Ray
+ secondary: Raya wılayeti
+ secondary_link: Grey raya wılayeti
+ service: Raya serwisi
+ services: Tesisê mêli
speed_camera: Kemeraya Vıstrın
steps: Merwani
+ street_lamp: Lumbay kuçi
tertiary: Raya Dewan
+ tertiary_link: Raya Dewan
track: Raya Herın
+ traffic_signals: Signalê trafiki
trail: Şop
+ trunk: Letebıyayi ser ray
+ trunk_link: Lwtebıyayi ser ray
+ unclassified: Nêrêzbıyayi ray
+ unsurfaced: Raya xam
+ "yes": Ray
historic:
+ archaeological_site: Arkeolojik Ca
+ battlefield: Cay herbi
+ boundary_stone: Siya sinori
+ building: Binaya verên
+ bunker: Stare
castle: Qela
church: Kılise
+ city_gate: Keyberê Sûker
+ citywalls: Dêsê Sûker
fort: Qula
+ heritage: Cayo Miras
house: Keye
icon: Ikon
manor: Kosk
memorial: Qub
mine: Mahden
monument: Ziyarık
+ roman_road: Raya Roma
ruins: Pagi
+ stone: Kemere
+ tomb: Mezel
tower: Kule
+ wreck: Gemiya Gumbiyayi
+ junction:
+ "yes": Çatray
landuse:
+ allotments: Bostan
+ basin: Dol
+ brownfield: Erdo bece
+ cemetery: Mezlaser
+ commercial: Cayê Ticareti u Xızmeti
conservation: Qısekerdış
+ construction: İnşaat
farm: Cıtinin
+ farmland: Erdê Ziraati
+ farmyard: İsiga çıfligi
forest: Mêşe
garages: Garac
grass: Çim
military: Eskeri Mıntıqa
mine: Mahden
orchard: Hêga
+ quarry: Adırgan
railway: Rayatiran
+ recreation_ground: Parka hewin
reservoir: Dola Beraci
+ reservoir_watershed: Merga awer
+ residential: Heruna Cıwiyayışi
+ retail: Esnaf
+ road: Cay ray
+ village_green: Cayo kıho
+ vineyard: Rez
+ "yes": Karıyayışa erdi
leisure:
+ beach_resort: Dewa plajın
+ bird_hide: Cay mıriçık weynayışi
+ club: Klüb
+ common: Umumi erd
+ dog_park: Parka kutıkan
+ fishing: Heruna masan
+ fitness_centre: Fitness Merkezi
+ fitness_station: Spor Merkezi
garden: Hega
+ golf_course: Sağay golfi
+ horse_riding: Bergir cınayış
+ ice_rink: Patena cemedi
marina: Marina
+ miniature_golf: Minyatür Golf
+ nature_reserve: Cay gem starnayışi
park: Perk
+ pitch: Seğay spori
+ playground: Parka qeçkan
+ recreation_ground: Parka hewin
+ resort: Resort
+ sauna: Sauna
+ slipway: Raya xızxızoki
+ sports_centre: Merkezê Spori
stadium: Stadyum
+ swimming_pool: Dola Asnawkerdışi
+ track: Raya remayışi
+ water_park: Aquapark
+ "yes": Xoser zeman
+ man_made:
+ lighthouse: Parka awer
+ pipeline: Xeta boriyer
+ tower: Kule
+ works: Fabırqe
+ "yes": Vıraştena insanan
military:
+ airfield: Hewaraya Aspariye
+ barracks: Kışla
bunker: Stare
+ mountain_pass:
+ "yes": Ravêreka Koy
natural:
+ bay: Delhiz
beach: Plac
+ cape: Pırnık
+ cave_entrance: Dekewtena Laner
+ cliff: Pereten
crater: Krater
dune: Kımıl
fell: Gedugo wışk
+ fjord: Fiord
forest: Mêşe
geyser: Gayzer
glacier: Cemeden
+ grassland: Çere
+ heath: Merä
hill: Gedug
island: Ade
land: Wer
+ marsh: Lınce
+ moor: Lıncane
+ mud: Dawte
peak: Gıl /sersıq
+ point: Pırn
reef: Resif
+ ridge: Sud
+ rock: Qere
+ saddle: Cıl
+ sand: Qum
scree: Heyelan
+ scrub: Bırık
spring: Ênêk
stone: Kemere
strait: Balan
wood: Meşe
office:
accountant: Muhasebedar
+ administrative: İdare
architect: Mimar
company: Şirket
+ employment_agency: İdareya kar vinayışi
+ estate_agent: Emlakwan
+ government: Dairey Dewlet
+ insurance: Ofisê sigorta
lawyer: Abuqat
+ ngo: Ofisa Sivil cemaati
+ telecommunication: Ofisa Telekomunikasyoni
+ travel_agent: Acentaya Seyahati
+ "yes": Ofis
place:
+ allotments: Bostan
+ block: Blok
+ airport: Meydanê hewayi
city: Suk
+ country: Dewlete
+ county: Welat
farm: Erdo Bec
hamlet: Mezra
house: Keye
island: Ada
islet: Adeqeq
locality: Wereyin
+ moor: Lıncane
+ municipality: Belediya
+ neighbourhood: Mehla
+ postcode: Kodê posteyi
region: Mıntıqa
+ sea: Derya
state: wılayet
+ subdivision: Qısımo bınên
+ suburb: Mahle / Banliyö
town: bacar
+ unincorporated_area: Wareyo Yewnêbiyaye
village: Dew
+ "yes": Ca
railway:
+ abandoned: Asınraya Terkkerdiye
halt: İstasyonaTiran
+ monorail: Tekasınxete
+ narrow_gauge: Teng xet asınray
+ platform: Peron
+ preserved: Staryaye asınray
+ proposed: Planbıyayi asınray
+ station: İstasyona Tiran
+ stop: Vındeneka Tiran
+ subway: Metro
+ subway_entrance: Dekewtena metro
+ switch: Meqesê asınray
+ tram: Tramvay
+ tram_stop: Vınderdeka Tramvay
shop:
+ alcohol: Cay Cığara u Alkoler
+ antiques: Kehanwan
+ art: Dukanê zagoni
+ bakery: Fırun
+ boutique: Butik
butcher: Kesab
+ car: Dukanê Ereban
+ car_parts: Letey Ereben
+ car_repair: Oto tamir
+ carpet: Dukanê Xaliya
+ chemist: Eczanewan
+ deli: Şarkuteri
+ department_store: Meğaza
florist: Çiçekdar
furniture: Mobilya
gallery: Galeri
display name: 'Nameyo ke Aseno:'
password: 'Parola:'
confirm password: 'Parolay tesdiq ke:'
- continue: Dewam ke
+ continue: Qeyd be
terms:
consider_pd_why: no çıko?
agree: Qebul kena
title: Karbero do wuna çıniyo
heading: '%{user} name dı karber çıniyo'
view:
- my diary: rocekê mı
+ my diary: Rocekê mı
new diary entry: Roceko newe defi
- my edits: pêştenê mı
+ my edits: Iştirakê mı
my traces: GPS rêçê mı
my settings: Eyarê Mı
my comments: Mışewreyê mı
oauth settings: sazê OAuthi
- blocks on me: bloqeyê mı
+ blocks on me: Bloqeyê mı
blocks by me: Bloqe kerdışê mı
send message: mesac bırışê
- diary: rocek
- edits: vurnayışi
- traces: rêçi
+ diary: Rocek
+ edits: Vurnayışi
+ traces: Rêçi
remove as friend: Embazan ra vec
- add as friend: Xo rê embaz ke
+ add as friend: Embaz bı
mapper since: 'Demê herdnigarwaniye:'
ago: (%{time_in_words_ago} veror)
ct undecided: Darıdeyo
changesets:
show:
comment: Mışewre
+ hide_comment: bınımne
notes:
show:
comment: Mışewre
standard: Standard
cycle_map: Kórta za kolesowarjow
transport_map: Wobchadowa kórta
- mapquest: MapQuest Open
hot: Sobustatkowace humanitarneje pomocy
layers:
header: Kórtowe rowniny
διαδικασία απομάκρυνσης </a> ή καταθέστε άμεσα μια αίτηση στην <a href="http://dmca.openstreetmap.org/">on-line
σελίδα αιτήσεων</a>.
trademarks_title_html: <span id="trademarks"></span>Εμπορικά σήματα
- trademarks_1_html: Το OpenStreetMap και το λογότυπο με το μεγεθυντικό φακό είναι
- σήματα κατατεθέντα του Ιδρύματος OpenStreetMap. Αν έχετε ερωτήσεις σχετικά
- με τη χρήση των σημάτων, στείλτε τις ερωτήσεις σας στην <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Ομάδα
+ trademarks_1_html: Το OpenStreetMap, το λογότυπο με το μεγεθυντικό φακό και
+ το «State of the Map» είναι σήματα κατατεθέντα του Ιδρύματος OpenStreetMap.
+ Αν έχετε ερωτήσεις σχετικά με τη χρήση των σημάτων, στείλτε τις ερωτήσεις
+ σας στην <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Ομάδα
Εργασίας Αδειών Χρήσης</a>.
welcome_page:
title: Καλώς ήρθατε!
Το OpenStreetMap υπογραμμίζει την τοπική γνώση. Οι συνεισφέροντες χρησιμοποιούν αεροφωτογραφίες, συσκευές GPS, και τοπικούς χάρτες χαμηλής τεχνολογίας για να σιγουρευτούν πως το OSM
είναι ακριβής και ενημερωμένο.
community_driven_title: Βασίζεται Στην Κοινότητα
+ community_driven_html: |-
+ Η κοινότητα του OpenStreetMap είναι ποικίλη, παθιασμένη, και μεγαλώνει κάθε μέρα.
+ Στους συνεισφέροντές μας περιλαμβάνονται ενθουσιώδεις χαρτογράφοι, επαγγελματίες GIS, μηχανικοί
+ που τρέχουν τους εξυπηρετητές OSM, ανθρωπιστές που χαρτογραφούν κατεστραμμένες-πληγείσες περιοχές,
+ και πολλούς περισσότερους.
+ Για να μάθετε περισσότερα για την κοινότητα, ανατρέξτε στα <a href="%{diary_path}">ημερολόγια χρηστών</a>, τα
+ <a href="http://blogs.openstreetmap.org/">ιστολόγια της κοινότητας</a>και
+ την ιστοσελίδα του <a href="http://www.osmfoundation.org/">Ιδρύματος OSM</a>.
open_data_title: Ανοικτά Δεδομένα
open_data_html: 'Το OpenStreetMap είναι βάση <i>ανοικτών δεδομένων</i>: είστε
ελεύθεροι να την χρησιμοποιήστε για οποιονδήποτε σκοπό, εφόσον μνημονεύετε το
more_info_2: 'μπορούν να βρεθούν στο:'
success:
subject: '[OpenStreetMap] Η εισαγωγή GPX πέτυχε'
+ loaded_successfully: φόρτωσε επιτυχώς με %{trace_points} από %{possible_points}
+ πιθανά σημεία.
signup_confirm:
subject: '[OpenStreetMap] Καλώς ήλθατε στο OpenStreetMap'
greeting: Γεια σου!
track: Χωματόδρομος
bridleway: Μονοπάτι για Άλογα
cycleway: Ποδηλατόδρομος
+ cycleway_national: Εθνικός ποδηλατόδρομος
+ cycleway_regional: Περιφερειακός ποδηλατόδρομος
+ cycleway_local: Τοπικός ποδηλατόδρομος
footway: Μονοπάτι
rail: Σιδηρόδρομος
subway: Υπόγειος Σιδηρόδρομος
private: Ιδιωτική πρόσβαση
destination: Πρόσβαση προορισμού
construction: Δρόμοι υπό κατασκευή
+ bicycle_shop: Κατάστημα ποδηλάτων
+ bicycle_parking: Χώρος στάθμευσης ποδηλάτων
+ toilets: Τουαλέτες
richtext_area:
edit: Επεξεργασία
preview: Προεπισκόπηση
private: Προσωπικό (διαμοιρασμός μόνο σαν ανώνυμος)
public: Δημόσιο (εμφανίζεστε στη λίστα ιχνών σαν ανώνυμος, μη χρονοσημασμένα
σημεία)
- trackable: Î\91νιÏ\87νÎÏ\85Ï\83ιμο(κοινοÏ\80οιείÏ\84αι ανÏ\8eνÏ\85μα, διαÏ\84άÏ\83Ï\83ονÏ\84αι Ï\84α σημεία με χρονοσημάνσεις)
+ trackable: Î\91νιÏ\87νεÏ\8dÏ\83ιμο (κοινοÏ\80οιείÏ\84αι Ï\89Ï\82 ανÏ\8eνÏ\85μα διαÏ\84εÏ\84αγμÎνα σημεία με χρονοσημάνσεις)
create:
upload_trace: Αποστολή Ίχνους GPS
+ trace_uploaded: Το GPX αρχείο σας έχει μεταμορφωθεί και αναμένει την εισαγωγή
+ στη βάση δεδομένων. Συνήθως αυτό θα συμβεί μέσα σε μισή ώρα, και μετά την
+ ολοκλήρωση θα σας αποσταλεί ένα email.
edit:
title: Επεξεργασία ίχνους %{name}
heading: Επεξεργασία ίχνους %{name}
georss:
title: OpenStreetMap Ίχνη GPS
description:
+ description_with_count:
+ one: αρχείο GPX με %{count} σημείο από %{user}
+ other: αρχείο GPX με %{count} σημεία από %{user}
description_without_count: Αρχείο GPX από τον χρήστη %{user}
application:
require_cookies:
title: Οι λεπτομέρειες του OAuth μου
my_tokens: Οι Εξουσιοδοτημένες Εφαρμογές μου
application: Όνομα Εφαρμογής
+ issued_at: Εκδόθηκε Στις
revoke: Ανακαλέστε!
my_apps: Οι Εφαρμογές Πελάτη Μου
registered_apps: 'Έχετε τις παρακάτω εφαρμογές πελάτη καταχωρημένες:'
windowslive:
title: Σύνδεση με το Windows Live
alt: Σύνδεση με ένα Λογαριασμό Windows Live
+ github:
+ title: Σύνδεση με το GitHub
+ alt: Σύνδεση με λογαριασμό GitHub
yahoo:
title: Σύνδεση με το Yahoo
alt: Σύνδεση με ένα Yahoo OpenID
συνεισφοράς</a>.
email address: 'Διεύθυνση Ηλ. Ταχυδρομείου:'
confirm email address: 'Επιβεβαίωση Διεύθυνσης Ηλ. Ταχυδρομείου:'
- not displayed publicly: Να μην εμφανίζεται δημόσια (βλέπετε την <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="wiki privacy policy including section on email addresses">πολιτική
- απορρήτου</a>)
+ not displayed publicly: Η διεύθυνση σου δεν εμφανίζεται δημόσια (βλέπετε την
+ <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF privacy
+ policy including section on email addresses">πολιτική απορρήτου</a> για περισσότερες
+ πληροφορίες)
display name: 'Εμφανιζόμενο όνομα:'
display name description: Το δημόσια εμφανιζόμενο όνομα χρήστη. Μπορείτε να
το αλλάξετε αργότερα από τις προτιμήσεις.
body: Λυπάμαι, δεν υπάρχει χρήστης με το όνομα %{user}. Είναι πιθανό να υπάρχουν
ορθογραφικά λάθη ή να είναι λάθος ο σύνδεσμος μέσω του οποίου φτάσατε σε αυτήν
τη σελίδα.
+ deleted: διεγράφη
view:
my diary: Το Ημερολόγιό Μου
new diary entry: νέα καταχώρηση ημερολογίου
reconfirm_html: Εάν θέλετε να σας ξαναστείλουμε το email επιβεβαίωσης <a href="%{reconfirm}">πατήστε
εδώ</a>.
confirm_resend:
+ success: Έχουμε στείλει ένα νέο σημείωμα επιβεβαίωσης στο %{email} και μόλις
+ επιβεβαιώσετε τον λογαριασμό σας, θα μπορείτε να αρχίσετε τη χαρτογράφηση.<br
+ /><br />Εάν χρησιμοποιείτε ένα σύστημα αποκλεισμού ανεπιθύμητων μηνυμάτων,
+ το οποίο στέλνει αιτήματα επιβεβαίωσης, βεβαιωθείτε ότι έχετε προσθέσει σε
+ λίστα επιτρεπόμενων το %{sender} καθώς δεν μπορούμε να απαντάμε σε κανένα
+ αίτημα επιβεβαίωσης.
failure: Ο χρήστης %{name} δεν βρέθηκε.
confirm_email:
heading: Επιβεβαίωση αλλαγής της διεύθυνσης ηλεκτρονικού ταχυδρομείου
</p>
auth_failure:
unknown_signature_algorithm: Άγνωστος αλγόριθμος υπογραφής
+ auth_association:
+ heading: Το ID σας δεν σχετίζεται ακόμα με λογαριασμό στο OpenStreetMap.
+ option_1: |-
+ Εάν είστε νέοι στο OpenStreetMap, παρακαλούμε να δημιουργήσετε έναν νέο λογαριασμό
+ χρησιμοποιώντας την παρακάτω φόρμα.
+ option_2: Αν έχετε ήδη λογαριασμό, μπορείτε να συνδεθείτε στον λογαριασμό σας
+ χρησιμοποιώντας το όνομα χρήστη και τον κωδικό πρόσβασης και, στη συνέχεια,
+ να συσχετίσετε τον λογαριασμό με το ID σας στις ρυθμίσεις χρήστη.
user_role:
filter:
+ not_an_administrator: Μόνο οι διαχειριστές μπορούν να εκτελέσουν διαχείριση
+ ρόλων χρηστών και δεν είστε διαχειριστής.
not_a_role: Το αλφαριθμητικό `%{role}' δεν είναι ένας έγκυρος ρόλος.
already_has_role: Ο χρήστης έχει ήδη ρόλο %{role}.
doesnt_have_role: Ο χρήστης δεν έχει ρόλο %{role}.
«%{name}»;
confirm: Επιβεβαίωση
user_block:
+ model:
+ non_moderator_update: Πρέπει να είστε συντονιστής για να δημιουργήσετε ή να
+ ενημερώσετε μία φραγή.
+ non_moderator_revoke: Πρέπει να είστε συντονιστής για να ανακαλέσετε μία φραγή.
not_found:
sorry: Συγγνώμη, δε βρέθηκε φραγή χρήστη με ID %{id}.
back: Επιστροφή στο ευρετήριο
new:
title: Δημιουργία φραγής στον %{name}
heading: Δημιουργία φραγής στον %{name}
+ reason: Η αιτία αποκλεισμού του/της %{name}. Παρακαλώ να είστε όσο το δυνατόν
+ πιο ήρεμος/-η και λογικός/-ή, δίνοντας όσες περισσότερες λεπτομέρειες μπορείτε
+ για την κατάσταση και σκεπτόμενος/-η ότι το μήνυμα θα είναι δημόσια ορατό.
+ Να έχετε υπόψη σας ότι δεν κατανοούν όλοι οι χρήστες την ορολογία της κοινότητας,
+ γι' αυτό προσπαθήστε να χρησιμοποιήσετε εκλαϊκευμένους όρους.
period: Για πόσο καιρό από τώρα θα είναι αποκλεισμένος ο χρήστης από το API.
submit: Δημιουργία φραγής
tried_contacting: Επικοινώνησα με τον χρήστη και του ζήτησα να σταματήσει.
+ tried_waiting: Έχω δώσει ένα εύλογο χρονικό διάστημα στον χρήστη να απαντήσει
+ σε αυτές τις επικοινωνίες.
needs_view: Ο χρήστης πρέπει να συνδεθεί προτού εκκαθαριστεί αυτή η φραγή.
back: Προβολή όλων των φραγών
edit:
title: Επεξεργασία φραγής στον %{name}
heading: Επεξεργασία φραγής στον %{name}
+ reason: Η αιτία αποκλεισμού του/της %{name}. Παρακαλώ να είστε όσο το δυνατόν
+ πιο ήρεμος/-η και λογικός/-ή, δίνοντας όσες περισσότερες λεπτομέρειες μπορείτε
+ για την κατάσταση. Να έχετε υπόψη σας ότι δεν κατανοούν όλοι οι χρήστες την
+ ορολογία της κοινότητας, γι' αυτό προσπαθήστε να χρησιμοποιήσετε εκλαϊκευμένους
+ όρους.
period: Για πόσο καιρό από τώρα θα είναι αποκλεισμένος ο χρήστης από το API.
submit: Ενημέρωση φραγής
show: Προβολή αυτής της φραγής
back: Προβολή όλων των φραγών
needs_view: Πρέπει ο χρήστης να συνδεθεί προτού εκκαθαριστεί αυτή η φραγή;
filter:
+ block_expired: Η φραγή έχει ήδη λήξει και δεν μπορεί να αλλάξει.
block_period: Η περίοδος φραγής πρέπει να είναι μία από τις τιμές στην πτυσσόμενη
λίστα.
create:
index:
title: Φραγές χρήστη
heading: Λίστα φραγών του χρήστη
+ empty: Δεν έχουν γίνει ακόμα φραγές.
revoke:
+ title: Ανάκληση φραγής του/της %{block_on}
+ heading: Ανάκληση φραγής του/της %{block_on} από τον/την %{block_by}
+ time_future: Αυτή η φραγή θα λήξει στις %{time}.
+ past: Αυτή η φραγή τελείωσε πριν από %{time} και δεν μπορεί να ανακληθεί τώρα.
+ confirm: Είστε σίγουρος πως επιθυμείτε να ανακαλέσετε αυτή τη φραγή;
revoke: Ανακαλέστε!
flash: Αυτή η φραγή έχει ανακληθεί.
period:
edit: Επεξεργασία
revoke: Ανακαλέστε!
confirm: Είσαστε σίγουροι;
- display_name: Î¥Ï\80Ï\8c ΦÏ\81αγή Χρήστης
+ display_name: Î\91Ï\80οκλειÏ\83μÎνοÏ\82 Χρήστης
creator_name: Δημιουργός
reason: Αιτία φραγής
status: Κατάσταση
center_marker: Κεντράρισμα χάρτη στο δείκτη
paste_html: Επικόλληση HTML για ενσωμάτωση στην ιστοσελίδα
view_larger_map: Προβολή Μεγαλύτερου Χάρτη
+ only_standard_layer: Μόνο το τυπικό στρώμα μπορεί να εξαχθεί ως εικόνα
embed:
report_problem: Αναφορά προβλήματος
key:
osrm_car: Αυτοκίνητο (OSRM)
mapzen_bicycle: Ποδήλατο (Mapzen)
mapzen_car: Αυτοκίνητο (Mapzen)
- mapzen_foot: Î Ï\8cδι (Mapzen)
+ mapzen_foot: Î\9cε Ï\84α Ï\80Ï\8cδια (Mapzen)
directions: Οδηγίες
distance: Απόσταση
errors:
instructions:
continue_without_exit: Συνεχίστε στην %{name}
slight_right_without_exit: Ελαφριά δεξιά στην %{name}
+ endofroad_right_without_exit: Στο τέλος του δρόμου στρίψτε δεξιά στην %{name}
+ fork_right_without_exit: Στην διχάλα στρίψτε δεξιά στην %{name}
turn_right_without_exit: Στρίψτε δεξιά στην %{name}
sharp_right_without_exit: Κλειστά δεξιά στην %{name}
uturn_without_exit: Αναστροφή στην %{name}
sharp_left_without_exit: Κλειστά αριστερά στην %{name}
turn_left_without_exit: Στρίψτε αριστερά στην %{name}
+ endofroad_left_without_exit: Στο τέλος του δρόμου στρίψτε αριστερά στην %{name}
+ fork_left_without_exit: Στη διχάλα στρίψτε αριστερά στην %{name}
slight_left_without_exit: Ελαφριά αριστερά στην %{name}
via_point_without_exit: (μέσω σημείου)
follow_without_exit: Ακολουθήστε την %{name}
# Author: Captaindogfish
# Author: Chase me ladies, I'm the Cavalry
# Author: E THP
+# Author: EdLoach
+# Author: Eduard Popov
+# Author: IknowJoseph
# Author: Jagwar
# Author: Kosovastar
# Author: Macofe
# Author: Meno25
+# Author: Sampablokuper
# Author: Shirayuki
---
en-GB:
procedure</a> or file directly at our <a href="http://dmca.openstreetmap.org/">on-line
filing page</a>.
trademarks_title_html: <span id="trademarks"></span>Trademarks
- trademarks_1_html: OpenStreetMap and the magnifying glass logo are registered
- trademarks of the OpenStreetMap Foundation. If you have questions about your
- use of the marks, please send your questions to the <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licence
+ trademarks_1_html: OpenStreetMap, the magnifying glass logo, and State of the
+ Map are registered trademarks of the OpenStreetMap Foundation. If you have
+ questions about your use of the marks, please send your questions to the <a
+ href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licence
Working Group</a>.
welcome_page:
title: Welcome!
track: Track
bridleway: Bridleway
cycleway: Cycleway
+ cycleway_national: National cycleway
+ cycleway_regional: Regional cycleway
+ cycleway_local: Local cycleway
footway: Footway
rail: Railway
subway: Subway
private: Private access
destination: Destination access
construction: Roads under construction
+ bicycle_shop: Bicycle shop
+ bicycle_parking: Bicycle parking
+ toilets: Toilets
richtext_area:
edit: Edit
preview: Preview
second: Second item
link: Link
text: Text
- image: شکیل
+ image: Image
alt: Alt text
url: URL
trace:
windowslive:
title: Login with Windows Live
alt: Login with a Windows Live Account
+ github:
+ title: Login with GitHub
+ alt: Login with a GitHub Account
yahoo:
title: Login with Yahoo
alt: Login with a Yahoo OpenID
gravatar: Use Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: what is this?
+ disabled: Gravatar has been disabled.
+ enabled: Display of your Gravatar has been enabled.
new image: Add an image
keep image: Keep the current image
delete image: Remove the current image
standard: Standard
cycle_map: Cycle Map
transport_map: Transport Map
- mapquest: MapQuest Open
hot: Humanitarian
layers:
header: Map Layers
instructions:
continue_without_exit: Continue on %{name}
slight_right_without_exit: Slight right onto %{name}
+ offramp_right_without_exit: Take the sliproad on the right onto %{name}
+ onramp_right_without_exit: Turn right on the sliproad onto %{name}
+ endofroad_right_without_exit: At the end of the road turn right onto %{name}
+ merge_right_without_exit: Merge right onto %{name}
+ fork_right_without_exit: At the fork turn right onto %{name}
turn_right_without_exit: Turn right onto %{name}
sharp_right_without_exit: Sharp right onto %{name}
uturn_without_exit: U-turn along %{name}
sharp_left_without_exit: Sharp left onto %{name}
turn_left_without_exit: Turn left onto %{name}
+ offramp_left_without_exit: Take the sliproad on the left onto %{name}
+ onramp_left_without_exit: Turn left on the sliproad onto %{name}
+ endofroad_left_without_exit: At the end of the road turn right onto %{name}
+ merge_left_without_exit: Merge left onto %{name}
+ fork_left_without_exit: At the fork turn left onto %{name}
slight_left_without_exit: Slight left onto %{name}
via_point_without_exit: (via point)
follow_without_exit: Follow %{name}
<a href="http://dmca.openstreetmap.org/">on-line filing page</a>.
trademarks_title_html: <span id="trademarks"></span>Trademarks
trademarks_1_html: |
- OpenStreetMap and the magnifying glass logo are registered trademarks of the OpenStreetMap Foundation. If you have questions about your use of the marks, please send your questions to the <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licence Working Group</a>.
+ OpenStreetMap, the magnifying glass logo and State of the Map are registered trademarks of the OpenStreetMap Foundation. If you have questions about your use of the marks, please send your questions to the <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licence Working Group</a>.
welcome_page:
title: Welcome!
introduction_html: |
legal_html: |
This site and many other related services are formally operated by the
<a href='http://osmfoundation.org/'>OpenStreetMap Foundation</a> (OSMF)
- on behalf of the community.
+ on behalf of the community. Use of all OSMF operated services is subject
+ to our <a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
+ Acceptable Use Policies</a> and our <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">Privacy Policy</a>
<br>
Please <a href='http://osmfoundation.org/Contact'>contact the OSMF</a>
if you have licensing, copyright or other legal questions and issues.
partners_title: Partners
notifier:
diary_comment_notification:
- subject: "[OpenStreetMap] %{user} commented on your diary entry"
+ subject: "[OpenStreetMap] %{user} commented on a diary entry"
hi: "Hi %{to_user},"
- header: "%{from_user} has commented on your recent OpenStreetMap diary entry with the subject %{subject}:"
+ header: "%{from_user} has commented on the OpenStreetMap diary entry with the subject %{subject}:"
footer: "You can also read the comment at %{readurl} and you can comment at %{commenturl} or reply at %{replyurl}"
message_notification:
subject_header: "[OpenStreetMap] %{subject}"
track: "Track"
bridleway: "Bridleway"
cycleway: "Cycleway"
+ cycleway_national: "National cycleway"
+ cycleway_regional: "Regional cycleway"
+ cycleway_local: "Local cycleway"
footway: "Footway"
rail: "Railway"
subway: "Subway"
private: "Private access"
destination: "Destination access"
construction: "Roads under construction"
+ bicycle_shop: "Bicycle shop"
+ bicycle_parking: "Bicycle parking"
+ toilets: "Toilets"
richtext_area:
edit: Edit
preview: Preview
windowslive:
title: Login with Windows Live
alt: Login with a Windows Live Account
+ github:
+ title: Login with GitHub
+ alt: Login with a GitHub Account
yahoo:
title: Login with Yahoo
alt: Login with a Yahoo OpenID
license_agreement: 'When you confirm your account you will need to agree to the <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">contributor terms</a>.'
email address: "Email Address:"
confirm email address: "Confirm Email Address:"
- not displayed publicly: 'Not displayed publicly (see <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">privacy policy</a>)'
+ not displayed publicly: 'Your address is not displayed publicly, see our <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF privacy policy including section on email addresses">privacy policy</a> for more information'
display name: "Display Name:"
display name description: "Your publicly displayed username. You can change this later in the preferences."
external auth: "Third Party Authentication:"
gravatar: "Use Gravatar"
link: "http://wiki.openstreetmap.org/wiki/Gravatar"
link text: "what is this?"
+ disabled: "Gravatar has been disabled."
+ enabled: "Display of your Gravatar has been enabled."
new image: "Add an image"
keep image: "Keep the current image"
delete image: "Remove the current image"
key:
title: "Map Key"
tooltip: "Map Key"
- tooltip_disabled: "Map Key available only for Standard layer"
+ tooltip_disabled: "Map Key not available for this layer"
map:
zoom:
in: Zoom In
standard: Standard
cycle_map: Cycle Map
transport_map: Transport Map
- mapquest: MapQuest Open
hot: Humanitarian
layers:
header: Map Layers
instructions:
continue_without_exit: Continue on %{name}
slight_right_without_exit: Slight right onto %{name}
+ offramp_right_without_exit: Take the ramp on the right onto %{name}
+ onramp_right_without_exit: Turn right on the ramp onto %{name}
+ endofroad_right_without_exit: At the end of the road turn right onto %{name}
+ merge_right_without_exit: Merge right onto %{name}
+ fork_right_without_exit: At the fork turn right onto %{name}
turn_right_without_exit: Turn right onto %{name}
sharp_right_without_exit: Sharp right onto %{name}
uturn_without_exit: U-turn along %{name}
sharp_left_without_exit: Sharp left onto %{name}
turn_left_without_exit: Turn left onto %{name}
+ offramp_left_without_exit: Take the ramp on the left onto %{name}
+ onramp_left_without_exit: Turn left on the ramp onto %{name}
+ endofroad_left_without_exit: At the end of the road turn left onto %{name}
+ merge_left_without_exit: Merge left onto %{name}
+ fork_left_without_exit: At the fork turn left onto %{name}
slight_left_without_exit: Slight left onto %{name}
via_point_without_exit: (via point)
follow_without_exit: Follow %{name}
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: Airon90
+# Author: Bwildenhain.BO
# Author: Cfoucher
+# Author: Kastanoto
# Author: KuboF
# Author: Lucas
# Author: Luckas
# Author: Michawiki
# Author: Objectivesea
# Author: Petrus Adamus
+# Author: Robin van der Vliet
# Author: Timsk
# Author: Tradukisto
# Author: Umbert'
old_node: Malnova nodo
old_node_tag: Etikedo de malnova nodo
old_relation: Malnova rilato
- old_way: Malnova vojo
+ old_relation_member: Ano de malnova rilato
+ old_relation_tag: Etikedo de malnova rilato
+ old_way: Malnova linio
+ old_way_node: Nodo de malnova linio
+ old_way_tag: Etikedo de malnova linio
relation: Rilato
- relation_tag: Rilatetikedo
+ relation_member: Ano de rilato
+ relation_tag: Etikedo de rilato
session: Seanco
trace: Spuro
- tracepoint: Spurpunkto
- tracetag: Spuretikedo
+ tracepoint: Spur-punkto
+ tracetag: Spur-etikedo
user: Uzanto
- user_preference: Uzantprefero
- way: Vojo
- way_node: Vojnodo
- way_tag: Vojetikedo
+ user_preference: Agordoj de uzanto
+ user_token: Ĵetono de uzanto
+ way: Linio
+ way_node: Nodo de linio
+ way_tag: Etikedo de linio
attributes:
+ diary_comment:
+ body: Enhavo
diary_entry:
user: Uzanto
- title: Titolo
+ title: Temo
latitude: Latitudo
longitude: Longitudo
language: Lingvo
user: Uzanto
visible: Videbla
name: Nomo
- size: Grandeco
+ size: Grando
latitude: Latitudo
longitude: Longitudo
public: Publika
description: Priskribo
message:
sender: Sendinto
- title: Titolo
+ title: Temo
+ body: Enhavo
recipient: Ricevonto
user:
email: Retpoŝto
languages: Lingvoj
pass_crypt: Pasvorto
editor:
+ default: Implicita (nune %{name})
potlatch:
name: Potlatch 1
- description: Potlatch 1 (redaktilo en TTT-legilo)
+ description: Potlatch 1 (en-foliumila redaktilo)
+ id:
+ name: iD
+ description: iD (en-foliumila redaktilo)
potlatch2:
name: Potlatch 2
- description: Potlatch 2 (redaktilo en TTT-legilo)
+ description: Potlatch 2 (en-foliumila redaktilo)
remote:
- name: Teleregilo
+ name: ekstera redaktilo
+ description: ekstera redaktilo (JOSM aŭ Merkaartor)
browse:
+ created: Kreita
+ closed: Fermita
+ created_html: Kreita <abbr title='%{title}'>antaŭ %{time}</abbr>
+ closed_html: Fermita <abbr title='%{title}'>antaŭ %{time}</abbr>
+ created_by_html: Kreita <abbr title='%{title}'>antaŭ %{time}</abbr> de %{user}
+ deleted_by_html: Forigita <abbr title='%{title}'>antaŭ %{time}</abbr> de %{user}
+ edited_by_html: Ŝanĝita <abbr title='%{title}'>antaŭ %{time}</abbr> de %{user}
+ closed_by_html: Fermita <abbr title='%{title}'>antaŭ %{time}</abbr> de %{user}
+ version: Versio
+ in_changeset: Ŝanĝaro
+ anonymous: anonimulo
+ no_comment: (nenia komento)
+ part_of: Parto de
+ download_xml: Elŝuti XML
+ view_history: Vidi historion
+ view_details: Montri detalojn
+ location: 'Pozicio:'
changeset:
- title: Ŝanĝaro
+ title: 'Ŝanĝaro: %{id}'
+ belongs_to: Aŭtoro
+ node: Nodoj (%{count})
+ node_paginated: Nodoj (%{x}-%{y} el %{count})
+ way: Linioj (%{count})
+ way_paginated: Linioj (%{x}-%{y} el %{count})
+ relation: Rilatoj (%{count})
+ relation_paginated: Rilatoj (%{x}-%{y} el %{count})
+ comment: Komentoj (%{count})
+ hidden_commented_by: Kaŝita komento de %{user} <abbr title='%{exact_time}'>deantaŭ
+ %{when}</abbr>
+ commented_by: Komento de %{user} <abbr title='%{exact_time}'>deantaŭ %{when}</abbr>
changesetxml: Ŝanĝaro XML
osmchangexml: osmŜanĝo XML
feed:
title: Ŝanĝaro %{id}
title_comment: Ŝanĝaro %{id} - %{comment}
+ join_discussion: Ensalutu por diskuti
+ discussion: Diskuto
+ node:
+ title: 'Nodo: %{name}'
+ history_title: 'Historio de nodo: %{name}'
+ way:
+ title: 'Linio: %{name}'
+ history_title: 'Historio de linio: %{name}'
+ nodes: Nodoj
+ also_part_of:
+ one: parto de linio %{related_ways}
+ other: parto de linioj %{related_ways}
+ relation:
+ title: 'Rilato: %{name}'
+ history_title: 'Historio de rilato: %{name}'
+ members: Anoj
relation_member:
entry_role: '%{type} %{name} kiel %{role}'
type:
node: Nodo
- way: Vojo
+ way: Linio
relation: Rilato
containing_relation:
entry: Rilato %{relation_name}
entry_role: Rilato %{relation_name} (kiel %{relation_role})
not_found:
- sorry: Bedaŭrinde, la %{type} kun id %{id}, ne troveblas.
+ sorry: Bedaŭrinde, la %{type} kun id %{id} ne troveblas.
type:
node: nodo
- way: vojo
+ way: linio
relation: rilato
changeset: ŝanĝaro
+ note: rimarko
timeout:
sorry: Bedaŭrinde, la datumoj por la %{type} kun la identigilo %{id} alvenis
tro malrapide.
type:
node: nodo
- way: vojo
+ way: linio
relation: rilato
changeset: ŝanĝaro
+ note: rimarko
redacted:
redaction: Redakto %{id}
- message_html: Ne eblas montri la version %{version} de tiu ĉi %{type} ĉar ĝi
- estas redaktita. Vidu %{redaction_link} por pli da detaloj.
+ message_html: La versio %{version} de ĉi tiu %{type} ne montreblas, ĉar ĝi estis
+ redaktita. Vidu %{redaction_link} por pli da detaloj.
type:
node: nodo
- way: vojo
+ way: linio
relation: rilato
start_rjs:
+ feature_warning: Ŝarĝanta %{num_features} objektojn, kiuj povas igi vian foliumilon
+ malrapida aŭ nerespondebla. Ĉu vi certe volas montri ĉi tiujn datumojn?
load_data: Elŝuti datumojn
- loading: Ŝarĝante...
+ loading: Ŝargado...
tag_details:
- tags: 'Etikedoj:'
+ tags: Etikedoj
+ wiki_link:
+ key: La viki-paĝo priskribanta la etikedon '%{key}'
+ tag: La viki-paĝo priskribanta la etikedon '%{key}=%{value}'
+ wikidata_link: La %{page} elemento en Vikidatumoj
wikipedia_link: La artikolo %{page} en Vikipedio
+ telephone_link: Telefoni %{phone_number}
note:
- title: Noto
- description: 'Priskribo:'
+ title: 'Rimarko: %{id}'
+ new_note: Nova rimarko
+ description: Priskribo
+ open_title: 'Nesolvita rimarko #%{note_name}'
+ closed_title: 'Solvita rimarko #%{note_name}'
+ hidden_title: 'Kaŝita rimarko #%{note_name}'
+ open_by: Kreita de %{user} <abbr title='%{exact_time}'>antaŭ %{when}</abbr>
+ open_by_anonymous: Kreita de anonimulo <abbr title='%{exact_time}'>antaŭ %{when}</abbr>
+ commented_by: Komento de %{user} <abbr title='%{exact_time}'>deantaŭ %{when}</abbr>
+ commented_by_anonymous: Komenta anonima <abbr title='%{exact_time}'>deantaŭ
+ %{when}</abbr>
+ closed_by: Solvita de %{user} <abbr title='%{exact_time}'>antaŭ %{when}</abbr>
+ closed_by_anonymous: Solvita de anonimulo <abbr title='%{exact_time}'>antaŭ
+ %{when}</abbr>
+ reopened_by: Re-malfermita de %{user} <abbr title='%{exact_time}'>antaŭ %{when}</abbr>
+ reopened_by_anonymous: Re-malfermita de anonimulo <abbr title='%{exact_time}'>antaŭ
+ %{when}</abbr>
+ hidden_by: Kaŝita de %{user} <abbr title='%{exact_time}'>antaŭ %{when}</abbr>
+ query:
+ title: Informoj pri objektoj
+ introduction: Alklaku la mapon por trovi proksimajn objektojn.
+ nearby: Proksimaj objektoj
+ enclosing: Ĉirkaŭaj objektoj
changeset:
changeset_paging_nav:
showing_page: Paĝo %{page}
- next: Sekvanta »
+ next: Sekva »
previous: « Antaŭa
changeset:
- anonymous: Anonima
+ anonymous: Anonimulo
no_edits: (neniaj redaktoj)
+ view_changeset_details: Vidi detaloj pri ŝanĝaro
changesets:
id: ID
- saved_at: Konservita la
+ saved_at: Konservita je
user: Uzanto
comment: Komento
area: Areo
list:
+ title: Ŝanĝaroj
+ title_user: Ŝanĝaroj de %{user}
title_friend: Ŝanĝaroj de viaj amikoj
- title_nearby: Ŝanĝaroj de proksimaj uzuloj
+ title_nearby: Ŝanĝaroj de proksimaj uzantoj
+ empty: Neniaj ŝanĝaroj trovitaj.
+ empty_area: Neniaj ŝanĝaroj en ĉi tiu areo.
+ empty_user: Neniaj ŝanĝaroj de ĉi tiu uzanto.
+ no_more: Neniaj pliaj ŝanĝaroj trovitaj.
+ no_more_area: Neniaj pliaj ŝanĝaroj en ĉi tiu areo.
+ no_more_user: Neniaj pliaj ŝanĝaroj de ĉi tiu uzanto.
+ load_more: Legi pli
timeout:
- sorry: Pardonu; daŭris tro longe kompili la petitan liston de ŝanĝaroj.
+ sorry: Bedaŭrinde, daŭris tro longe kompili la petitan liston de ŝanĝaroj.
+ rss:
+ title_all: Diskuto pri OpenStreetMap ŝanĝaro
+ title_particular: 'Diskuto pri ŝanĝaro #%{changeset_id}'
+ comment: 'Nova komento de %{author} al ŝanĝaro #%{changeset_id}'
+ commented_at_html: Ĝisdatiga antaŭ %{when}
+ commented_at_by_html: Ĝisdatigita antaŭ %{when} de %{user}
+ full: Tuta diskuto
diary_entry:
new:
- title: Nova taglibra ero
+ title: Nova ĵurnal-afiŝo
+ publish_button: Publiki
list:
- title: Uzantĵurnaloj
- title_friends: Taglibroj de amikoj
+ title: Ĵurnaloj de uzantoj
+ title_friends: Ĵurnaloj de amikoj
+ title_nearby: Ĵurnaloj de proksimaj uzantoj
user_title: Ĵurnalo de %{user}
- older_entries: Pli malnovaj enskriboj
- newer_entries: Pli novaj enskriboj
+ in_language_title: Ĵurnal-afiŝoj en %{language}
+ new: Nova ĵurnal-afiŝo
+ new_title: Kreu novan afiŝon en vian uzant-ĵurnalo
+ no_entries: Neniaj ĵurnal-afiŝoj
+ recent_entries: Ĵusaj ĵurnal-afiŝoj
+ older_entries: Pli malnovaj afiŝoj
+ newer_entries: Pli novaj afiŝoj
edit:
+ title: Redakti ĵurnal-afiŝon
+ subject: 'Temo:'
+ body: 'Enhavo:'
language: 'Lingvo:'
location: 'Loko:'
latitude: 'Latitudo:'
longitude: 'Longitudo:'
use_map_link: uzi mapon
save_button: Konservi
+ marker_text: Kie krei la afiŝon
view:
- title: Uzantĵurnaloj | %{user}
+ title: Ĵurnalo de %{user} | %{title}
user_title: Ĵurnalo de %{user}
leave_a_comment: Komenti
+ login_to_leave_a_comment: '%{login_link} por aldoni komenton'
login: Ensaluti
save_button: Konservi
+ no_such_entry:
+ title: Ĉi tiu ĵurnal-afiŝo ne ekzistas
+ heading: 'Nenia afiŝo kun la identigilo: %{id}'
+ body: Bedaŭrinde, ne ekzistas ĵurnal-afiŝo kun la identigilo %{id}. Bonvolu
+ kontroli pri liter-eraroj, aŭ eble vi alklakis mis-ligilon.
diary_entry:
+ posted_by: Publikigita de %{link_user} je %{created} en %{language_link}
+ comment_link: Komenti pri ĉi tiu afiŝo
+ reply_link: Respondi al ĉi tiu afiŝo
comment_count:
one: '%{count} komento'
zero: Sen komentoj
other: '%{count} komentoj'
edit_link: Redakti ĉi tiun enskribon
+ hide_link: Kaŝi ĉi tiu afiŝon
confirm: Konfirmi
diary_comment:
- hide_link: Kaši ĉi tiun komenton
+ comment_from: Komento de %{link_user} je %{comment_created_at}
+ hide_link: Kaŝi ĉi tiun komenton
confirm: Konfirmi
+ location:
+ location: 'Loko:'
+ view: Montri
+ edit: Redakti
+ feed:
+ user:
+ title: OpenStreetMap ĵurnal-afiŝoj de %{user}
+ description: Ĵusaj OpenStreetMap ĵurnal-afiŝoj de %{user}
+ language:
+ title: OpenStreetMap ĵurnal-afiŝoj en %{language_name}
+ description: Ĵusaj ĵuran-afiŝoj de OpenStreetMap-uzantoj en %{language_name}
+ all:
+ title: OpenStreetMap ĵurnal-afiŝoj
+ description: Ĵusaj ĵurnal-afiŝoj de OpenStreetMap-uzantoj
+ comments:
+ has_commented_on: '%{display_name} komentis ĉe jenaj ĵurnal-afiŝoj'
+ post: Afiŝi
+ when: Kiam
+ comment: Komento
+ ago: antaŭ %{ago}
+ newer_comments: Novaj komentoj
+ older_comments: Malnovaj komentoj
export:
+ title: Elporti
start:
- area_to_export: Eksportonta areo
- manually_select: Mane elekti alian aeron.
- format_to_export: Formato por Eksportado
+ area_to_export: Elportonta areo
+ manually_select: Permane elektu alian areon.
+ format_to_export: Elport-formo
osm_xml_data: XML datumoj de OpenStreetMap
+ map_image: Bildo de mapo (norma tavolo)
+ embeddable_html: Enkorpigebla HTML
licence: Permesilo
- options: Opcioj
- format: Formato
+ export_details: OpenStreetMap-datumoj estas disponebla laŭ la permesilo <a href="http://opendatacommons.org/licenses/odbl/1.0/">Open
+ Data Commons Open Database License</a> (ODbL).
+ too_large:
+ advice: 'Se la elportado malsukcesis, bonvolu uzi unu el jenaj fontoj:'
+ body: La elektita areo estas tro granda por esti elportita kiel XML-datumojn
+ de OpenStreetMap. Bonvolu pligrandigi aŭ elekti malpli grandan areon, aŭ
+ uzi unu el sekvaj fontoj por amasa datum-elportado.
+ planet:
+ title: Planedo OSM
+ description: Ofte-ĝisdatigataj kopioj de plena OpenStreetMap datumbazo
+ overpass:
+ title: Overpass API
+ description: Elŝutas ĉi tiun areon de spegulkopio de OpenStreetMap datumbazo
+ geofabrik:
+ title: Elŝuti el Geofabrik
+ description: Ofte-ĝisdatigataj eltiraĵoj de kontinentoj, landoj, kaj elektitaj
+ urboj
+ metro:
+ title: Metro-eltiraĵoj
+ description: Eltiraĵoj de ĉefaj mondaj urboj kaj iliaj ĉirkaŭaĵoj
+ other:
+ title: Aliaj fontoj
+ description: Aliaj fontoj enlistigitaj ĉe OpenStreetMap-vikio
+ options: Elektebloj
+ format: Formo
scale: Skalo
max: maks
image_size: Bildamplekso
- zoom: Zomi
+ zoom: Pligrandigi
add_marker: Aldoni markon al la mapo
latitude: 'Lat:'
longitude: 'Lon:'
output: Eliro
- export_button: Eksporti
+ paste_html: Engluu HTML-kodon al via retpaĝo
+ export_button: Elporti
geocoder:
search:
title:
osm_nominatim: Rezultoj el <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
Nominatim</a>
geonames: Rezultoj el <a href="http://www.geonames.org/">GeoNames</a>
+ osm_nominatim_reverse: Rezultoj el <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+ Nominatim</a>
+ geonames_reverse: Rezultoj el <a href="http://www.geonames.org/">GeoNames</a>
search_osm_nominatim:
prefix:
+ aerialway:
+ cable_car: Telfero unu-vagoneta
+ chair_lift: Telfero seĝa
+ drag_lift: Skitelfero
+ gondola: Telfero plur-vagoneta
+ station: Kablovoja stacio
+ aeroway:
+ aerodrome: Aerodromo
+ apron: Aviadil-parkumejo
+ gate: Pordego
+ helipad: Surteriĝejo helikoptera
+ runway: Avia dromo
+ taxiway: Aŭtokur-strato
+ terminal: Flugstacio
amenity:
- bank: Banko
- bar: Bufedo
- bus_station: Bus-stacio
+ animal_shelter: Azilo por bestoj
+ arts_centre: Belart-centro
+ atm: Bankaŭtomato
+ bank: Bankejo
+ bar: Drinkejo
+ bbq: Rostilo
+ bench: Benko
+ bicycle_parking: Parkumejo bicikla
+ bicycle_rental: Bicikl-pruntejo
+ biergarten: Bierĝardeno
+ boat_rental: Boat-pruntejo
+ brothel: Putinejo
+ bureau_de_change: Monŝanĝejo
+ bus_station: Aŭtobus-stacio
cafe: Kafejo
car_rental: Aŭtomobil-pruntejo
+ car_sharing: Aŭto-pruntejo komunuma (organizita kunveturado)
car_wash: Aŭtopurigejo
casino: Kazino
+ charging_station: Ŝargstacio
+ childcare: Prizorgejo pri infanoj
cinema: Kinejo
- clinic: Kliniko
- club: Klubo
- dentist: Dentisto
- embassy: Ambasadorejo
+ clinic: Kuracistejo
+ clock: Horloĝo
+ college: Kolegio
+ community_centre: Komunuma centro
+ courthouse: Juĝdomo
+ crematorium: Kadavro-bruligejo
+ dentist: Dentistejo
+ doctors: Kabineto de kuracisto
+ dormitory: Studenthejmo
+ drinking_water: Trinkakvejo
+ driving_school: Stirlernejo
+ embassy: Ambasadejo
+ emergency_phone: Alarma telefono
+ fast_food: Rapidmanĝejo
+ ferry_terminal: Pramstacio
+ fire_hydrant: Hidranto
+ fire_station: Fajrobribadejo
+ food_court: Manĝo-bazaro
fountain: Fontano
- hospital: Hostpitalo
- hotel: Hotelo
- library: Libraro
+ fuel: Benzinejo
+ gambling: Hazardludejo
+ grave_yard: Tombejo ĉirkaŭpreĝeja
+ gym: Ripoz-gimnastika centro
+ health_centre: Medicina centro
+ hospital: Malsanulejo
+ hunting_stand: Altembusko ĉasada
+ ice_cream: Glaciaĵejo
+ kindergarten: Infanĝardeno
+ library: Biblioteko
market: Bazaro
- nightclub: Nokta klubo
- park: Parko
+ marketplace: Bazaro
+ monastery: Monaĥejo
+ motorcycle_parking: Parkumejo motorcikla
+ nightclub: Noktoklubejo
+ nursery: Infanejo
+ nursing_home: Domo de permanenta zorgado
+ office: Oficejo
+ parking: Parkumejo
+ parking_entrance: Enveturejo al parkumejo
pharmacy: Apoteko
- police: Polico
+ place_of_worship: Preĝejo
+ police: Policejo
+ post_box: Poŝtkesto
+ post_office: Poŝtoficejo
+ preschool: Infanejo
prison: Malliberejo
+ pub: Taverno
+ public_building: Konstruaĵo publika
+ reception_area: Atendejo
+ recycling: Recikligejo
restaurant: Restoracio
+ retirement_home: Maljunulejo
+ sauna: Ŝvitbanejo
school: Lernejo
+ shelter: Ŝirmejo
shop: Vendejo
- supermarket: Superbazaro
+ shower: Duŝejo
+ social_centre: Centro de socio
+ social_club: Socia klubejo
+ social_facility: Socia servejo
+ studio: Studio
+ swimming_pool: Naĝejo
+ taxi: Taksistacio
telephone: Publika telefono
theatre: Teatro
+ toilets: Necesejo
+ townhall: Urbodomo
university: Universitato
- wifi: WiFi-atingo
+ vending_machine: Vendilo
+ veterinary: Bestokuracistejo
+ village_hall: Komunuma centro (vilaĝo)
+ waste_basket: Rubujo
+ waste_disposal: Rubujego
+ youth_centre: Junulara centro
boundary:
+ administrative: Administra limo
+ census: Popolnombrada limo
national_park: Nacia parko
+ protected_area: Naturprotektejo
bridge:
aqueduct: Akvedukto
+ suspension: Pendoponto
+ swing: Ponto turnebla
viaduct: Viadukto
"yes": Ponto
building:
"yes": Konstruaĵo
+ craft:
+ brewery: Bierfarejo
+ carpenter: Ĉarpentistejo
+ electrician: Elektristejo
+ gardener: Ĝardenistejo
+ painter: Farbistejo
+ photographer: Fotistejo
+ plumber: Tubistejo
+ shoemaker: Ŝuistejo
+ tailor: Tajlorejo
+ "yes": Metiejo
+ emergency:
+ ambulance_station: Ambulanca stacio
+ defibrillator: Defibrililo
+ landing_site: Surteriĝejo en urĝo
+ phone: Alarma telefono
highway:
- bus_stop: Bus-haltejo
- path: Vojo
- primary_link: Strato de unua ordo
+ abandoned: Forlasita vojo
+ bridleway: Ĉevalvojo
+ bus_guideway: Aŭtobus-trako
+ bus_stop: Haltejo aŭtobusa
+ construction: Vojo konstruata
+ cycleway: Bicikovojo
+ elevator: Lifto
+ emergency_access_point: Vivsava rekonebla signo
+ footway: Piedvojeto
+ ford: Travadejo
+ living_street: Ĉedoma strato
+ milestone: Mejloŝtono
+ motorway: Aŭtovojo
+ motorway_junction: Elveturejo el aŭtovojo
+ motorway_link: Ligilo al aŭtovojo
+ path: Vojeto
+ pedestrian: Piedirada strato
+ platform: Haltejo
+ primary: Vojo unua-ranga
+ primary_link: Ligilo al vojo unua-ranga
+ proposed: Vojo proponita
+ raceway: Vojo por aŭtokonkursado
+ residential: Vojo loka
+ rest_area: Servejo de vojaĝantoj
road: Vojo
+ secondary: Vojo dua-ranga
+ secondary_link: Ligilo al vojo dua-ranga
+ service: Vojo alira
+ services: Servejo de vojaĝantoj
+ speed_camera: Rapid-kontrolilo
+ steps: Ŝtuparo
+ street_lamp: Stratlampo
+ tertiary: Vojo tria-ranga
+ tertiary_link: Ligilo al vojo tria-ranga
+ track: Vojo kampa
+ traffic_signals: Trafiklumoj
+ trail: Kurso
+ trunk: Vojo ekspresa
+ trunk_link: Ligilo al vojo ekspresa
+ unclassified: Vojo kvara-ranga
+ unsurfaced: Ligilo al vojo kvara-ranga
+ "yes": Vojo
historic:
+ archaeological_site: Arĥeologia ejo
+ battlefield: Batalejo historia
+ boundary_stone: Limŝtono
+ building: Konstruaĵo historia
+ bunker: Bunkro armea
+ castle: Kastelo
+ church: Kirko
+ city_gate: Pordego urba
+ citywalls: Muro urba
+ fort: Fortikaĵo
+ heritage: Heredaĵa objekto/ejo
house: Domo
+ icon: Ikono
+ manor: Palaceto historia
+ memorial: Memorigaĵo (eta monumento)
+ mine: Minejo
monument: Monumento
- museum: Muzeo
+ roman_road: Romia ŝoseo
+ ruins: Ruinoj historiaj
+ stone: Ŝtonego historia
+ tomb: Tombo
tower: Turo
+ wayside_cross: Krucifikso apudvoja
+ wayside_shrine: Adorejo apudvoja
+ wreck: Ruinoj de ŝipo
+ junction:
+ "yes": Vojkruciĝo
landuse:
+ allotments: Familiaj ĝardenoj
+ basin: Baseno
+ brownfield: Antaŭ-konstruejo (post-malkonstruado)
+ cemetery: Tombejo
+ commercial: Oficeja tereno
+ conservation: Natur-konservejo
+ construction: Konstruejo
+ farm: Farmejo
+ farmland: Agrokultura tereno
+ farmyard: Farmkorto
+ forest: Kultiv-arbaro
+ garages: Garaĝaro
+ grass: Herbotapiŝo
+ greenfield: Antaŭ-konstruejo (virga)
+ industrial: Industria tereno
+ landfill: Rubodeponejo
+ meadow: Kultiv-herbejo
+ military: Armea tereno
mine: Minejo
- park: Parko
+ orchard: Fruktoĝardeno
+ quarry: Minejo subĉiela
railway: Fervojo
- wood: Arbaro
+ recreation_ground: Ripoza tereno
+ reservoir: Lago artefarita
+ reservoir_watershed: Baseno artefarita
+ residential: Privatdoma tereno
+ retail: Komercejo
+ road: Tereno de vojoj
+ village_green: Verda tereno
+ vineyard: Vinberĝardeno
+ "yes": Utilkampo
+ leisure:
+ beach_resort: Apudmara ripoz-centro
+ bird_hide: Bird-observejo
+ club: Klubejo
+ common: Publika ripoza tereno
+ dog_park: Hund-parko
+ fishing: Fiŝkaptadejo
+ fitness_centre: Ripoz-gimnastika centro
+ fitness_station: Ekzerco-parko
+ garden: Ĝardeno
+ golf_course: Golfludejo
+ horse_riding: Rajdadejo
+ ice_rink: Glitkurejo
+ marina: Jaĥt-haveno
+ miniature_golf: Minigolfludejo
+ nature_reserve: Naturrezervejo
+ park: Parko
+ pitch: Ludkampo
+ playground: Infana ludejo
+ recreation_ground: Ripoza tereno
+ resort: Turisma centro
+ sauna: Ŝvitbanejo
+ slipway: Ŝipglitejo
+ sports_centre: Sporta centro
+ stadium: Stadiono
+ swimming_pool: Naĝejo
+ track: Kurejo
+ water_park: Akvoparko
+ "yes": Ripozejo
+ man_made:
+ lighthouse: Lumturo
+ pipeline: Tubolinio
+ tower: Turo
+ works: Fabriko
+ "yes": Artefarita objekto
+ military:
+ airfield: Aerbazo armea
+ barracks: Soldatejo
+ bunker: Bunkro armea
+ mountain_pass:
+ "yes": Montpasejo
natural:
+ bay: Golfo
+ beach: Sablobordo
+ cape: Promontoro
+ cave_entrance: Enirejo al kaverno
+ cliff: Klifo
+ crater: Kratero
+ dune: Sablomonto
+ fell: Alpo
fjord: Fjordo
forest: Arbaro
+ geyser: Gejsero
+ glacier: Glacirivero
+ grassland: Herbejo
+ heath: Erikejo
hill: Monteto
island: Insulo
- land: Lando
- river: Rivero
+ land: Tero
+ marsh: Aluvia grundo
+ moor: Arbustetaro
+ mud: Kotejo
+ peak: Montpinto
+ point: Punkto
+ reef: Rifo
+ ridge: Montokresto
+ rock: Roko
+ saddle: Sela punkto (intermonto)
+ sand: Sabla tereno
+ scree: Rokfalaĵo
+ scrub: Arbustaro
+ spring: Akvofonto
+ stone: Roko
+ strait: Markolo
tree: Arbo
+ valley: Valo
volcano: Vulkano
- water: Akvo
+ water: Akvujo
+ wetland: Malsekejo
+ wood: Arbaro
+ office:
+ accountant: Oficejo de kontisto
+ administrative: Administra oficejo
+ architect: Oficejo de arĥitekturisto
+ company: Oficejo de firmao
+ employment_agency: Dungoficejo
+ estate_agent: Oficejo de nemoveblaĵisto
+ government: Registara oficejo
+ insurance: Asekurkompaniejo
+ lawyer: Oficejo de leĝisto
+ ngo: Oficejo de ne-registara organizaĵo
+ telecommunication: Telekomunikada oficejo
+ travel_agent: Vojaĝ-oficejo
+ "yes": Oficejo
place:
+ allotments: Familiaj ĝardenoj
+ block: Bloko
+ airport: Flughaveno
city: Urbego
country: Lando
+ county: Distrikto
farm: Farmobieno
+ hamlet: Vilaĝeto
house: Domo
houses: Domoj
+ island: Insulo
+ islet: Insuleto
+ isolated_dwelling: Solstaranta domo
+ locality: Ejo
+ moor: Arbustetaro
+ municipality: Municipo
+ neighbourhood: Najbaraĵo
+ postcode: Poŝtkodo
region: Regiono
sea: Maro
- state: Ŝtato
+ state: Provinco
+ subdivision: Kvartalo
+ suburb: Suburbo
town: Urbo
+ unincorporated_area: Ekstermunicipa tereno
+ village: Vilaĝo
+ "yes": Ejo
railway:
+ abandoned: Eksa fervojlinio
+ construction: Fervojlinio konstruata
+ disused: Forlasita fervojlinio
+ disused_station: Forlasita stacio fervoja
+ funicular: Funikularo
+ halt: Haltejo fervoja
+ historic_station: Fervoja stacidomo historia
+ junction: Fervojnodo
+ level_crossing: Traknivela pasejo (vojo)
+ light_rail: Fervojo malpeza
+ miniature: Miniatura fervojo
+ monorail: Fervojo unurela
+ narrow_gauge: Fervojo etŝpura
+ platform: Kajo fervoja
+ preserved: Fervojo historia
+ proposed: Fervojo proponita
+ spur: Branĉtrako
+ station: Stacidomo fervoja
+ stop: Haltejo fervoja
+ subway: Metroo
+ subway_entrance: Metro-enirejo
+ switch: Trakforko
tram: Tramlinio
- tram_stop: Tram-haltejo
+ tram_stop: Haltejo trama
shop:
+ alcohol: Alkohol-vendejo
+ antiques: Antikvaĵ-vendejo
+ art: Artaĵ-vendejo
+ bakery: Panejo
+ beauty: Beligejo
+ beverages: Trinkaĵ-vendejo
+ bicycle: Bicikl-vendejo
books: Libro-vendejo
+ boutique: Galanterio
+ butcher: Viand-vendejo
+ car: Aŭtomobil-vendejo
+ car_parts: Aŭtomobil-parta vendejo
+ car_repair: Aŭtoriparejo
+ carpet: Tapiŝ-vendejo
+ charity: Almoza vendejo
+ chemist: Drogejo
+ clothes: Vesto-vendejo
computer: Komputil-vendejo
- hifi: Hi-Fi
+ confectionery: Sukeraĵejo
+ convenience: Butiko oportuna
+ copyshop: Fotokopiilejo
+ cosmetics: Kosmetikaĵ-vendejo
+ deli: Delikataĵ-vendejo
+ department_store: Ĉiovendejo
+ discount: Vendejo kun rabatitaj artikoloj
+ doityourself: Memfaradil-vendejo
+ dry_cleaning: Vestaĵ-lavejo (nepolara solvilo)
+ electronics: Elektronik-vendejo
+ estate_agent: Oficejo de nemoveblaĵisto
+ farm: Terfrukt-vendejo
+ fashion: Mod-butiko
+ fish: Marfrukt-vendejo
+ florist: Florvendejo
+ food: Manĝovendejo
+ funeral_directors: Tombistejo
+ furniture: Mebl-vendejo
+ gallery: Artaĵ-vendejo
+ garden_centre: Ĝarden-vendejaro
+ general: Ĝeneral-vendejo
+ gift: Suvenir-vendejo
+ greengrocer: Legom-butiko
+ grocery: Manĝovendejo
+ hairdresser: Frizejo
+ hardware: Il-vendejo
+ hifi: Altfidel-son-vendejo
+ insurance: Asekurkompaniejo
+ jewelry: Juvel-vendejo
+ kiosk: Kiosko
+ laundry: Vestaĵ-lavejo (akvo)
+ mall: Vendejaro
+ market: Bazaro
+ mobile_phone: Poŝtelefon-vendejo
+ motorcycle: Motorcikl-vendejo
music: Muzik-vendejo
+ newsagent: Gazet-vendejo
+ optician: Optikbutiko
+ organic: Ekologi-manĝaĵa vendejo
+ outdoor: Vojaĝil-vendejo
+ pet: Dombest-vendejo
+ pharmacy: Apoteko
+ photo: Fotovendejo
+ salon: Beligejo
+ second_hand: Brokantejo
+ shoes: Ŝuo-vendejo
+ shopping_centre: Vendejaro
+ sports: Sportovendejo
+ stationery: Papervaro-vendejo
+ supermarket: Superbazaro
+ tailor: Tajlorejo
+ toys: Ludil-vendejo
+ travel_agency: Vojaĝ-oficejo
+ video: Filmovendejo
+ wine: Alkohol-vendejo
+ "yes": Vendejo
tourism:
+ alpine_hut: Montara kabano
+ apartment: Apartamento feria
+ artwork: Artverko
+ attraction: Atrakcio
+ bed_and_breakfast: Pensiono 'tranokti k matenmanĝi'
+ cabin: Kabano
+ camp_site: Kampadejo
+ caravan_site: Kampadveturil-parkumejo
+ chalet: Dometo feria
+ gallery: Artgalerio
+ guest_house: Pensiono
+ hostel: Gastejo
+ hotel: Hotelo
+ information: Informejo
+ motel: Aŭtohotelo
museum: Muzeo
+ picnic_site: Piknika ejo
+ theme_park: Amuzparko
+ viewpoint: Belvidejo
+ zoo: Bestoĝardeno
+ tunnel:
+ culvert: Subvoja konduktilo
+ "yes": Tunelo
+ waterway:
+ artificial: Akvovojo artefarita
+ boatyard: Ŝipkonstruejo
+ canal: Akvovojo
+ dam: Akvobaraĵo
+ derelict_canal: Akvovojo neuzata
+ ditch: Fosaĵeto defluiga
+ dock: Doko
+ drain: Fosaĵo defluiga
+ lock: Kluzo (baseno)
+ lock_gate: Kluzo (pordego)
+ mooring: Ŝipaligejo (konstruaĵo)
+ rapids: Rivero rapida
+ river: Rivero
+ stream: Rivereto
+ wadi: Rivero sezona
+ waterfall: Akvofalo
+ weir: Riversojlo
+ "yes": Akvovojo
+ admin_levels:
+ level2: Limo de lando (niv.2)
+ level4: Limo de provinco (niv.4)
+ level5: Limo de regiono (niv.5)
+ level6: Limo de distrikto (niv.6)
+ level8: Limo de urbo (niv.8)
+ level9: Limo de kvartalo (niv.9)
+ level10: Limo de subkvartalo (niv.10)
description:
title:
osm_nominatim: Loko el <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
Nominatim</a>
geonames: Loko el <a href="http://www.geonames.org/">GeoNames</a>
types:
- cities: Grandurboj
+ cities: Urbegoj
towns: Urboj
places: Lokoj
results:
no_results: Neniu rezulto trovita
- distance:
- one: ĉirkaŭ 1km
- zero: malpi ol 1km
- other: ĉirkaŭ %{count}km
- direction:
- south_west: sudokcidento
- south: sudo
- south_east: sudoriento
- east: oriento
- north_east: nordoriento
- north: nordo
- north_west: nordokcidento
- west: okcidento
+ more_results: Pliaj rezultoj
layouts:
logo:
alt_text: Emblemo de OpenStreetMap
- home: hejmo
- logout: elsaluti
- log_in: ensaluti
+ home: Iri al la hejmloko
+ logout: Elsaluti
+ log_in: Ensaluti
log_in_tooltip: Ensaluti kun ekzistanta konto
- sign_up: aliĝi
+ sign_up: Registriĝi
+ start_mapping: Eki mapigadon
sign_up_tooltip: Krei konton por redaktado
edit: Redakti
history: Historio
- export: Eksporti
- gps_traces: GPS spuroj
+ export: Elporti
+ data: Datumoj
+ export_data: Elporti datumojn
+ gps_traces: GPS-spuroj
gps_traces_tooltip: Manipuli la GPS-spurojn
- user_diaries: Uzantĵurnaloj
- user_diaries_tooltip: Vidi uzantĵurnalojn
- tag_line: La libera vikia mondmapo
- donate: Subtenu OpenStreetMap %{link} al Fonduso de Ĝisdatigo de Aparataro.
+ user_diaries: Ĵurnaloj de uzantoj
+ user_diaries_tooltip: Esplori ĵurnalojn de uzantoj
+ edit_with: Redakti per %{editor}
+ tag_line: La libera viki-mondmapo
+ intro_header: Bonvenon al OpenStreetMap!
+ intro_text: OpenStreetMap estas mapo de la mondo, kreata de homoj kiel vi, kaj
+ libere uzebla sub malferma permesilo.
+ intro_2_create_account: Krei konton
+ partners_html: Retgastigo estas liverata de %{ucl}, %{ic}, %{bytemark} kaj aliaj
+ %{partners}.
+ partners_ucl: la centro UCL VR
+ partners_ic: Imperial College London
+ partners_bytemark: Bytemark Hosting
+ partners_partners: kunlaborantoj
+ osm_offline: La OpenStreetMap-datumbazo estas nuntempe nealireabla pro necesaj
+ laboroj de prizorgado.
+ osm_read_only: La OpenStreetMap-datumbazo estas nuntempe nurlega pro necesaj laboroj
+ de prizorgado.
+ donate: Subteni OpenStreetMap %{link} al fonduso por modernigi aparataron.
+ help: Helpo
+ about: Pri
+ copyright: Kopirajto
+ community: Komunumo
+ community_blogs: Taglibroj de komunumo
+ community_blogs_title: Taglibroj de anoj de OpenStreetMap-komunumo
+ foundation: Fondaĵo
+ foundation_title: La OpenStreetMap Fondaĵo
make_a_donation:
title: Subteni OpenStreetMap per mondonaco
text: Donaci
+ learn_more: Lerni pli
+ more: Pli
license_page:
foreign:
title: Pri ĉi tiu traduko
+ text: Se okazus konflikto inter ĉi tiu tradukita paĝo kaj %{english_original_link},
+ la angla paĝo estas preferata.
+ english_link: la originalo en la angla
+ native:
+ title: Pri ĉi tiu paĝo
+ text: Vi legas la anglan version de paĝo pri kopirajto. Vi povas reveni al la
+ %{native_link} de ĉi tiu paĝo aŭ vi povas ĉesi legi pri kopirajto kaj %{mapping_link}.
+ native_link: Esperanta versio
+ mapping_link: eki mapigadon
+ legal_babble:
+ title_html: Kopirajto kaj permesilo
+ intro_1_html: |-
+ OpenStreetMap<sup><a href="#trademarks">®</a></sup> estas projekto de <i>malfermaj datumoj</i> eldonita sub la permesilo <a
+ href="http://opendatacommons.org/licenses/odbl/">Open Data
+ Commons Open Database License</a> (ODbL) de la <a
+ href="http://osmfoundation.org/">OpenStreetMap Fondaĵo</a> (OSMF).
+ intro_2_html: Vi rajtas kopii, disdoni, transdoni kaj modifi niajn datumojn,
+ nur se vi atribuos aŭtorecon al OpenStreetMap kaj ĝiaj kontribuintoj. Se vi
+ modifos aŭ uzos niajn datumojn, vi povos distribui la verkon sub la sama permesilo.
+ La plena <a href="http://opendatacommons.org/licenses/odbl/1.0/">interkonsento
+ de uzado</a> eksplikas viajn rajtojn kaj devojn.
+ intro_3_html: |-
+ La kartografio de niaj map-kaheloj kaj nia dokumentaro estas disponeblaj sub la permesilo <a href="https://creativecommons.org/licenses/by-sa/2.0/deed.eo">Creative
+ Commons Atribuite-Samkondiĉe 2.0</a> (CC BY-SA).
+ credit_title_html: Kiel atribui aŭtorecon
+ credit_1_html: 'Ni postulas, ke vi markos: “© Kontribuintoj de OpenStreetMap”.'
+ credit_2_html: Vi ankaŭ devas klarigi, ke datumoj estas disponeblaj sub la permesilo
+ Open Database License, kaj kartografio de map-kaheloj sub la permesilo CC
+ BY-SA. Vi povas indiki tion per fari ligilon al <a href="http://www.openstreetmap.org/copyright">ĉi
+ tiu paĝo pri permesilo</a>. Alimaniere, se vi distribuas OSM en datuma formo,
+ vi povas mencii nomo(j)n kaj ligilo(j)n al la permesilo(j). Se ne estas eble
+ meti ligilojn (ekz. en paperaj mapoj), ni sugestas direkti viajn legantojn
+ al openstreetmap.org (eble meti plenan retadreson), al opendatacommons.org
+ kaj (se necesas) al creativecommons.org.
+ credit_3_html: |-
+ En esploreblaj elektronikaj mapoj, la aŭtorecon povas esti montrata ĉe la angulo de mapo.
+ Ekzemplo:
+ attribution_example:
+ alt: Ekzemplo kiel atribui OpenStreetMap sur retpaĝo
+ title: Ekzemplo de aŭtorec-atribuado
+ more_title_html: Sciigi pli
+ more_1_html: |-
+ Legu pli pri uzado de niaj datumoj kaj kiel atribui aŭtorecon, je la <a
+ href="http://osmfoundation.org/Licence">retpaĝo de OSMF Licence</a> kaj je la <a
+ href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">paĝo de oftaj demandoj pri leĝo</a>.
+ more_2_html: Kvankam la datumoj de OpenStreetMap estas liberaj, ni ne povas
+ liveri senpagan API-on por eksteraj programistoj. Legu nian <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">politikon
+ pri uzado de API</a>, <a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">politikon
+ pri uzado de kaheloj</a> kaj <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">poltikon
+ pri uzado de Nominatim</a>.
+ contributors_title_html: Kunlaborantoj
+ contributors_intro_html: 'Niaj kunlaborantoj estas miloj da homoj. Ni ankaŭ
+ inkludas datumoj sub malferma permesilo el landaj kartografiaj organizaĵoj
+ kaj el aliaj fontoj, inter ili:'
+ contributors_at_html: |-
+ <strong>Aŭstrujo</strong>: enhavas datumojn el <a href="http://data.wien.gv.at/">Stadt Wien</a> (sub <a href="http://creativecommons.org/licenses/by/3.0/at/deed.eo">CC BY</a>),
+ <a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> kaj
+ Land Tirol (sub <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT kun postaj ŝanĝoj</a>).
+ contributors_ca_html: |-
+ <strong>Kanado</strong>: enhavas datumojn el
+ GeoBase®, GeoGratis (© Department of Natural
+ Resources Canada), CanVec (© Department of Natural
+ Resources Canada), kaj StatCan (Geography Division,
+ Statistics Canada).
+ contributors_fi_html: |-
+ <strong>Suomujo</strong>: enhavas datumojn el
+ National Land Survey of Finland's Topographic Database kaj aliaj fontoj, sub la <a href="http://www.maanmittauslaitos.fi/en/NLS_open_data_licence_version1_20120501">NLSFI permesilo</a>.
+ contributors_fr_html: '<strong>Francujo</strong>: enhavas datumojn ricevitajn
+ el ''Direction Générale des Impôts''.'
+ contributors_nl_html: |-
+ <strong>Nederlando</strong>: enhavas datumojn el © AND, 2007
+ (<a href="http://www.and.com">www.and.com</a>).
+ contributors_nz_html: '<strong>Nov-Zelando</strong>: enhavas datumojn ricevitajn
+ el ''Land Information New Zealand''. Crown Copyright reserved.'
+ contributors_si_html: |-
+ <strong>Slovenujo</strong>: enhavas datumojn el <a href="http://www.gu.gov.si/">Ofico de Termezurado kaj Kartografio</a> kaj
+ <a href="http://www.mkgp.gov.si/">Ministerio pri Terkulturo, Arbarkulturo kaj Proviantado</a>
+ (publikaj informoj de Slovenujo).
+ contributors_za_html: |-
+ <strong>Sud-Afriko</strong>: enhavas datumojn ricevitajn el <a href="http://www.ngi.gov.za/">Chief Directorate:
+ National Geo-Spatial Information</a>, landaj kopirajtoj rezervitaj.
+ contributors_gb_html: |-
+ <strong>Unuiĝinta Reĝlando</strong>: enhavas datumojn el 'Ordnance
+ Survey' © Crown copyright and database right
+ 2010-12.
+ contributors_footer_1_html: |-
+ Por pli da detaloj pri ĉi tiuj kaj aliaj fontoj uzitaj por plibonigi OpenStreetMap, bonvolu viziti la <a
+ href="http://wiki.openstreetmap.org/wiki/Contributors">paĝon pri kontribuintoj</a> en la OpenStreetMap-vikio.
+ contributors_footer_2_html: Inkludo de datumoj en OpenStreetMap ne indikas,
+ ke la provizanto de datumoj apogas OpenStreetMap, garantias por iu aŭ respondumas
+ por iu.
+ infringement_title_html: Rompo de kopirajtoj
+ infringement_1_html: OSM-kunlaborantoj memoru, por ke neniam aldonu datumojn
+ el iuj ajn fontoj protektataj de kopirajto (ekz. Google Maps aŭ paperaj mapoj)
+ sen klara permeso de posedanto de kopirajtoj.
+ infringement_2_html: Se ve pensas, ke datumoj protektataj per kopirajto estas
+ misaldonitaj al OpenStreetMap-datumbazo aŭ al ĉi tiu retejo, bonvolu legi
+ pri <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">proceduro
+ de forigado de datumoj</a> aŭ plenigi la <a href="http://dmca.openstreetmap.org/">enretan
+ formularon</a>.
+ trademarks_title_html: <span id="trademarks"></span>Registritaj markoj
+ trademarks_1_html: OpenStreetMap, la piktogramo de grandiga lenso kaj 'State
+ of the Map' estas registritaj markoj de OpenStreetMap Fondaĵo. Se vi havas
+ iujn demandojn pri uzado de niaj markoj, bonvolu sendi viajn demandojn al
+ la <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">grupo
+ de laboro pri permesilo</a>.
+ welcome_page:
+ title: Bonvenon!
+ introduction_html: Bonvenon al OpenStreetMap, la libera kaj redaktebla mapo de
+ la mondo. Nun kiam vi registriĝis, vi povas eki mapigadon. Jen estas mallonga
+ manlibreto kun la plej gravaj aĵoj kiuj vi povas scii.
+ whats_on_the_map:
+ title: Kio estas sur la mapo
+ on_html: OpenStreetMap estas loko por mapigi objektojn, kiuj estas <em>kaj realaj
+ kaj aktualaj</em> - tiu estas milionoj da konstruaĵoj, vojoj kaj aliaj detalaĵoj
+ pri lokoj. Vi povas mapigi ĉiujn elementojn de reala mondo kiuj interesas
+ vin.
+ off_html: Ni <em>ne povas</em> inkludi personajn taksojn, eksajn aŭ malcertajn
+ objektojn, kaj datumoj de kopirajtataj fontoj. Escepte se vi estas permesita,
+ ne kopiu datumoj el aliaj interretaj aŭ paperaj mapoj.
+ basic_terms:
+ title: Fundamentaj terminoj pri mapigado
+ paragraph_1_html: OpenStreetMap havas sian propran ĵargonon. Jen estas kelkaj
+ utilaj vorotoj.
+ editor_html: <strong>Redaktilo</strong> estas programo aŭ retpaĝo, kiun vi povas
+ uzi por modifi mapon.
+ node_html: <strong>Nodo</strong> (ang. 'node') estas punkto sur la mapo, kiel
+ restoracio aŭ arbo.
+ way_html: <strong>Linio</strong> (ang. 'way') estas linio aŭ areo, kiel vojo,
+ rivereto, lago aŭ konstruaĵo.
+ tag_html: <strong>Etikedo</strong> (ang. 'tag') estas kolekto de datumoj priskribanta
+ nodon aŭ linion, kiel nomo de restoracio aŭ rapidlimo de vojo.
+ rules:
+ title: Reguloj!
+ paragraph_1_html: "OpenStreetMap havas malmultajn formalajn regulojn, tamen
+ ni esperas, ke ĉiuj kunlaboros kaj interparolos en la komunumo. Se vi planas
+ iujn agadojn aliajn ol permanajn redaktojn, bonvolu legi la sekvajn rekomendojn
+ pri <a href='http://wiki.openstreetmap.org/wiki/Import/Guidelines'>enportadoj</a>
+ kaj \n<a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>aŭtomataj
+ redaktoj</a>."
+ questions:
+ title: Iaj demandoj?
+ paragraph_1_html: OpenStreetMap havas kelkajn ejojn por lerni pri la projekto,
+ por demandi pri ion ajn kaj kune diskuti kaj dokumenti pri mapigado. <a href='%{help_url}'>Alklaku
+ por ricevi helpon</a>.
+ start_mapping: Eki mapigadon
+ add_a_note:
+ title: Ĉu mankas al vi tempo por ridaktado? Aldonu rimarkon!
+ paragraph_1_html: Se vi volas nur korekti iun etan kaj vi ne havas tempon por
+ registriĝi kaj lerni redaktadon, vi povas facile aldoni rimarkon.
+ paragraph_2_html: Simple iru al <a href='%{map_url}'>la mapo</a> kaj alklaku
+ la piktogramon <span class='icon note'></span>. Tio aldonos treneblan markon
+ al la mapo. Entajpu vian mesaĝon, konservu ĝin kaj aliaj mapigistoj okupiĝos
+ pri via rimarko.
+ fixthemap:
+ title: Raporti problemon / Korekti mapon
+ how_to_help:
+ title: Kiel helpi
+ join_the_community:
+ title: Aliĝi al la komunumo
+ explanation_html: Se vi rimarkis iun problemon kun niaj map-datumoj, ekzemple
+ strato aŭ adreso mankas, la plej bona rimedo estas aniĝi OpenStreetMap-komunumo
+ kaj redakti kaj ripari datumojn mem.
+ add_a_note:
+ instructions_html: Simple alklaku <a class='icon note'></a> aŭ la saman piktogramon
+ sur la mapo. Ĉi tio aldonos moveblan markon, aldonu vian mesaĝon, konservu
+ ĝin, kaj aliaj mapigistoj okupiĝos pri via rimarko.
+ other_concerns:
+ title: Aliaj aferoj
+ explanation_html: Se vi havas demandojn pri kial niaj datumoj aŭ enhavo estas
+ uzataj, bonvolu ekkoni <a href='/copyright'>paĝon pri kopirajto</a> por pliaj
+ leĝaj informoj, aŭ kontaktu la <a href='http://wiki.osmfoundation.org/wiki/Working_Groups'>OSMF-laborgrupon</a>.
+ help_page:
+ title: Akiri helpon
+ introduction: OpenStreetMap havas kelkajn ejojn por lerni pri la projekto, por
+ demandi pri ion ajn kaj kune diskuti kaj dokumenti pri mapigado.
+ welcome:
+ url: /welcome
+ title: Bonvenon al OSM
+ description: Komencu ekde ĉi tiu manlibreto ampleksanta fundamentojn de OpenStreetMap.
+ beginners_guide:
+ url: http://wiki.openstreetmap.org/wiki/Beginners%27_guide
+ title: Manlibro por komencantoj
+ description: Manlibro por komencantoj kreata de la komunumo (en la angla).
+ help:
+ url: https://help.openstreetmap.org/
+ title: OpenStreetMap-helppaĝo
+ description: Demandu aŭ serĉu respondojn je retpaĝo de demandoj-kaj-respondoj
+ pri OSM.
+ mailing_lists:
+ title: Dissendolistoj
+ description: Demandu aŭ diskutu pri interesaj temoj en multaj pritemaj aŭ regionaj
+ dissendolistoj.
+ forums:
+ title: Forumoj
+ description: Demandoj kaj diskutoj por tiuj, kiuj preferas kutimaj diskutforumoj.
+ irc:
+ title: IRC
+ description: Interaga babilejo en multaj diversaj lingvoj kaj pri multaj temoj.
+ switch2osm:
+ title: switch2osm
+ description: Helpas firmaojn kaj organizaĵojn ŝanĝi al mapoj kaj aliaj servoj
+ de OpenStreetMap.
+ wiki:
+ url: https://wiki.openstreetmap.org/wiki/Eo:Main_Page
+ title: OpenStreetMap-vikio
+ description: Esploru la vikion por akiri detalan dokumentaron de OSM.
+ about_page:
+ next: Sekva
+ copyright_html: <span>©</span>OpenStreetMap<br>kontribuintoj
+ used_by: '%{name} liveras map-datumojn por miloj da retejoj, poŝtelefonaj aplikaĵoj
+ kaj aparatoj'
+ lede_text: OpenStreetMap estas kreata de komunumo de mapigistoj kiuj aldonas kaj
+ prizorgas datumojn pri vojoj, kursoj, kafejoj, stacidomoj kaj pli da aliaj,
+ en la tuta mondo.
+ local_knowledge_title: Loka scio
+ local_knowledge_html: OpenStreetMap emfazas lokan scion. Kontribuantoj uzas aerfotojn,
+ GPS-aparatojn kaj normajn mapojn por verigi ĉu datumoj de OSM estas akurataj
+ kaj ĝisdatigaj.
+ community_driven_title: Kondukata de komunumo
+ community_driven_html: |-
+ La komunumo de OpenStreetMap estas diversa, pasia kaj kreskas tagon post tago. Inter niaj kontribuantoj estas amatoroj de mapoj, istoj de GIS, inĝenieroj prizorgantaj OSM-servilojn, helpistoj kiuj mapigas en terenoj de katastrofoj kaj pli da aliuloj. Por lerni pli pri la komunumo, vidu <a href='%{diary_path}'>ĵurnalojn de uzantoj</a>,
+ <a href='http://blogs.openstreetmap.org/'>komunumajn taglibrojn</a> kaj la retpaĝon de <a href='http://www.osmfoundation.org/'>OSM Fondaĵo</a>.
+ open_data_title: Malfermaj datumoj
+ open_data_html: 'OpenStreetMap estas <i>malfermaj datumoj</i>: vi povas uzi ĝin
+ kiamaniere vi volas sub la kondiĉo de vi atribuos aŭtorecon al OpenStreetMap
+ kaj ĝiaj kontribuintoj. Se vi modifos aŭ uzos niajn datumojn, vi povos distribui
+ la verkon nur sub la sama permesilo. Vidu la <a href=''%{copyright_path}''>paĝon
+ pri kopirajto kaj permesilo</a> por pli da detaloj.'
+ legal_title: Leĝaj demandoj
+ legal_html: Ĉi tiu retejo kaj aliaj servoj estas formale administrataj de la <a
+ href='http://osmfoundation.org/'>OpenStreetMap Fondaĵo</a> (OSMF) komisie de
+ la komunumo. Uzado de ĉiuj OSMF-servoj estas regulata per <a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">Politiko
+ de uzado</a> kaj nia <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">Politiko
+ de privateco</a>. Bonvolu <a href='http://osmfoundation.org/Contact'>kontakti
+ kun OSMF</a>, se vi havas iun demandon pri permesilo, kopirajto aŭ leĝo.
+ partners_title: Kunlaborantoj
notifier:
diary_comment_notification:
+ subject: '[OpenStreetMap] %{user} komentis ĵurnal-afiŝon'
hi: Saluton %{to_user},
+ header: '%{from_user} komentis la afiŝon en OpenStreetMap-ĵurnalo kun la temo
+ %{subject}:'
+ footer: Vi ankaŭ povas legi la komenton ĉe %{readurl} kaj komenti ĝin ĉe %{commenturl}
+ aŭ responde ĉe %{replyurl}
message_notification:
hi: Saluton %{to_user},
+ header: '%{from_user} sendis al vi mesaĝon tra OpenStreetMap kun la temo %{subject}:'
+ footer_html: Vi ankaŭ povas legi la mesaĝon ĉe %{readurl} kaj respondi ĉe %{replyurl}
friend_notification:
subject: '[OpenStreetMap] %{user} aldonis vin kiel amikon'
+ had_added_you: '%{user} aldonis vin kiel amikon je OpenStreetMap.'
+ see_their_profile: Vi povas vidi lian profilon ĉe %{userurl}.
+ befriend_them: Vi ankaŭ povas aldoni vin kiel amikon ĉe %{befriendurl}.
gpx_notification:
greeting: Saluton,
+ your_gpx_file: Ŝajnas, ke via GPX-dosiero
with_description: kun la priskribo
+ and_the_tags: 'kaj kun la sekvaj etikedoj:'
+ and_no_tags: kaj kun neniu etikedo.
+ failure:
+ subject: '[OpenStreetMap] Eraro dum enportado de GPX-dosiero'
+ failed_to_import: 'ne estas enportita sukcese. Eraro:'
+ more_info_1: Pli da informoj pri malsukceso de enportado de GPX-dosieroj kaj
+ kiel eviti
+ more_info_2: 'ilin vi povas trovi je:'
+ success:
+ subject: '[OpenStreetMap] GPX-dosiero enportita sukcese'
+ loaded_successfully: estas sukcese ŝargita kun %{trace_points} el %{possible_points}
+ punktoj.
+ signup_confirm:
+ subject: '[OpenStreetMap] Bonvenon al OpenStreetMap'
+ greeting: Saluton!
+ created: Iu (espereble vi) ĵus kreis konton je %{site_url}.
+ confirm: Unue devas konfirmi, ke tiu ĉi peto devenas de vi, do bonvolu alklaki
+ la ligilon sube por konfirmi vian konton.
+ welcome: Post konfirmo de konto, ni liveros al vi pliajn informojn kiel komenci.
email_confirm:
- subject: '[OpenStreetMap] Konfirmi vian retpoŝtadreson'
+ subject: '[OpenStreetMap] Konfirmado de retpoŝtadreso'
email_confirm_plain:
greeting: Saluton,
+ hopefully_you: Iu (espereble vi) volas ŝanĝi vian retpoŝtadreson je %{server_url}
+ al %{new_address}.
+ click_the_link: Se tiu estas vi, bonvolu alklaku la ligilon sube por konfirmi
+ ŝanĝon de adreso.
email_confirm_html:
greeting: Saluton,
+ hopefully_you: Iu (espereble vi) volas ŝanĝi vian retpoŝtadreson je %{server_url}
+ al %{new_address}.
+ click_the_link: Se tiu estas vi, bonvolu alklaku la ligilon sube por konfirmi
+ ŝanĝon de adreso.
+ lost_password:
+ subject: '[OpenStreetMap] Peto pri restarigo de pasvorto'
lost_password_plain:
greeting: Saluton,
+ hopefully_you: Iu (espereble vi) volas restarigi la pasvorton por konto je openstreetmap.org
+ por tiu ĉi retpoŝtadreso.
+ click_the_link: Se tiu estas vi, bonvolu alklaki la ligilon sube por restarigi
+ la pasvorton.
lost_password_html:
greeting: Saluton,
+ hopefully_you: Iu (espereble vi) volas restarigi la pasvorton por konto je openstreetmap.org
+ por tiu ĉi retpoŝtadreso.
+ click_the_link: Se tiu estas vi, bonvolu alklaki la ligilon sube por restarigi
+ la pasvorton.
+ note_comment_notification:
+ anonymous: Anonimulo
+ greeting: Saluton,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} komentis vian rimarkon'
+ subject_other: '[OpenStreetMap] %{commenter} komentis rimarkon pri kiu vi
+ interesiĝas'
+ your_note: '%{commenter} komentis vian rimarkon sur mapo ĉe %{place}.'
+ commented_note: '%{commenter} komentis rimarkon sur mapo pri kiu vi interesiĝas.
+ La rimarko troviĝas ĉe %{place}.'
+ closed:
+ subject_own: '[OpenStreetMap] %{commenter} solvis vian rimarkon'
+ subject_other: '[OpenStreetMap] %{commenter} solvis rimarkon pri kiu vi interesiĝas'
+ your_note: '%{commenter} solvis vian rimarkon sur mapo ĉe %{place}.'
+ commented_note: '%{commenter} solvis rimarkon sur mapo pri kiu vi interesiĝas.
+ La rimarko troviĝis ĉe %{place}.'
+ reopened:
+ subject_own: '[OpenStreetMap] %{commenter} remalfermis vian rimarkon'
+ subject_other: '[OpenStreetMap] %{commenter} remalfermis rimarkon pri kiu
+ vi interesiĝis'
+ your_note: '%{commenter} remalfermis vian rimarkon sur mapo ĉe %{place}.'
+ commented_note: '%{commenter} remalfermis rimarkon sur mapo pri kiu vi interesiĝis.
+ La rimarko troviĝis ĉe %{place}.'
+ details: Pli da detaloj pri la rimarko, vi povas trovi je %{url}.
+ changeset_comment_notification:
+ greeting: Saluton,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} komentis vian ŝanĝaron'
+ subject_other: '[OpenStreetMap] %{commenter} komentis ŝanĝaron pri kiu vi
+ interesiĝas'
+ your_changeset: '%{commenter} komentis vian ŝanĝaron kreitan je %{time}'
+ commented_changeset: '%{commenter} komentis ŝanĝaron observatan de vi, kreitan
+ de %{changeset_author} je %{time}'
+ partial_changeset_with_comment: kun komento '%{changeset_comment}'
+ partial_changeset_without_comment: sen komento
+ details: Pli da detaloj pri la ŝanĝaro povas esti trovita ĉe %{url}.
message:
inbox:
title: Alvenkesto
my_inbox: Mia leterkesto
+ outbox: elirkesto
+ messages: Vi havas %{new_messages} kaj %{old_messages}
+ new_messages:
+ one: '%{count} novan mesaĝon'
+ other: '%{count} novajn mesaĝojn'
+ old_messages:
+ one: '%{count} malnovan mesaĝon'
+ other: '%{count} malnovajn mesaĝojn'
from: De
+ subject: Temo
date: Dato
+ no_messages_yet: Vi ankoraŭ ne havas iun mesaĝon. Eble kontaktu kun iu el %{people_mapping_nearby_link}?
+ people_mapping_nearby: proksimaj mapigistoj
message_summary:
- unread_button: Marki kiel nelegita
- read_button: Marki kiel legita
+ unread_button: Marki kiel nelegitan
+ read_button: Marki kiel legitan
reply_button: Respondi
delete_button: Forigi
new:
title: Sendi mesaĝon
send_message_to: Sendi novan mesaĝon al %{name}
+ subject: Temo
+ body: Enhavo
send_button: Sendi
- back_to_inbox: Reen al mesaĝejo
+ back_to_inbox: Reen al alvenkesto
message_sent: Mesaĝo sendita
+ limit_exceeded: Vi antaŭnelonge sendis multajn mesaĝojn. Bonvolu atendi iom
+ da tempo antaŭ vi sendos pliajn.
+ no_such_message:
+ title: Neekzistanta mesaĝo
+ heading: Tiu ĉi mesaĝo ne ekzistas
+ body: Bedaŭrinde ne ekzistas mesaĝo kun tiu ĉi identigilo.
outbox:
+ title: Elirkesto
my_inbox: Mia %{inbox_link}
- inbox: Alvenkesto
+ inbox: alvenkesto
+ outbox: elirkesto
+ messages:
+ one: Vi havas %{count} senditan mesaĝon
+ other: Vi havas %{count} senditajn mesaĝojn
to: Al
subject: Temo
date: Dato
+ no_sent_messages: Vi ankoraŭ ne sendis iun mesaĝon. Eble kontaktu kun iu el
+ %{people_mapping_nearby_link}?
+ people_mapping_nearby: proksimaj mapigistoj
+ reply:
+ wrong_user: Vi estas ensalutita kiel '%{user}', sed la mesaĝo, kiun vi volas
+ respondi, ne estas sendita al tiu uzanto. Bonvolu ensaluti kiel propra uzanto
+ por respondi ĝin.
read:
title: Legi mesaĝon
from: De
subject: Temo
date: Dato
reply_button: Respondi
- unread_button: Marki kiel nelegita
+ unread_button: Marki kiel nelegitan
+ back: Reen
to: Al
+ wrong_user: Vi estas ensalutita kiel '%{user}', sed la mesaĝo, kiun vi volas
+ legi estas sendita al tiu uzanto. Bonvolu ensaluti kiel propra uzanto por
+ legi ĝin.
sent_message_summary:
delete_button: Forigi
mark:
- as_read: Mesaĝo markita kiel legita
- as_unread: Mesaĝo markita kiel nelegita
+ as_read: Mesaĝo markita kiel legitan
+ as_unread: Mesaĝo markita kiel nelegitan
delete:
deleted: Mesaĝo forigita
site:
+ index:
+ js_1: Vi aŭ uzas foliumilon, kiu ne subtenas Ĝavoskripton, aŭ vi havas ĝin malaktivan.
+ js_2: OpensStreetMap uzas Ĝavoskripton por montri ŝoveblan mapon.
+ permalink: Konstanta ligilo
+ shortlink: Mallonga ligilo
+ createnote: Aldoni rimarkon
+ license:
+ copyright: Kopirajto de OpenStreetMap kaj kontribuintoj, sub malferma permesilo
+ remote_failed: Redaktado malsukcesis - certigu ĉu JOSM aŭ Merkaartor estas startigita
+ kaj ĉu defora aliro estas aktiva
edit:
+ not_public: Vi ne agordis por viaj redaktoj estu publikaj.
+ not_public_description: Vi ne povas plu redakti la mapon. Vi povas agordi ilin
+ kiel publikan ĉe via %{user_page}.
user_page_link: uzantpaĝo
+ anon_edits_link_text: Tie ĉi vi sciigis kiel.
+ flash_player_required: Por uzi Potlatch, la OpenStreetMap-redaktilo, vi bezonas
+ la kromprogramon Flash. Vi povas <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">elŝuti
+ Flash Player el Adobe.com retpaĝo</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Kelkaj
+ aliaj redaktiloj</a> estas disponeblaj por redakti OpenStreetMap.
+ potlatch_unsaved_changes: Vi havas nekonservitajn ŝanĝojn. (Por konservi ŝanĝojn
+ en Potlatch, malelektu nune elektitan linion aŭ punkton se vi redaktas en
+ 'rekta reĝimo', aŭ alklaku butonon 'konservi', se ĝi videblas.)
+ potlatch2_not_configured: Potlatch 2 ne estas agordita - vidu http://wiki.openstreetmap.org/wiki/The_Rails_Port#Potlatch_2
+ por pli da informoj
+ potlatch2_unsaved_changes: Vi havas nekonservitajn ŝanĝojn. (Por konservi ilin
+ en Potlatch 2, alklaku 'konservi'.)
+ id_not_configured: iD ne estas agordita
+ no_iframe_support: Via foliumilo ne subtenas 'HTML iframes', ili estas bezonataj
+ por tiu ĉi eblo.
sidebar:
search_results: Serĉrezultoj
close: Fermi
search:
search: Serĉi
+ get_directions: Difini la kurson
+ get_directions_title: Difinas la kurson inter du punktoj
+ from: El
+ to: Al
where_am_i: Kie mi estas?
+ where_am_i_title: Trovas la nunan pozicion per la foliumilo
submit_text: Ek
key:
table:
entry:
motorway: Aŭtovojo
- primary: Strato de unua ordo
- secondary: Strato de dua ordo
- track: Spuro
- byway: Flanka strato
+ main_road: Ĉefa vojo
+ trunk: Vojo ekspresa
+ primary: Vojo unua-ranga
+ secondary: Vojo dua-ranga
+ unclassified: Vojo kvara-ranga
+ track: Vojo kampa
+ bridleway: Ĉevalvojo
cycleway: Bicikla vojo
+ cycleway_national: Bicikla vojo nacia
+ cycleway_regional: Bicikla vojo regiona
+ cycleway_local: Bicikla vojo loka
footway: Trotuaro
rail: Fervojo
- subway: Subtera fervojo
+ subway: Metroo
tram:
- - tramo
+ - Fervojo malpeza
- tramo
cable:
- 1: seĝtelfero
+ - Kablovojo
+ - seĝtelfero
+ runway:
+ - Avia dromo
+ - aŭtokur-strato
+ apron:
+ - Aviadil-parkumejo
+ - flugstacio
admin: Administra limo
- forest: Forsto
+ forest: Kultiv-arbaro
wood: Arbaro
golf: Golfejo
park: Parko
- resident: Loĝkvartalo
- tourist: Turista atrakcio
+ resident: Privatdoma tereno
common:
+ - Publika ripoza tereno
- herbejo
- - herbejo
- retail: Butikcentro
+ retail: Komercejo
industrial: Industria areo
+ commercial: Oficeja tereno
heathland: Erikejo
lake:
- Lago
- akvorezervujo
farm: Farmobieno
+ brownfield: Antaŭ-konstruejo (post-malkonstruado)
cemetery: Tombejo
- allotments: Publikaj ĝardenoj
+ allotments: Familiaj ĝardenoj
+ pitch: Ludkampo
+ centre: Sporta centro
reserve: Naturrezervejo
military: Milita areo
school:
summit:
- Montosupro
- montopinto
- destination: Nur por lokaj loĝantoj
+ tunnel: Strekumita konturo - tunelo
+ bridge: Nigra konturo - ponto
+ private: Privata aliro
+ destination: Aliro nur al celo
+ construction: Vojoj konstruataj
+ bicycle_shop: Bicikl-vendejo
+ bicycle_parking: Parkumejo bicikla
+ toilets: Necesejo
+ richtext_area:
+ edit: Redakti
+ preview: Antaŭvidi
markdown_help:
+ title_html: Sintakse analizita per <a href="http://daringfireball.net/projects/markdown/">Markdown</a>
+ headings: Titoloj
+ heading: Titolo
+ subheading: Subtitolo
+ unordered: Malordigita listo
+ ordered: Ordigita listo
+ first: Unua elemento
+ second: Dua elemento
+ link: Ligilo
text: Teksto
image: Bildo
+ alt: Alternativa teksto
+ url: Retadreso
trace:
visibility:
- private: Privata (nur partigita kiel sennomaj, neordigitaj punktoj)
+ private: Privata (kunhavigita nur kiel sennomaj, malordigitaj punktoj)
public: Publika (montrata en spurlisto kaj kiel sennomaj, neordigitaj punktoj)
- trackable: Spurebla (nur partigita kiel sennomaj, ordigitaj punktoj kun tempstampoj)
+ trackable: Spurebla (kunhavigita nur kiel sennomaj, ordigitaj punktoj kun tempstampoj)
identifiable: Identigebla (montrata en spurlisto kaj kiel identigeblaj, ordigitaj
punktoj kun tempstampo)
create:
- upload_trace: Alŝuti GPS spuron
- trace_uploaded: Via GPX dosiero estis alŝutita kaj atendas enkonduko en la datumbason.
- Tiu ĝenerale okazas antaŭ duonhoro, kaj retletero estos sendita al vi je finaĵo.
+ upload_trace: Alŝuti GPS-spuron
+ trace_uploaded: Via GPX-dosiero estas alŝutita kaj atendas enkonduko en la datumbazon.
+ Tio probable okazos ĝis duonhoro, kaj retletero estos sendita al vi je finaĵo.
edit:
- title: Redaktante spuron %{name}
- heading: Redaktanta spuron %{name}
+ title: Redaktado de spuro %{name}
+ heading: Redaktado de spuro %{name}
filename: 'Dosiernomo:'
download: elŝuti
uploaded_at: 'Alŝutita je:'
owner: 'Posedanto:'
description: 'Priskribo:'
tags: 'Etikedoj:'
- tags_help: dislimataj de komoj
- save_button: Konservi Å\9canĝojn
+ tags_help: disigitaj per komoj
+ save_button: Konservi Å\9danĝojn
visibility: 'Videbleco:'
- visibility_help: Kion tio signifas ?
+ visibility_help: kion tio signifas?
trace_form:
- upload_gpx: 'Alŝuti GPX dosieron:'
+ upload_gpx: 'Alŝuti GPX-dosieron:'
description: 'Priskribo:'
tags: 'Etikedoj:'
- tags_help: dislimataj de komoj
+ tags_help: disigitaj per komoj
visibility: 'Videbleco:'
- visibility_help: Kion tio signifas ?
+ visibility_help: kion tio signifas?
upload_button: Alŝuti
help: Helpo
trace_header:
+ upload_trace: Alŝuti spuron
see_all_traces: Vidi ĉiujn spurojn
see_your_traces: Vidi ĉiujn viajn spurojn
- traces_waiting: Vi havas %{count} spurojn atendanta alŝutado. Bonvolu konsideri
- atendi ke ili terminas alŝuti antaŭ alŝuti aliajn. Tiel vi ne blokus la atendovicon
- por aliaj uzantoj.
+ traces_waiting:
+ one: Vi havas %{count} spuron atendanta alŝutado. Bonvolu atendi ĝis ĝi estos
+ alŝutita, antaŭ alŝuti aliajn, do vi ne blokos atendovicon por aliaj uzantoj.
+ other: Vi havas %{count} spurojn atendantaj alŝutado. Bonvolu atendi ĝis ili
+ estos alŝutitaj, antaŭ alŝuti aliajn, do vi ne blokos atendovicon por aliaj
+ uzantoj.
trace_optionals:
tags: Etikedoj
view:
- title: Montrante spuron %{name}
- heading: Montrante spuron %{name}
- pending: OKAZANTA
+ title: Montrado de spuro %{name}
+ heading: Montrado de spuro %{name}
+ pending: OKAZONTA
filename: 'Dosiernomo:'
download: elŝuti
uploaded: 'Alŝutita je:'
description: 'Priskribo:'
tags: 'Etikedoj:'
none: Neniu
- edit_track: Redakti tiun spuron
- delete_track: Forviŝi tiun spuron
+ edit_track: Redakti ĉi tiun spuron
+ delete_track: Forviŝi ĉi tiun spuron
trace_not_found: Spuro ne trovebla!
visibility: 'Videbleco:'
+ trace_paging_nav:
+ showing_page: Paĝo %{page}
+ older: Antaŭaj spuroj
+ newer: Postaj spuroj
trace:
- pending: OKAZANTA
+ pending: OKAZONTA
count_points: '%{count} punktoj'
ago: Antaŭ %{time_in_words_ago}
more: pli
trace_details: Vidi detalojn de spuro
- view_map: Vidi Mapon
+ view_map: Vidi mapon
edit: redakti
- edit_map: Redakti Mapon
+ edit_map: Redakti mapon
public: PUBLIKA
+ identifiable: IDENTIGEBLA
private: PRIVATA
+ trackable: SPUREBLA
by: de
in: en
map: mapo
list:
- public_traces: Publikaj GPS spuroj
- your_traces: Viaj GPS spuroj
- public_traces_from: Publikaj GPS spuroj el %{user}
- tagged_with: ' etikedata kun %{tags}'
+ public_traces: Publikaj GPS-spuroj
+ your_traces: Viaj GPS-spuroj
+ public_traces_from: Publikaj GPS-spuroj de %{user}
+ description: Montri lastajn GPS-spurojn
+ tagged_with: etikedita kun %{tags}
+ empty_html: Ankoraŭ neniu estas tie ĉi.. <a href='%{upload_link}'>Alŝutu novan
+ spuron</a> aŭ lernu pli pri GPS-spurado ĉe la <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>viki-paĝo</a>.
delete:
scheduled_for_deletion: Spuro forviŝota
make_public:
made_public: Publikigita spuro
+ offline_warning:
+ message: La sistemo por alŝutado de GPX-dosieroj estas nune nedisponebla
+ offline:
+ heading: GPX-konservejo malaktiva
+ message: La sistemo por alŝutado kaj konservado de GPX-dosieroj estas nune nedisponebla.
+ georss:
+ title: OpenStreetMap GPS-spuroj
+ description:
+ description_with_count:
+ one: GPX-dosiero kun %{count} punkto de %{user}
+ other: GPX-dosiero kun %{count} punktoj de %{user}
+ description_without_count: GPX-dosiero de %{user}
+ application:
+ require_cookies:
+ cookies_needed: Ŝajnas, ke vi malaktivigis 'kuketojn' - bonvolu aktivigi 'kuketojn'
+ en via foliumilo por pluigi.
+ require_moderator:
+ not_a_moderator: Vi devas esti kontrolanto por fari ĉi tiun agon.
+ setup_user_auth:
+ blocked: Via aliro al API estas blokita. Bonvolu ensaluti al reta interfaco
+ por sciigi pli.
+ need_to_see_terms: Via aliro al API estas dumtempe provizore haltigita. Bonvolu
+ ensaluti al reta fasado por legi interkonsenton pri kontribuado. Vi ne devas
+ akcepti ĝin, sed vi devas legi ĝin.
+ oauth:
+ oauthorize:
+ title: Rajtigi aliron al via konto
+ request_access: La aplikaĵo %{app_name} petas pri aliro al la konto de %{user}.
+ Bonvolu kontroli rajtojn, kiujn vi donas al aplikaĵo. Vi povas elekti rajtojn
+ laŭvole.
+ allow_to: 'Permesi al porklienta aplikaĵo:'
+ allow_read_prefs: legi agordojn de uzanto.
+ allow_write_prefs: modifi viajn agordojn de uzanto.
+ allow_write_diary: krei ĵurnal-afiŝojn, komenti kaj amikigi aliajn.
+ allow_write_api: redakti la mapon.
+ allow_read_gpx: legi viajn privatajn GPS-spurojn.
+ allow_write_gpx: alŝuti GPS-spurojn.
+ allow_write_notes: modifi rimarkojn.
+ grant_access: Permesi aliron
+ oauthorize_success:
+ title: Peto pri permeso permesita
+ allowed: Vi permesis al aplikaĵo %{app_name} aliron al via konto.
+ verification: La kontrol-kodon estas %{code}.
+ oauthorize_failure:
+ title: Peto pri permeso malsukcesis
+ denied: Vi malpermesis al aplikaĵo %{app_name} aliron al via konto
+ invalid: La atingoĵetono ne plu validas.
+ revoke:
+ flash: Vi malvalidigis la ĵetonon por %{application}
oauth_clients:
new:
title: Registri novan aplikaĵon
submit: Registri
edit:
- title: Redakti vian aplikaĵon
- submit: Redakti
+ title: Modifi vian aplikaĵon
+ submit: Modifi
show:
title: OAuth-detaloj por %{app_name}
+ key: 'Klienta ŝlosilo:'
+ secret: 'Klienta sekreto:'
+ url: 'Retadreso de petoĵetono:'
+ access_url: 'Retadreso de atingoĵetono:'
+ authorize_url: 'Retadreso de rajtigado:'
+ support_notice: Ni subtenas subskribojn HMAC-SHA1 (konsilinda) kaj RSA-SHA1.
edit: Redakti detalojn
+ delete: Forigi klienton
+ confirm: Ĉu vi certas?
+ requests: 'Petado pri la jenaj permesoj de la uzanto:'
+ allow_read_prefs: legi agordojn de uzanto.
+ allow_write_prefs: modifi agordojn de uzanto.
+ allow_write_diary: krei ĵurnal-afiŝojn, komenti kaj amikigi aliajn.
+ allow_write_api: redakti la mapon.
+ allow_read_gpx: legi privatajn GPS-spurojn.
+ allow_write_gpx: alŝuti GPS-spurojn.
+ allow_write_notes: modifi rimarkojn.
index:
- title: Miaj detaloj OAuth
+ title: Miaj OAuth-detaloj
+ my_tokens: Miaj permesataj aplikaĵoj
+ list_tokens: 'La jenaj ĵetonoj estas aldonitaj al aplikaĵoj komisie de vi:'
application: Aplikaĵa nomo
- issued_at: Eldonita la
+ issued_at: Eldonita je
+ revoke: Malvalidigi!
+ my_apps: Miaj porklientaj aplikaĵoj
+ no_apps: Ĉu vi havas iun aplikaĵon, kiun vi volas registri per %{oauth} normo?
+ Vi devas registri vian retaplikaĵon, antaŭ ĝi eblos fari OAuth-petojn al ĉi
+ tiu servo.
+ registered_apps: 'Vi havas la jenajn porklientajn aplikaĵojn registritajn:'
register_new: Registri vian aplikaĵon
form:
name: Nomo
- required: Necesa
- url: URL de ĉefaplikaĵo
- support_url: Subtena URL
+ required: nepra
+ url: Retadreso de ĉefaplikaĵo
+ callback_url: Revoka retadreso
+ support_url: Subtena retadreso
+ requests: 'Peti pri la jenajn permesojn de la uzanto:'
+ allow_read_prefs: legi agordojn de uzanto.
+ allow_write_prefs: modifi agordojn de uzanto.
+ allow_write_diary: krei ĵurnal-afiŝojn, komenti kaj amikigi aliajn.
+ allow_write_api: redakti la mapon.
+ allow_read_gpx: legi privatajn GPS-spurojn.
+ allow_write_gpx: alŝuti GPS-spurojn.
+ allow_write_notes: modifi rimarkojn.
+ not_found:
+ sorry: Bedaŭrinde %{type} ne trovita.
+ create:
+ flash: Sukcese registrita la informon
+ update:
+ flash: Informoj pri kliento estas ĝisdatigitaj sukcese
+ destroy:
+ flash: La porklienta aplikaĵo forigita
user:
login:
title: Ensaluti
heading: Ensaluti
- email or username: 'Retpoŝtadreso aŭ Salutnomo:'
+ email or username: 'Retpoŝtadreso aŭ salutnomo:'
password: 'Pasvorto:'
- remember: 'Memori min:'
- lost password link: Ĉu vi forgesis vian pasvorton ?
+ openid: '%{logo} OpenID:'
+ remember: Memori min
+ lost password link: Ĉu vi forgesis vian pasvorton?
login_button: Ensaluti
+ register now: Registriĝi
+ with username: 'Ĉu vi jam havas OpenStreetMap-konton? Bonvolu ensaluti per vian
+ salutnomon kaj pasvorton:'
+ with external: 'Alimaniere, ensalutu uzante:'
+ new to osm: Ĉu vi estas nova al OpenStreetMap?
+ to make changes: Por fari ŝanĝojn al datumoj de OpenStreetMap, vi devas havi
+ konton.
+ create account minute: Kreu konton. Tio ĉi daŭros nur minuton.
+ no account: Ĉu vi ne havas konton?
+ account not active: Bedaŭrinde via konto ne estas ankoraŭ aktiva. Bonvolu malfermi
+ la ligilon en konfirmada retletero por aktivigi vian konton, aŭ <a href="%{reconfirm}">petu
+ pri sendo de nova mesaĝo</a>.
+ account is suspended: Ho ve, via konto estas haltigita pro suspektinda agado.
+ Bonvolu kontaktu kun la <a href="%{webmaster}">administranto</a>, se vi volas
+ pridiskuti pri blokon.
+ auth failure: Bedaŭrinde ne povas ensaluti kun ĉi tiuj informoj.
+ openid_logo_alt: Ensaluti per OpenID
+ auth_providers:
+ openid:
+ title: Ensaluti per OpenID
+ alt: Ensaluti per OpenID URL
+ google:
+ title: Ensaluti per Google
+ alt: Ensaluti per Google OpenID
+ facebook:
+ title: Ensaluti per Fejsbuko
+ alt: Ensaluti per konto je Fejsbuko
+ windowslive:
+ title: Ensaluti per Windows Live
+ alt: Ensaluti per konto je Windows Live
+ github:
+ title: Ensaluti per GitHub
+ alt: Ensaluti per konto je GitHub
+ yahoo:
+ title: Ensaluti per Yahoo
+ alt: Ensaluti per Yahoo OpenID
+ wordpress:
+ title: Ensaluti per Wordpress
+ alt: Ensaluti per Wordpress OpenID
+ aol:
+ title: Ensaluti per AOL
+ alt: Ensaluti per AOL OpenID
+ logout:
+ title: Elsaluti
+ heading: Elsaluti el OpenStreetMap
+ logout_button: Elsaluti
lost_password:
title: Perdita pasvorto
heading: Forgesis vian pasvorton ?
email address: 'Retpoŝtadreso:'
new password button: Nuligi pasvorton
+ help_text: Entajpu la retpoŝtan adreson kiun vi uzis por ensaluto, ni sendos
+ al vi ligilon, kiun vi povos uzi por restarigi vian pasvorton.
+ notice email on way: Bedaŭras, ke vi perdis ĝin :-( sed baldaŭ vi ricevos retleteron,
+ kiun vi uzos por restarigi ĝin.
notice email cannot find: Bedaŭrinde, tiu retadreso ne troveblas.
reset_password:
title: Nuligi pasvorton
heading: Nuligi Pasvorton por %{user}
password: 'Pasvorto:'
- confirm password: 'Konfirmi Pasvorton:'
- reset: Nuligi Pasvorton
+ confirm password: 'Konfirmi pasvorton:'
+ reset: Nuligi pasvorton
flash changed: Via pasvorto estis ŝanĝita.
flash token bad: Netrovebla ĵetono, bonvolu kontroli la URLon.
new:
- title: Krei konton
+ title: Registriĝi
no_auto_account_create: Bedaŭrinde ni nun ne povas aŭtomate krei konton por
vi.
+ contact_webmaster: Bonvolu kontaktu la <a href="%{webmaster}">administranton</a>
+ por krei konton - ni klopodos pri via peto senprokraste.
+ about:
+ header: Libera kaj redaktebla
+ html: <p>Kontraste kun aliaj mapoj, OpenStreetMap estas tute kreata de homoj
+ kiel vi, kaj iu ajn povas korekti, ĝisdatigi, elŝuti kaj uzi ĝin.</p> <p>Registriĝu
+ por eki kontribuadon. Ni sendos al vi retleteron por konfirmi vian konton.</p>
+ license_agreement: Kiam vi konfirmos vian konton, vi devos akcepti la <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">interkonsenton
+ pri kontribuado</a>.
email address: 'Retpoŝtadreso:'
confirm email address: 'Konfirmi retpoŝtadreson:'
- display name: 'Montrita Nomo:'
+ not displayed publicly: Via adreso ne estos montrata publike, vidu nian <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy"
+ title="OSMF-a politiko pri privateco enhavanta sekcio pri retpoŝta adreso">politikon
+ pri privateco</a> por pli da informoj.
+ display name: 'Montrata nomo:'
+ display name description: Via publike montrata salutnomo. Vi povas ŝanĝi ĝin
+ poste per la agordoj.
+ external auth: 'Ensaluti per ekstera servo:'
password: 'Pasvorto:'
- confirm password: 'Konfirmi Pasvorton:'
- continue: Pli...
+ confirm password: 'Konfirmi pasvorton:'
+ use external auth: Alternative, ensaluti uzante eksteran servon
+ auth no password: Kun ensalutado per ekstera servo, pasvorto ne endas, sed kelkaj
+ iloj aŭ servilo krom tio povas bezoni ĝin.
+ continue: Registriĝi
+ terms accepted: Dankon por akcepto de nova interkonsento pri kontribuado!
+ terms declined: Ni bedaŭras, ke vi ne akceptis la novan interkonsenton pri kontribuado.
+ Por pli da informoj, bonvolu vidi <a href="%{url}">ĉi tiu viki-paĝo</a>.
+ terms:
+ title: Interkonsento pri kontribuado
+ heading: Interkonsento pri kontribuado
+ read and accept: Bonvolu legi la interkonsenton kaj alklaku la butonon 'Akcepti'
+ por konfirmi, ke vi akceptas tiun ĉi interkonsenton por viaj estantaj kaj
+ estontaj kontribuaĵoj.
+ consider_pd: Krom la supra interkonsento, mi konfirmas, ke miaj kontribuaĵoj
+ apartenas al la publika havaĵo
+ consider_pd_why: kio estas tio?
+ guidance: 'Informoj por helpi kompreni ĉi tiun interkonsenton: <a href="%{summary}">simpla
+ mallongigo</a> kaj kelkaj <a href="%{translations}">neoficialaj tradukoj</a>'
+ agree: Akcepti
+ decline: Malakcepti
+ you need to accept or decline: Bonvolu legi kaj aŭ akcepti aŭ malakcepti la
+ novan interkonsenton pri uzado por pluigi.
+ legale_select: 'Loĝlando:'
+ legale_names:
+ france: Francujo
+ italy: Italujo
+ rest_of_world: Resto de la mondo
no_such_user:
title: Neniu tiel uzanto
heading: La uzanto %{user} ne ekzistas
+ body: Bedaŭrinde, ne ekzistas uzanto kun la nomo %{user}. Bonvolu kontroli pri
+ liter-eraroj, aŭ eble vi alklakis mis-ligilon.
+ deleted: forigita
view:
- my diary: mia ĵurnalo
+ my diary: Mia ĵurnalo
new diary entry: nova ĵurnalrikordo
- my edits: miaj redaktoj
- my traces: miaj spuroj
- my settings: miaj agordoj
- blocks on me: blokas min
- send message: sendi mesaĝon
- diary: ĵurnalo
- edits: redaktoj
- traces: spuroj
- remove as friend: eksamikigi
- add as friend: aldoni kiel amikon
- mapper since: 'Mapisto ekde:'
+ my edits: Miaj redaktoj
+ my traces: Miaj spuroj
+ my notes: Miaj rimarkoj
+ my messages: Mesaĝoj
+ my profile: Profilo
+ my settings: Agordoj
+ my comments: Miaj komentoj
+ oauth settings: oauth-agordoj
+ blocks on me: Blokas min
+ blocks by me: Blokitaj de mi
+ send message: Sendi mesaĝon
+ diary: Ĵurnalo
+ edits: Redaktoj
+ traces: Spuroj
+ notes: Map-rimarkoj
+ remove as friend: Eksamikigi
+ add as friend: Aldoni kiel amikon
+ mapper since: 'Mapigisto ekde:'
ago: (antaŭ %{time_in_words_ago})
+ ct status: 'Interkonsento pri kontribuado:'
+ ct undecided: ne decidita
+ ct declined: malakceptita
+ ct accepted: akceptita antaŭ %{ago}
+ latest edit: Lasta redakto %{ago}
email address: 'Retpoŝtadreso:'
created from: 'Kreita de:'
+ status: 'Stato:'
+ spam score: 'Trudmesaĝa poentaro:'
description: Priskribo
user location: Loko de uzanto
+ if set location: Agordu vian hejmlokon ĉe la paĝo de %{settings_link} por vidi
+ proksimajn mapigistojn.
settings_link_text: agordoj
your friends: Viaj amikoj
- no friends: Vi jam ne aldonis neniun amikon.
+ no friends: Vi ne aldonis iun amikon ankoraŭ.
km away: '%{count} km for'
m away: '%{count} m for'
- nearby users: 'Pliaj proksimaj uzantoj:'
+ nearby users: Plej proksimaj uzantoj
+ no nearby users: Neniuj aliaj uzantoj ekzistas, kiuj jam deklaris mapigadon
+ en proksimaĵo.
role:
administrator: Ĉi tiu uzanto estas administranto
moderator: Ĉi tiu uzanto estas kontrolanto
- create_block: Bloki la uzanton
- activate_user: ebligi tiun uzanto
- deactivate_user: malebligi tiun uzanto
- hide_user: kaŝi tiun uzanto
- unhide_user: aperigi tiun uzanto
- delete_user: forviŝi ĉi tiun uzanton
+ grant:
+ administrator: Permesi aliron de administranto
+ moderator: Permesi aliron de kontrolanto
+ revoke:
+ administrator: Nuligi aliron de administranto
+ moderator: Nuligi aliron de kontrolanto
+ block_history: Blokadoj aktivaj
+ moderator_history: Blokadoj eldonitaj
+ comments: Komentoj
+ create_block: Bloki ĉi tiun uzanton
+ activate_user: Aktivigi tiun ĉi uzanton
+ deactivate_user: Malaktivigi tiun ĉi uzanton
+ confirm_user: Konfirmi ĉi tiun uzanton
+ hide_user: Kaŝi ĉi tiun uzanton
+ unhide_user: Malkaŝi ĉi tiun uzanton
+ delete_user: Forigi ĉi tiun uzanton
confirm: Konfirmi
+ friends_changesets: ŝanĝaroj de amikoj
+ friends_diaries: ĵurnal-afiŝoj de amikoj
+ nearby_changesets: ŝanĝaroj de proksimuloj
+ nearby_diaries: ĵurnal-afiŝoj de proksimuloj
popup:
your location: Via loko
nearby mapper: Proksima uzanto
+ friend: Amiko
account:
title: Redakti konton
- my settings: Miaj agordoj
+ my settings: Agordoj
+ current email address: 'Aktuala retpoŝta adreso:'
+ new email address: 'Nova retpoŝta adreso:'
email never displayed publicly: (neniam publike montrita)
+ external auth: 'Ekstera aŭtentigo:'
+ openid:
+ link: http://wiki.openstreetmap.org/wiki/OpenID
+ link text: kio estas tio?
public editing:
heading: 'Publika redaktado:'
enabled: Ebligita. Ne anonima kaj rajtas redakti.
disabled link text: kial mi ne povas redakti?
public editing note:
heading: Publika redaktado
+ text: Nuntempe viaj redaktoj estas anonimaj kaj aliuloj ne povas sendi mesaĝojn
+ al vi kaj vidi vian lokon. Por montri kion vi redaktis kaj ebligi al aliuloj
+ kontakti vin per la retejo, alklaku la butonon sube. <b>Ekde la versio 0.6
+ de API, nur publikaj uzantoj povas redakti map-datumojn.</b> (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">sciigi
+ kial</a>).<ul><li>Via retpoŝta adreso ne estos publikigita.</li><li>Ĉi tio
+ ago ne povos esti malfarita kaj ĉiuj novaj uzantoj estas publikaj implicite.</li></ul>
+ contributor terms:
+ heading: 'Interkonsento pri kontribuado:'
+ agreed: Vi konsentis la novan interkonsenton pri kontribuado.
+ not yet agreed: Vi ankoraŭ ne konsentis la novan interkonsenton pri kontribuado.
+ review link text: Bonvolu sekvi ĉi tiun ligilon por legi kaj akcepti la novan
+ interkonsenton pri uzado.
+ agreed_with_pd: Vi ankaŭ deklaris, ke viaj kontribuaĵoj estas en la publika
+ havaĵo.
+ link text: kio estas tio?
profile description: 'Priskribo de profilo:'
preferred languages: 'Preferataj Lingvoj:'
- home location: 'Hejma Loko:'
+ preferred editor: 'Preferata redaktilo:'
+ image: 'Bildo:'
+ gravatar:
+ gravatar: Uzi 'Gravataron'
+ link text: kio estas tio?
+ disabled: '''Gravataro'' estas malaktiva.'
+ enabled: Montrado de via 'Gravataro' estas malaktivigita.
+ new image: Aldoni bildon
+ keep image: Konservi la aktualan bildon
+ delete image: Forigi la aktualan bildon
+ replace image: Anstataŭigi la aktualan bildon
+ image size hint: (kvadrataj bildoj kun grando pli ol 100x100 taŭgas)
+ home location: 'Hejma pozicio:'
no home location: Vi ne enigis vian hejmlokon.
latitude: 'Latitudo:'
longitude: 'Longitudo:'
vian retpoŝtilon por iu mesaĝo kiu konfirmos vian novan retadreso.
flash update success: Uzantinformoj sukcese freŝigitaj.
confirm:
- heading: Konfirmi uzantan konton
+ heading: Kontrolu vian retpoŝtkeston!
+ introduction_1: Ni sendis al vi retleteron de konfirmo.
+ introduction_2: Konfirmu vian konton alklakante la ligilon en la retletero kaj
+ poste vi povos komenci mapigadon.
press confirm button: Premu la konfirmbutonon sube por aktivigi vian konton.
button: Konfirmi
+ success: Via konto estas konfirmita, multan dankon por vi registrado!
+ already active: Ĉi tiu konto jam estas konfirmita.
+ unknown token: Ĉi tiu konfirma kodo malvalidiĝis aŭ ne ekzistas.
+ reconfirm_html: Por resendi la konfirman kodon, <a href="%{reconfirm}">alklaku
+ ĉi tie</a>.
+ confirm_resend:
+ success: Ni sendis novan konfirman kodon al %{email}, kaj tiel frue vi konfirmos
+ vian konton, vi povos mapigi.<br /><br />Se vi uzas kontraŭ-trud-mesaĝan sistemon,
+ certigu ke vi aldonis %{sender} al via blanka listo, do tiel ni eblos kontakti
+ vin senprobleme.
+ failure: Uzanto %{name} ne trovita.
confirm_email:
heading: Konfirmi ŝanĝon de retadreso.
press confirm button: Premu la butonon sube por konfirmi vian novan retadreson.
button: Konfirmi
- success: Via retadreso estis konfirmita, dankon pro registriĝo.
+ success: Ŝanĝo de via retpoŝta adreso konfirmita!
failure: Retadreso jam estis konfirmita per tiu ĵetono.
+ unknown_token: Ĉi tiu konfirma kodo malvalidiĝis aŭ ne ekzistas.
set_home:
- flash success: Hejma loko sukcese konservita
+ flash success: Pozicio de hejmo sukcese konservita
go_public:
flash success: Ĉiuj viaj redaktoj naŭ estas publikaj, kaj vi naŭ rajtas redakti.
make_friend:
+ heading: Ĉu aldoni %{user} al amikoj?
+ button: Aldoni kiel amikon
success: '%{name} nun estas via amiko.'
failed: Bedaŭrinde, malsukcesis aldoni %{name} kiel amiko.
already_a_friend: Vi jam estas amiko de %{name}.
remove_friend:
+ heading: Ĉu eksamikigi %{user}?
+ button: Eksamikigi
success: '%{name} estis forviŝita el viaj amikoj.'
not_a_friend: '%{name} ne estas amiko via.'
filter:
not_an_administrator: Vi devas esti administristo por fari tion.
+ list:
+ title: Uzantoj
+ heading: Uzantoj
+ showing:
+ one: Paĝo %{page} (%{first_item} el %{items})
+ other: Paĝo %{page} (%{first_item}-%{last_item} el %{items})
+ summary: '%{name} kreita de %{ip_address} je %{date}'
+ summary_no_ip: '%{name} kreita je %{date}'
+ confirm: Konfirmi elektitajn uzantojn
+ hide: Kaŝi elektitajn uzantojn
+ empty: Kongruaj uzantoj ne trovitaj
+ suspended:
+ title: Konto haltigita
+ heading: Konto haltigita
+ webmaster: administranto
+ body: |-
+ <p>
+ Ho ve, via konto estas aŭtomate haltigita pro suspekta agado.
+ </p>
+ <p>
+ Ĉi tiu decido estos reviziita de administranto baldaŭ, aŭ vi povas kontakti kun la %{webmaster}, se vi volas diskuti tion.
+ </p>
+ auth_failure:
+ connection_failed: Konektado al aŭtentiga servo malsukcesis
+ invalid_credentials: Malkorektaj ensalutiloj
+ no_authorization_code: Rajtigada kodo mankas
+ unknown_signature_algorithm: Nekonata algoritmo de subskribo
+ invalid_scope: Malkorekta amplekso
+ auth_association:
+ heading: Via identigilo ne estas ankoraŭ kunligita kun OpenStreetMap-konto.
+ option_1: Se vi estas unuafoje je OpenStreetMap, bonvolu krei novan konton per
+ la jena formularo.
+ option_2: Se vi jam havas konton, vi povas ensaluti per via salutnomo kaj pasvorto,
+ kaj poste kunligi la konton kun via identigilo en agordoj de uzanto.
user_role:
filter:
- not_an_administrator: Nur administrantoj eblas ŝanĝi uzantrolojn, kaj vi ne
+ not_an_administrator: Nur administrantoj povas ŝanĝi uzant-rolojn, sed vi ne
estas administranto.
not_a_role: La ĉeno `%{role}' ne estas valida rolo.
already_has_role: La uzanto jam rolas %{role}.
doesnt_have_role: La uzanto ne rolas %{role}.
grant:
+ title: Konfirmi donadon de rolo
+ heading: Konfirmi donadon de rolo
+ are_you_sure: Ĉu vi certe volas doni la rolon '%{role}' al la uzanto '%{name}'?
confirm: Konfirmi
+ fail: Ne povas doni rolon '%{role}' al la uzanto '%{name}'. Bonvolu kontroli,
+ ĉu kaj uzanto kaj rolo estas korektaj.
revoke:
+ title: Konfirmi nuligo de rolo
+ heading: Konfirmi nuligon de rolo
+ are_you_sure: Ĉu vi certe volas nuligi la rolon '%{role}' de la uzanto '%{name}'?
confirm: Konfirmi
+ fail: Ne povas nuligi la rolon '%{role}' de la uzanto '%{name}'. Bonvolu kontroli,
+ ĉu kaj uzanto kaj rolo estas korektaj.
user_block:
+ model:
+ non_moderator_update: Vi devas esti kontrolanto por doni aŭ ĝisdatigi blokadon.
+ non_moderator_revoke: Vi devas esti kontrolanto por nuligi blokadon.
+ not_found:
+ sorry: Bedaŭrinde, ne povas trovi blokadon de uzanto kun identigilo %{id}.
+ back: Reen al indekso
+ new:
+ title: Kreado de blokado de %{name}
+ heading: Kreado de blokado de %{name}
+ reason: La kaŭzo kial %{name} estas blokita. Bonvolu esti kiel eble plej trankvila
+ kaj prudenta, donu kiel eble plej multe da detaloj pri la situacio, memoru,
+ ke la mesaĝo estos videbla publike. Memoru, ke ne ĉiuj uzantoj komprenas la
+ komunuman ĵargonon, do bonvolu uzi simplajn vortojn.
+ period: Por kiom da tempo, ekde nun, la uzanto estos blokita por aliro al API.
+ submit: Krei blokadon
+ tried_contacting: Mi kontaktis la uzanton kaj petis lin pri ĉesigo.
+ tried_waiting: Mi donis al la uzanto konvenan kvanton da tempo por respondi
+ al miaj sciigoj.
+ needs_view: Uzanto devas ensaluti antaŭ ĉi tiu blokado nuligos
+ back: Montri ĉiujn blokadojn
+ edit:
+ title: Redaktado de blokado por %{name}
+ heading: Redaktado de blokado por %{name}
+ reason: La kaŭzo kial %{name} estas blokita. Bonvolu esti kiel eble plej trankvila
+ kaj prudenta, donu kiel eble plej multe da detaloj pri la situacio. Memoru,
+ ke ne ĉiuj uzantoj komprenas la komunuman ĵargonon, do bonvolu uzi simplajn
+ vortojn.
+ period: Por kiom da tempo, ekde nun, la uzanto estos blokita por aliro al API.
+ submit: Ĝisdatigi blokadon
+ show: Montri ĉi tiun blokadon
+ back: Montri ĉiujn blokadojn
+ needs_view: Ĉu la uzanto devas ensaluti antaŭ ĉi tiu blokado nuligos?
+ filter:
+ block_expired: Ĉi tiu blokado malvalidiĝis kaj neredakteblas.
+ block_period: La periodo de blokado estu unu el la valoroj elektitaj el la fallisto.
+ create:
+ try_contacting: Bonvolu provi kontakti la uzanton antaŭ vi blokos vin kaj donu
+ al li konvenan kvanton da tempo por respondi.
+ try_waiting: Bonvolu doni al la uzanto konvenan kvanton da tempo por respondi
+ antaŭ blokado.
+ flash: Kreis blokon por uzanto %{name}.
+ update:
+ only_creator_can_edit: Nur la kontrolanto kiu kreis ĉi tiun blokadon, povas
+ redakti ĝin.
+ success: Blokado ĝisdatigita.
+ index:
+ title: Blokadoj de uzanto
+ heading: Listo de blokadoj de uzanto
+ empty: Neniuj blokadoj kreitaj ankoraŭ.
+ revoke:
+ title: Nuligado de blokado por %{block_on}
+ heading: Nuligado de blokado por %{block_on} kreitaj de %{block_by}
+ time_future: Ĉi tiu blokado finiĝos je %{time}.
+ past: La blokado finiĝis antaŭ %{time} kaj ĝi ne povas esti nuligita nun.
+ confirm: Ĉu vi certe volas nuligi ĉi tiun blokadon?
+ revoke: Malbloki!
+ flash: Ĉi tiu blokado estas nuligita.
period:
one: 1 horo
other: '%{count} horoj'
partial:
show: Montri
edit: Redakti
+ revoke: Malbloki!
+ confirm: Ĉu vi certas?
+ display_name: Blokita uzanto
creator_name: Kreinto
+ reason: Kialo de blokado
status: Stato
+ revoker_name: Nuligita de
+ not_revoked: (ne nuligita)
+ showing_page: Paĝo %{page}
+ next: Sekva »
+ previous: « Antaŭa
helper:
time_future: Finiĝos %{time}.
+ until_login: Aktiva ĝis la uzanto ensalutos.
time_past: Finiĝis antaŭ %{time}
+ blocks_on:
+ title: Blokadoj por %{name}
+ heading: Listo de blokadoj por %{name}
+ empty: '%{name} ne estas ankoraŭ blokita.'
+ blocks_by:
+ title: Blokadoj de %{name}
+ heading: Listo de blokadoj de %{name}
+ empty: '%{name} ankoraŭ faris neniun blokadon.'
show:
+ title: '%{block_on} blokita de %{block_by}'
+ heading: '%{block_on} blokita de %{block_by}'
time_future: Finiĝas %{time}
time_past: Finiĝis antaŭ %{time}
+ created: Kreita
+ ago: antaŭ %{time}
status: Stato
show: Montri
edit: Redakti
+ revoke: Malbloki!
+ confirm: Ĉu vi certas?
+ reason: 'Kialo de blokado:'
+ back: Montri ĉiujn blokadojn
+ revoker: 'Malblokanto:'
+ needs_view: La uzanto devas ensaluti antaŭ ĉi tiu blokado nuligos.
note:
+ description:
+ opened_at_html: Kreita antaŭ %{when}
+ opened_at_by_html: Kreita antaŭ %{when} de %{user}
+ commented_at_html: Ĝisdatigita antaŭ %{when}
+ commented_at_by_html: Ĝisdatigita antaŭ %{when} de %{user}
+ closed_at_html: Solvita antaŭ %{when}
+ closed_at_by_html: Solvita antaŭ %{when} de %{user}
+ reopened_at_html: Remalfermita antaŭ %{when}
+ reopened_at_by_html: Remalfermita antaŭ %{when} de %{user}
+ rss:
+ title: OpenStreetMap-rimarkoj
+ description_area: Listo de rimarkoj raportitaj, komentitaj aŭ fermitaj en via
+ najbaraĵo [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
+ description_item: RSS-fluo por rimarko %{id}
+ opened: nova rimarko (proksime de %{place})
+ commented: nova komento (proksime de %{place})
+ closed: fermita rimarko (proksime de %{place})
+ reopened: remalfermita rimarko (proksime de %{place})
+ entry:
+ comment: Komento
+ full: Tuta rimarko
mine:
+ title: Rimarkoj kreitaj aŭ komentitaj de %{user}
+ heading: Rimarkoj de %{user}
+ subheading: Rimarkoj kreitaj aŭ komentitaj de %{user}
+ id: Identigilo
+ creator: Aŭtoro
description: Priskribo
+ created_at: Kreita je
+ last_changed: Laste ŝanĝita
+ ago_html: antaŭ %{when}
+ javascripts:
+ close: Fermi
+ share:
+ title: Kunhavigi
+ cancel: Nuligi
+ image: Bildo
+ link: Ligilo aŭ HTML
+ long_link: Ligilo
+ short_link: Ligileto
+ geo_uri: Geo-URI
+ embed: HTML
+ custom_dimensions: Agordi proprajn dimensiojn
+ format: 'Dosiertipo:'
+ scale: 'Skalo:'
+ image_size: Bildo montros norman tavolon en dimensio
+ download: Elŝuti
+ short_url: Mallonga retadreso
+ include_marker: Inkludi markon
+ center_marker: Centrigi mapon al marko
+ paste_html: Engluu HTML-kodon al via retpaĝo
+ view_larger_map: Vidi pli grandan mapon
+ only_standard_layer: Nur la norma tavolo de mapo elporteblas kiel bildon
+ embed:
+ report_problem: Raporti problemon
+ key:
+ title: Mapklarigo
+ tooltip: Mapklarigo
+ tooltip_disabled: Mapklarigo estas ne disponeblas por ĉi tiu tavolo
+ map:
+ zoom:
+ in: Pligrandigi
+ out: Malgrandigi
+ locate:
+ title: Montri mian pozicion
+ popup: Vi estas {distance} {unit} de ĉi tiu punkto
+ base:
+ standard: Norma mapo
+ cycle_map: Biciklada mapo
+ transport_map: Transporta mapo
+ hot: Hom-helpa mapo
+ layers:
+ header: Tavoloj de mapo
+ notes: Notoj pri mapo
+ data: Map-datumoj
+ overlays: Aktivigu surtavolojn por solvi problemojn kun la mapo
+ title: Tavoloj
+ copyright: © <a href='%{copyright_url}'>Kontribuintoj de OpenStreetMap</a>
+ donate_link_text: <a class='donate-attr' href='%{donate_url}'>Donaci</a>
+ site:
+ edit_tooltip: Redakti la mapon
+ edit_disabled_tooltip: Pligrandigu por redakti la mapon
+ createnote_tooltip: Aldoni rimarkon al la mapo
+ createnote_disabled_tooltip: Pligrandigu por aldoni noton al la mapo
+ map_notes_zoom_in_tooltip: Pligrandigu por vidi map-rimarkoj
+ map_data_zoom_in_tooltip: Pligrandigu por vidi map-datumoj
+ queryfeature_tooltip: Montri informoj pri objekto
+ queryfeature_disabled_tooltip: Pligrandigu por montri informojn pri objektoj
+ changesets:
+ show:
+ comment: Komento
+ subscribe: Observi
+ unsubscribe: Malobservi
+ hide_comment: kaŝi
+ unhide_comment: malkaŝi
+ notes:
+ new:
+ intro: Vi rimarkis eraron aŭ iu mankas? Sciigu aliajn mapigistojn, por ili
+ povos ripari tion. Movu la markon al la respektivan pozicion kaj enmetu
+ la noton priskribantan la problemon. (Bonvolu ne enmeti personajn informojn
+ aŭ informojn el kopirajtaj mapoj aŭ fontoj.)
+ add: Aldoni rimarkon
+ show:
+ anonymous_warning: Ĉi tiu rimarko enhavas komentojn de anonimuloj, kiuj devas
+ esti kontrolitaj sendepende.
+ hide: Kaŝi
+ resolve: Solvi
+ reactivate: Remalfermi
+ comment_and_resolve: Komenti kaj solvi
+ comment: Komenti
+ edit_help: Movu la mapon kaj pligrandigu al loko kiun vi volas redakti, kaj poste
+ alklaku tie ĉi.
+ directions:
+ engines:
+ graphhopper_bicycle: Bicikle (GraphHopper)
+ graphhopper_foot: Piede (GraphHopper)
+ mapquest_bicycle: Bicikle (MapQuest)
+ mapquest_car: Aŭte (MapQuest)
+ mapquest_foot: Piede (MapQuest)
+ osrm_car: Aŭte (OSRM)
+ mapzen_bicycle: Bicikle (Mapzen)
+ mapzen_car: Aŭte (Mapzen)
+ mapzen_foot: Piede (Mapzen)
+ directions: Kurso
+ distance: Distanco
+ errors:
+ no_route: Ne povis trovi kurson inter tiuj du punktoj.
+ no_place: Ho ve - ne povas trovi tiun lokon.
+ instructions:
+ continue_without_exit: Antaŭen al %{name}
+ slight_right_without_exit: Ete dekstren al %{name}
+ offramp_right_without_exit: Veturu la elveturejon dekstre al %{name}
+ onramp_right_without_exit: Turnu dekstren al la elveturejo al %{name}
+ endofroad_right_without_exit: Ĉe la fino de la vojo turnu dekstren al %{name}
+ merge_right_without_exit: Turnu dekstren al %{name}
+ fork_right_without_exit: Ĉe la vojforko turnu dekstren al %{name}
+ turn_right_without_exit: Turnu dekstren al %{name}
+ sharp_right_without_exit: Akute dekstren al %{name}
+ uturn_without_exit: U-forma ĝirado laŭ %{name}
+ sharp_left_without_exit: Akute maldekstren al %{name}
+ turn_left_without_exit: Turnu maldekstren al %{name}
+ offramp_left_without_exit: Veturu la elveturejon maldekstre al %{name}
+ onramp_left_without_exit: Turnu maldekstren al la elveturejo al %{name}
+ endofroad_left_without_exit: Ĉe la fino de la vojo turnu maldekstren al %{name}
+ merge_left_without_exit: Turnu maldekstren al %{name}
+ fork_left_without_exit: Ĉe la vojforko turnu maldekstren al %{name}
+ slight_left_without_exit: Ete maldekstren al %{name}
+ via_point_without_exit: (tra punkto)
+ follow_without_exit: Sekvu %{name}
+ roundabout_without_exit: Ĉe trafikcirklo al %{name}
+ leave_roundabout_without_exit: Elveturu el trafikcirklo - %{name}
+ stay_roundabout_without_exit: Sekvu la trafikcirklon - %{name}
+ start_without_exit: Komencu ĉe la fino de %{name}
+ destination_without_exit: Celo atingita
+ against_oneway_without_exit: Iru kontraŭ-direkte al %{name}
+ end_oneway_without_exit: Fino de unuflanka vojo ĉe %{name}
+ roundabout_with_exit: Ĉe trafikcirklo prenu %{exit}-an elveturejon al %{name}
+ unnamed: sennoma vojo
+ courtesy: Kalkulado de kurso danke al %{link}
+ time: Tempo
+ query:
+ node: Nodo
+ way: Linio
+ relation: Rilato
+ nothing_found: Neniuj objektoj trovitaj
+ error: 'Eraro dum komunikado kun %{server}: %{error}'
+ timeout: Atingis tempolimon dum kontakto kun %{server}
redaction:
edit:
description: Priskribo
+ heading: Redakti korekton
+ submit: Konservi korekton
+ title: Redakti korekton
+ index:
+ empty: Neniu korekto por montri.
+ heading: Listo de korektoj
+ title: Listo de korektoj
new:
description: Priskribo
+ heading: Entajpu informojn pri novan korekton
+ submit: Krei korekton
+ title: Kreado de nova korekto
show:
description: 'Priskribo:'
+ heading: Montrado de korekto "%{title}"
+ title: Montrado de korekto
+ user: 'Aŭtoro:'
+ edit: Redakti ĉu tiun korekton
+ destroy: Forigi ĉi tiun korekton
+ confirm: Ĉu vi certas?
+ create:
+ flash: Korekto kreita.
+ update:
+ flash: Ŝanĝoj konservitaj.
+ destroy:
+ not_empty: La korekto ne estas malplena. Bonvolu malfari ĉiujn versiojnm kiuj
+ apartenas al ĉi tiu korekto, antaŭ vi forigos ĝin.
+ flash: Korekto forigita.
+ error: Okazis eraro dum forigado de ĉi tiu korekto.
...
# Messages for Spanish (español)
# Exported from translatewiki.net
# Export driver: phpyaml
+# Author: Aguslr
# Author: Alberto Chung
# Author: Armando-Martin
# Author: Carlosz22
no_entries: No hay entradas en el diario
recent_entries: Entradas recientes en el diario
older_entries: Entradas más antiguas
- newer_entries: Entradas más modernas
+ newer_entries: Entradas más recientes
edit:
title: Editar entrada del diario
subject: 'Asunto:'
de descolgado</a> o preséntelo directamente en nuestra <a href="http://dmca.openstreetmap.org/">página
de presentación en línea</a>.
trademarks_title_html: <span id="trademarks"></span>Marcas registradas
- trademarks_1_html: OpenStreetMap y el logotipo de la lupa son marcas registradas
- de la Fundación OpenStreetMap. Si tienes preguntas sobre su uso, envíalas
- al <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">grupo
+ trademarks_1_html: OpenStreetMap, el logotipo de la lupa y el estado del mapa
+ son marcas registradas de la Fundación OpenStreetMap. Si tienes preguntas
+ sobre su uso, envíalas al <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">grupo
de trabajo sobre licencias</a>.
welcome_page:
title: ¡Bienvenido!
legal_title: Legal
legal_html: "Este sitio y muchos otros servicios relacionados son manejados por
la \n<a href='http://osmfoundation.org/'>Fundación OpenStreetMap</a> (OSMF)
- \nen nombre de la comunidad.\n<br> \n<a href='http://osmfoundation.org/Contact'>Contacta
+ \nen nombre de la comunidad. El uso de todos los servicios manejados por la
+ OSMF están sujetos \na nuestra <a href=\"http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\npolítica
+ de uso aceptable</a> y nuestra <a href=\"http://wiki.osmfoundation.org/wiki/Privacy_Policy\">política
+ de privacidad</a>\n<br> \n<a href='http://osmfoundation.org/Contact'>Contacta
a la OSMF</a> \nsi tienes preguntas o problemas sobre licencias, derechos de
autor u otro tema legal."
partners_title: Socios
track: Pista
bridleway: Vía ecuestre
cycleway: Bicisenda
+ cycleway_national: Ciclovía nacional
+ cycleway_regional: Ciclovía regional
+ cycleway_local: Ciclovía local
footway: Vía peatonal
rail: Ferrocarril
subway: Metro
private: Acceso privado
destination: Acceso a destino
construction: Vías en construcción
+ bicycle_shop: Tienda de bicicletas
+ bicycle_parking: Aparcamiento de bicicletas
+ toilets: Baños
richtext_area:
edit: Editar
preview: Vista previa
windowslive:
title: Inicia sesión con Windows Live
alt: Inicia sesión con una cuenta de Windows Live
+ github:
+ title: Accede con GitHub
+ alt: Accede con una cuenta de GitHub
yahoo:
title: Iniciar sesión con Yahoo
alt: Iniciar sesión con una OpenID de Yahoo
del contribuyente</a>.
email address: 'Dirección de correo electrónico:'
confirm email address: 'Confirmar la dirección de correo electrónico:'
- not displayed publicly: No se muestra de forma pública (vea la <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="wiki privacy policy including section on email addresses">política
- de privacidad</a>)
+ not displayed publicly: Tu dirección no se muestra de forma pública (consulta
+ la <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF
+ privacy policy including section on email addresses">política de privacidad</a>
+ para más información)
display name: 'Nombre en pantalla:'
display name description: Tu nombre de usuario público. Puedes cambiarlo más
tarde en "preferencias".
gravatar: Usa Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: ¿Qué es esto?
+ disabled: Gravatar se ha deshabilitado.
+ enabled: Se ha habilitado la visualización de tu Gravatar.
new image: Añadir una imagen
keep image: Mantener la imagen actual
delete image: Eliminar la imagen actual
standard: Estándar
cycle_map: Mapa ciclista
transport_map: Mapa de transporte
- mapquest: MapQuest Open
hot: Humanitario
layers:
header: Capas del mapa
instructions:
continue_without_exit: Continuar en %{name}
slight_right_without_exit: Gire un poco a la derecha hacia %{name}
+ offramp_right_without_exit: Tome la salida a la derecha hacia %{name}
+ onramp_right_without_exit: Gire a la izquierda en la salida hacia %{name}
+ endofroad_right_without_exit: Al final de la calle gire a la derecha hacia
+ %{name}
+ merge_right_without_exit: Incorpórese a la derecha hacia %{name}
+ fork_right_without_exit: En la bifurcación, gire a la derecha hacia %{name}
turn_right_without_exit: Gire a la derecha hacia %{name}
sharp_right_without_exit: Giro brusco a la derecha hacia %{name}
uturn_without_exit: Vuelta en U a lo largo de %{name}
sharp_left_without_exit: Giro brusco a la izquierda hacia %{name}
turn_left_without_exit: Gire a la izquierda hacia %{name}
+ offramp_left_without_exit: Tome la salida a la izquierda hacia %{name}
+ onramp_left_without_exit: Gire a la izquierda en la salida hacia %{name}
+ endofroad_left_without_exit: Al final de la calle gire a la derecha hacia
+ %{name}
+ merge_left_without_exit: Incorpórese a la izquierda hacia %{name}
+ fork_left_without_exit: En la bifurcación, gire a la izquierda hacia %{name}
slight_left_without_exit: Gire un poco a la izquierda hacia %{name}
via_point_without_exit: (punto intermedio)
follow_without_exit: Siga %{name}
# Author: Kanne
# Author: Luckas
# Author: Macofe
+# Author: Pikne
# Author: RM87
# Author: WikedKentaur
---
activerecord:
models:
acl: Pääsuloend
- changeset: Muutuskogum
- changeset_tag: Muutuskogumi silt
+ changeset: Muudatuskogum
+ changeset_tag: Muudatuskogumi silt
country: Riik
diary_comment: Päeviku kommentaar
diary_entry: Päeviku sissekanne
diary_entry:
user: Kasutaja
title: Teema
- latitude: Laiuskraad
- longitude: Pikkuskraad
+ latitude: Laius
+ longitude: Pikkus
language: Keel
friend:
user: Kasutaja
visible: Nähtav
name: Nimi
size: Suurus
- latitude: Laiuskraadid
- longitude: Pikkuskraadid
+ latitude: Laius
+ longitude: Pikkus
public: Avalik
description: Kirjeldus
message:
user:
email: E-posti aadress
active: Aktiivne
- display_name: Näita nime
+ display_name: Kuvatav nimi
description: Kirjeldus
languages: Keeled
pass_crypt: Parool
closed: Suletud
created_html: Loodud <abbr title='%{title}'>%{time} tagasi</abbr>
closed_html: Suletud <abbr title='%{title}'>%{time} tagasi</abbr>
- created_by_html: Loodud %{user} poolt <abbr title='%{title}'>%{time} tagasi</abbr>
- deleted_by_html: Kustutatud %{user} poolt <abbr title='%{title}'>%{time} tagasi</abbr>
- edited_by_html: Muudetud %{user} poolt <abbr title='%{title}'>%{time} tagasi</abbr>
- closed_by_html: Suletud %{user} poolt <abbr title='%{title}'>%{time} tagasi</abbr>
+ created_by_html: Loonud %{user} <abbr title='%{title}'>%{time} tagasi</abbr>
+ deleted_by_html: Kustutanud %{user} <abbr title='%{title}'>%{time} tagasi</abbr>
+ edited_by_html: Muutnud %{user} <abbr title='%{title}'>%{time} tagasi</abbr>
+ closed_by_html: Sulgenud %{user} <abbr title='%{title}'>%{time} tagasi</abbr>
version: Versioon
- in_changeset: Muutuskogum
+ in_changeset: Muudatuskogum
anonymous: anonüümne
no_comment: (kommentaare pole)
part_of: Osa
view_details: Vaata üksikasju
location: 'Asukoht:'
changeset:
- title: 'Muutuskogum: %{id}'
+ title: 'Muudatuskogum: %{id}'
belongs_to: Autor
node: Sõlmed (%{count})
node_paginated: Sõlmed (%{x}-%{y}/%{count})
tagasi</abbr>
commented_by: Kommentaar kasutajalt %{user} <abbr title='%{exact_time}'>%{when}
tagasi</abbr>
- changesetxml: Muutuskogumi XML
+ changesetxml: Muudatuskogumi XML
osmchangexml: osmChange XML
feed:
- title: Muutuskogum %{id}
- title_comment: Muutuskogum %{id} - %{comment}
+ title: Muudatuskogum %{id}
+ title_comment: Muudatuskogum %{id} – %{comment}
join_discussion: Logi sisse, kui soovid arutelus osaleda
discussion: Arutelu
node:
node: sõlme
way: joont
relation: relatsiooni
- changeset: muutuskogumit
+ changeset: muudatuskogumit
note: märkuse
timeout:
sorry: Kahjuks võttis andmete (%{type} id-ga %{id}) laadimine liiga kaua aega.
node: sõlme
way: joone
relation: relatsiooni
- changeset: muutuskogumi
+ changeset: muudatuskogumi
note: märkuse
redacted:
redaction: Redaktsioon %{id}
message_html: Selle %{type} versiooni %{version} ei saa kuvada, sest seda on
muudetud. Palun vaata üksikasju %{redaction_link}.
type:
- node: sõlm
- way: joon
- relation: relatsioon
+ node: sõlme
+ way: joone
+ relation: relatsiooni
start_rjs:
feature_warning: Laaditakse %{num_features} objekti, mis võib muuta su veebilehitseja
aeglaseks. Kas oled kindel, et soovid neid andmeid kuvada?
open_title: 'Lahendamata märkus: #%{note_name}'
closed_title: 'Lahendatud märkus: #%{note_name}'
hidden_title: 'Peidetud märkus #%{note_name}'
- open_by: Loodud %{user} poolt <abbr title='%{exact_time}'>%{when} tagasi</abbr>
+ open_by: Loonud %{user} <abbr title='%{exact_time}'>%{when} tagasi</abbr>
open_by_anonymous: Loodud anonüümse kasutaja poolt <abbr title='%{exact_time}'>%{when}
tagasi</abbr>
commented_by: Kommentaar kasutajalt %{user} <abbr title='%{exact_time}'>%{when}
tagasi</abbr>
commented_by_anonymous: Kommentaar anonüümselt kasutajalt <abbr title='%{exact_time}'>%{when}
tagasi</abbr>
- closed_by: Lahendatud kasutaja %{user} poolt <abbr title='%{exact_time}'>%{when}
- tagasi</abbr>
+ closed_by: Lahendanud %{user} <abbr title='%{exact_time}'>%{when} tagasi</abbr>
closed_by_anonymous: Lahendatud anonüümse kasutaja poolt <abbr title='%{exact_time}'>%{when}
tagasi</abbr>
- reopened_by: Taasavatud kasutaja %{user} poolt <abbr title='%{exact_time}'>%{when}
- tagasi</abbr>
+ reopened_by: Taasavanud %{user} <abbr title='%{exact_time}'>%{when} tagasi</abbr>
reopened_by_anonymous: Taasavatud anonüümse kasutaja poolt <abbr title='%{exact_time}'>%{when}
tagasi</abbr>
- hidden_by: Peidetud kasutaja %{user} poolt <abbr title='%{exact_time}'>%{when}
- tagasi</abbr>
+ hidden_by: Peitnud %{user} <abbr title='%{exact_time}'>%{when} tagasi</abbr>
changeset:
changeset_paging_nav:
showing_page: Leht %{page}
changeset:
anonymous: Anonüümne
no_edits: (muudatused puuduvad)
- view_changeset_details: Vaata muutuskogumi üksikasju
+ view_changeset_details: Vaata muudatuskogumi üksikasju
changesets:
id: ID
saved_at: Salvestatud
comment: Kommentaar
area: Ala
list:
- title: Muutuskogumid
- title_user: Kasutaja %{user} muutuskogumid
- title_friend: Sõprade muutuskogumid
- title_nearby: Läheduses asuvate kasutajate muutuskogumid
- empty: Muutuskogumeid ei leitud.
- empty_area: Selles alas ei ole muutuskogumeid.
- empty_user: Selle kasutaja tehtud muutuskogumeid ei ole.
- no_more: Rohkem muutuskogumeid ei leitud.
- no_more_area: Sellest alast ei leitud rohkem muutuskogumeid.
- no_more_user: Sellelt kasutajalt ei leitud rohkem muutuskogumeid.
+ title: Muudatuskogumid
+ title_user: Kasutaja %{user} muudatuskogumid
+ title_friend: Sõprade muudatuskogumid
+ title_nearby: Läheduses asuvate kasutajate muudatuskogumid
+ empty: Muudatuskogumeid ei leitud.
+ empty_area: Selles alas ei ole muudatuskogumeid.
+ empty_user: Selle kasutaja tehtud muudatuskogumeid ei ole.
+ no_more: Rohkem muudatuskogumeid ei leitud.
+ no_more_area: Sellest alast ei leitud rohkem muudatuskogumeid.
+ no_more_user: Sellelt kasutajalt ei leitud rohkem muudatuskogumeid.
load_more: Laadi veel
timeout:
- sorry: Kahjuks võttis taotletud muutuskogumite laadimine liiga kaua aega.
+ sorry: Kahjuks võttis taotletud muudatuskogumite laadimine liiga kaua aega.
rss:
- title_all: OpenStreetMap muutuskogumi arutelu
- title_particular: 'OpenStreetMap muutuskogumi #%{changeset_id} arutelu'
- comment: 'Uus kommentaar muutuskogumis #%{changeset_id} kasutajalt %{author}'
+ title_all: OpenStreetMapi muudatuskogumi arutelu
+ title_particular: 'OpenStreetMapi muudatuskogumi #%{changeset_id} arutelu'
+ comment: 'Uus kommentaar muudatuskogumis #%{changeset_id} kasutajalt %{author}'
commented_at_html: Uuendatud %{when} tagasi
- commented_at_by_html: Uuendatud %{when} tagasi kasutaja %{user} poolt
+ commented_at_by_html: Uuendanud %{user} %{when} tagasi
full: Kogu arutelu
diary_entry:
new:
body: 'Tekst:'
language: 'Keel:'
location: 'Asukoht:'
- latitude: 'Laiuskraad:'
- longitude: 'Pikkuskraad:'
+ latitude: 'Laius:'
+ longitude: 'Pikkus:'
use_map_link: kasuta kaarti
save_button: Salvesta
marker_text: Päeviku sissekande tegemise asukoht
user_title: Kasutaja %{user} päevik
leave_a_comment: Kommenteeri
login_to_leave_a_comment: kommenteerimiseks %{login_link}
- login: Logi sisse
+ login: logi sisse
save_button: Salvesta
no_such_entry:
title: Sellist päeviku sissekannet pole olemas
body: Kahjuks ei leidu päeviku sissekannet või kommentaari id-ga %{id}. Kontrolli
sisestatud lingi õigekirja. Võimalik, et link millele sa vajutasid on vigane.
diary_entry:
- posted_by: Postitas %{link_user} %{created} %{language_link}
- comment_link: Kommenteeri seda päeviku sissekannet
+ posted_by: Postitas %{link_user} kuupäeval %{created} – %{language_link}
+ comment_link: Kommenteeri seda sissekannet
reply_link: Vasta sellele sissekandele
comment_count:
one: '%{count} kommentaar'
edit: muuda
feed:
user:
- title: Kasutaja %{user} OpenStreetMap päeviku sissekanded
- description: Kasutaja %{user} hiljutised OpenStreetMap päeviku sissekanded
+ title: Kasutaja %{user} OpenStreetMapi päeviku sissekanded
+ description: Kasutaja %{user} hiljutised OpenStreetMapi päeviku sissekanded
language:
- title: OpenStreetMap päeviku sissekanded keeles %{language_name}
- description: Hiljutised OpenStreetMap kasutajate päeviku sissekanded keeles
+ title: OpenStreetMapi päevikusissekanded keeles %{language_name}
+ description: Hiljutised OpenStreetMapi kasutajate päevikusissekanded keeles
%{language_name}
all:
- title: OpenStreetMap päeviku sissekanded
- description: Hiljutised OpenStreetMap kasutajate päeviku sissekanded
+ title: OpenStreetMapi päevikusissekanded
+ description: Hiljutised OpenStreetMapi kasutajate päevikusissekanded
comments:
has_commented_on: '%{display_name} on kommenteerinud järgnevaid päeviku sissekandeid'
post: Postitus
allalaadimiseks.
planet:
title: Planet OSM
- description: Regulaarselt uuendatavad koopiad tervest OpenStreetMap andmebaasist
+ description: Regulaarselt uuendatavad koopiad tervest OpenStreetMapi andmebaasist
overpass:
title: Overpass API
- description: Laadi alla piiritletud ala OpenStreetMap andmebaasi peegelserverist
+ description: Laadi alla piiritletud ala OpenStreetMapi andmebaasi peegelserverist
geofabrik:
- title: Geofabrik allalaadimised
+ title: Geofabriki allalaadimised
description: Regulaarselt uuendatavad tõmmised kontinentidest, riikidest
ja valikulistest linnadest
metro:
description: Tõmmised maailma suurematest linnadest ja nende ümbruskondadest
other:
title: Muud allikad
- description: Täiendavad allikad on välja toodud OpenStreetMapi wikis
+ description: Täiendavad allikad on välja toodud OpenStreetMapi vikis
options: Sätted
format: 'Vorming:'
scale: Mõõtkava
Nominatim</a>i tulemused
geonames: <a href="http://www.geonames.org/">GeoNames</a>i tulemused
osm_nominatim_reverse: <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
- Nominatim</a> tulemused
- geonames_reverse: <a href="http://www.geonames.org/">GeoNames</a> tulemused
+ Nominatimi</a> tulemused
+ geonames_reverse: <a href="http://www.geonames.org/">GeoNamesi</a> tulemused
search_osm_nominatim:
prefix:
aeroway:
waterway:
boatyard: Verf
canal: Kanal
- dam: Tamm
+ dam: Pais
ditch: Kraav
rapids: Kärestik
river: Jõgi
stream: Oja
wadi: Vadi
waterfall: Kosk
- weir: Pais
+ weir: Ülevool
admin_levels:
level2: Riigipiir
level4: Osariigi piir
Nominatimist</a>
geonames: Asukoht teenusest <a href="http://www.geonames.org/">GeoNames</a>
types:
- cities: Linnad
- towns: Külad
+ cities: Suurlinnad
+ towns: Linnad
places: Kohad
results:
no_results: Ei leidnud midagi
export: Eksport
data: Andmed
export_data: Andmete eksportimine
- gps_traces: GPS rajad
- gps_traces_tooltip: Halda GPS radasid
+ gps_traces: GPS-rajad
+ gps_traces_tooltip: Halda GPS-radasid
user_diaries: Kasutajate päevikud
user_diaries_tooltip: Vaata kasutajate päevikuid
- edit_with: Redigeeri %{editor}-ga
+ edit_with: Redigeeri rakendusega %{editor}
tag_line: Vaba viki-maailmakaart
- intro_header: Tere tulemast OpenStreetMappi!
+ intro_header: Tere tulemast OpenStreetMapi!
intro_text: OpenStreetMap on maailma kaart, mille on loonud inimesed nagu sina
ja seda võib vabalt kasutada avatud litsentsi tingimustel.
intro_2_create_account: loo oma konto
protseduuri</a> poole või otse meie
<a href="http://dmca.openstreetmap.org/">onlain lehele</a>.
trademarks_title_html: <span id="trademarks"></span>Kaubamärgid
- trademarks_1_html: OpenStreetMap ja suurendusklaasi logo on OpenStreetMap Sihtasutuse
- registreeritud kaubamärgid. Kui teil on nende märkide kasutamise kohta küsimusi,
- siis saatke küsimused <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Litsentsi
+ trademarks_1_html: OpenStreetMap, suurendusklaasi logo ja State of the Map on
+ OpenStreetMap Sihtasutuse registreeritud kaubamärgid. Kui teil on nende märkide
+ kasutamise kohta küsimusi, siis saatke küsimused <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Litsentsi
töörühmale</a>.
welcome_page:
title: Tere tulemast!
Kliki <a class='icon note'></a> või samale ikoonile kaardivaates.
See lisab kaardile markeri, mida sa saad liigutada seda hiirega lohistades. Lisa oma sõnum, seejärel kliki "Salvesta" ja teised kaardistajad näevad seda.
other_concerns:
- title: Muud probleemid
+ title: Muud asjad
explanation_html: |-
Kui sul on küsimusi meie andmete kasutamise või sisu kohta, siis palun pöördu juriidilise info
saamiseks meie <a href='/copyright'>autoriõiguste lehele</a> või võta ühendust sobiva <a href='http://wiki.osmfoundation.org/wiki/Working_Groups'>OSMF töögrupiga</a>.
description: Sirvi vikis põhjalikumat OSM dokumentatsiooni.
about_page:
next: Edasi
- copyright_html: <span>©</span>OpenStreetMap<br>kaastöölised
+ copyright_html: <span>©</span>OpenStreetMapi<br>kaastöölised
used_by: '%{name} varustab kaardiandmetega tuhandeid veebisaite, mobiilside rakendusi
ja riistvara seadmeid'
lede_text: OpenStreetMap on loodud kaardistajate kogukonna poolt, kes täiendavad
diary_comment_notification:
subject: '[OpenStreetMap] %{user} kommenteeris sinu päeviku sissekannet'
hi: Tere, %{to_user}!
- header: '%{from_user} on kommenteerinud sinu hiljutist OpenStreetMap päeviku
- sissekannet pealkirjaga %{subject}:'
+ header: '%{from_user} on kommenteerinud sinu hiljutist OpenStreetMapi päevikusissekannet
+ pealkirjaga %{subject}:'
footer: Loe kommentaari lehel %{readurl}. Võid lisada oma kommentaari lehel
%{commenturl} või vastata kommentaarile lehel %{replyurl}.
message_notification:
see_their_profile: Tema profiiliga võid tutvuda aadressil %{userurl}.
befriend_them: Sa võid ta lisada oma sõbraks aadressil %{befriendurl}.
gpx_notification:
- greeting: Tere,
+ greeting: Tere!
your_gpx_file: Paistab, et sinu GPX-fail
with_description: ', mille kirjeldus on'
and_the_tags: 'ja järgmised sildid:'
loaded_successfully: laaditi üles edukalt %{trace_points} punkti võimalikust
%{possible_points} punktist.
signup_confirm:
- subject: '[OpenStreetMap] Tere tulemast OpenStreetMappi'
+ subject: '[OpenStreetMap] Tere tulemast OpenStreetMapi'
greeting: Tere!
created: Keegi (loodetavasti sina) lõi äsja %{site_url} kasutajakonto.
confirm: 'Enne kasutajakonto loomist peame saama kinnituse, et see taotlus tuli
email_confirm:
subject: '[OpenStreetMap] Kinnita oma e-posti aadress'
email_confirm_plain:
- greeting: Tere,
+ greeting: Tere!
hopefully_you: Keegi (loodetavasti sina) soovib muuta oma %{server_url} meiliaadressi
kujule %{new_address}.
click_the_link: Kui see oled sina, siis palun kliki allolevale lingile muudatuse
kinnitamiseks.
email_confirm_html:
- greeting: Tere,
+ greeting: Tere!
hopefully_you: Keegi (loodetavasti sina) soovib muuta oma %{server_url} meiliaadressi
kujule %{new_address}.
click_the_link: Kui see oled sina, siis palun kliki allolevale lingile muudatuse
lost_password:
subject: '[OpenStreetMap] Parooli lähtestamise taotlus'
lost_password_plain:
- greeting: Tere,
+ greeting: Tere!
hopefully_you: Keegi (tõenäoliselt sina) on esitanud taotluse oma parooli lähtestamiseks
antud meiliaadressiga openstreetmap.org kasutajakonto alt.
click_the_link: Kui see oled sina, siis palun kliki allaolevale lingile oma
parooli lähtestamiseks.
lost_password_html:
- greeting: Tere,
+ greeting: Tere!
hopefully_you: Keegi (tõenäoliselt sina) on esitanud taotluse oma parooli lähtestamiseks
antud meiliaadressiga openstreetmap.org kasutajakonto alt.
click_the_link: Kui see oled sina, siis palun kliki allaolevale lingile oma
parooli lähtestamiseks.
note_comment_notification:
anonymous: Anonüümne kasutaja
- greeting: Tere,
+ greeting: Tere!
commented:
subject_own: '[OpenStreetMap] %{commenter} on kommenteerinud ühte sinu märkust'
subject_other: '[OpenStreetMap] %{commenter} on kommenteerinud märkust, millest
Märkus on %{place} lähedal.'
details: Märkuse lisateavet leiad %{url}.
changeset_comment_notification:
- greeting: Tere,
+ greeting: Tere!
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} on kommenteerinud üht sinu muudatuskogumit'
+ subject_other: '[OpenStreetMap] %{commenter} on kommenteerinud muudatuskogumit,
+ millest sa oled huvitunud'
+ your_changeset: '%{commenter} on jätnud kommentaari ühele sinu muudatuskogumile,
+ mis on loodud kuupäeval %{time}'
+ commented_changeset: '%{commenter} on jätnud kommentaari kaardi muudatuskogumile,
+ mida sa jälgid ja mille on loonud %{changeset_author} kuupäeval %{time}'
message:
inbox:
title: Saabunud kirjad
in: kohas
map: asukoht kaardil
list:
- public_traces: Avalikud GPS rajad
- your_traces: Sinu GPS rajad
- public_traces_from: Kasutaja %{user} avalikud GPS rajad
+ public_traces: Avalikud GPS-rajad
+ your_traces: Sinu GPS-rajad
+ public_traces_from: Kasutaja %{user} avalikud GPS-rajad
description: Sirvi viimati üles laaditud GPS-radasid
tagged_with: ', millel on silt %{tags}'
application:
allow_read_prefs: lugeda sinu kasutajaeelistusi.
allow_write_prefs: muuta sinu kasutajaeelistusi.
allow_write_diary: luua päeviku sissekandeid, kommentaare ja saada sõbraks.
- allow_write_api: muuda kaarti.
+ allow_write_api: muuta kaarti.
allow_read_gpx: lugeda sinu privaatseid GPS jälgi.
allow_write_gpx: laadida üles GPS jälgi.
allow_write_notes: muuta märkuseid.
title: Redigeeri oma rakendust
submit: Redigeeri
show:
- title: OAuth üksikasjad %{app_name}
+ title: Rakenduse %{app_name} OAuthi üksikasjad
key: 'Tarbija võti:'
secret: 'Tarbija saladus:'
url: Taotlustõendi URL
edit: Muuda üksikasju
delete: Kustuta klient
confirm: Kas oled kindel?
- requests: 'Järgnevate õiguste taotlemine kasutajalt:'
+ requests: 'Kasutajalt taotletakse järgmisi õigusi:'
allow_read_prefs: lugeda nende kasutajaeelistusi.
allow_write_prefs: muuta nende kasutajaeelistusi.
allow_write_diary: luua päeviku sissekandeid, kommenteerida ja saada sõbraks.
allow_write_gpx: laadida üles GPS-radasid.
allow_write_notes: muuta märkuseid.
index:
- title: Minu OAuth seaded
+ title: Minu OAuthi üksikasjad
my_tokens: Minu autoriseeritud rakendused
list_tokens: 'Järgmised turvamärgid on rakendustele väljastatud sinu nime all:'
application: Rakenduse nimi
issued_at: Väljastatud
revoke: Tühista!
my_apps: Minu klientrakendused
- no_apps: Kas omad rakendust, mida soovid siin kasutamiseks registreerida, kasutades
- %{oauth} standardit? Selleks tuleb kõigepealt registreerida oma veebirakendus
- enne kui see saab teostada OAuth päringuid antud teenusele.
+ no_apps: Kas sul on rakendus, mida soovid siin kasutamiseks registreerida, kasutades
+ standardit %{oauth}? Enne kui see saab antud teenusele OAuthi päringuid saata,
+ pead oma veebirakenduse registreerima.
registered_apps: 'Sul on registreeritud on järgmised klientrakendused:'
register_new: Registreeri oma rakendus
form:
email or username: 'E-posti aadress või kasutajanimi:'
password: 'Parool:'
openid: '%{logo} OpenID:'
- remember: 'Jäta mind meelde:'
+ remember: Jäta mind meelde
lost password link: Salasõna ununes?
login_button: Logi sisse
register now: 'Registreeru:'
- with username: Kas omad juba OpenStreetMap kasutajakontot? Palun logi sisse
- enda kasutajanime ja salasõnaga.
+ with username: 'Kas sul on juba OpenStreetMapi konto? Palun logi sisse oma kasutajanime
+ ja salasõnaga:'
with external: 'Teise võimalusena võid sisse logida kolmanda osapoole kaudu:'
- new to osm: Oled uus OpenStreetMap kasutaja?
- to make changes: Muudatuste tegemiseks OpenStreetMap andmetes peab sul olema
- kasutajakonto.
+ new to osm: Kas OpenStreetMap on sulle uus?
+ to make changes: Et OpenStreetMapi andmeid muuta, peab sul olema kasutajakonto.
create account minute: Loo kasutajakonto. See võtab vaid hetke.
no account: Sa ei ole veel registreerinud kasutajaks?
account not active: Vabandust, sinu kasutajakonto ei ole veel aktiivne.<br />Aktiveerimiseks
title: Sisene Google'i tunnusega
alt: Sisene Google'i OpenID tunnusega
facebook:
- title: Sisene Facebook'i tunnusega
+ title: Sisene Facebooki tunnusega
+ alt: Sisene Facebooki kontoga
windowslive:
- title: Sisene Windows Live tunnusega
+ title: Sisene Windows Live'i tunnusega
+ alt: Sisene Windows Live'i kontoga
yahoo:
title: Sisene Yahoo tunnusega
alt: Sisene Yahoo OpenID tunnusega
wordpress:
- title: Sisene Wordpress tunnusega
- alt: Sisene Wordpress OpenID tunnusega
+ title: Sisene Wordpressi tunnusega
+ alt: Sisene Wordpressi OpenID tunnusega
aol:
- title: Sisene AOL tunnusega
- alt: Sisene AOL OpenID tunnusega
+ title: Sisene AOL-i tunnusega
+ alt: Sisene AOL-i OpenID tunnusega
logout:
title: Logi välja
- heading: Välju OpenStreetMap -st
+ heading: Logi OpenStreetMapist välja
logout_button: Logi välja
lost_password:
title: Unustatud salasõna
notice email cannot find: Seda e-posti aadressi ei leitud.
reset_password:
title: Lähtesta parool
- heading: Lähtesta parool kasutajale %{user}
+ heading: Kasutaja %{user} parooli lähtestamine
password: 'Parool:'
confirm password: 'Kinnita parool:'
reset: Lähtesta parool
display name: 'Kuvatav nimi:'
display name description: Avalikult kuvatud kasutajanimi. Seda saate muuta hiljem
eelistustes.
- password: 'Uus parool:'
+ password: 'Parool:'
confirm password: 'Kinnita parool:'
use external auth: Teise võimalusena võid sisse logida kolmanda osapoole kaudu
continue: Registreeru
Lisateabe saamiseks vaata <a href="%{url}">seda wiki lehte</a>.
terms:
title: 'Kaastöötingimused:'
- heading: 'Kaastöötingimused:'
+ heading: Kaastöötingimused
read and accept: Palun loe lepingut ja vajuta nuppu "Nõustun" kinnitamaks, et
nõustud selle lepingu tingimustega oma olemasoleva ja edaspidise kaastöö jaoks.
consider_pd: Eelnevale nõusolekule lisaks leian, et minu kaastöö kuulub avalikku
my profile: Minu profiil
my settings: Minu seadistused
my comments: Minu kommentaarid
- oauth settings: oauth seaded
+ oauth settings: OAuthi seaded
blocks on me: Saadud blokeeringud
blocks by me: Minu antud blokeeringud
send message: Saada sõnum
administrator: See kasutaja on administraator
moderator: See kasutaja on moderaator
grant:
- administrator: Omista administraatori õigused
- moderator: Omista moderaatori õigused
+ administrator: Määra administraatori õigused
+ moderator: Määra moderaatori õigused
revoke:
administrator: Eemalda administraatori õigused
moderator: Eemalda moderaatori õigused
unhide_user: Muuda see kasutaja nähtavaks
delete_user: Kustuta see kasutaja
confirm: Kinnita
- friends_changesets: Sõprade muutuskogumid
- friends_diaries: Sõprade päevikusissekanded
- nearby_changesets: Lähedalasuvate kasutajate muutuskogumid
- nearby_diaries: Lähedalasuvate kasutajate päevikusissekanded
+ friends_changesets: sõprade muudatuskogumid
+ friends_diaries: sõprade päevikusissekanded
+ nearby_changesets: lähedalasuvate kasutajate muudatuskogumid
+ nearby_diaries: lähedalasuvate kasutajate päevikusissekanded
popup:
your location: Sinu asukoht
nearby mapper: Lähedaloevad kaardistajad
image size hint: (ruudukujuline pilt mõõtudega vähemalt 100x100 on sobiv)
home location: 'Kodu asukoht:'
no home location: Sa pole oma kodu asukohta märkinud.
- latitude: 'Laiuskraadid:'
- longitude: 'Pikkuskraadid:'
- update home location on click: Kas uuendan kodu asukohta kui ma klõpsan kaardil?
+ latitude: 'Laius:'
+ longitude: 'Pikkus:'
+ update home location on click: Kas uuendan kodu asukohta, kui klõpsan kaardil?
save changes button: Salvesta muudatused
make edits public button: Tee kõik minu muudatused avalikuks
return to profile: Tagasi profiili juurde
introduction_1: Me saatsime sulle kinnitusmeili.
introduction_2: Kinnita oma konto, klikkides meilis lingile ja sa saad alustada
kaardistamist.
- press confirm button: Vajuta allolevale kinnitamise nupule, et oma kasutajakonto
- aktiveerida.
+ press confirm button: Klõpsa kinnitusnuppu, et konto aktiveerida.
button: Kinnita
success: Sinu kasutajakonto on kinnitatud, täname registreerimast!
already active: See konto on juba kinnitatud.
failure: Kasutajat %{name} ei leitud.
confirm_email:
heading: Kinnita e-posti aadressi muutmine
- press confirm button: Kliki nupul kinnita oma uue e-posti aadressi kinnitamiseks.
+ press confirm button: Klõpsa kinnitusnuppu, et kinnitada uus e-posti aadress.
button: Kinnita
- success: Sinu eposti aadressi muudatus on kinnitatud, täname registreerimast!
+ success: Sinu e-posti aadressi muutmine on kinnitatud!
failure: E-posti aadress on juba antud pääsuloaga kinnitatud.
unknown_token: See kinnituskood on aegunud või seda pole olemas.
set_home:
no_authorization_code: Autoriseerimiskood puudub
auth_association:
heading: Sinu ID ei ole veel seotud OpenStreetMapi kasutajakontoga.
- option_1: Kui oled esimest korda OpenStreetMapis siis loo palun uus kasutajakonto,
+ option_1: |-
+ Kui oled esimest korda OpenStreetMapis, siis loo palun uus kasutajakonto,
täites allpool oleva vormi.
option_2: Kui sul juba on kasutajakonto, saad enda kontole siseneda, kasutades
oma kasutajatunnust ja parooli ning seejärel siduda kasutaja seadetes konto
reopened_at_html: Taasaktiveeritud %{when} tagasi
reopened_at_by_html: Taasaktiveeritud %{when} tagasi kasutaja %{user} poolt
rss:
- title: OpenStreetMap märkused
+ title: OpenStreetMapi märkused
description_area: Loetelu märkustest mida teatati, kommenteeriti või suleti
sinu piirkonnas [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
description_item: Märkuse %{id} RSS uudisvoog
data: Kaardi andmed
overlays: Luba kattekihte, et kaarti analüüsida
title: Kihid
- copyright: © <a href='%{copyright_url}'>OpenStreetMap kaastöölised</a>
+ copyright: © <a href='%{copyright_url}'>OpenStreetMapi kaastöölised</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Tee annetus</a>
site:
edit_tooltip: Muuda kaarti
way: Polkua
relation: Relaatiota
changeset: muutoskokoelma
+ note: merkintä
timeout:
sorry: Tietojen hakeminen (kohde %{type}:%{id}) kesti liian kauan.
type:
way: polku
relation: relaatio
changeset: muutoskokoelma
+ note: merkintä
redacted:
redaction: Redaktio %{id}
message_html: Tämän %{type}-tyypin versiota ei voi näyttää koska se on laitostettu.
chair_lift: Tuolihissi
drag_lift: Vetohissi
gondola: Gondolihissi
+ station: Ilmarata-asema
aeroway:
aerodrome: Lentokenttä
apron: Asemataso
siitä tulee tehdä <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">poistopyyntö</a>
tai <a href="http://dmca.openstreetmap.org/">ilmoittaa suoraan</a>.
trademarks_title_html: <span id="trademarks"></span>Tavaramerkit
- trademarks_1_html: OpenStreetMap ja sen suurennuslasilogo ovat OpenStreetMap-säätiön
+ trademarks_1_html: OpenStreetMap, suurennuslasilogo ja maailmankartta ovat OpenStreetMap-säätiön
rekisteröityjä tavaramerkkejä. <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Lisensointiryhmämme
(englanniksi)</a> vastaa mielellään kysymyksiin tavaramerkkien käytöstä.
welcome_page:
maailmankarttaan. Rekisteröityminen on nyt suoritettu, joten olet valmis aloittamaan
kartan muokkaamisen. Tutustu ensin kuitenkin näihin perusasioihin.
whats_on_the_map:
- title: Mitä kartalla on
+ title: Kartan sisältö
on_html: OpenStreetMapissä voi kartoittaa asioita, jotka ovat <em>olemassa juuri
nyt</em> – se sisältää miljoonia rakennuksia, teitä ja muita tietoja maailmasta.
Voit kartoittaa mitä tahansa reaalimaailman piirteitä, jotka sinua kiinnostavat.
lähteistä. Ellei sinulla ole erityistä lupaa, älä kopioi verkko- tai paperikarttoja.
basic_terms:
title: Käsitteitä ja termistöä
- paragraph_1_html: OpenStreetMapissa käytetään lukuisia, vain siinä esiintyviä
- termejä. Kun nämä termit ovat hallinnassa, olet jo voiton puolella!
+ paragraph_1_html: OpenStreetMapissa käytetään paljon vain sille omaista termistöä.
+ Kun nämä sanat ovat hallinnassa, olet jo voiton puolella!
editor_html: <strong>Muokkausohjelma</strong> tai <strong>kartanmuokkain</strong>
(engl. editor) on ohjelmisto tai verkkosivusto, jolla voi muokata karttaa.
node_html: <strong>Piste</strong> (engl. node) on pistemäinen kohde kartalla,
Tutustu OpenStreetMapin <a href='%{help_url}'>ohjekeskukseen</a>.
start_mapping: Aloita kartan muokkaaminen
add_a_note:
- title: Eikö muokkaaminen kiinnosta? Ilmoita karttavirheistä!
+ title: Eikö muokkaaminen innosta? Ilmoita karttavirheistä!
paragraph_1_html: Jos huomaat kartalla virheen, muttet halua korjata sitä itse,
tee siitä karttavirheilmoitus.
paragraph_2_html: 'Se on helppoa! Siirry <a href=''%{map_url}''>kartalle</a>
loaded_successfully: '%{trace_points} pistettä ladattu onnistuneesti mahdollisista
%{possible_points} pisteestä.'
signup_confirm:
- subject: '[OpenStreetMap] Tervetuloa OpenStreetMap-sovellukseen'
+ subject: '[OpenStreetMap] Tervetuloa OpenStreetMapiin'
greeting: Hei!
created: Joku (toivottavasti sinä) on luonut käyttäjätunnuksen osoitteessa %{site_url}.
confirm: 'Jos olet luonut tämän käyttäjätilin, vahvista se napsauttamalla tätä
track: Metsätie
bridleway: Ratsastustie
cycleway: Pyörätie
+ cycleway_national: Kansallinen pyörätie
+ cycleway_regional: Alueellinen pyörätie
+ cycleway_local: Paikallinen pyörätie
footway: Jalkakäytävä
rail: Junarata
subway: Metro
private: Yksityinen
destination: Ei läpikulkua
construction: Rakenteilla olevia teitä
+ bicycle_shop: Pyöräkauppa
+ bicycle_parking: Pyöräparkki
+ toilets: Vessat
richtext_area:
edit: Muokkaa
preview: Esikatselu
account not active: Käyttäjätunnustasi ei ole vielä aktivoitu.<br />Aktivoi
käyttäjätunnuksesi napsauttamalla sähköpostitse saamaasi vahvistuslinkkiä,
tai <a href="%{reconfirm}">pyydä uusi varmistusviesti</a>.
- account is suspended: Valitettavasti käyttäjätilisi on jäädytetty epäilyttävän
- toiminnan seurauksena.<br />Ole hyvä ja ota yhteyttä <a href="%{webmaster}">webmasteriin</a>
- jos haluat keskustella tästä.
+ account is suspended: Valitettavasti käyttäjätilisi käyttö on estetty epäilyttävän
+ toiminnan seurauksena.<br />Saat lisätietoja ottamalla yhteyttä <a href="%{webmaster}">ylläpitoon</a>.
auth failure: Kirjautuminen epäonnistui.
openid_logo_alt: Kirjaudu sisään OpenID-tunnuksella
auth_providers:
windowslive:
title: Kirjaudu Windows Liven avulla
alt: Kirjaudu sisään Windows Live -tililläsi
+ github:
+ title: Kirjaudu GitHubin avulla
+ alt: Kirjaudu käyttämällä GitHub-tiliäsi
yahoo:
title: Kirjaudu Yahoon avulla
alt: Kirjaudu käyttämällä Yahoo OpenID -tunnustasi
wordpress:
- title: Kirjaudu Wordpressin avulla
+ title: Kirjaudu WordPressin avulla
alt: Kirjaudu käyttämällä Wordpress OpenID -tunnustasi
aol:
title: Kirjaudu AOL:n avulla
html: |-
<p>Toisin kuin muut karttapalvelut, OpenStreetMap on täysin yhteisön eli vapaaehtoisten ihmisten luoma. Palvelun käyttö ja muokkaaminen on täysin ilmaista ja vapaata.</p>
<p>Aloita kartan kehittäminen rekisteröitymällä. Tämän jälkeen vahvista käyttäjätunnus napsauttamalla linkkiä sähköpostitse lähetettävässä aktivointiviestissä.</p>
- license_agreement: Kun vahvistat tilisi sinun on sitouduttava <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">osallistujan
- ehtoihin</a>.
+ license_agreement: Kun vahvistat tilisi, sinun on sitouduttava <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">osallistumisehtoihin</a>.
email address: 'Sähköpostiosoite:'
confirm email address: 'Sähköpostiosoite uudelleen:'
- not displayed publicly: Ei näytetä julkisesti. Lisätietoja <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
+ not displayed publicly: Osoitettasi ei esitetä julkisesti. Lisätietoja <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
title="tietosuojakäytäntö wikisivulla, ml. osio sähköpostiosoitteiden käsittelystä">tietosuojakäytännöstä</a>
on saatavilla englanniksi.
display name: 'Käyttäjätunnus:'
tai palvelimet voivat silti vaatia sitä.
continue: Rekisteröidy
terms accepted: Kiitos uusien osallistujaehtojen hyväksymisestä!
- terms declined: Olemme pahoillamme, ettet hyväksynyt uusia osallistujaehtoja.
- Katso lisätietoja <a href="%{url}">tältä wikisivulta</a>.
+ terms declined: Harmi, ettet hyväksynyt uusia osallistumisehtoja. Katso lisätietoja
+ <a href="%{url}">tältä wikisivulta</a>.
terms:
- title: Osallistujaehdot
- heading: Osallistujaehdot
- read and accept: Lue alla oleva sopimus ja varmista, että hyväksyt sopimuksen
- ehdot nykyisille ja tuleville muokkauksillesi valitsemalla »Hyväksyn».
- consider_pd: Edellisen sopimuksen lisäksi katson lisäyksieni olevan Public Domainissa
+ title: Osallistumisehdot
+ heading: Osallistumisehdot
+ read and accept: Lue sopimus ja varmista, että hyväksyt sopimuksen ehdot nykyisille
+ ja tuleville muokkauksillesi napsauttamalla Hyväksyn.
+ consider_pd: Edellisen sopimuksen lisäksi katson lisäyksieni olevan tekijänoikeudettomia
+ Public Domain -lisenssillä
consider_pd_why: mikä tämä on?
- guidance: 'Tietoa, joka auttaa ymmärtämään nämä käsitteet: a <a href="%{summary}">ihmisluettava
- yhteenveto</a> ja joitain <a href="%{translations}">epävirallisia käännöksiä</a>'
+ guidance: 'Vaihtoehtoisia lukutapoja: <a href="%{summary}">selkokielinen yhteenveto
+ (englanniksi)</a> ja <a href="%{translations}">epäviralliset käännökset</a>'
agree: Hyväksyn
decline: En hyväksy
- you need to accept or decline: Ennen jatkamista lue läpi Kartoittajan ehdot
- ja hyväksy tai hylkää se.
- legale_select: 'Ole hyvä ja valitse asuinmaasi:'
+ you need to accept or decline: Ennen jatkamista lue läpi osallistumisehdot ja
+ hyväksy tai hylkää se.
+ legale_select: 'Valitse asuinmaasi:'
legale_names:
france: Ranska
italy: Italia
title: Haettua käyttäjää ei ole olemassa
heading: Käyttäjää %{user} ei ole olemassa
body: Käyttäjää %{user} ei löytynyt. Tarkista oikeikirjoitus.
+ deleted: poistettu
view:
my diary: Oma päiväkirja
new diary entry: uusi päiväkirjamerkintä
add as friend: Lisää kaveriksi
mapper since: 'Liittyi palveluun:'
ago: (%{time_in_words_ago} sitten)
- ct status: 'Kartoittajan ehdot:'
+ ct status: 'Osallistumisehdot:'
ct undecided: Ei valittu
ct declined: Hylätty
ct accepted: Hyväksytty %{ago} sitten
revoke:
administrator: Poista ylläpitäjän oikeudet
moderator: Poista moderaattorin oikeudet
- block_history: saadut estot
- moderator_history: tehdyt estot
+ block_history: Saadut estot
+ moderator_history: Tehdyt estot
comments: Kommentit
- create_block: estä tämä käyttäjä
- activate_user: aktivoi tämä käyttäjä
- deactivate_user: poista tämän käyttäjän aktivointi
- confirm_user: vahvista tämä käyttäjä
- hide_user: piilota käyttäjä
- unhide_user: piilota tämä käyttäjä
- delete_user: poista käyttäjä
+ create_block: Estä tämä käyttäjä
+ activate_user: Aktivoi tämä käyttäjä
+ deactivate_user: Poista tämän käyttäjän aktivointi
+ confirm_user: Vahvista tämä käyttäjä
+ hide_user: Piilota tämä käyttäjä
+ unhide_user: Poista käyttäjän piilottaminen
+ delete_user: Poista tämä käyttäjä
confirm: Vahvista
friends_changesets: kaverien muutoskokoelmat
friends_diaries: kaverien päiväkirjamerkinnät
toimintoa ei voi perua ja kaikki uudet käyttäjät ovat automaattisesti julkisia.<a
href="http://wiki.openstreetmap.org/wiki/Anonymous_edits"></a></li></ul>
contributor terms:
- heading: 'Kartoittajan ehdot:'
- agreed: Olet hyväksynyt Kartoittajan ehdot.
- not yet agreed: Et ole vielä hyväksynyt Kartoittajan ehtoja.
- review link text: Lue ja hyväksy uudistuneet Kartoittajan ehdot napsauttamalla
+ heading: 'Osallistumisehdot:'
+ agreed: Olet hyväksynyt osallistumisehdot.
+ not yet agreed: Et ole vielä hyväksynyt osallistumisehtoja.
+ review link text: Lue ja hyväksy uudistuneet osallistumisehdot napsauttamalla
tätä linkkiä.
agreed_with_pd: Olet myös ilmaissut muokkaustesi olevan tekijänoikeudesta
vapaita (Public Domain).
gravatar:
gravatar: Käytä Gravataria
link text: mikä tämä on?
+ disabled: Gravatar on poistettu käytöstä.
new image: Lisää kuva
keep image: Säilytä nykyinen kuva
delete image: Poista nykyinen kuva
confirm:
heading: Tarkista sähköpostisi!
introduction_1: Vahvistusviesti lähetetty.
- introduction_2: Vahvista tilisi klikkaamalla sähköpostissa olevaa linkkiä ja
- voit aloittaa kartoituksen.
+ introduction_2: Aktivoi tilisi napsauttamalla vahvistustilissä olevaa linkkiä
+ ja olet valmis aloittamaan kartan muokkaamisen!
press confirm button: Aktivoi uusi käyttäjätunnuksesi valitsemalla Vahvista.
button: Vahvista
success: Käyttäjätunnuksesi on nyt vahvistettu.
already active: Tämä tunnus on jo vahvistettu.
unknown token: Vahvistuskoodi on vanhentunut tai sitä ei ole.
- reconfirm_html: Tarvittaessa voimme lähettää vahvistuksen sähköpostitse, <a
- href="%{reconfirm}">klikkaa tästä</a>.
+ reconfirm_html: Tarvittaessa voimme lähettää uuden vahvistusviestin, <a href="%{reconfirm}">napsauta
+ tästä</a>.
confirm_resend:
- success: Olemme lähettäneet vahvistusviestin osoitteeseen %{email}. Vahvistettuasi
- käyttäjätunnuksesi voit aloittaa kartoittamisen.<br /><br />Jos käytät roskapostit
- suodattavaa ohjelmaa, joka lähettää vahvistuspyyntöjä, laita %{sender} sallittujen
- osoitteiden listalle, sillä emme voi vastata vahvistuspyyntöihin.
+ success: Olemme lähettäneet aktivointilinkin sisältävän viestin osoitteeseen
+ %{email}. Vahvistettuasi käyttäjätunnuksesi voit aloittaa kartoittamisen.<br
+ /><br />Jos käytät vahvistusviestejä lähettävää roskapostinesto-ohjelmaa,
+ lisää %{sender} sallittujen osoitteiden listalle, sillä emme voi vastata vahvistuspyyntöihin.
failure: Käyttäjää %{name} ei löytynyt.
confirm_email:
heading: Vahvista sähköpostiosoitteen muutos
</p>
auth_failure:
connection_failed: Yhdistäminen todennuspalveluntarjoajaan epäonnistui
+ invalid_credentials: Virheelliset varmennustiedot
no_authorization_code: Ei käyttöoikeuskoodia
unknown_signature_algorithm: Tunnistamaton allekirjoitusalgoritmi
+ invalid_scope: Virheellinen ala
auth_association:
+ heading: Sinun ID:tä ei ole vielä liitetty OpenStreetMap-tiliisi.
option_1: 'Uusi OpenStreetMapin käyttäjä: luo käyttäjätunnus tällä lomakkeella.'
option_2: 'Nykyinen OpenStreetMapin käyttäjä: kirjaudu sisään käyttäjätunnuksella
ja salasanalla ja yhdistä tili käyttäjäasetuksissa.'
center_marker: Keskitä kartta karttamerkkiin
paste_html: Upota karttaikkuna liittämällä tämä koodi verkkosivulle
view_larger_map: Näytä isommalla kartalla
+ only_standard_layer: Vain standardi kerros voidaan viedä kuvana
embed:
report_problem: Ilmoita ongelmasta
key:
# Author: Crochet.david
# Author: Damouns
# Author: DavidL
+# Author: Dereckson
# Author: E THP
# Author: Efred
# Author: Eruedin
# Author: Seb35
# Author: Sherbrooke
# Author: Syl
+# Author: Tuxxic
# Author: Urhixidur
# Author: Vcalame
# Author: Verdy p
overpass:
title: API Overpass
description: Télécharger ce cadre englobant depuis un miroir de la base
- de données d’OpenStreetMap
+ de données OpenStreetMap
geofabrik:
title: Téléchargements de Geofabrik
- description: Extractions régulièrement mises à jour des continents, pays
- et villes sélectionnées
+ description: Extractions régulièrement mises à jour des continents, des
+ pays et des villes sélectionnées
metro:
title: Extractions de Metro
description: Extractions des principales villes du monde et de leurs environs
de retrait de données</a> ou notifiez-nous directement à travers notre <a
href="http://dmca.openstreetmap.org/">formulaire en ligne</a>.
trademarks_title_html: <span id="marques"></span>Marques
- trademarks_1_html: OpenStreetMap et le logo loupe sont des marques déposées
- de OpenStreetMap Foundation. Si vous avez des questions à propos de l’utilisation
- de ces marques, merci de prendre contact avec le <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licence
+ trademarks_1_html: OpenStreetMap, le logo loupe et State of the Map sont des
+ marques déposées de l'OpenStreetMap Foundation. Si vous avez des questions
+ à propos de l’utilisation de ces marques, merci de prendre contact avec le
+ <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licence
Working Group</a>.
welcome_page:
title: Bienvenue !
legal_title: Juridique
legal_html: "Ce site et de nombreux autres services connexes sont formellement
exploités par la \n<a href=\"http://osmfoundation.org/\">Fondation OpenStreetMap</a>
- (OSMF) \nau nom de la communauté.<br /> \nVeuillez <a href=\"http://osmfoundation.org/Contact\">contacter
+ (OSMF) \nau nom de la communauté. L’utilisation de tous les services offerts
+ par OSMF est sujette\nà notre <a href=\"http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\nPolitique
+ des usages acceptés</a> et à notre <a href=\"http://wiki.osmfoundation.org/wiki/Privacy_Policy\">Politique
+ de confidentialité</a>.\n<br> \nVeuillez <a href=\"http://osmfoundation.org/Contact\">contacter
l’OSMF</a> \nsi vous avez des questions ou problèmes concernant les licences,
les droits d’auteur ou d’autres aspects juridiques."
partners_title: Partenaires
notifier:
diary_comment_notification:
- subject: '[OpenStreetMap] %{user} a posté un commentaire sur un article de votre
- journal'
+ subject: '[OpenStreetMap] %{user} a posté un commentaire sur un article de journal'
hi: Bonjour %{to_user},
- header: '%{from_user} a posté un commentaire sur un article récent de votre
- journal OpenStreetMap avec le sujet %{subject} :'
+ header: '%{from_user} a posté un commentaire sur un article récent du journal
+ OpenStreetMap avec le sujet %{subject} :'
footer: Vous pouvez également lire le commentaire sur %{readurl}, le commenter
sur %{commenturl} ou répondre sur %{replyurl}
message_notification:
track: Piste
bridleway: Sentier équestre
cycleway: Voie cyclable
+ cycleway_national: Piste cyclable nationale
+ cycleway_regional: Piste cyclable régionale
+ cycleway_local: Piste cyclable locale
footway: Voie piétonne
rail: Voie de chemin de fer
subway: Ligne de métro
private: Accès privé
destination: Réservé aux riverains
construction: Routes en construction
+ bicycle_shop: Magasin de vélos
+ bicycle_parking: Parking à vélos
+ toilets: Toilettes
richtext_area:
edit: Modifier
preview: Aperçu
required: Requis
url: URL principale de l’application
callback_url: URL de rappel
- support_url: URL de support
+ support_url: URL de soutien
requests: 'Demander les permissions suivantes à l’utilisateur :'
allow_read_prefs: lire ses préférences utilisateur.
allow_write_prefs: modifier ses préférences utilisateur.
windowslive:
title: Connexion avec Windows Live
alt: Se connecter avec un compte Windows Live
+ github:
+ title: Connexion avec GitHub
+ alt: Connexion avec un Compte GitHub
yahoo:
title: Se connecter avec Yahoo
alt: Se connecter avec l’OpenID de Yahoo
du contributeur</a>.
email address: 'Adresse de courriel :'
confirm email address: 'Confirmez l’adresse de courriel :'
- not displayed publicly: Non affichée publiquement (voir <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="wiki privacy policy including section on email addresses">notre charte
- sur la confidentialité</a>)
+ not displayed publicly: Votre adresse n'est pas affichée publiquement, voir
+ notre <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF
+ privacy policy including section on email addresses">charte sur la confidentialité</a>
+ pour plus d'information
display name: 'Nom affiché :'
display name description: Votre nom d’utilisateur affiché publiquement. Vous
pouvez changer ceci ultérieurement dans les préférences.
email address: 'Adresse de courriel :'
created from: 'Créé depuis :'
status: 'État :'
- spam score: 'Score de spam :'
+ spam score: 'Indice de pollution :'
description: Description
user location: Emplacement de l’utilisateur
if set location: Positionner votre lieu d’habitation sur la page %{settings_link}
gravatar: Utiliser Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: qu’est-ce que ceci ?
+ disabled: Gravatar a été désactivé.
+ enabled: L'affichage de votre Gravatar a été activé.
new image: Ajouter une image
keep image: Garder l’image actuelle
delete image: Supprimer l’image actuelle
key:
title: Légende
tooltip: Légende
- tooltip_disabled: La légende n’est disponible que pour la couche standard
+ tooltip_disabled: La légende n’est pas disponible pour cette couche
map:
zoom:
in: Vue rapprochée
standard: Standard
cycle_map: Carte cyclable
transport_map: Carte de transport
- mapquest: MapQuest ouverte
hot: Humanitaire
layers:
header: Couches de carte
instructions:
continue_without_exit: Continuez sur %{name}
slight_right_without_exit: Tournez légèrement à droite sur %{name}
+ offramp_right_without_exit: Prendre la bretelle à droite sur %{name}
+ onramp_right_without_exit: Tourner à droite sur la bretelle sur %{name}
+ endofroad_right_without_exit: À la fin de la route, tourner à droite sur %{name}
+ merge_right_without_exit: Rejoindre à droite sur %{name}
+ fork_right_without_exit: À la bifurcation, tourner à droite sur %{name}
turn_right_without_exit: Tournez à droite sur %{name}
sharp_right_without_exit: Tournez vivement à droite sur %{name}
uturn_without_exit: Faites demi-tour sur %{name}
sharp_left_without_exit: Tournez vivement à gauche sur %{name}
turn_left_without_exit: Tournez à gauche sur %{name}
+ offramp_left_without_exit: Prendre la bretelle de gauche jusque %{name}
+ onramp_left_without_exit: Tourner à gauche sur la bretelle sur %{name}
+ endofroad_left_without_exit: À la fin de la route, tourner à gauche sur %{name}
+ merge_left_without_exit: Rejoindre à gauche sur %{name}
+ fork_left_without_exit: À la bifurcation, tourner à gauche sur %{name}
slight_left_without_exit: Tournez légèrement à gauche sur %{name}
via_point_without_exit: (par le point)
follow_without_exit: Suivez %{name}
relation: dhen dàimh seo
start_rjs:
feature_warning: '''S dòcha gum fàs am brabhsair agad slaodach no cha mhòr nach
- dèan e dad tuilleadh on a tha thu a'' luchdadh %{num_features} feart. A bheil
- thu cinnteach gu bheil thu airson an dàta seo a shealltainn?'
+ dèan e dad tuilleadh on a tha thu a'' luchdadh %{num_features} gleus(an).
+ A bheil thu cinnteach gu bheil thu airson an dàta seo a shealltainn?'
load_data: Luchdaich an dàta
loading: '''Ga luchdadh...'
tag_details:
chionn %{when}</abbr>
hidden_by: Chaidh fhalach le %{user} <abbr title='%{exact_time}'>o chionn %{when}</abbr>
query:
- title: Lorg airson feartan sònraichte
+ title: Lorg feartan sònraichte
introduction: Briog air a' mhapa gus feartan faisg air a lorg.
nearby: Feartan am fagas
enclosing: Feartan timcheall air
mapping_link: tòiseachadh air an obair-mhapa
legal_babble:
title_html: Còir-lethbhreac agus ceadachas
- intro_1_html: '''S e <i>dàta fosgailte</i> a tha san OpenStreetMap fo cheadachas
- <a href="http://opendatacommons.org/licenses/odbl/">Open Data Commons Open
- Database License</a> (ODbL).'
+ intro_1_html: '''S e <i>dàta fosgailte</i> a tha san OpenStreetMap<sup><a href="#trademarks">®</a></sup>
+ fo cheadachas <a href="http://opendatacommons.org/licenses/odbl/">Open Data
+ Commons Open Database License</a> (ODbL) le <a href="http://osmfoundation.org/">Fonndas
+ OpenStreetMap</a> (OSMF).'
intro_2_html: |-
Faodaidh tu lethbhreacan a dhèanamh dhen dàta againn, a sgaoileadh,
a thar-chur agus atharrachadh gu saor, cho fad 's a bheir thu urram
more_title_html: Barrachd fiosrachaidh
more_1_html: |-
Leugh barrachd air mar a chleachdas tu an dàta againn agus mar a
- bheir thu urram dhuinn air na <a href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">CÀBHA laghail</a>.
+ bheir thu urram dhuinn air <a href="http://osmfoundation.org/Licence">duilleag a' cheadachais OSMF</a> agus <a href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">CÀBHA laghail</a> sa choimhearsnachd.
more_2_html: |-
Ged as e dàta saor a tha san OpenStreetMap, chan urrainn dhuinn API mapa an-asgaidh a thoirt dhan luchd-leasachaidh treas phàrtaidh.
Faic <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">Poileasaidh cleachdadh an API</a>,
about_page:
next: Air adhart
copyright_html: <span>©</span>Co-thabhartaichean<br>OpenStreetMap
- used_by: Bheir %{name} dàta mapa dha cheudan de làraichean-lìn, aplacaidean inneil-làimhe
+ used_by: Bheir %{name} dàta mapa dha mhìltean de làraichean-lìn, aplacaidean inneil-làimhe
agus uidheaman bathair-chruaidh
lede_text: Tha OpenStreetMap 'ga thogail le coimhearsnachd de luchd-mapachaidh
a bheir dàta dhuinn mu rathaidean, slighean cafaidhean, stèiseanan-rèile agus
copyright: Còir-lethbhreac OpenStreetMap agus na co-thabhartaichean aige fo
cheadachas fosgailte
remote_failed: Dh'fhàillig leis an deasachadh - dèan cinnteach gun deach JOSM
- no Merkaartor a luchdadh agus gu bheil feart an t-smachd chèin an comas
+ no Merkaartor a luchdadh agus gu bheil gleus an t-smachd chèin an comas
edit:
not_public: Cha do cuir thu romhad gum bi na dheasaicheas tu poblach.
not_public_description: Chan urrainn dhut am mapa a dheasachadh tuilleadh mus
title: Lorgaidhean GPS aig OpenStreetMap
description:
description_with_count:
- one: faidhle GPX le %{count} phuing o %{user}
other: faidhle GPX le %{count} phuing o %{user}
description_without_count: Faidhle GPX o %{user}
application:
revoke:
administrator: Cùl-ghairm inntrigeadh rianaire
moderator: Cùl-ghairm inntrigeadh maoir
- block_history: bacaidhean air am faighinn
- moderator_history: bacaidhean air an toirt seachad
+ block_history: Bacaidhean gnìomhach
+ moderator_history: Bacaidhean air an toirt seachad
comments: Beachdan
- create_block: bacaich an cleachdaiche seo
- activate_user: gnìomhaich an cleachdaiche seo
- deactivate_user: cuir an cleachdaiche seo à gnìomh
- confirm_user: dearbhaich an cleachdaiche seo
- hide_user: falaich an cleachdaiche seo
- unhide_user: neo-fhalaich an cleachdaiche seo
- delete_user: sguab às an cleachdaiche seo
+ create_block: Bacaich an cleachdaiche seo
+ activate_user: Gnìomhaich an cleachdaiche seo
+ deactivate_user: Cuir an cleachdaiche seo à gnìomh
+ confirm_user: Dearbhaich an cleachdaiche seo
+ hide_user: Falaich an cleachdaiche seo
+ unhide_user: Neo-fhalaich an cleachdaiche seo
+ delete_user: Sguab às an cleachdaiche seo
confirm: Dearbhaich
friends_changesets: seata atharraichean nan caraidean
friends_diaries: clàran leabhair-latha nan caraidean
standard: Àbhaisteach
cycle_map: Mapa baidhseagail
transport_map: Mapa còmhdhalach
- mapquest: MapQuest fosgailte
hot: Daonnachdach
layers:
header: Breathan a' mhapa
no_route: Cha deach slighe a lorg eadar an dà àite ud.
no_place: Duilich - cha deach an t-àite ud a lorg.
instructions:
+ turn_right_without_exit: Tionndaidh gu deas dha %{name}
+ uturn_without_exit: Thoir car iomlan air %{name}
+ turn_left_without_exit: Tionndaidh gu clì dha %{name}
unnamed: gun ainm
courtesy: Chaidh na seòlaidhean a thoirt dhuinn le cead %{link}
time: Ùine
para retirar datos</a> ou deixe unha notificación no noso
<a href="http://dmca.openstreetmap.org/">formulario en liña</a>.
trademarks_title_html: <span id="trademarks"></span>Marcas rexistadas
- trademarks_1_html: OpenStreetMap e o logotipo coa lupa son marcas rexistadas
- da OpenStreetMap Foundation. Se ten algunha pregunta sobre a utilización das
- marcas, por favor envée as súas cuestión ó <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Grupo
+ trademarks_1_html: OpenStreetMap, o logotipo coa lupa e ''State of the Map''
+ son marcas rexistadas da Fundación OpenStreetMap. Se ten algunha pregunta
+ sobre a utilización das marcas, por favor envée as súas cuestión ó <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Grupo
de Traballo de Licenzas</a>.
welcome_page:
title: Reciba a nosa benvida!
track: Pista
bridleway: Pista de cabalos
cycleway: Pista de bicicletas
+ cycleway_national: Carril bici nacional
+ cycleway_regional: Carril bici rexional
+ cycleway_local: Carril bici local
footway: Vía peonil
rail: Ferrocarril
subway: Metro
private: Acceso privado
destination: Acceso a destino
construction: Estradas en construción
+ bicycle_shop: Tenda de bicicletas
+ bicycle_parking: Aparcadoiro de bicicletas
+ toilets: Aseos
richtext_area:
edit: Editar
preview: Vista previa
windowslive:
title: Iniciar sesión co Windows Live
alt: Iniciar sesión cunha conta de Windows Live
+ github:
+ title: Acceder con GitHub
+ alt: Acceder cunha conta de GitHub
yahoo:
title: Acceder ao sistema con Yahoo
alt: Acceder ao sistema cun OpenID de Yahoo
gravatar: Usar Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: que é isto?
+ disabled: Gravatar foi desactivado.
+ enabled: A visualización do seu Gravatar foi activada.
new image: Engadir unha imaxe
keep image: Manter a imaxe actual
delete image: Eliminar a imaxe actual
standard: Estándar
cycle_map: Mapa ciclista
transport_map: Mapa de transporte
- mapquest: MapQuest Open
hot: Humanitario
layers:
header: Capas do mapa
instructions:
continue_without_exit: Continuar en %{name}
slight_right_without_exit: Xire un pouco cara á dereita en %{name}
+ offramp_right_without_exit: Colla a rampla á dereita en %{name}
+ onramp_right_without_exit: Xire á dereita na rampla en %{name}
+ endofroad_right_without_exit: Ó final da estrada xire á dereita en %{name}
+ merge_right_without_exit: Únase á dereita en %{name}
+ fork_right_without_exit: Na bifurcación xire á dereita en %{name}
turn_right_without_exit: Xire á dereita en %{name}
sharp_right_without_exit: Xiro brusco á dereita en %{name}
uturn_without_exit: Cambio de sentido en %{name}
sharp_left_without_exit: Xiro brusco á esquerda en %{name}
turn_left_without_exit: Xire á esquerda cara %{name}
+ offramp_left_without_exit: Colla a rampla á esquerda en %{name}
+ onramp_left_without_exit: Xire á esquerda na rampla en %{name}
+ endofroad_left_without_exit: Ó final da estrada xire á esquerda en %{name}
+ merge_left_without_exit: Únase á esquerda en %{name}
+ fork_left_without_exit: Na bifurcación xire á esquerda en %{name}
slight_left_without_exit: Xire un pouco cara á esquerda en %{name}
via_point_without_exit: (punto intermedio)
follow_without_exit: Siga %{name}
# Author: Ex-Diktator
# Author: ExampleTomer
# Author: GilCahana
+# Author: Guycn2
# Author: Inkbug
# Author: Itay naor
# Author: LaG roiL
ההסרה</a> שלנו או כתבו תלונה ישירות
<a href="http://dmca.openstreetmap.org/">בדף התלונות המקוון שלנו</a>.
trademarks_title_html: <span id="trademarks"></span>סימנים מסחריים
- trademarks_1_html: OpenStreetMap וסמל הזכוכית המגדלת הם סימנים מסחריים של קרן
- OpenStreetMap. אם יש לך שאלות על השימוש שלך בסימנים, נא לשלוח את השאלות ל<a
- href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">קבוצת העבודה
- של הרישוי</a>.
+ trademarks_1_html: OpenStreetMap, סמל הזכוכית המגדלת ו־State of the Map הם סימנים
+ מסחריים של קרן OpenStreetMap. אם יש לך שאלות על השימוש שלך בסימנים, נא לשלוח
+ את השאלות ל<a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">קבוצת
+ ×\94×¢×\91×\95×\93×\94 ש×\9c ×\94ר×\99ש×\95×\99</a>.
welcome_page:
title: ברוך בואך!
introduction_html: ברוך בואך ל־OpenStreetMap, מפה חופשית של העולם, שאפשר לערוך.
לפי התנאים של אותו הרישיון. ר' את <a href='%{copyright_path}'>דף הרישיון וזכויות היוצרים</a> לפרטים נוספים.
legal_title: משפטי
legal_html: |-
- האתר הזה ושירותים רבים אחרים מופעלים על־ידי <a href='http://osmfoundation.org/'>קרן OpenStreetMap</a>‏ (OSMF) בשם הקהילה.
+ האתר הזה ושירותים רבים אחרים מופעלים על־ידי <a href='http://osmfoundation.org/'>קרן OpenStreetMap</a>‏ (OSMF) בשם הקהילה. השימוש בכל השירותים במפעילה OSMF כפוף
+ ל־<a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
+ מדיניות שימוש קביל</a> שלנו
+ ול־<a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">Privacy Policy</a>מדיניות הפרטיות</a> שלנו
<br>
נא <a href='http://osmfoundation.org/Contact'>ליצור קשר עם OSMF</a> אם יש לך שאלות על רישוי, זכויות יוצרים או שאלות ובעיות משפטיות אחרות.
partners_title: שותפים
track: מסלול מרוצים
bridleway: מסלול לרכיבת סוסים
cycleway: דרך לאופניים
+ cycleway_national: מסלול אופניים לאומי
+ cycleway_regional: מסלול אופניים אזורי
+ cycleway_local: מסלול אופניים מקומי
footway: דרך להולכי רגל
rail: מסילת ברזל
subway: רכבת תחתית
private: גישה פרטית
destination: גישה ליעד
construction: דרכים בבנייה
+ bicycle_shop: חנות אופניים
+ bicycle_parking: חניית אופניים
+ toilets: שירותים
richtext_area:
edit: עריכה
preview: תצוגה מקדימה
windowslive:
title: כניסה עם Windows Live
alt: כניסה עם חשבון Windows Live
+ github:
+ title: כניסה באמצעות GitHub
+ alt: כניסה עם חשבון GitHub
yahoo:
title: כניסה עם יאהו
alt: כניסה עם OpenID של יאהו
התרומה</a>.
email address: 'כתובת דוא״ל:'
confirm email address: 'אימות כתובת דוא״ל:'
- not displayed publicly: ×\9c×\90 ×\9e×\95צ×\92 ×\91פ×\95×\9e×\91×\99 (ר׳ <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="wiki privacy policy including section on email addresses">מידיניות
- פרטיות</a>)
+ not displayed publicly: ×\94×\9bת×\95×\91ת ש×\9c×£ ×\9c×\90 ×\9e×\95צ×\92ת ×\91פ×\95×\9e×\91×\99, ר׳ ×\90ת <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
+ title="OSMF privacy policy including section on email addresses">מידיניות
+ פרטיות</a> למידע נוסף
display name: 'שם התצוגה:'
display name description: שם המשתמש שלך, שמוצג בפומבי. אפשר לשנות את זה בהעפות
שלך.
gravatar: להשתמש ב־Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: מה זה?
+ disabled: הגראווטר כובה.
+ enabled: הצגת הגראווטר שלך הופעלה.
new image: הוספת תמונה
keep image: לשמירה על התמונה הנוכחית
delete image: להסרת התמונה הנוכחית
instructions:
continue_without_exit: להמשיך על %{name}
slight_right_without_exit: קצת ימינה אל %{name}
+ offramp_right_without_exit: לעלות ימינה אל %{name}
+ onramp_right_without_exit: לפנות ימינה לעלייה אל %{name}
+ endofroad_right_without_exit: בסוף הדרך לפנות ימינה אל %{name}
+ merge_right_without_exit: להתמזג ימינה אל %{name}
+ fork_right_without_exit: בהתפצלות לפנות ימינה אל %{name}
turn_right_without_exit: לפנות ימינה אל %{name}
sharp_right_without_exit: פנייה חדה ימינה אל %{name}
uturn_without_exit: פניית פרסה על %{name}
sharp_left_without_exit: פנייה חדה שמאלה אל %{name}
turn_left_without_exit: פנייה שמאלה אל %{name}
+ offramp_left_without_exit: לעלות שמאלה אל %{name}
+ onramp_left_without_exit: לפנות שמאלה לעלייה אל %{name}
+ endofroad_left_without_exit: בסוף הדרך לפנות שמאלה אל %{name}
+ merge_left_without_exit: להתמזג שמאלה אל %{name}
+ fork_left_without_exit: בהתפצלות לפנות שמאלה אל %{name}
slight_left_without_exit: קצת שמאלה אל %{name}
via_point_without_exit: (דרך נקודה)
follow_without_exit: להמשיך על %{name}
%{when}</abbr>
hidden_by: Schowany wot %{user} <abbr title='%{exact_time}'>před %{when}</abbr>
query:
+ title: Funkcije naprašować
introduction: Klikń na kartu, zo by susodne objekty namakał(a).
nearby: Objekty w bliskosći
+ enclosing: Wobdawace funkcije
changeset:
changeset_paging_nav:
showing_page: Strona %{page}
timeout:
sorry: Bohužel je předołho trało, skupiny změny, kotrež sy požadał, wotwołać.
rss:
+ title_all: Diskusija wo sadźbje změnow OpenStreetMap
+ title_particular: Diskusija wo sadźbje změnow čo. %{changeset_id} OpenStreetMap
+ comment: Nowy komentar k sadźbje změnow čo. %{changeset_id} wot %{author}
commented_at_html: Zaktualizowane před %{when}
commented_at_by_html: Před %{when} wot %{user} nahraty
full: Dospołna diskusija
diary_entry:
new:
title: Nowy dźenikowy zapisk
+ publish_button: Wozjewić
list:
title: Dźeniki wužiwarjow
title_friends: Dźeniki přećelow
cable_car: powjaznica
chair_lift: Sydłowy lift
drag_lift: Wlečny lift
+ gondola: Gondlowa powjaznica
station: Gondlowa stacija
aeroway:
aerodrome: Lětanišćo
food_court: Food Court
fountain: Studnja
fuel: Tankownja
+ gambling: Hra wo zbožo
grave_yard: Kěrchow
gym: Fitnesowy center/Fitnesowe studijo
health_centre: Strowotny centrum
marsh: Marša
moor: Bahno
mud: Błóto
- peak: Špica
+ peak: Wjeršk
point: Dypk
reef: Rif
ridge: Horinski hrjebjeń
za wotstronjenje wobsaha</a>abo zdźěl to direktnje na našej <a href="http://dmca.openstreetmap.org/">formularnej
stronje</a>.
trademarks_title_html: <span id="trademarks"></span>markowe znamjo
- trademarks_1_html: OpenStreetMap a logo z lupu stej registrowanej znamjeni załožby
- OpenStreetMap. Maš-li prašenja wo wužiwanju znamjo, pósćel je prošu <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">dźěłowej
+ trademarks_1_html: OpenStreetMap, logo z lupu a staw karty su registrowane znamjenja
+ załožby OpenStreetMap. Maš-li prašenja wo wužiwanju znamjo, pósćel je prošu
+ <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">dźěłowej
skupinje "licency"</a>.
welcome_page:
title: Witaj!
title: Witaj k OSM
description: Započń z tutym spěšnym nawodom, kotryž zakłady OpenStreetMap wobsahuje.
beginners_guide:
+ url: http://wiki.openstreetmap.org/wiki/hsb:Beginners%27_guide
title: Instrukcije za nowačkow
+ description: Přez zhromadźenstwo wothladowany nawod za započatkowarjow.
help:
url: https://help.openstreetmap.org/
title: help.openstreetmap.org
description: Prašej so za něčim abo pytaj za wotmołwami na stronje prašenjow
a wotmołwow OpenStreetMap.
+ mailing_lists:
+ title: Rozesyłanske lisćiny
+ description: Staj prašenje abo diskutuj zajimawe wěcy w šěrokim wobłuku temow
+ abo regionalnych rozesyłanskich lisćinow.
forums:
title: Forum
+ description: Prašenja a diskusije za tych, kotřiž powjerch čorneje deski preferuja.
irc:
title: IRC
description: Interaktiwny chat we wšelakich rěčach a wo wjele temach.
switch2osm:
title: Přeńć k OSM
+ description: Pomoc za předewzaća a organizacije, kotrež na kartach a druhich
+ słužbach bazuja a k OpenStreetMap přeńdu.
wiki:
url: http://wiki.openstreetmap.org/
title: wiki.openstreetmap.org
about_page:
next: Dale
copyright_html: <span>© </span>sobuskutkowacy<br>OpenStreetMap
- used_by: '%{name} staja kartowe daty za sta websydłow, mobilne nałoženja a graty
- k dispoziciji'
+ used_by: '%{name} staja kartowe daty za tysacy websydłow, mobilne nałoženja a
+ graty k dispoziciji'
lede_text: OpenStreetMap twori so wot zhromadźenstwa kartěrowarjow, kotřiž daty
wo hasach, pućach, kofejownjach, dwórnišćach a wjele wjace na cyłym swěće přinošuja
a hladaja.
greeting: Witaj,
commented:
subject_own: '[OpenStreetMap] %{commenter} je jednu z twojich změnow komentował(a)'
+ subject_other: '[OpenStreetMap] %{commenter} je sadźbu změnow komentował,
+ za kotruž so zajimuješ'
+ your_changeset: '%{commenter} je jednu z twojich sadźbow změnow komentował,
+ wutworjenu %{time}'
+ commented_changeset: '%{commenter} je sadźbu změnow karty komentował, kotruž
+ wobkedźbuješ a kotraž je so wot %{changeset_author} %{time} wutworiła'
partial_changeset_with_comment: z komentarom „%{changeset_comment}“
partial_changeset_without_comment: bjez komentara
+ details: Dalše podrobnosće wo sadźbje změnow móžeš na %{url} namakać.
message:
inbox:
title: Póstowy kašćik
close: Začinić
search:
search: Pytać
+ get_directions: Rutu wuličić
get_directions_title: Wobličenje čary mjez městnomaj
from: Wot
to: Do
table:
entry:
motorway: Awtodróha
+ main_road: Hłowna dróha
trunk: Dalokodróha
primary: Zwjazkowa dróha
secondary: Krajna dróha, statna dróha
allow_read_gpx: twoje priwatne GPS-ćěrje čitać.
allow_write_gpx: GPS-ćěrje nahrać.
allow_write_notes: pokazki změnić.
+ grant_access: Přistup dać
oauthorize_success:
title: Awtorizowanske naprašowanje dowolene
allowed: Sy přistup nałoženja %{app_name} na twoje konto dowolił.
register now: Nětko registrować
with username: 'Maš hižo konto pola OpenStreetMap? Prošu přizjew so z wužiwarskim
mjenom a hesłom:'
+ with external: 'Wužiwaj jako alternatiwu třećeho za přizjewjenje:'
new to osm: Nowy w OpenStreetMap?
to make changes: Zo by daty OpenStreetMap změnił, dyrbiš konto měć.
create account minute: Załož konto. Traje jenož chwilku.
windowslive:
title: Přizjewjenje z Windows Live
alt: Přizjewjenje z kontom Windows Live
+ github:
+ title: Z GitHub přizjewić
+ alt: Z kontom GitHub přizjewić
yahoo:
title: Přizjewjenje z Yahoo
alt: Přizjewjenje z Yahoo OpenID
heading: Wužiwar %{user} njeeksistuje
body: Bohužel žadyn wužiwar z mjenom %{user} njeje. Prošu skontroluj prawopis,
abo wotkaz, na kotryž sy kliknył, je njepłaćiwy.
+ deleted: zhašany
view:
my diary: Mój dźenik
new diary entry: nowy dźenikowy zapisk
revoke:
administrator: Prawa administratora preč wzać
moderator: Prawa moderatora preč wzać
- block_history: Dóstane blokowanja
+ block_history: Aktiwne blokowanja
moderator_history: Date blokowanja
comments: Komentary
- create_block: tutoho wužiwarja blokować
- activate_user: tutoho wužiwarja aktiwizować
- deactivate_user: tutoho wužiwarja znjemóžnić
- confirm_user: tutoho wužiwarja wobkrućić
- hide_user: tutoho wužiwarja schować
- unhide_user: tutoho wužiwarja pokazaś
- delete_user: tutoho wužiwarja zničić
+ create_block: Tutoho wužiwarja blokować
+ activate_user: Tutoho wužiwarja aktiwizować
+ deactivate_user: Tutoho wužiwarja znjemóžnić
+ confirm_user: Tutoho wužiwarja wobkrućić
+ hide_user: Tutoho wužiwarja schować
+ unhide_user: Tutoho wužiwarja pokazaś
+ delete_user: Tutoho wužiwarja zhašeć
confirm: Wobkrućić
friends_changesets: Sadźby změnow twojich přećelow
friends_diaries: Dźenikowe zapiski přećelow
Tutón rozsud budźe so bórze wot administratora pruwować, abo móžeš so z %{webmaster} do zwiska stajić, jeli chceš wo tym diskutować.
</p>
auth_failure:
+ connection_failed: Zwisk z awtentifikaciskim poskićowarjom je so nimokulił
+ invalid_credentials: Njepłaćiwe awtentifikaciske informacije
no_authorization_code: Žadyn kod za awtorizowanje
+ unknown_signature_algorithm: Njeznaty signaturowy algoritmus
+ invalid_scope: Njepłaćiwy wobłuk
+ auth_association:
+ heading: Waš ID hišće z kontom OpenStreetMap zwjazany njeje.
+ option_1: Jeli sy nowy na OpenStreetMap, załož nowe konto z pomocu slědowaceho
+ formulara.
+ option_2: Jeli konto hižo maš, móžeš so pola swojeho konta z pomocu swojeho
+ wužiwarskeho mjena a hesła přizjewić a potom konto ze swojim ID w swojich
+ wužiwarskich nastajenjach zwjazać.
user_role:
filter:
not_an_administrator: Jenož administratorojo móžeja wužiwarske róle zrjadować,
center_marker: Kartu na marce centrować
paste_html: HTML-kod kopěrować, zo by so do websydła zasadźił
view_larger_map: Wjetšu kartu pokazać
+ only_standard_layer: Jenož standardna runina da so jako wobraz eksportować
+ embed:
+ report_problem: Problem zdźělić
key:
title: Legenda
tooltip: Legenda
standard: Standard
cycle_map: Kolesowa karta
transport_map: Wobchadna karta
- mapquest: MapQuest Open
hot: Sobuskutkowacy humanitarneje pomocy
layers:
header: Kartowe runiny
createnote_disabled_tooltip: Powjetš kartu, zo by pokazku přidał
map_notes_zoom_in_tooltip: Powjetš kartu, zo by pokazki widźał
map_data_zoom_in_tooltip: Powjetš kartu, zo by daty widźał
+ queryfeature_tooltip: Funkcije naprašować
+ queryfeature_disabled_tooltip: Za naprašowanje funkcijow powjetšić
changesets:
show:
comment: Komentar
roundabout_without_exit: Wzaj %{name} w kružnym wobchadźe
leave_roundabout_without_exit: Wopušć kružny wobchad – %{name}
stay_roundabout_without_exit: Wostań w kružnym wobchadźe – %{name}
+ start_without_exit: Na kóncu %{name} započeć
destination_without_exit: Cil docpěty
+ against_oneway_without_exit: Přećiwo jednosměrowej dróze na %{name}hić
+ end_oneway_without_exit: Kónc jednosměroweje dróhi na %{name}
roundabout_with_exit: W kružnym wobchadźe wzaj wujězd %{exit} na %{name}
unnamed: njeznaty puć
+ courtesy: Směrowe instrukcije pochadźeja wot %{link}
time: Čas
query:
node: Suk
friendly: '%Y. %B %e., %H.%M'
activerecord:
models:
- acl: Hozzáférés-vezérlési lista
+ acl: Hozzáférés-szabályzási lista
changeset: Módosításcsomag
changeset_tag: Módosításcsomag címkéje
country: Ország
search_osm_nominatim:
prefix:
aerialway:
+ cable_car: Fülkés felvonó
chair_lift: Libegő
drag_lift: Sífelvonó
+ gondola: Gondola
station: Drótkötélpálya megálló
aeroway:
aerodrome: Repülőtér
veterinary: Állatorvosi rendelő
village_hall: Községháza
waste_basket: Szemétgyűjtő kosár
+ waste_disposal: Hulladék lerakó
youth_centre: Ifjúsági központ
boundary:
administrative: Közigazgatási határ
plumber: Vízvezetékszerelő
shoemaker: Cipész
tailor: Szabó
+ "yes": Kézműves bolt
emergency:
ambulance_station: Mentőállomás
defibrillator: Defibrillátor
miniature_golf: Minigolfpálya
nature_reserve: Természetvédelmi terület
park: Park
- pitch: Labdarúgópálya
+ pitch: Sportpálya
playground: Játszótér
recreation_ground: Szabadidőpark
resort: Üdülőhely
bay: Öböl
beach: Part
cape: Partfok
- cave_entrance: Barlangbejárat
+ cave_entrance: Barlang bejárat
cliff: Szikla
crater: Kráter
dune: Dűne
Resources Canada), CanVec (© Department of Natural
Resources Canada), and StatCan (Geography Division,
Statistics Canada).
+ contributors_fi_html: "<strong>Finnország</strong>: Adatokat tartalmaz akövetkező
+ forrásokból: \nNational Land Survey of Finland's Topographic Database\nés
+ más adatforrások a href=\"http://www.maanmittauslaitos.fi/en/NLS_open_data_licence_version1_20120501\">NLSFI
+ License</a> alatt."
contributors_fr_html: |-
<strong>France</strong>: adatokat tartalmaz a következő forrásból:
Direction Générale des Impôts.
contributors_nz_html: |-
<strong>Új-Zéland</strong>: adatokat tartalmaz a következő forrásból:
Land Information New Zealand. Szerzői jog fenntartva.
+ contributors_si_html: '<strong>Szlovénia</strong>: Tartalmaz adatokat a <a href="http://www.gu.gov.si/en/">Földmérési
+ és Térképészeti Hatóságtól</a> és a <a href="http://www.mkgp.gov.si/en/">Földművelési,
+ Erdőgazdálkodási és Élelmezésügyi Minisztériumtól</a> (nyilvános információk
+ Szlovéniában).'
contributors_za_html: |-
<strong>Dél-Afrika</strong>: tartalmaz olyan adatokat, amik a
<a href="http://www.ngi.gov.za/">Chief Directorate:
beginners_guide:
url: http://wiki.openstreetmap.org/wiki/Hu:Beginners%27_guide
title: Kezdők kézikönyve
+ description: A közösség által karbantartott útmutató kezdőknek.
help:
url: https://help.openstreetmap.org/
title: help.openstreetmap.org
copyright_html: <span>©</span>OpenStreetMap<br />közreműködők
local_knowledge_title: Helyi tudásbázis
open_data_title: Szabad adatok
+ legal_title: Jogi segítség
partners_title: Partnerek
notifier:
diary_comment_notification:
close: Bezár
search:
search: Keresés
+ get_directions: Útvonalterv
get_directions_title: Útirány keresése két pont között
from: Feladó
to: Címzett
track: Földút
bridleway: Lovaglóút
cycleway: Kerékpárút
+ cycleway_national: Nemzeti kerékpárút
+ cycleway_regional: Regionális kerékpárút
+ cycleway_local: Helyi kerékpárút
footway: Gyalogút
rail: Vasút
subway: Metró
brownfield: Bontási terület
cemetery: Temető
allotments: Kert
- pitch: Labdarúgópálya
+ pitch: Sportpálya
centre: Sportközpont
reserve: Természetvédelmi terület
military: Katonai terület
private: Behajtás csak engedéllyel
destination: Csak célforgalom
construction: Utak építés alatt
+ bicycle_shop: Kerékpár bolt
+ bicycle_parking: Kerékpár parkoló
+ toilets: Nyilvános WC
richtext_area:
edit: Szerkeszt
preview: Előnézet
alt: Bejelentkezés Facebook fiókkal
windowslive:
title: Bejelentkezés Windows Live-val.
- alt: Bejelentkezés WIndows Live fiókkal
+ alt: Bejelentkezés Windows Live fiókkal
+ github:
+ title: Bejelentkezés GitHub-bal
+ alt: Bejelentkezés GitHub fiókkal
yahoo:
title: Bejelentkezés Yahoo-val
alt: Bejelentkezés Yahoo OpenID-vel
display name: 'Megjelenítendő név:'
display name description: A nyilvánosan megjelenített felhasználóneved. A beállításaidban
később megváltoztathatod.
+ external auth: 'Harmadik fél általi hitelesítés:'
password: 'Jelszó:'
confirm password: 'Jelszó megerősítése:'
use external auth: Alternatívaként használhatsz külső fiókokat a bejelentkezéshez
heading: '%{user} felhasználó nem létezik'
body: Sajnálom, nincs %{user} nevű felhasználó. Ellenőrizd a helyességét, vagy
lehet, hogy a link, amire kattintottál, rossz.
+ deleted: törölve
view:
my diary: Naplóm
new diary entry: új naplóbejegyzés
revoke:
administrator: Adminisztrátori hozzáférés visszavonása
moderator: Moderátori hozzáférés viszzavonása
- block_history: kapott blokkolások megjelenítése
- moderator_history: kiosztott blokkolások megjelenítése
+ block_history: Aktív blokkolások
+ moderator_history: Kiosztott blokkolások
comments: Megjegyzések
create_block: ezen felhasználó blokkolása
- activate_user: felhasználó aktiválása
- deactivate_user: felhasználó deaktiválása
- confirm_user: felhasználó megerősítése
+ activate_user: ezen felhasználó aktiválása
+ deactivate_user: ezen felhasználó deaktiválása
+ confirm_user: ezen felhasználó megerősítése
hide_user: ezen felhasználó elrejtése
- unhide_user: felhasználó elrejtésének megszüntetése
+ unhide_user: ezen felhasználó elrejtésének megszüntetése
delete_user: ezen felhasználó törlése
confirm: Megerősítés
friends_changesets: Ismerőseid módosításcsomagjai
link: Link vagy HTML
long_link: Link
short_link: Rövid link
+ geo_uri: Geo URI
embed: HTML
custom_dimensions: Kiterjedés megadása
format: 'Formátum:'
center_marker: Térkép középpontja a helyjelölő
paste_html: Weboldalba beágyazáshoz illeszd be ezt a HTML-t
view_larger_map: Nagyobb térkép
+ only_standard_layer: Csak az alap réteget lehet képként exportálni
+ embed:
+ report_problem: Probléma jelentése
key:
title: Jelmagyarázat
tooltip: Jelmagyarázat
standard: Alapértelmezett
cycle_map: Kerékpártérkép
transport_map: Tömegközlekedési térkép
- mapquest: MapQuest Open
hot: Humanitáriánus
layers:
header: Térképnézetek
createnote_disabled_tooltip: Nagyíts térképes jegyzet hozzáadásához
map_notes_zoom_in_tooltip: Nagyítsd fel a térképet a jegyzetek megjelenítéséhez
map_data_zoom_in_tooltip: Nagyítsd fel a térképet a térképadatok megjelenítéséhez
+ queryfeature_tooltip: Lekérdezési funkciók
+ queryfeature_disabled_tooltip: Nagyítás a lekérdezési funkciókra
changesets:
show:
comment: Megjegyzés
way: Vonal
relation: Kapcsolat
nothing_found: Nem találhatóak jellemzők
+ error: 'Hiba a %{server} szerverhez való kapcsolódáshoz: %{error}'
+ timeout: Időtúllépés a %{server}szerverhez kapcsolódás során
redaction:
edit:
description: Leírás
standard: Standard
cycle_map: Carta cyclista
transport_map: Carta de transporto
- mapquest: MapQuest Open
hot: Humanitario
layers:
header: Stratos de carta
ditambahkan ke OpenStreetMap database atau situs ini, silakan lihat <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">prosedur takedown</a> kami atau kirimkan file langsung pada
<a href="http://dmca.openstreetmap.org/">pengajuan halaman on-line</a>.
trademarks_title_html: <span id="trademarks"></span>Merek dagang
- trademarks_1_html: OpenStreetMap dan logo magnifying glass adalah merek dagang
- terdaftar dari OpenStreetMap Foundation. Jika Anda memiliki pertanyaan tentang
- penggunaan merek tersebut, silakan kirim pertanyaan Anda ke <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licensing
+ trademarks_1_html: OpenStreetMap, logo lup, dan State of the Map adalah merek
+ dagang terdaftar dari OpenStreetMap Foundation. Jika Anda memiliki pertanyaan
+ tentang penggunaan merek tersebut, silakan kirim pertanyaan Anda ke <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licence
Working Group</a>.
welcome_page:
title: Selamat datang!
jalan, seperti \nnama restoran atau batas kecepatan jalan"
rules:
title: Aturan!
+ paragraph_1_html: OpenStreetMap memiliki sedikit aturan formal tetapi kami mengharapkan
+ semua pesertanya untuk bekerja sama dan berkomunikasi dalam komunitas. Jika
+ Anda memikirkan aktivitas selain menyunting secara langsung, mohon baca dan
+ ikuti panduan pada<a href='http://wiki.openstreetmap.org/wiki/Import/Guidelines'>Impor</a>
+ dan <a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>Penyuntingan
+ otomatis</a>.
questions:
title: Ada pertanyaan?
paragraph_1_html: "OpenStreetMap memiliki beberapa sumber daya untuk belajar
Hak Cipta dan Lisensi</a> untuk perinciannya.'
legal_title: Legal
legal_html: |-
- Situs ini dan layanan terkait lainnya dioperasikan secara resmi oleh <a href='http://osmfoundation.org/'>OpenStreetMap Foundation</a> (OSMF) atas nama komunitas.
+ Situs ini dan layanan terkait lainnya dioperasikan secara resmi oleh <a href='http://osmfoundation.org/'>OpenStreetMap Foundation</a> (OSMF) atas nama komunitas. Menggunakan semua layanan yang dioperasikan oleh OSMF tunduk kepada <a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
+ Kebijakan Penggunaan Diterima</a> dan <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">Kebijakan Privasi</a> kami
<br>
Silakan <a href='http://osmfoundation.org/Contact'>menghubungi OSMF</a> jika Anda punya pertanyaan seputar lisensi, hak cipta, atau isu dan pertanyaan hukum lainnya.
partners_title: Rekan
track: Trek
bridleway: Jalan Tanah
cycleway: Jalur Sepeda
+ cycleway_national: Jalur sepeda nasional
+ cycleway_regional: Jalur sepeda daerah
+ cycleway_local: Jalur sepeda lokal
footway: Jalan Setapak
rail: Rel Kereta
subway: Kereta bawah tanah
private: Akses pribadi
destination: Akses tujuan
construction: Jalan sedang diperbaiki
+ bicycle_shop: Toko sepeda
+ bicycle_parking: Tempat parkir sepeda
+ toilets: Toilet
richtext_area:
edit: Edit
preview: Tinjauan
windowslive:
title: Masuk dengan Windows Live
alt: Masuk dengan akun Windows Live
+ github:
+ title: Masuk dengan GitHub.
+ alt: Masuk dengan Akun GitHub.
yahoo:
title: Masuk log dengan Yahoo
alt: Masuk log dengan Yahoo OpenID
kontributor</a>.
email address: 'Alamat Email:'
confirm email address: 'Konfirmasi Alamat Email:'
- not displayed publicly: Tidak dipajangkan secara umum (Lihat <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="wiki privacy policy including section on email addresses">kebijakan
- privasi</a>)
+ not displayed publicly: Alamat Anda tidak dipajangkan secara umum, lihat <a
+ href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF privacy
+ policy including section on email addresses">kebijakan privasi</a> kami untuk
+ informasi lebih lanjut
display name: 'Tampilan Nama:'
display name description: Username Anda yang ditampilkan pada publik. Anda dapat
mengubahnya dalam pengaturan.
gravatar:
gravatar: Gunakan Gravatar
link text: apa ini?
+ disabled: Gravatar telah dinonaktifkan.
+ enabled: Tampilan dari Gravatar Anda telah diaktifkan.
new image: Tambahkan gambar
keep image: Gunakan gambar saat ini
delete image: Hapus gambar saat ini
instructions:
continue_without_exit: Lurus ke %{name}
slight_right_without_exit: Kanan sedikit ke %{name}
+ offramp_right_without_exit: Ambil jalur ke kanan pada %{name}
+ onramp_right_without_exit: Belok kanan di jalur pada %{name}
+ endofroad_right_without_exit: Di ujung jalan belok kanan di %{name}
+ merge_right_without_exit: Gabung ke kanan ke %{name}
+ fork_right_without_exit: Di persimpangan belok kanan ke %{name}
turn_right_without_exit: Belok kanan ke %{name}
sharp_right_without_exit: Kanan tajam ke %{name}
uturn_without_exit: Putar balik ke %{name}
sharp_left_without_exit: Kiri tajam ke %{name}
turn_left_without_exit: Belok kiri ke %{name}
+ offramp_left_without_exit: Ambil jalur di sebelah kiri ke %{name}
+ onramp_left_without_exit: Belok kiri di jalur ke %{name}
+ endofroad_left_without_exit: Di ujung jalan belok kiri ke %{name}
+ merge_left_without_exit: Gabung kiri ke %{name}
+ fork_left_without_exit: Di persimpangan belok kiri ke %{name}
slight_left_without_exit: Kiri sedikit ke %{name}
via_point_without_exit: (lewat tempat)
follow_without_exit: Ikuti %{name}
# Author: Devid Farinelli
# Author: Dieterdreist
# Author: Efred
+# Author: Einreiher
# Author: Federico Mugnaini
# Author: Frammm
# Author: Fringio
# Author: Ricordisamoa
# Author: Rippitippi
# Author: Ruila
+# Author: Selven
# Author: Shirayuki
# Author: Simone
# Author: SimoneSVC
<a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">procedura di rimozione per violazione del copyright</a> o segnalacelo direttamente alla nostra
<a href="http://dmca.openstreetmap.org/">pagina di segnalazione on-line</a>.
trademarks_title_html: <span id="trademarks"></span>Marchi registrati
- trademarks_1_html: OpenStreetMap ed il logo con la lente d'ingrandimento sono
- marchi registrati della Fondazione OpenStreetMap. Se avete domande sull'uso
- dei marchi, inviatele al <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">gruppo
- di lavoro per le licenze</a>.
+ trademarks_1_html: '"OpenStreetMap", il logo con la lente d''ingrandimento e
+ "State of the Map" sono marchi registrati della <i>Fondazione OpenStreetMap</i>.
+ Se avete domande sull''uso dei marchi, inviatele al <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">gruppo
+ di lavoro per le licenze</a>.'
welcome_page:
title: Benvenuto!
introduction_html: Benvenuti in OpenStreetMap, la mappa del mondo libera e modificabile.
legal_title: Note legali
legal_html: "Questo sito e molti altri servizi correlati sono formalmente gestiti
dalla \n<a href=\"http://osmfoundation.org/\">OpenStreetMap Foundation</a> (OSMF)
- \nper conto della comunità.\n<br> \nSi prega di <a href=\"http://osmfoundation.org/Contact\">contattare
+ \nper conto della comunità. L'uso di tutti i servizi gestiti dalla OSMF è soggetto
+ \nalle nostre <a href=\"http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\nregole
+ di utilizzo accettabile</a> ed alla nostra <a href=\"http://wiki.osmfoundation.org/wiki/Privacy_Policy\">informativa
+ sulla privacy</a>\n<br> \nSi prega di <a href=\"http://osmfoundation.org/Contact\">contattare
la OSMF</a> \nin caso di dubbi e problemi di licenza, copyright o altre questioni
legali."
partners_title: Partner
notifier:
diary_comment_notification:
- subject: '[OpenStreetMap] %{user} ha commentato la tua voce del diario'
+ subject: '[OpenStreetMap] %{user} ha commentato una voce del diario'
hi: Salve %{to_user},
- header: '%{from_user} ha commentato la tua recente voce del diario OpenStreetMap
- con l''oggetto %{subject}:'
+ header: '%{from_user} ha commentato la voce del diario OpenStreetMap con l''oggetto
+ %{subject}:'
footer: Puoi anche leggere il commento su %{readurl} e puoi commentare su %{commenturl}
oppure rispondere su %{replyurl}
message_notification:
track: Strada forestale o agricola
bridleway: Percorso per equitazione
cycleway: Pista Ciclabile
+ cycleway_national: Pista ciclabile nazionale
+ cycleway_regional: Pista ciclabile regionale
+ cycleway_local: Pista ciclabile locale
footway: Percorso pedonale
rail: Ferrovia
subway: Metropolitana
private: Accesso privato
destination: Servitù di passaggio
construction: Strade in costruzione
+ bicycle_shop: Negozio di biciclette
+ bicycle_parking: Parcheggio per biciclette
+ toilets: Bagni pubblici
richtext_area:
edit: Modifica
preview: Anteprima
windowslive:
title: Accedi con Windows Live
alt: Accedi con un Account Windows Live
+ github:
+ title: Accedi con GitHub
+ alt: Effettua l'acceso con un'utenza GitHub
yahoo:
title: Accedi con Yahoo
alt: Accedi con un OpenID di Yahoo
per contribuire</a>.
email address: 'Indirizzo email:'
confirm email address: 'Conferma indirizzo email:'
- not displayed publicly: Non visualizzato pubblicamente (vedi le <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="wiki privacy policy including section on email addresses">norme sulla
- privacy</a>)
+ not displayed publicly: Il tuo indirizzo non visualizzato pubblicamente, vedi
+ l'<a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF
+ privacy policy including section on email addresses">informativa sulla privacy</a>
+ per ulteriori informazioni
display name: 'Nome visualizzato:'
display name description: Il proprio nome utente visualizzato pubblicamente.
Può essere modificato più tardi nelle preferenze.
gravatar:
gravatar: Usa Gravatar
link text: che cos'è questo?
+ disabled: Gravatar è stato disattivato.
+ enabled: La visualizzazione del vostro Gravatar è stata attivata.
new image: Aggiungi un'immagine
keep image: Mantieni l'immagine attuale
delete image: Rimuovi l'immagine attuale
key:
title: Legenda
tooltip: Legenda
- tooltip_disabled: La legenda è disponibile solo per il livello Standard
+ tooltip_disabled: La legenda non è disponibile per questo livello
map:
zoom:
in: Zoom avanti
standard: Standard
cycle_map: Mappa ciclabile
transport_map: Mappa dei trasporti
- mapquest: MapQuest Open
hot: Umanitario
layers:
header: Livelli mappa
instructions:
continue_without_exit: Prosegui su %{name}
slight_right_without_exit: Svolta leggermente a destra in %{name}
+ offramp_right_without_exit: Prendi la rampa sulla destra in %{name}
+ onramp_right_without_exit: Gira a destra sulla rampa in %{name}
+ endofroad_right_without_exit: Alla fine della strada svolta a destra in %{name}
+ merge_right_without_exit: Immettiti a destra in %{name}
+ fork_right_without_exit: Al bivio svolta a destra in %{name}
turn_right_without_exit: Svolta a destra in %{name}
sharp_right_without_exit: Svolta tutto a destra in %{name}
uturn_without_exit: Effettua un'inversione a U lungo %{name}
sharp_left_without_exit: Svolta tutto a sinistra in %{name}
turn_left_without_exit: Svolta a sinistra in %{name}
+ offramp_left_without_exit: Prendi la rampa sulla sinistra in %{name}
+ onramp_left_without_exit: Gira a sinistra sulla rampa in %{name}
+ endofroad_left_without_exit: Alla fine della strada svolta a sinistra in %{name}
+ merge_left_without_exit: Immettiti a sinistra in %{name}
+ fork_left_without_exit: Al bivio svolta a sinistra in %{name}
slight_left_without_exit: Svolta leggermente a sinistra in %{name}
via_point_without_exit: (punto di passaggio)
follow_without_exit: Segui %{name}
title: Modifica revisione
index:
empty: Nessuna revisione disponibile.
- heading: Lista Revisioni
- title: Lista Revisioni
+ heading: Elenco di revisioni
+ title: Elenco di revisioni
new:
description: Descrizione
heading: Inserire informazioni per una nuova revisione
diary_entry:
new:
title: 日記エントリの新規作成
+ publish_button: 公開
list:
title: ユーザーの日記
title_friends: 友達の日記
food_court: フードコート
fountain: 噴水
fuel: 燃料
+ gambling: ギャンブル
grave_yard: 墓地
gym: フィットネス センター/ジム
health_centre: 保健所
pitch: 運動場
playground: 遊び場
recreation_ground: 遊園地
+ resort: |2-
+
+ リゾート
sauna: サウナ
slipway: 造船台
sports_centre: スポーツ センター
swimming_pool: 水泳用プール
track: 陸上競技用トラック
water_park: 親水公園
+ "yes": レジャー
man_made:
lighthouse: 灯台
+ pipeline: パイプライン
tower: 塔
works: 工房
+ "yes": 人工
military:
airfield: 軍用飛行場
barracks: バラック
forest: 森林
geyser: 間欠泉
glacier: 氷河
+ grassland: 草地
heath: 荒れ地
hill: 丘陵
island: 島
reef: 砂州
ridge: 海嶺
rock: 岩場
+ saddle: 鞍部
sand: 砂
scree: がれ場
scrub: 低木林
title: 権利表示の例
more_title_html: 詳細を見る
more_1_html: |-
- ã\83\87ã\83¼ã\82¿ã\81®å\88©ç\94¨ã\81«ã\81¤ã\81\84ã\81¦ã\82\84ã\82¯ã\83¬ã\82¸ã\83\83ã\83\88æ\96¹æ³\95ã\81«ã\81¤ã\81\84ã\81¦ã\80\81詳細は<a
+ ã\83\87ã\83¼ã\82¿ã\81®å\88©ç\94¨ã\82\84ã\82¯ã\83¬ã\82¸ã\83\83ã\83\88æ\96¹æ³\95ã\81«ã\81¤ã\81\84ã\81¦ã\81®詳細は<a
href="http://osmfoundation.org/Licence">OSMF Licence page</a> and the community <a
href="http://wiki.openstreetmap.org/wiki/JA:Legal_FAQ">Legal
FAQ</a>をお読みください。
more_2_html: OpenStreetMap はオープンデータですが、サードパーティーの開発者のための無料の地図 API は提供できません。 <a
href="http://wiki.openstreetmap.org/wiki/API_usage_policy">API Usage Policy</a>、<a
- href="http://wiki.openstreetmap.org/wiki/JA:タイル利用規約">タイル利用規約</a>、<a href="http://wiki.openstreetmap.org/wiki/JA:Nominatim#利用ポリシー">Nominatim
+ href="http://wiki.openstreetmap.org/wiki/JA:タイル利用規約">タイルの利用規約</a>、<a href="http://wiki.openstreetmap.org/wiki/JA:Nominatim#利用ポリシー">Nominatim
Usage Policy</a>をお読みください。
contributors_title_html: 協力者
- contributors_intro_html: 協力者は数千人もの個人です。それに加え、国立の地図作成組織や、次のようなその他の情報源による公開できるライセンスによるデータを含みます。
+ contributors_intro_html: 数千人もの個人が協力者となっています。それに加え、各国の地図作成機関や、以下のように、その他の情報源も含め、公開されたライセンスによるデータを含みます。
contributors_at_html: '<strong>オーストリア</strong>: <a href="http://data.wien.gv.at/">Stadt
Wien</a> (ライセンス <a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC
BY</a>)、<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
contributors_nl_html: '<strong>オランダ</strong>: © AND データ、2007 (<a href="http://www.and.com">www.and.com</a>)
を含みます。'
contributors_nz_html: '<strong>ニュージーランド</strong>: Land Information New Zealand
- によるデータを含みます。Crown が著作権を保持します。'
+ によるデータを含みます。著作権はクラウン・コピーライトになります。'
contributors_za_html: '<strong>南アフリカ</strong>: <a href="http://www.ngi.gov.za/">Chief
- Directorate: National Geo-Spatial Information</a>, State によるデータを含み、著作権を保持します。'
- contributors_gb_html: '<strong>イギリス</strong>: 陸地測量データ © Crown copyright
- and database right 2010-12 を含みます。'
+ Directorate: National Geo-Spatial Information</a>,政府によるデータを含み、著作権を保持します。'
+ contributors_gb_html: '<strong>イギリス</strong>: 陸地測量データ ©著作権はクラウン・コピーライト及びdatabase
+ right 2010-12 を含みます。'
contributors_footer_1_html: これらの詳細について、またOpenStreetMapの向上に使用されたその他のソースについては、OpenStreetMap
Wikiの<a href="http://wiki.openstreetmap.org/wiki/JA:Contributors">協力者ページ</a>をご覧ください。
contributors_footer_2_html: OpenStreetMapのデータに含めることは、元データの提供者がOpenStreetMapを支持したり、何かしらの保証を行ったり、何かしらの責任を負ったりすることを意味するものではありません。
infringement_2_html: もし著作権のある素材がOpenStreetMapのデータベースや本サイトに不正に追加されたとお考えの場合は、<a
href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">却下手順</a>をお読みになるか、<a
href="http://dmca.openstreetmap.org/">on-line filing page</a>から直接申し立てを行ってください。
+ trademarks_title_html: <span id="trademarks"></span>商標
welcome_page:
title: ようこそ!
introduction_html: フリーで編集可能な世界地図、OpenStreetMapへようこそ。サインアップしたので、マッピングの準備はすべて整いました。知っておかなければならない重要事項を簡単に説明します。
beginners_guide:
url: http://wiki.openstreetmap.org/wiki/JA:%E5%88%9D%E5%BF%83%E8%80%85%E3%82%AC%E3%82%A4%E3%83%89
title: 初心者向けの手引き
+ description: コミュニティは、初心者向けガイドが整備しています。
help:
url: https://help.openstreetmap.org/
title: help.openstreetmap.org
title: 存在しないユーザーです
heading: ユーザー %{user} は存在しません
body: 申し訳ありませんが、%{user} という名前のユーザーは存在しません。スペルを確認してください。またはクリックしたリンクが間違っている可能性があります。
+ deleted: 削除済
view:
my diary: 自分の日記
new diary entry: 新しい日記エントリ
revoke:
administrator: 管理者権限を剥奪
moderator: モデレーター権限を剥奪
- block_history: 受けたブロック
+ block_history: 有効なブロック
moderator_history: 実行したブロック
comments: コメント
create_block: このユーザーをブロック
- activate_user: このユーザーを有効にする
- deactivate_user: このユーザーを無効にする
+ activate_user: このユーザーを有効化
+ deactivate_user: このユーザーを無効化
confirm_user: このユーザーを確認
hide_user: このユーザーを隠す
unhide_user: このユーザーを再表示
current email address: '現在のメール アドレス:'
new email address: '新しいメール アドレス:'
email never displayed publicly: (非公開)
+ external auth: '外部認証:'
openid:
link: http://wiki.openstreetmap.org/wiki/JA:OpenID?uselang=ja
link text: これは何ですか?
button: 確認
success: メール アドレスが変更されたことを確認しました。
failure: このトークンは、メール アドレスの確認に使用済みです。
+ unknown_token: その確認コードは期限切れ、または存在しません。
set_home:
flash success: ホーム地点を保存しました。
go_public:
heading: '%{block_by} が %{block_on} をブロックしました'
time_future: '%{time} に終了'
time_past: '%{time}前に終了しました'
+ ago: '%{time}前'
status: 状態
show: 表示
edit: 編集
center_marker: マーカーを地図の中心にする
paste_html: 以下の HTML をあなたのサイトに貼り付けてください
view_larger_map: 大きな地図を表示
+ embed:
+ report_problem: 問題を報告
key:
title: 凡例
tooltip: 凡例
changesets:
show:
comment: コメント
+ subscribe: 購読
+ unsubscribe: 購読停止
hide_comment: 非表示
unhide_comment: 非表示を解除
notes:
in_changeset: ცვლილებების პაკეტი
anonymous: ანონიმი
no_comment: (უკომენტარო)
+ download_xml: XML-ის ჩამოტვირთვა
+ view_history: ისტორიის ნახვა
+ view_details: დეტალების ნახვა
+ location: 'მდებარეობა:'
changeset:
title: 'ცვლილებების პაკეტი: %{id}'
+ belongs_to: ავტორი
+ node: წერტილები (%{count})
+ node_paginated: წერტილები (%{x}-%{y} %{count}-დან)
+ way: ხაზები (%{count})
+ way_paginated: ხაზები (%{x}-%{y} %{count}-დან)
+ relation: ურთიერთობები (%{count})
+ relation_paginated: ურთიერთობები (%{x}-%{y} %{count}-დან)
+ comment: კომენტარები (%{count})
+ hidden_commented_by: დამალული კომენტარები %{user}-სგან <abbr title='%{exact_time}'>%{when}
+ წინ</abbr>
+ commented_by: კომენატარი %{user}-სგან <abbr title='%{exact_time}'>%{when} წინ</abbr>
changesetxml: ცვლილებების პაკეტის XML
+ osmchangexml: osmChange XML
feed:
title: ცვლილებების პაკეტი %{id}
title_comment: ცვლილებების პაკეტი %{id} - %{comment}
+ discussion: განხილვა
+ node:
+ title: 'წერტილი: %{name}'
+ history_title: 'წერტილის ისტორია: %{name}'
+ way:
+ title: 'ხაზი: %{name}'
+ history_title: 'ხაზის ისტორია: %{name}'
+ nodes: წერტილები
+ relation:
+ title: 'ურთიერთობა: %{name}'
+ history_title: 'ურთიერთობის ისტორია: %{name}'
+ members: წევრები
relation_member:
entry_role: '%{type} %{name} როგორც %{role}'
type:
way: გზა
relation: ურთიერთობა
changeset: ცვლილებების პაკეტი
+ note: შენიშვნა
timeout:
sorry: უკაცრავად, მონაცემები %{type}-თვის იდენტიფიკატორით %{id}, საკმაოდ გრძელია
საპოვნელად.
way: გზა
relation: ურთიერთობა
changeset: ცვლილებების პაკეტი
+ note: შენიშვნა
redacted:
+ redaction: რედაქცია %{id}
type:
node: კვანძი
way: გზა
loading: იტვირთება...
tag_details:
wikipedia_link: სტატია %{page} ვიკიპედიაში
+ telephone_link: დარეკეთ %{phone_number}
note:
title: 'შენიშვნა: %{id}'
+ new_note: ახალი შენიშვნა
description: აღწერა
+ open_title: 'დაუმუშავებელი შენიშვნა #%{note_name}'
+ closed_title: 'დამუშავებული შენიშვნა #%{note_name}'
+ hidden_title: 'დამალული შენიშვნა #%{note_name}'
changeset:
changeset_paging_nav:
showing_page: გვერდი %{page}
area: ტერიტორია
list:
title: ცვლილებების პაკეტი
+ load_more: მეტის ჩატვირთვა
+ rss:
+ commented_at_html: განახლდა %{when} წინ
+ commented_at_by_html: განაახლა %{when} წინ მომხმარებელმა %{user}
+ full: სრული განხილვა
diary_entry:
new:
title: დღიურში ახალი ჩანაწერის გაკეთება
+ publish_button: გამოქვეყნება
list:
title: მომხმარებლების დღიურები
title_friends: მეგობრების დღიურები
newer_comments: ახალი კომენტარები
older_comments: ძველი კომენტარები
export:
+ title: ექსპორტი
start:
area_to_export: ტერიტორია ექსპორტისათვის
manually_select: სხვა რეგიონის გამოყოფა ხელით
osm_xml_data: OpenStreetMap XML–ის მონაცემები
map_image: რუკის სურათი (სტანდარტული ფენის ჩვენება)
licence: ლიცენზია
+ too_large:
+ planet:
+ title: პლანეტა OSM
options: პარამეტრები
format: ფორმატი
scale: მასშტაბი
geonames: <a href="http://www.geonames.org/">GeoNames</a>–ის შედეგები
search_osm_nominatim:
prefix:
+ aerialway:
+ cable_car: საბაგირო გზა
+ station: საბაგირო გზის სადგური
aeroway:
aerodrome: აეროდრომი
gate: გასასვლელი
+ helipad: ვერტმფრენის დასაჯდომი
runway: ასაფრენ-დასაფრენი ბილიკი
terminal: ტერმინალი
amenity:
+ animal_shelter: ცხოველთა თავშესაფარი
arts_centre: ხელოვნების ცენტრი
atm: ბანკომატი
bank: ბანკი
bicycle_parking: ველოსიპედების სადგომი
bicycle_rental: ველოსიპედების გაქირავება
biergarten: ლუდის ბაღი
+ boat_rental: ნავების გაქირავება
brothel: საროსკიპო
bureau_de_change: ვალუტის გადაცვლა
bus_station: ავტობუსის გაჩერება
cafe: კაფე
car_rental: მანქანის გაქირავება
+ car_sharing: მანქანების გაქირავება
car_wash: ავტოსამრეცხაო
casino: სამორინე
+ charging_station: დასამუხტი სადგური
cinema: კინოთეატრი
clinic: პოლიკლინიკა
+ clock: საათი
college: კოლეჯი
community_centre: საზოგადოებრივი ცენტრი
courthouse: სასამართლო
library: ბიბლიოთეკა
market: მაღაზია
marketplace: ბაზარი
+ monastery: მონასტერი
nightclub: ღამის კლუბი
nursery: პანსიონატი
nursing_home: მოხუცებულთა თავშესაფარი
office: ოფისი
parking: ავტოსადგომი
+ parking_entrance: სადგომის შესასვლელი
pharmacy: აფთიაქი
place_of_worship: რელიგიური ადგილი
police: პოლიცია
shelter: თავშესაფარი
shop: მაღაზია
shower: შხაპი
+ social_centre: საზოგადოებრივი ცენტრი
social_club: საზოგადოებრივი თავშეყრის ადგილი
studio: სტუდია
swimming_pool: საცურაო აუზი
youth_centre: ახალგაზრდული ცენტრი
boundary:
administrative: ადმინისტრაციული საზღვარი
+ census: აღწერის რაიონის საზღვარი
national_park: ეროვნული პარკი
protected_area: დაცული ტერიტორია
bridge:
aqueduct: აკვედუკი
suspension: დაკიდებული ხიდი
swing: რეგულირებადი ხიდი
+ viaduct: ვიადუკი
"yes": ხიდი
building:
"yes": შენობა
+ craft:
+ brewery: ლუდსახარში
+ carpenter: დურგალი
+ electrician: ელექტრიკოსი
+ gardener: მებაღე
+ painter: მხატვარი
+ photographer: ფოტოგრაფი
+ plumber: სანტექნიკოსი
+ shoemaker: მეწაღე
+ tailor: დალაქი
+ "yes": სახელოსნო
+ emergency:
+ ambulance_station: სასწრაფო დახმარების სადგური
+ defibrillator: დეფიბრილატორი
+ landing_site: ავარიული დაშვების ადგილი
+ phone: საგანგებო კავშირის ტელეფონი
highway:
+ abandoned: მიტოვებული გზა
bridleway: საცხენოსნო გზა
bus_stop: ავტობუსის გაჩერება
construction: გზის სარემონტო სამუშაოები
cycleway: ველოსიპედის გზა
+ elevator: ლიფტი
emergency_access_point: სასწრაფო დახმარების პუნქტი
footway: ტროტუარი
living_street: საცხოვრებელი ქუჩა
platform: ბაქანი
primary: მთავარი გზა
primary_link: მთავარი გზა
+ proposed: პროექტირებადი გზა
+ raceway: სარბოლო ტრასა
residential: საცხოვრებელი ქუჩა
rest_area: მოსასვენებელი ტერიტორია
road: გზა
secondary_link: მეორადი გზა
speed_camera: სიჩქარის მაკონტროლებელი კამერა
steps: საფეხურები
+ street_lamp: ქუჩის სანათი
tertiary: მესამე კლასის გზა
+ tertiary_link: მესამე კლასის გზა
track: ბილიკი
+ traffic_signals: შუქნიშანი
trail: ბილიკი
unclassified: ადგილობრივი გზა
unsurfaced: უზედაპირო გზა
+ "yes": გზა
historic:
archaeological_site: არქეოლოგიური გათხრები
battlefield: ბრძოლის ველი
boundary_stone: სასაზღვრო ქვა
building: ისტორიული შენობა
+ bunker: ბუნკერი
castle: ციხე-სიმაგრე
church: ეკლესია
+ city_gate: ქალაქის კარიბჭე
+ citywalls: ქალაქის კედლები
fort: ფორტი
+ heritage: კულტურული მემკვიდრეობის ობიექტი
house: სახლი
icon: ხატულა
manor: მამული
memorial: მემორიალი
mine: მაღარო
monument: მონუმენტი
+ roman_road: რომაული გზა
ruins: ნანგრევები
+ stone: ქვა
+ tomb: აკლდამა
tower: კოშკი
+ junction:
+ "yes": გზაჯვარედინი
landuse:
basin: აუზი
brownfield: მიტოვებული ადგილი
retail: სავაჭრო ტერიტორია
village_green: მწვანე სოფელი
vineyard: ვენახი
+ "yes": მიწათსარგებლობა
leisure:
+ club: კლუბი
+ dog_park: ძაღლების პარკი
fishing: სათევზაო ტერიტორია
+ fitness_centre: ფიტნეს-ცენტრი
+ fitness_station: ფიტნეს-სადგური
garden: ბაღი
golf_course: გოლფის მოედანი
ice_rink: ყინულის მოედანი
pitch: სპორტული გაზონი
playground: სათამაშო მოედანი
recreation_ground: რეკრეაციული ზონა
+ resort: კურორტი
sauna: საუნა
sports_centre: სპორტული ცენტრი
stadium: სტადიონი
swimming_pool: საცურაო აუზი
track: სარბენი ბილიკი
water_park: აკვაპარკი
+ man_made:
+ lighthouse: შუქურა
+ pipeline: მილსადენი
+ tower: კოშკი
+ works: ფაბრიკა
+ "yes": ხელოვნური
military:
airfield: სამხედრო აეროდრომი
barracks: ყაზარმები
bunker: ბუნკერი
+ mountain_pass:
+ "yes": უღელტეხილი
natural:
bay: ყურე
beach: პლაჟი
forest: ტყე
geyser: გეიზერი
glacier: მყინვარი
+ grassland: მდელო
hill: ბორცვი
island: კუნძული
land: ხმელეთი
reef: რიფი
ridge: ქედი
rock: კლდე
+ saddle: უღელტეხილი
+ sand: ქვიშა
scree: კლდეზვავი
scrub: ბუჩქნარი
spring: წყარო
wetland: ჭარბტენიანი ტერიტორია
wood: ტყე
office:
+ accountant: ბუღალტერი
+ administrative: ადმინისტრაცია
architect: არქიტექტორი
company: კომპანია
+ employment_agency: დასაქმების სააგენტო
estate_agent: უძრავი ქონების აგენტი
government: სამთავრობო ოფისი
+ insurance: სადაზღვევო ოფისი
+ lawyer: იურისტი
ngo: არასამთავრობო ორგანიზაციის ოფისი
telecommunication: სატელეკომუნიკაციო ოფისი
travel_agent: ტურისტული სააგენტო
"yes": ოფისი
place:
+ block: კვარტალი
airport: აეროპორტი
city: ქალაქი
country: ქვეყანა
islet: პატარა კუნძული
moor: ტორფნარი
municipality: მუნიციპალიტეტი
+ neighbourhood: სამეზობლო
postcode: საფოსტო ინდექსი
region: რეგიონი
sea: ზღვა
funicular: ფუნიკულიორი
halt: მატარებლის გაჩერება
historic_station: ისტორიული რკინიგზის სადგური
+ level_crossing: სარკინიგზო გადასასვლელი
+ light_rail: მსუბუქი რკინიგზა
monorail: მონორელსი
platform: რკინიგზის ბაქანი
+ preserved: ისტორიული რკინიგზა
+ proposed: პროექტირებადი რკინიგზა
station: რკინიგზის სადგური
+ stop: სარკინიგზო გაჩერება
subway: მეტრო
subway_entrance: მეტროში შესასვლელი
switch: სარკინიგზო ისარი
beverages: სასმელების მაღაზია
bicycle: ველოსიპედების მაღაზია
books: წიგნის მაღაზია
+ boutique: ბუტიკი
butcher: საყასბო
car: ავტოსალონი
car_parts: ავტონაწილები
clothes: ტანსაცმლის მაღაზია
computer: კომპიუტერების მაღაზია
confectionery: საკონდიტრო
+ convenience: სასურსათო მაღაზია
cosmetics: კოსმეტიკის მაღაზია
+ dry_cleaning: ქიმწმენდა
electronics: ელექტროტექნიკის მაღაზია
estate_agent: უძრავი ქონების აგენტი
fashion: მოდური ტანსაცმლის მაღაზია
fish: თევზების მაღაზია
florist: ყვავილების მაღაზია
food: საკვების მაღაზია
+ funeral_directors: დამკრძალავი ბიურო
furniture: ავეჯი
gallery: გალერეა
gift: საჩუქრების მაღაზია
+ greengrocer: ხილ-ბოსტნეულის მაღაზია
+ hairdresser: საპარიკმახერო
+ insurance: სადაზღვევო
jewelry: საიუველირო მაღაზია
kiosk: ჯიხური
laundry: სამრეცხაო
optician: ოპტიკა
organic: ორგანული საკვების მაღაზია
pet: ზოომაღაზია
+ pharmacy: აფთიაქი
photo: ფოტომაღაზია
salon: სალონი
+ second_hand: მეორადების მაღაზია
shoes: ფეხსაცმლის მაღაზია
shopping_centre: სავაჭრო ცენტრი
sports: სპორტული მაღაზია
stationery: საკანცელარიო მაღაზია
supermarket: სუპერმარკეტი
+ tailor: დალაქი
toys: სათამაშოების მაღაზია
travel_agency: ტურისტული სააგენტო
video: ვიდეო მაღაზია
+ wine: ღვინის მაღაზია
+ "yes": მაღაზია
tourism:
+ alpine_hut: ალპური სახლი
+ apartment: ბინა
+ artwork: ხელოვნების ნიმუში
attraction: ატრაქციონი
camp_site: ბანაკის ადგილი
+ gallery: გალერეა
guest_house: სასტუმრო სახლი
hostel: ჰოსტელი
hotel: სასტუმრო
tunnel:
"yes": გვირაბი
waterway:
+ artificial: ხელოვნური წყალსადენი
canal: არხი
dam: კაშხალი
+ derelict_canal: დამშრალი არხი
dock: ნავსადგური
river: მდინარე
stream: ნაკადული
+ wadi: დამშრალი კალაპოტი
waterfall: ჩანჩქერი
+ admin_levels:
+ level2: ქვეყნის საზღვარი
+ level4: შტატის საზღვარი
+ level5: რეგიონის საზღვარი
+ level6: ოლქის საზღვარი
+ level8: ქალაქის საზღვარი
+ level9: სოფლის საზღვარი
+ level10: გარეუბნის საზღვარი
description:
title:
osm_nominatim: მდებარეობა <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: Alex00728
+# Author: Asdfqwer51
# Author: B891202
# Author: Freebiekr
# Author: Hym411
# Author: Ykhwong
# Author: Ysjbserver
# Author: 고솜
+# Author: 밥풀떼기
# Author: 아라
---
ko:
blog: '%Y년 %B %e일'
activerecord:
models:
- acl: 접근 통제 목록
+ acl: 접근 제어 목록
changeset: 바뀜집합
changeset_tag: 바뀜집합 태그
country: 국가
user:
email: 이메일
active: 활성
- display_name: 보여줄 이름
+ display_name: 표시 이름
description: 설명
languages: 언어
pass_crypt: 비밀번호
closed: 닫힘
created_html: <abbr title='%{title}'>%{time} 전</abbr>에 만들어짐
closed_html: <abbr title='%{title}'>%{time} 전</abbr>에 닫힘
- created_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user} 사용자가 만듦
- deleted_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user} 사용자가 삭제함
- edited_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user} 사용자가 편집함
- closed_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user} 사용자가 닫음
+ created_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user}님이 만듦
+ deleted_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user}님이 삭제함
+ edited_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user}님이 편집함
+ closed_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user}님이 닫음
version: 버전
in_changeset: 바뀜집합
anonymous: 익명
- no_comment: (코멘트 없음)
+ no_comment: (댓글 없음)
part_of: '다음의 일부:'
download_xml: XML 다운로드
view_history: 역사 보기
way_paginated: 길 (%{count} 중 %{x}-%{y})
relation: 관계 (%{count})
relation_paginated: 관계 (%{count} 중 %{x}-%{y})
- comment: 코멘트 (%{count})
- hidden_commented_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
+ comment: 댓글 (%{count})
+ hidden_commented_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
남긴 숨겨진 댓글'
- commented_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
- ë\8c\93ê¸\80ì\9d\84 ë\82¨ê¹\80'
+ commented_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 댓글을
+ 남김'
changesetxml: 바뀜집합 XML
osmchangexml: osmChange XML
feed:
entry: 관계 %{relation_name}
entry_role: (%{relation_role}로서) 관계 %{relation_name}
not_found:
- sorry: '죄송하지만, %{type} #%{id}(을)를 찾지 못했습니다.'
+ sorry: '죄송하지만, %{type} #%{id}을(를) 찾지 못했습니다.'
type:
node: 노드
way: 길
note: 참고
redacted:
redaction: 개정 %{id}
- message_html: 이 %{type}의 %{version}판은 비공개 처리되었기 때문에 볼 수 없습니다. 자세한 내용은 %{redaction_link}(을)를
+ message_html: 이 %{type}의 %{version}판은 비공개 처리되었기 때문에 볼 수 없습니다. 자세한 내용은 %{redaction_link}을(를)
참조하세요.
type:
node: 노드
tag: '%{key}=%{value} 태그에 대한 위키 설명 문서'
wikidata_link: 위키데이터 %{page} 항목
wikipedia_link: 위키백과 %{page} 문서
- telephone_link: '%{phone_number}로 전화 걸기'
+ telephone_link: '%{phone_number}(으)로 전화 걸기'
note:
title: '참고: %{id}'
- new_note: 새 참고
+ new_note: 새로운 참고
description: 설명
open_title: '해결되지 않은 참고 #%{note_name}'
closed_title: '해결된 참고 #%{note_name}'
hidden_title: '숨겨진 참고 #%{note_name}'
- open_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 만듦'
- open_by_anonymous: 익명 사용자가 <abbr title='%{exact_time}'>%{when} 전</abbr>에 만듦
- commented_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
- 댓글을 남김'
- commented_by_anonymous: 익명 사용자가 <abbr title='%{exact_time}'>%{when} 전</abbr>에
- 댓글을 남김
- closed_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 해결함'
- closed_by_anonymous: 익명 사용자가 <abbr title='%{exact_time}'>%{when} 전</abbr>에 해결함
- reopened_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 다시
- 활성화함'
- reopened_by_anonymous: 익명 사용자가 <abbr title='%{exact_time}'>%{when} 전</abbr>에
- 다시 활성화함
- hidden_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 숨김'
+ open_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 만듦'
+ open_by_anonymous: 익명이 <abbr title='%{exact_time}'>%{when} 전</abbr>에 만듦
+ commented_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 댓글을
+ 남김'
+ commented_by_anonymous: 익명이 <abbr title='%{exact_time}'>%{when} 전</abbr>에 댓글을
+ 남김
+ closed_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 해결함'
+ closed_by_anonymous: 익명이 <abbr title='%{exact_time}'>%{when} 전</abbr>에 해결함
+ reopened_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 다시 활성화함'
+ reopened_by_anonymous: 익명이 <abbr title='%{exact_time}'>%{when} 전</abbr>에 다시
+ 활성화함
+ hidden_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 숨김'
query:
title: 지물 정보
introduction: 근처의 지물을 찾으려면 지도에서 클릭하세요.
nearby: 근처 지물
- enclosing: 둘러싸는 지물
+ enclosing: 근접 지역 내 지물
changeset:
changeset_paging_nav:
showing_page: 페이지 %{page}
saved_at: 저장된 시간
user: 사용자
comment: 댓글
- area: 지역
+ area: 구역
list:
title: 바뀜집합
- title_user: '%{user} 사용자의 바뀜집합'
+ title_user: '%{user}님의 바뀜집합'
title_friend: 내 친구의 바뀜집합
title_nearby: 근처 사용자의 바뀜집합
empty: 찾은 바뀜집합이 없습니다.
title_particular: 'OpenStreetMap 바뀜집합 #%{changeset_id} 토론'
comment: '바뀜집합 #%{changeset_id}에 %{author}님이 새 댓글을 남김'
commented_at_html: '%{when} 전에 업데이트함'
- commented_at_by_html: '%{user} 사용자가 %{when} 전에 업데이트함'
+ commented_at_by_html: '%{user}님이 %{when} 전에 업데이트함'
full: 전체 토론
diary_entry:
new:
heading: 'id에 항목 없음: %{id}'
body: 죄송합니다, %{id} id로 된 일기 항목이나 댓글이 없습니다. 맞춤법이나 클릭한 링크가 잘못됐는지 확인하세요.
diary_entry:
- posted_by: '%{link_user} 사용자가 %{language_link}로 %{created}에 게시함'
+ posted_by: '%{link_user}님이 %{language_link}로 %{created}에 게시함'
comment_link: 이 항목에 댓글 남기기
reply_link: 이 항목에 답변하기
comment_count:
edit: 편집
feed:
user:
- title: '%{user} 사용자에 대한 OpenStreetMap 일기 항목'
- description: '%{user} 사용자의 최근 OpenStreetMap 일기 항목'
+ title: '%{user}님의 OpenStreetMap 일기 항목'
+ description: '%{user}님의 최근 OpenStreetMap 일기 항목'
language:
title: '%{language_name}의 OpenStreetMap 일기 항목'
description: '%{language_name}로 된 OpenStreetMap 최근 일기 항목'
title: OpenStreetMap 일기 항목
description: OpenStreetMap의 사용자의 최근 일기 항목
comments:
- has_commented_on: '%{display_name} 사용자가 다음 일기 항목에 댓글을 남겼습니다'
+ has_commented_on: '%{display_name}님이 다음 일기 항목에 댓글을 남겼습니다'
post: 게시물
when: 날짜
comment: 댓글
데이터 커먼즈 오픈 데이터베이스 라이선스</a>(ODbL)에 따라 사용할 수 있습니다.
too_large:
advice: '위의 내보내기가 실패하면, 아래에 나열된 원본 중 하나를 사용하는 것을 고려해주세요:'
- body: '이 지역은 OpenStreetMap XML 데이터로 내보내는 데 너무 넓습니다. 확대하거나 작은 지역을 선택하거나, 대량
- 데이터 다운로드에 대한 다음 소스 중 하나를 사용하세요:'
+ body: 이 지역은 OpenStreetMap XML 데이터로 내보내는 데 너무 넓습니다. 확대하거나 작은 지역을 선택하거나, 대량
+ 데이터 다운로드에 대한 아래에 나열된 자료 중 하나를 사용하세요.
planet:
title: 플래닛 OSM
description: 완전한 OpenStreetMap 데이터베이스가 정기적으로 업데이트되는 복사본
chair_lift: 체어 리프트
drag_lift: 드래그 리프트
gondola: 곤돌라 리프트
- station: ì\82ë\8f\84장
+ station: ì¼\80ì\9d´ë¸\94 ì¹´ ì \95ë¥\98장
aeroway:
aerodrome: 비행장
apron: 에이프런
taxiway: 유도로
terminal: 터미널
amenity:
- animal_shelter: 동물 쉼터
+ animal_shelter: 동물 보호소
arts_centre: 예술 회관
atm: ATM
bank: 은행
bar: 주점
- bbq: BBQ
+ bbq: 바베큐
bench: 벤치
bicycle_parking: 자전거 주차장
bicycle_rental: 자전거 대여
- biergarten: 비어 가든
- boat_rental: 보트 대여
+ biergarten: 옥외 탁자
+ boat_rental: 보트 대여점
brothel: 매음굴
bureau_de_change: 환전소
- bus_station: 버스 정류장
+ bus_station: 버스 터미널
cafe: 카페
- car_rental: 자동차 대여
+ car_rental: 자동차 대여점
car_sharing: 카 셰어링
car_wash: 세차장
casino: 카지노
- charging_station: 충ì \84 ì\8a¤í\85\8cì\9d´ì\85\98
+ charging_station: ì \84기 ì\9e\90ë\8f\99ì°¨ 충ì \84ì\86\8c
childcare: 육아
cinema: 영화관
- clinic: ì§\84ë£\8cì\86\8c
+ clinic: ì\9d\98ì\9b\90
clock: 시계
- college: 전문대학
- community_centre: 커뮤ë\8b\88í\8b° 센터
+ college: 대학
+ community_centre: 주민센터
courthouse: 법원
crematorium: 화장장
dentist: 치과
doctors: 의원
dormitory: 기숙사
- drinking_water: ì\8b\9dì\88\98
- driving_school: 운전 학êµ\90
+ drinking_water: ì\9d\8cì\88\98ë\8c\80
+ driving_school: 운전 학ì\9b\90
embassy: 대사관
emergency_phone: 긴급 전화
fast_food: 패스트 푸드
gym: 피트니스 센터 / 체육관
health_centre: 보건소
hospital: 병원
- hunting_stand: 사냥 스탠드
+ hunting_stand: 사냥장
ice_cream: 아이스크림
kindergarten: 유치원
library: 도서관
market: 시장
marketplace: 시장
monastery: 수도원
- motorcycle_parking: 모í\84°ì\82¬ì\9d´í\81´ 주차ì\9e¥
+ motorcycle_parking: ì\98¤í\86 ë°\94ì\9d´ 주차ì\9e¥
nightclub: 나이트 클럽
nursery: 보육원
nursing_home: 복지관
- office: 사무실
+ office: 사옥
parking: 주차장
parking_entrance: 주차장 입구
pharmacy: 약국
prison: 교도소
pub: 술집
public_building: 공공 건물
- reception_area: 리셉션 지역
+ reception_area: 접수 구역
recycling: 재활용장
restaurant: 음식점
retirement_home: 노인정
youth_centre: 청소년 센터
boundary:
administrative: 행정 구역 경계
- census: 국세 조사 경계
+ census: 국세조사 구역 경계
national_park: 국립 공원
protected_area: 보호 구역
bridge:
building:
"yes": 건물
craft:
- brewery: 주조공
+ brewery: 맥주 공장
carpenter: 목수
electrician: 전기공
gardener: 정원사
plumber: 배관공
shoemaker: 구두공
tailor: 재단사
- "yes": 공예 가게
+ "yes": 공예품점
emergency:
- ambulance_station: 구급차 스테이션
+ ambulance_station: 구급 의료 센터
defibrillator: 제세동기
landing_site: 비상 착륙지
phone: 긴급 전화
bus_guideway: 가이드 버스 차선
bus_stop: 버스 정류장
construction: 건설 중인 고속도로
- cycleway: 자전거로
+ cycleway: 자전거 전용도로
elevator: 엘리베이터
emergency_access_point: 긴급 액세스 포인트
footway: 보도
ford: 여울
- living_street: 주택가
+ living_street: 주택가 도로
milestone: 이정표
motorway: 고속도로
motorway_junction: 고속도로 교차점
motorway_link: 고속도로
- path: 경로
- pedestrian: 보행자 길
- platform: 플랫폼
- primary: 주요 도로
+ path: 보행로
+ pedestrian: 보행자 도로
+ platform: 승강장
+ primary: 대로 또는 국도, 지방도
primary_link: 주요 도로
- proposed: 제안 도로
+ proposed: 제안된 도로
raceway: 경마장
- residential: 주거 도로
+ residential: 길 또는 주거 지역 도로
rest_area: 휴게소
road: 도로
- secondary: 보조 도로
+ secondary: ë¡\9c ê¸\89ì\9d\98 ë³´ì¡° ë\8f\84ë¡\9c
secondary_link: 보조 도로
- service: 취부 도로
+ service: 관내 도로
services: 고속도로 휴게소
speed_camera: 속도 카메라
steps: 계단
track: 추적
traffic_signals: 교통 신호
trail: 샛길
- trunk: 간선 도로
+ trunk: 대로 또는 간선 도로
trunk_link: 간선 도로
- unclassified: 분류í\95\98ì§\80 ì\95\8aì\9d\80 ë\8f\84ë¡\9c
+ unclassified: 분류ë\90\98ì§\80 ì\95\8aì\9d\80 ë\8f\84ë¡\9c
unsurfaced: 비포장 도로
"yes": 도로
historic:
- archaeological_site: 고고학장
+ archaeological_site: 유적지
battlefield: 전쟁터
boundary_stone: 경계석
- building: 사적 건물
+ building: ì\97ì\82¬ì \81 건물
bunker: 벙커
castle: 성
church: 교회
city_gate: 성문
citywalls: 성벽
fort: 성채
- heritage: 문화 유산지
+ heritage: 문화 유산
house: 주택
icon: 아이콘
manor: 장원
- memorial: 기념관
+ memorial: 기념비
mine: 광산
monument: 기념물
roman_road: 로마 도로
- ruins: 유적
+ ruins: 폐허
stone: 돌
tomb: 무덤
tower: 탑
"yes": 분기점
landuse:
allotments: 텃밭
- basin: ì\9b\85ë\8d©ì\9d´
+ basin: ì\9c ì\97
brownfield: 재개발지역
cemetery: 묘지
commercial: 상업 지역
conservation: 보존
construction: 공사 중
farm: 농장
- farmland: 농토
+ farmland: 농지
farmyard: 농지
forest: 숲
garages: 차고
industrial: 산업 지역
landfill: 매립지
meadow: 목초지
- military: 군사지
+ military: 군사 지역
mine: 광산
orchard: 과수원
quarry: 채석장
"yes": 토지 이용
leisure:
beach_resort: 해수욕장
- bird_hide: ì¡°ë¥\98 ê´\80ì°°ì§\80
+ bird_hide: ì¡°ë¥\98 ê´\80ì°°ì\86\8c
club: 클럽
common: 공유지
- dog_park: 개 공원
+ dog_park: 반려견 공원
fishing: 낚시터
fitness_centre: 피트니스 센터
fitness_station: 피트니스 스테이션
golf_course: 골프장
horse_riding: 승마
ice_rink: 아이스 링크
- marina: 마리나
+ marina: 정박지
miniature_golf: 미니어처 골프
- nature_reserve: 자연 보호구
+ nature_reserve: 자연 보호구역
park: 공원
pitch: 운동장
playground: 놀이터
cliff: 절벽
crater: 크레이터
dune: 모래 언덕
- fell: 황야
+ fell: 언덕
fjord: 피오르드
forest: 숲
geyser: 간헐천
marsh: 습지
moor: 습지
mud: 진흙
- peak: 산정상
+ peak: 봉우리
point: 점
reef: 암초
ridge: 산등성이
rock: 바위
saddle: 안부
sand: 모래
- scree: 급사면
+ scree: 자갈 비탈
scrub: 우거진 숲
spring: 온천
stone: 돌
wetland: 습지
wood: 산림
office:
- accountant: 회계 사무소
+ accountant: 공인회계사 사무소
administrative: 관리
- architect: 건축사
+ architect: 건축가
company: 회사
employment_agency: 직업 소개소
estate_agent: 부동산 중개
- government: 관청
- insurance: 보험 사무소
+ government: 정부 기관
+ insurance: 보험 회사 사옥
lawyer: 변호사 사무실
- ngo: NGO 사무실
- telecommunication: 통신 사무실
+ ngo: 비정부 기구 사무실
+ telecommunication: 통신 회사 사옥
travel_agent: 여행사
- "yes": 사무실
+ "yes": 사옥
place:
allotments: 텃밭
block: 벽돌
locality: 지역
moor: 습지
municipality: 시정촌
- neighbourhood: 인근 지역
+ neighbourhood: 마을
postcode: 우편 번호
region: 지역
sea: 바다
subdivision: 구분
suburb: 교외
town: 마을
- unincorporated_area: 비법인 지역
+ unincorporated_area: 비인가 지역
village: 마을
"yes": 장소
railway:
- abandoned: 버려진 철도
+ abandoned: 폐선된 철도
construction: 건설 중인 철도
disused: 폐선된 철도
- disused_station: í\8f\90ì\84 된 철도역
+ disused_station: í\8f\90ì\97된 철도역
funicular: 케이블 카
halt: 기차 정지
historic_station: 역사적인 철도역
junction: 철도 분기점
level_crossing: 건널목
- light_rail: ê²½ì² ë\8f\84
+ light_rail: ê²½ì \84ì²
miniature: 미니어처 철도
monorail: 모노레일
narrow_gauge: 협궤 철도
station: 철도역
stop: 철도 정거장
subway: 지하철
- subway_entrance: 지하철 입구
+ subway_entrance: 지하철역 출입구
switch: 철도 분기
- tram: 전차
+ tram: 전차 선로
tram_stop: 전차 정거장
shop:
alcohol: 주점
antiques: 골동품 상점
- art: 예술 상점
+ art: 예술품 가게
bakery: 제과점
beauty: 미용실
beverages: 음료 가게
car_repair: 자동차 수리점
carpet: 카펫 가게
charity: 자선 가게
- chemist: 화학품점
+ chemist: 약국
clothes: 의류 상점
computer: 컴퓨터 상점
confectionery: 과자 가게
convenience: 편의점
copyshop: 복사점
cosmetics: 화장품 상점
- deli: 델리
+ deli: 델리카트슨
department_store: 백화점
discount: 할인점
doityourself: Do-It-Yourself
gift: 선물 가게
greengrocer: 청과상
grocery: 식료품 상점
- hairdresser: 이발소
+ hairdresser: 미용실
hardware: 철물점
hifi: 고급 오디오
insurance: 보험
mall: 쇼핑몰
market: 시장
mobile_phone: 휴대폰 상점
- motorcycle: 모터사이클 상점
+ motorcycle: 이륜자동차(오토바이) 상점
music: 음반 가게
newsagent: 신문 판매소
optician: 안경점
second_hand: 중고품 가게
shoes: 신발 가게
shopping_centre: 쇼핑 센터
- sports: 스포츠 상점
+ sports: 스포츠용품점
stationery: 문구점
supermarket: 수퍼마켓
tailor: 양복점
wine: 주점
"yes": 상점
tourism:
- alpine_hut: 고산장
+ alpine_hut: 산장
apartment: 아파트먼트
artwork: 예술 작품
attraction: 견인
- bed_and_breakfast: 잠자기와 아침 식사(민박)
+ bed_and_breakfast: 민박
cabin: 오두막
camp_site: 캠프장
caravan_site: 캐러밴 사이트
- chalet: 별장
+ chalet: 샬렛
gallery: 갤러리
guest_house: 게스트 하우스
hostel: 호스텔
"yes": 터널
waterway:
artificial: 인공 수로
- boatyard: 보트야드
+ boatyard: 조선소
canal: 운하
dam: 댐
- derelict_canal: 버려진 운하
- ditch: 구거
+ derelict_canal: 사용 중단된 운하
+ ditch: 배수로
dock: 부두
drain: 배수로
lock: 갑문
mooring: 계선
rapids: 급류
river: 강
- stream: 개울
+ stream: 하천
wadi: 와디
waterfall: 폭포
weir: 어량
layouts:
logo:
alt_text: OpenStreetMap 로고
- home: 집 위치로 가기
+ home: 현재 위치로 가기
logout: 로그아웃
log_in: 로그인
log_in_tooltip: 기존 계정으로 로그인
user_diaries: 사용자 일기
user_diaries_tooltip: 사용자 일기 보기
edit_with: '%{editor}(으)로 편집'
- tag_line: ì\9a°ë¦¬ 모ë\91\90ì\9d\98 ì\9c\84í\82¤ ì\84¸ê³\84 ì§\80ë\8f\84
+ tag_line: ì\9a°ë¦¬ 모ë\91\90ì\9d\98 ì\84¸ê³\84ì§\80ë\8f\84 ì\9c\84í\82¤
intro_header: OpenStreetMap에 오신 것을 환영합니다!
intro_text: OpenStreetMap은 여러분과 같은 사람들이 만들고 자유롭게 오픈 라이선스에 따라 사용할 수 있는, 세계 지도입니다.
intro_2_create_account: 사용자 계정을 만드세요
<a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">Nominatim(이름) 사용 정책</a>를 참조하세요.
contributors_title_html: 우리의 기여자
contributors_intro_html: |-
- ì\9a°ë¦¬ì\9d\98 기ì\97¬ì\9e\90ë\8a\94 ì\88\98ì²\9c ëª\85ì\9d\98 ê°\9cì\9d¸ì\9e\85ë\8b\88ë\8b¤. ë\98\90í\95\9c êµë¦½ì§\80ë\8f\84 ì \9cì\9e\91 기ê´\80ê³¼
- 같은 다른 소스의 공개 가능한 라이센스의 데이터를 포함합니다:
+ 우리의 기여자는 수천 명입니다. 또한 국립지도 제작 기관과
+ 같은 다른 소스의 공개 라이선스의 데이터를 포함하고 있습니다:
contributors_at_html: |-
<strong>오스트리아</strong>: <a href="http://data.wien.gv.at/">Stadt Wien</a>
(<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>에 따름),
contributors_nz_html: |-
<strong>뉴질랜드</strong>: Land Information New Zealand에서의
데이터를 포함합니다. Crown이 저작권을 소유합니다.
+ contributors_si_html: |-
+ <strong>슬로베니아</strong>: <a href="http://www.gu.gov.si/en/">Surveying and Mapping Authority</a>와
+ <a href="http://www.mkgp.gov.si/en/">Ministry of Agriculture, Forestry and Food</a>
+ (슬로베니아의 공개 정보)에서의 데이터를 포함합니다.
contributors_za_html: |-
<strong>남아프리카 공화국</strong>: <a href="http://www.ngi.gov.za/">Chief Directorate:
National Geo-Spatial Information</a>에서의 데이터를
중단 절차</a>를 참고하거나 <a href="http://dmca.openstreetmap.org/">온라인
신고 페이지</a>에서 직접 제출하세요.
trademarks_title_html: <span id="trademarks"></span>등록 상표
- trademarks_1_html: 오픈스트리트맵과 돋보기 로고는 오픈스트리트맵 재단의 등록상표입니다. 상표의 사용에 대해 의문이 있는 경우,
- 관련된 질문을 <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">라이선싱
+ trademarks_1_html: OpenStreetMap, 돋보기 로고, 스테이트 오브 맵은 OpenStreetMap 재단의 등록상표입니다.
+ 상표의 사용에 대해 의문이 있는 경우, 관련된 질문을 <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">라이선싱
작업 그룹</a>으로 보내 주세요.
welcome_page:
title: 환영합니다!
whats_on_the_map:
title: 지도는 무엇입니까
on_html: |-
- OpenStreetMap은 <em>현실과 현재</em> 둘 다를 매핑하기 위한 장소입니다 -
- 장소에 대한 건물, 도로와 기타 자세한 수백만 정보를 포함합니다. 흥미있는
+ OpenStreetMap은 <em>현실과 현재</em>를 전부 매핑하기 위한 장소입니다 -
+ 장소에 대한 건물, 도로, 그리고 그밖의 자세한 수백만 가지 정보를 포함합니다. 흥미있는
현실 세계 지물은 무엇이든 매핑할 수 있습니다.
off_html: |-
- 평점, 역사적이거나 가설적인 기능, 그리고 저작권이 있는 데이터와 같은
- 고집된 데이터는 포함되지 <em>않습니다</em>. 특별한 허가가 없으면,
- 온라인이나 종이 지도에서 복사하지 마십시오.
+ 장소에 대한 평가, 역사에 관한 것이나 추측에 의한 정보, 그리고 저작권이 있는 정보처럼
+ 독단적인 데이터는 들어갈 수 <em>없습니다</em>. 특별히 허용받지 않으셨다면
+ 온라인 지도나 종이 지도에서 복사해오지 마십시오.
basic_terms:
- title: 매핑에 대한 기본 용어
- paragraph_1_html: OpenStreetMapì\9d\80 ì\9e\90ì\8b ì\9d\98 ì\9a©ì\96´ ì¤\91 ì\9d¼ë¶\80ê°\80 ì\9e\88ì\8aµë\8b\88ë\8b¤. ì\97¬ê¸°ì\97\90 í\8e¸ë¦¬í\95\98ê²\8c ì\82¬ì\9a©í\95 ì\88\98 ì\9e\88ë\8a\94 ëª\87 ê°\80ì§\80 í\95µì\8b¬
- 단어가 있습니다.
+ title: 매핑하는데 필요한 기본 용어
+ paragraph_1_html: OpenStreetMapì\97\90ì\84\9cë\8a\94 ì\9e\90ì²´ ì\9a©ì\96´ê°\80 ëª\87 ê°\80ì§\80 ì\82¬ì\9a©ë\90©ë\8b\88ë\8b¤. ì\97¬ê¸°ì\97\90 í\8e¸ë¦¬í\95\98ê²\8c ì\82¬ì\9a©í\95 ì\88\98 ì\9e\88ë\8a\94 ëª\87 ê°\80ì§\80
+ 핵심 단어가 있습니다.
editor_html: <strong>편집기</strong>는 지도를 편집하는 데 사용할 수 있는 프로그램이나 웹사이트입니다.
- node_html: <strong>노드</strong>는 음식점 한 곳이나 나무와 같은, 지도에 있는 점입니다.
- way_html: <strong>길</strong>은 도로, 개울, 호수나 건물과 같은, 선이나 지역입니다.
- tag_html: |-
- <strong>태그</strong>는 음식점의 이름이나 도로의 속도 제한과 같은,
- 노드나 길에 대한 보충하는 데이터입니다.
+ node_html: <strong>노드</strong>는 지도상의 어느 한 지점으로, 음식점 한 곳이나 나무 한 그루 같은 것을 말합니다.
+ way_html: <strong>길</strong>은 지도상의 선이나 구역을 말하며, 도로, 개울, 호수나 건물을 나타냅니다.
+ tag_html: <strong>태그</strong>는 노드나 길을 보충하는 데이터로, 음식점의 이름이나 도로의 속도 제한 같은 것을 말합니다.
rules:
- title: 규칙
+ title: 여기서 규칙!
+ paragraph_1_html: "OpenStreetMap은 몇 가지 형식적인 규칙이 있지만 우리는 모든 참가자가 협력하고, 공동체와 소통하기를
+ 바랍니다.\n여러분이 직접 편집하지 않는 다른 활동을 고려한다면, \n<a href='http://wiki.openstreetmap.org/wiki/Import/Guidelines'>가져오기</a>와
+ \n<a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>자동화된
+ 편집</a>에서의\n다음 가이드라인을 읽고 따라주시기 바랍니다."
questions:
title: 질문 있나요?
paragraph_1_html: |-
add_a_note:
title: 편집할 시간이 없습니까? 참고를 추가하세요!
paragraph_1_html: |-
- 작은 무언가를 고치기를 원하고 가입하고 편집하는 방법을 배울 시간이 없다면,
- ì°¸ê³ ë¥¼ ì¶\94ê°\80í\95\98ë\8a\94 ê²\83ì\9d\80 ì\89½습니다.
+ 그냥 한 가지 간단한 것이 고칠 게 있다거나 가입하면서 편집하는 방법을 배우기에 시간이 없다면,
+ ì°¸ê³ ë¥¼ ì¶\94ê°\80í\95\98ë\8a\94 ê²\83ì\9d´ ë\82«습니다.
paragraph_2_html: |-
<a href='%{map_url}'>지도</a>로 가고 나서 참고 아이콘을 클릭하세요:
<span class='icon note'></span>. 드래그하여 이동할 수 있는 표시가 지도에 추가됩니다.
description: OSM의 질문 및 답변 사이트에서 질문하거나 답변을 찾아보세요.
mailing_lists:
title: 메일링 리스트
+ description: 국소 또는 지역의 메일링 리스트의 넓은 범위에서 관심사에 대해 질문하거나 토론을 합니다.
forums:
title: 포럼들
+ description: 게시판 스타일 인터페이스를 선호하는 것에 대한 질문과 토론입니다.
irc:
title: IRC
+ description: 다양한 주제에서 많은 다른 언어로 된 대화형 채트입니다.
switch2osm:
title: switch2osm
description: 회사나 단체가 OpenStreetMap와 다른 서비스를 기반으로 전환하는 것에 도움을 주십시오.
자세한 내용은 <a href='%{copyright_path}'>저작권 및 라이선스 페이지</a>를
참조하세요.
legal_title: 법률
+ legal_html: "이 사이트와 많은 다른 관련된 서비스는 공동체 뒤의 <a href='http://osmfoundation.org/'>OpenStreetMap
+ 재단</a> (OSMF)에\n의해 공식적으로 운영하고 있습니다.\n<br> \n라이선싱, 저작권 또는 다른 법률 질문과 이슈가 있다면 <a
+ href='http://osmfoundation.org/Contact'>OSMF에 문의</a>하시기 바랍니다."
partners_title: 파트너
notifier:
diary_comment_notification:
friend_notification:
subject: '[OpenStreetMap] %{user}님이 당신을 친구로 추가했습니다'
had_added_you: '%{user}님이 당신을 OpenStreetMap 친구로 추가했습니다.'
- see_their_profile: '%{userurl} 에서 그들의 프로필을 볼 수 있습니다.'
+ see_their_profile: '%{userurl}에서 그들의 프로필을 볼 수 있습니다.'
befriend_them: 또한 %{befriendurl}에서 친구로 추가할 수 있습니다.
gpx_notification:
greeting: 안녕하세요,
subject: '[OpenStreetMap] 이메일 주소 확인'
email_confirm_plain:
greeting: 안녕하세요,
- hopefully_you: 누군가가 아마 자신이 %{server_url} 에 %{new_address} 로 이메일 주소를 바꾸고 싶습니다.
+ hopefully_you: 누군가가 아마 자신이 %{server_url} 에 %{new_address} (으)로 이메일 주소를 바꾸고 싶습니다.
click_the_link: 만약 당신이라면 바뀜을 확인하기 위해 아래 링크를 클릭하세요.
email_confirm_html:
greeting: 안녕하세요,
- hopefully_you: 누군가가 아마 자신이 %{server_url} 에 %{new_address} 로 이메일 주소를 바꾸고 싶습니다.
+ hopefully_you: 누군가가 아마 자신이 %{server_url} 에 %{new_address} (으)로 이메일 주소를 바꾸고 싶습니다.
click_the_link: 만약 당신이라면 바뀜을 확인하기 위해 아래 링크를 클릭하세요.
lost_password:
subject: '[OpenStreetMap] 비밀번호 재설정 요청'
anonymous: 익명 사용자
greeting: 안녕하세요,
commented:
- subject_own: '[OpenStreetMap] %{commenter} 사용자가 당신의 참고에 댓글을 남겼습니다'
- subject_other: '[OpenStreetMap] %{commenter} 사용자가 당신이 관심 있는 참고에 댓글을 남겼습니다'
- your_note: '%{commenter} 사용자가 %{place} 근처의 당신의 지도에 댓글을 남겼습니다.'
- commented_note: '%{commenter} 사용자가 당신이 댓글을 남긴 지도 참고에 댓글을 남겼습니다. 참고는 %{place}
+ subject_own: '[OpenStreetMap] %{commenter}님이 당신의 참고 중 하나에 댓글을 남겼습니다'
+ subject_other: '[OpenStreetMap] %{commenter}님이 당신이 관심 있는 참고에 댓글을 남겼습니다'
+ your_note: '%{commenter}님이 %{place} 근처의 당신의 지도 중 하나에 댓글을 남겼습니다.'
+ commented_note: '%{commenter}님이 당신이 댓글을 남긴 지도 참고에 댓글을 남겼습니다. 참고는 %{place}
근처에 있습니다.'
closed:
- subject_own: '[OpenStreetMap] %{commenter} 사용자가 당신의 참고 중 하나를 해결했습니다'
- subject_other: '[OpenStreetMap] %{commenter} 사용자가 당신이 관심 있는 참고를 해결했습니다'
- your_note: '%{commenter} 사용자가 %{place} 근처의 당신의 지도 참고 중 하나를 해결했습니다.'
- commented_note: '%{commenter} 사용자가 당신이 댓글을 남긴 지도 참고를 해결했습니다. 참고는 %{place}
- 근처에 있습니다.'
+ subject_own: '[OpenStreetMap] %{commenter}님이 당신의 참고 중 하나를 해결했습니다'
+ subject_other: '[OpenStreetMap] %{commenter}님이 당신이 관심 있는 참고를 해결했습니다'
+ your_note: '%{commenter}님이 %{place} 근처의 당신의 지도 참고 중 하나를 해결했습니다.'
+ commented_note: '%{commenter}님이 당신이 댓글을 남긴 지도 참고를 해결했습니다. 참고는 %{place} 근처에
+ 있습니다.'
reopened:
- subject_own: '[OpenStreetMap] %{commenter} 사용자가 당신의 참고 중 하나를 다시 활성했습니다'
- subject_other: '[OpenStreetMap] %{commenter} 사용자가 당신이 관심 있는 참고를 다시 활성했습니다'
- your_note: '%{commenter} 사용자가 %{place} 근처의 당신의 지도 참고 중 하나를 다시 활성했습니다.'
- commented_note: '%{commenter} 사용자가 당신이 댓글을 남긴 지도 참고를 다시 활성했습니다. 참고는 %{place}
+ subject_own: '[OpenStreetMap] %{commenter}님이 당신의 참고 중 하나를 다시 활성했습니다'
+ subject_other: '[OpenStreetMap] %{commenter}님이 당신이 관심 있는 참고를 다시 활성했습니다'
+ your_note: '%{commenter}님이 %{place} 근처의 당신의 지도 참고 중 하나를 다시 활성했습니다.'
+ commented_note: '%{commenter}님이 당신이 댓글을 남긴 지도 참고를 다시 활성했습니다. 참고는 %{place}
근처에 있습니다.'
- details: 참고에 대한 자세한 사항은 %{url} 에서 찾을 수 있습니다.
+ details: 참고에 대한 자세한 사항은 %{url}에서 찾을 수 있습니다.
changeset_comment_notification:
greeting: 안녕하세요,
commented:
- subject_own: '[OpenStreetMap] %{commenter} 사용자가 당신의 바뀜집합에 댓글을 남겼습니다'
- subject_other: '[OpenStreetMap] %{commenter} 사용자가 당신이 관심 있는 바뀜집합에 댓글을 남겼습니다'
- your_changeset: '%{commenter} 사용자가 당신이 %{time}에 만든 바뀜집합에 댓글을 달았습니다'
- commented_changeset: '%{commenter} 사용자가 %{changeset_author}이 %{time}에 만든,
- 주ì\8b\9c ì¤\91ì\9d¸ ì§\80ë\8f\84 ë°\94ë\80\9cì§\91í\95©ì\97\90 ë\8c\93ê¸\80ì\9d\84 ë\8b¬ì\95\98ì\8aµë\8b\88ë\8b¤'
- partial_changeset_with_comment: '''%{changeset_comment}'' ë\8d§글로'
+ subject_own: '[OpenStreetMap] %{commenter}님이 당신의 바뀜집합 중 하나에 댓글을 남겼습니다'
+ subject_other: '[OpenStreetMap] %{commenter}님이 당신이 관심 있는 바뀜집합에 댓글을 남겼습니다'
+ your_changeset: '%{commenter}님이 당신이 %{time}에 만든 바뀜집합 중 하나에 댓글을 달았습니다'
+ commented_changeset: '%{commenter}님이 %{changeset_author}이 %{time}에 만든, 주시
+ 중인 지도 바뀜집합에 댓글을 달았습니다'
+ partial_changeset_with_comment: '''%{changeset_comment}'' ë\8c\93글로'
partial_changeset_without_comment: 댓글 없이
- details: 바뀜집합에 대한 자세한 사항은 %{url} 에서 찾을 수 있습니다.
+ details: 바뀜집합에 대한 자세한 사항은 %{url}에서 찾을 수 있습니다.
message:
inbox:
title: 받은 쪽지함
찾아보는 것은 어떨까요?
people_mapping_nearby: 근처에 매핑한 사람
reply:
- wrong_user: '''%{user}'' 사용자로 로그인하고 있지만 답장을 요청한 메시지가 해당 사용자에게 보내지지 않았습니다. 답장을
+ wrong_user: '''%{user}''님으로 로그인하고 있지만 답장을 요청한 메시지가 해당 사용자에게 보내지지 않았습니다. 답장을
하려면 올바른 사용자로 로그인하세요.'
read:
title: 메시지 읽기
unread_button: 읽지 않음으로 표시
back: 뒤로
to: 받는이
- wrong_user: '''%{user}'' 사용자로 로그인하고 있지만 읽기를 요청한 메시지가 해당 사용자에게 보내지지 않았습니다. 읽으려면
+ wrong_user: '''%{user}''님으로 로그인하고 있지만 읽기를 요청한 메시지가 해당 사용자에게 보내지지 않았습니다. 읽으려면
올바른 사용자로 로그인하세요.'
sent_message_summary:
delete_button: 삭제
deleted: 메시지가 삭제됨
site:
index:
- js_1: 자바스크립트를 지원하지 않는 브라우저이거나, 자바스크립트가 활성화 되어 있지 않습니다.
+ js_1: 자바스크립트를 지원하지 않는 브라우저를 사용 중이거나, 자바스크립트가 활성화되어 있지 않습니다.
js_2: OpenStreetMap은 매끄러운 지도를 위해 자바스크립트를 사용합니다.
permalink: 고유링크
shortlink: 짧은링크
motorway: 고속도로
main_road: 주요 도로
trunk: 간선 도로
- primary: 주요 도로
+ primary: 대로 또는 국도, 지방도
secondary: 보조 도로
- unclassified: 분류í\95\98ì§\80 ì\95\8aì\9d\80 ë\8f\84ë¡\9c
+ unclassified: 분류ë\90\98ì§\80 ì\95\8aì\9d\80 ë\8f\84ë¡\9c
track: 추적
bridleway: 승마로
- cycleway: 자전거로
+ cycleway: 자전거 도로
footway: 보도
rail: 철도
subway: 지하철
tram:
- - ê²½ì² ë\8f\84
+ - ê²½ì \84ì²
- 노면 전차
cable:
- 케이블 카
- 공항 활주로
- 공항 유도로
apron:
- - 공항 에이프런
+ - 공항 계류장
- 터미널
admin: 행정 구역 경계
forest: 숲
allotments: 텃밭
pitch: 운동장
centre: 스포츠 센터
- reserve: 자연 보호구
- military: 군사지
+ reserve: 자연 보호구역
+ military: 군사 지역
school:
- 학교
- 대학교
- building: ì¤\91ì\9a\94í\95\9c 건물
+ building: 주ì\9a\94 건물
station: 철도역
summit:
- 산꼭대기
- - 산정상
+ - 봉우리
tunnel: 점선 테두리 = 터널
bridge: 검은 테두리 = 다리
private: 개인 통행
destination: 목적 통행
construction: 공사 중인 도로
+ bicycle_shop: 자전거 가게
+ bicycle_parking: 자전거 주차장
+ toilets: 화장실
richtext_area:
edit: 편집
preview: 미리 보기
list:
public_traces: 공개 GPS 추적
your_traces: 내 GPS 추적
- public_traces_from: '%{user} 사용자의 공중 GPS 추적'
+ public_traces_from: '%{user}님의 공개 GPS 추적'
description: 최근 GPS 추적 올리기 찾아보기
- tagged_with: '%{tags}로 태그함'
+ tagged_with: '%{tags}(으)로 태그함'
empty_html: 여기에 아직 아무 것도 없습니다. <a href='%{upload_link}'>새 추적을 올리거나</a> <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>위키
문서</a>에 GPS 추적에 대한 자세한 내용을 알아보세요.
delete:
setup_user_auth:
blocked: API에 대한 접근을 차단했습니다. 자세한 내용을 알아보려면 웹 인터페이스에 로그인하세요.
need_to_see_terms: API에 대한 접근을 일시적으로 중지했습니다. 기여자 약관을 보려면 웹 인터페이스에 로그인하세요. 기여자
- 약관에 동의 할 필요는 없습니다만 기여자 약관을 보아야 합니다.
+ 약관에 동의할 필요는 없습니다만 기여자 약관을 보아야 합니다.
oauth:
oauthorize:
title: 내 계정에 접근 인증
edit: 자세한 사항 편집
delete: 클라이언트 삭제
confirm: 확실합니까?
- requests: '사용자가 다음 권한을 요청합니다:'
+ requests: '사용자로부터 다음 권한을 요청합니다:'
allow_read_prefs: 사용자 환경 설정을 읽습니다.
allow_write_prefs: 사용자 환경 설정을 수정합니다.
allow_write_diary: 일기 항목을 만들고 댓글을 달고 친구를 만듭니다.
url: 주요 애플리케이션 URL
callback_url: 연락 URL
support_url: 지원 URL
- requests: '사용자가 다음 권한을 요청합니다:'
+ requests: '사용자로부터 다음 권한을 요청합니다:'
allow_read_prefs: 사용자 환경 설정을 읽습니다.
allow_write_prefs: 사용자 환경 설정을 수정합니다.
allow_write_diary: 일기 항목을 만들고 댓글을 달고 친구를 만듭니다.
allow_write_gpx: GPS 추적을 올립니다.
allow_write_notes: 참고를 수정합니다.
not_found:
- sorry: 죄송합니다, 해당 %{type}(을)를 찾을 수 없습니다.
+ sorry: 죄송합니다, 해당 %{type}을(를) 찾을 수 없습니다.
create:
flash: 성공적으로 정보를 등록했습니다
update:
windowslive:
title: 윈도 라이브로 로그인하기
alt: 윈도 라이브 계정으로 로그인하기
+ github:
+ title: GitHub로 로그인
+ alt: GitHub 계정으로 로그인
yahoo:
title: 야후로 로그인
alt: Yahoo OpenID로 로그인하기
heading: OpenStreetMap에서 로그아웃
logout_button: 로그아웃
lost_password:
- title: 잊어버진 비밀번호
+ title: 잊어버린 비밀번호
heading: 비밀번호를 잊으셨나요?
email address: '이메일 주소:'
new password button: 비밀번호 재설정
notice email cannot find: 이메일 주소를 찾지 못해 죄송합니다.
reset_password:
title: 비밀번호 재설정
- heading: '%{user} 사용자 비밀번호 재설정'
+ heading: '%{user}의 비밀번호 재설정'
password: '비밀번호:'
confirm password: 비밀번호 확인
reset: 비밀번호 재설정
약관</a>에 동의해야합니다.
email address: '이메일 주소:'
confirm email address: '이메일 주소 확인:'
- not displayed publicly: 공개적으로 보여지지 않습니다 (<a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
+ not displayed publicly: 공개적으로 표시되지 않습니다 (<a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
title="이메일 주소 부분을 포함한 위키 개인정보 정책">개인 정보 정책</a>을 참조하세요)
- display name: '보여줄 이름:'
- display name description: 공개적으로 보여질 사용자 이름입니다. 나중에 환경 설정에서 바꿀 수 있습니다.
+ display name: '표시 이름:'
+ display name description: 공개적으로 표시되는 사용자 이름입니다. 나중에 환경 설정에서 바꿀 수 있습니다.
external auth: '제3자 인증:'
password: '비밀번호:'
confirm password: '비밀번호 확인:'
use external auth: 다른 제3자 로그인 방식 사용하기
auth no password: 제3자 인증은 비밀번호가 필요하지 않지만, 일부 추가 도구나 서버는 여전히 필요할 수 있습니다.
continue: 가입하기
- terms accepted: ì\83\88 기ì\97¬ì\9e\90 ì\95½ê´\80ì\97\90 ë\8f\99ì\9d\98í\95\98셔서 감사합니다!
+ terms accepted: ì\83\88 기ì\97¬ì\9e\90 ì\95½ê´\80ì\97\90 ë\8f\99ì\9d\98í\95´ 주셔서 감사합니다!
terms declined: 새 기여자 약관에 동의하지 않은 것으로 결정했기에 죄송합니다. 자세한 정보에 대해서는 <a href="%{url}">이
위키 문서</a>를 참조하세요.
terms:
title: 이러한 사용자는 없습니다
heading: '%{user} 사용자는 존재하지 않습니다'
body: 죄송합니다, %{user} 이름으로 된 사용자가 없습니다. 맞춤법이나 클릭한 링크가 잘못됐는지 확인하세요.
+ deleted: 삭제됨
view:
my diary: 내 일기
new diary entry: 새 일기 항목
revoke:
administrator: 관리자 권한 해제
moderator: 운영자 권한 해제
- block_history: 사용자가 차단을 받았습니다
- moderator_history: ì\82¬ì\9a©ì\9e\90ê°\80 ì°¨ë\8b¨ì\9d\84 주ì\97\88ì\8aµë\8b\88ë\8b¤
+ block_history: 활성화된 차단
+ moderator_history: ì\8b¤í\96\89ë\90\9c ì°¨ë\8b¨
comments: 댓글
create_block: 이 사용자를 차단
activate_user: 이 사용자 활성화
text: 현재 편집은 익명으로 나타나며, 다른 사람에게서 메시지를 받을 수 없고 자신의 위치가 공개되지 않습니다. 자신이 편집한 것을
드러내고 다른 사람이 웹 사이트를 통해 연락할 수 있게 하려면 아래 버튼을 클릭하세요. <b>0.6 API 개편 이후 공개 사용자만
지도 데이터를 편집할 수 있습니다</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">이유
- 알아보기</a>).<ul><li>공개 사용자가 되더라도 이메일 주소는 공개되지 않습니다.</li><li>이 조치는 취소할 수 없으며,
- 모ë\93 ì\8b ê·\9c 사용자는 현재 기본적으로 공개 계정입니다.</li></ul>
+ 알아보기</a>).<ul><li>공개 사용자가 되더라도 이메일 주소는 공개되지 않습니다.</li><li>이 동작은 취소할 수 없으며,
+ 모ë\93 ì\83\88ë¡\9cì\9a´ 사용자는 현재 기본적으로 공개 계정입니다.</li></ul>
contributor terms:
heading: '기여자 약관:'
agreed: 새 기여자 약관에 동의했습니다.
gravatar:
gravatar: Gravatar 사용
link text: 이게 뭐죠?
+ disabled: 그라바타가 비활성화되었습니다.
+ enabled: 그라바타의 표시가 활성화되었습니다
new image: 그림 추가
keep image: 현재 그림 유지
delete image: 현재 그림 제거
latitude: '위도:'
longitude: '경도:'
update home location on click: 지도에서 클릭하면 집 위치로 업데이트할까요?
- save changes button: ë°\94ë\80\9c 저장
+ save changes button: ë³\80ê²½ ì\82¬í\95 저장
make edits public button: 내 편집을 공개하기
return to profile: 프로필로 돌아가기
flash update success confirm needed: 사용자 정보를 성공적으로 업데이트했습니다. 새 이메일 주소를 확인하기
unknown token: 확인 코드가 만료되었거나 존재하지 않습니다.
reconfirm_html: 확인 이메일을 다시 보낼 필요가 있다면, <a href="%{reconfirm}">여기를 클릭하세요</a>.
confirm_resend:
- success: '%{email} 로 새 확인 쪽지를 보냈는데 즉시 계정을 확인하는 대로 매핑을 할 수 있습니다.<br /><br />확인
- 요청을 보낼 때 스팸 방지 시스템을 사용한다면 어떤 확인 요청에 답변할 수 없으므로 화이트리스트에 %{sender} 가 있는지 확인하세요.'
+ success: '%{email}(으)로 새 확인 쪽지를 보냈는데 즉시 계정을 확인하는 대로 매핑을 할 수 있습니다.<br /><br />확인
+ 요청을 보낼 때 스팸 방지 시스템을 사용한다면 어떤 확인 요청에 답변할 수 없으므로 화이트리스트에 %{sender}이(가) 있는지 확인하세요.'
failure: '%{name} 사용자를 찾을 수 없습니다.'
confirm_email:
heading: 이메일 주소 바꾸기 확인
go_public:
flash success: 지금 모든 편집을 공개하고, 편집을 허용하지 않습니다.
make_friend:
- heading: '%{user} 사용자를 친구로 추가할까요?'
+ heading: '%{user}님을 친구로 추가할까요?'
button: 친구 추가
- success: '%{name} 사용자는 이제 친구입니다!'
- failed: 죄송합니다, %{name} 사용자를 친구로 추가하는 데 실패했습니다.
- already_a_friend: 이미 %{name} 사용자와 친구입니다.
+ success: '%{name}님은 이제 친구입니다!'
+ failed: 죄송합니다, %{name}님을 친구로 추가하는 데 실패했습니다.
+ already_a_friend: 이미 %{name}님과 친구입니다.
remove_friend:
- heading: '%{user} 사용자를 친구 제거할까요?'
+ heading: '%{user}님을 친구 제거할까요?'
button: 친구 제거
- success: '%{name} 사용자를 친구에서 제거했습니다.'
- not_a_friend: '%{name} 사용자는 친구가 아닙니다.'
+ success: '%{name}님을 친구에서 제거했습니다.'
+ not_a_friend: '%{name}님은 친구 중 하나가 아닙니다.'
filter:
not_an_administrator: 해당 동작을 수행하려면 관리자 권한이 필요합니다.
list:
title: 사용자
heading: 사용자
showing:
- one: 페이지 %{page} (%{items} 중 %{first_item})
- other: 페이지 %{page} (%{items} 중 %{first_item}-%{last_item})
- summary: '%{name}(이)가 %{date}에 %{ip_address}에서 만들어짐'
- summary_no_ip: '%{name}(이)가 %{date}에 만들어짐'
+ one: '%{page}페이지 (%{items} 중 %{first_item})'
+ other: '%{page}페이지 (%{items} 중 %{first_item}-%{last_item})'
+ summary: '%{name}님이 %{date}에 %{ip_address}에서 만들어짐'
+ summary_no_ip: '%{name}이(가) %{date}에 만들어짐'
confirm: 선택한 사용자 확인
hide: 선택한 사용자 숨기기
empty: 일치하는 사용자를 찾을 수 없습니다
auth_association:
heading: 당신의 아이디는 아직 오픈스트리트맵에 등록되지 않았습니다.
option_1: 만약 당신이 오픈스트리트맵에 처음 이라면, 밑의 양식을 써서 새 계정을 만들어 주세요.
- option_2: 만약 당신이 이미 계정을 가지고 있다면, 당신은 당신의 사용자 이름과 비밀번호를 사용해 로그인 할 수 있고 당신의 아이디를
- 사용자 설정에서 등록 할 수 있습니다.
+ option_2: 만약 당신이 이미 계정을 가지고 있다면, 당신은 당신의 사용자 이름과 비밀번호를 사용해 로그인할 수 있고 당신의 아이디를
+ 사용자 설정에서 등록할 수 있습니다.
user_role:
filter:
not_an_administrator: 관리자만 사용자 역할 관리를 수행할 수 있습니다, 당신은 관리자가 아닙니다.
grant:
title: 역할 부여 확인
heading: 역할 부여 확인
- are_you_sure: '''%{name}'' 사용자í\95\9cí\85\8c ''%{role}'' ì\97í\95 ì\9d\84 ë¶\80ì\97¬í\95\98ê² ì\8aµë\8b\88ê¹\8c?'
+ are_you_sure: '''%{name}'' 사용자ì\97\90ê²\8c ''%{role}'' ì\97í\95 ì\9d\84 ë¶\80ì\97¬í\95\98ê² ì\8aµë\8b\88ê¹\8c?'
confirm: 확인
fail: '''%{name} 사용자에게 ''%{role}'' 역할을 부여할 수 없습니다. 사용자와 역할이 모두 올바른지 확인하세요.'
revoke:
title: 역할 해제 확인
heading: 역할 해제 확인
- are_you_sure: '''%{name}'' 사용자한테 ''%{role}'' 역할을 해제하겠습니까?'
+ are_you_sure: '''%{name}'' 사용자로부터 ''%{role}'' 역할을 해제하겠습니까?'
confirm: 확인
- fail: '''%{name} 사용자에게 ''%{role}'' 역할을 해제할 수 없습니다. 사용자와 역할이 모두 올바른지 확인하세요.'
+ fail: '''%{name} 사용자로부터 ''%{role}'' 역할을 해제할 수 없습니다. 사용자와 역할이 모두 올바른지 확인하세요.'
user_block:
model:
non_moderator_update: 차단을 만들거나 바꾸려면 운영자여야 합니다.
new:
title: '%{name} 사용자 차단'
heading: '%{name} 사용자 차단'
- reason: '%{name} 사용자를 차단한 이유입니다. 메시지가 대중에 공개적으로 보여지기 때문에, 상황에 대해 가능한 한 냉정하고
- 합리적으로 최대한 정중하게 상황을 설명하도록 하세요. 모든 사용자가 공동체 내에서의 전문 용어를 이해하고 있는 것인 아니기 때문에 알기
- ì\89¬ì\9a´ ì\9a©ì\96´ë¥¼ ì\82¬ì\9a©í\95\98ë\8f\84ë¡\9d ë\85¸ë ¥í\95\98ì\84¸ì\9a\94.'
+ reason: '%{name}님을 차단한 이유입니다. 메시지가 대중에 공개적으로 보이기 때문에, 상황에 대해 가능한 한 냉정하고 합리적으로
+ 최대한 정중하게 상황을 설명하도록 하세요. 모든 사용자가 공동체 내에서의 전문 용어를 이해하고 있는 것인 아니기 때문에 알기 쉬운 용어를
+ 사용하도록 노력하세요.'
period: 사용자가 지금부터 얼마나 오랫동안 API에서 차단하나요.
submit: 차단 만들기
tried_contacting: 사용자에게 연락하여 이를 멈추도록 요청했습니다.
edit:
title: '%{name} 사용자에 대한 차단 편집'
heading: '%{name} 사용자에 대한 차단 편집'
- reason: '%{name} 사용자를 차단한 이유입니다. 상황에 대해 가능한 한 냉정하고 합리적으로 최대한 정중하게 상황을 설명하도록
- 하세요. 모든 사용자가 공동체 내에서의 전문 용어를 이해하고 있는 것인 아니기 때문에 알기 쉬운 용어를 사용하도록 노력하세요.'
+ reason: '%{name}님을 차단한 이유입니다. 상황에 대해 가능한 한 냉정하고 합리적으로 최대한 정중하게 상황을 설명하도록 하세요.
+ 모든 사용자가 공동체 내에서의 전문 용어를 이해하고 있는 것인 아니기 때문에 알기 쉬운 용어를 사용하도록 노력하세요.'
period: 사용자가 지금부터 얼마나 오랫동안 API에서 차단하나요.
submit: 차단 업데이트
show: 이 차단 보기
until_login: 사용자가 로그인할 때까지 활성합니다.
time_past: '%{time} 전에 끝났습니다.'
blocks_on:
- title: '%{name} 사용자에 대해 차단'
+ title: '%{name}님에 대해 차단'
heading: '%{name} 사용자에 대한 차단 목록'
- empty: '%{name} 사용자는 아직 차단되지 않았습니다.'
+ empty: '%{name}님은 아직 차단되지 않았습니다.'
blocks_by:
- title: '%{name} 사용자에 의해 차단'
+ title: '%{name}님에 의해 차단'
heading: '%{name} 사용자에 의한 차단 목록'
- empty: '%{name} 사용자는 아직 어떠한 차단도 하지 않았습니다.'
+ empty: '%{name}님은 아직 어떠한 차단도 하지 않았습니다.'
show:
- title: '%{block_on} 사용자가 %{block_by} 사용자에 의해 차단됨'
- heading: '%{block_on} 사용자가 %{block_by} 사용자에 의해 차단됨'
+ title: '%{block_on}님이 %{block_by}님에 의해 차단됨'
+ heading: '%{block_on}님이 %{block_by}님에 의해 차단됨'
time_future: '%{time}에 끝남'
time_past: '%{time} 전에 끝남'
created: 만들어짐
note:
description:
opened_at_html: '%{when} 전에 만듦'
- opened_at_by_html: '%{user} 사용자가 %{when} 전에 만듦'
+ opened_at_by_html: '%{user}님이 %{when} 전에 만듦'
commented_at_html: '%{when} 전에 바꿈'
- commented_at_by_html: '%{user} 사용자가 %{when} 전에 바꿈'
+ commented_at_by_html: '%{user}님이 %{when} 전에 업데이트함'
closed_at_html: '%{when} 전에 해결함'
- closed_at_by_html: '%{user} 사용자가 %{when} 전에 해결함'
+ closed_at_by_html: '%{user}님이 %{when} 전에 해결함'
reopened_at_html: '%{when} 전에 다시 활성화함'
- reopened_at_by_html: '%{user} 사용자가 %{when} 전에 다시 활성화함'
+ reopened_at_by_html: '%{user}님이 %{when} 전에 다시 활성화함'
rss:
title: OpenStreetMap 참고
description_area: 내 지역[(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]에
comment: 댓글
full: 전체 참고
mine:
- title: '%{user} 사용자가 제출했거나 댓글을 남긴 참고'
+ title: '%{user}님이 제출했거나 댓글을 남긴 참고'
heading: '%{user}의 참고'
- subheading: '%{user} 사용자가 제출했거나 댓글을 남긴 참고'
+ subheading: '%{user}님이 제출했거나 댓글을 남긴 참고'
id: ID
creator: 만든이
description: 설명
unhide_comment: 숨기기 취소
notes:
new:
- intro: ì\8b¤ì\88\98í\96\88ê±°ë\82\98 ì\97\86ë\8a\94 무ì\96¸ê°\80를 ë°\9c견í\96\88ë\82\98ì\9a\94? ë\8b¤ë¥¸ 매í\8d¼ì\97\90ê²\8c ì\95\8cë ¤ì£¼ì\96´ ê³ ì¹ ì\88\98 ì\9e\88ê²\8c í\95´ì£¼ì\84¸ì\9a\94. ë§\88커를 ì\98¬ë°\94른 ì\9c\84ì¹\98ë¡\9c ì\98®ê¸°고, 참고를
+ intro: ì\8b¤ì\88\98í\96\88ê±°ë\82\98 ì\97\86ë\8a\94 무ì\96¸ê°\80를 ë°\9c견í\96\88ë\82\98ì\9a\94? ë\8b¤ë¥¸ 매í\8d¼ì\97\90ê²\8c ì\95\8cë ¤ì£¼ì\96´ ê³ ì¹ ì\88\98 ì\9e\88ê²\8c í\95´ì£¼ì\84¸ì\9a\94. ë§\88커를 ì\98¬ë°\94른 ì\9c\84ì¹\98ë¡\9c ì\9d´ë\8f\99í\95\98고, 참고를
남겨 문제를 설명해주세요. (개인 정보나 저작권이 있는 지도나 디렉터리 목록에서의 정보를 입력하지 마세요.)
add: 참고 추가
show:
no_route: 두 장소 사이의 경로를 찾을 수 없습니다.
no_place: 죄송합니다 - 그 장소를 찾을 수 없습니다.
instructions:
- continue_without_exit: '%{name}로 계속가세요'
+ continue_without_exit: '%{name}(으)로 계속 가세요'
slight_right_without_exit: '%{name}을(를) 따라 오른쪽으로 완만하게 도세요'
turn_right_without_exit: '%{name}을(를) 따라 오른쪽으로 도세요'
sharp_right_without_exit: '%{name}을(를) 따라 오른쪽으로 꺾으세요'
against_oneway_without_exit: '%{name}(으)로 한 방향으로 가세요'
end_oneway_without_exit: '%{name}에서의 한 방향의 끝'
roundabout_with_exit: '%{name}에서의 회전교차로에서 %{exit} 출구로 떠나세요'
- unnamed: 이름 없음
+ unnamed: 이름 없는 도로
courtesy: '%{link}의 가는 방향'
time: 시간
query:
create:
flash: 교정을 만들었습니다.
update:
- flash: ë°\94ë\80\9c을 저장했습니다.
+ flash: ë³\80ê²½ë\90\9c ì\82¬í\95을 저장했습니다.
destroy:
not_empty: 교정이 비어 있지 않습니다. 파기하기 전에 이 교정에 속하는 모든 판을 교정 취소하세요.
flash: 교정을 파기했습니다.
unclassified: Net klasséiert Strooss
bridleway: Wee fir Päerd
cycleway: Vëlospiste
+ cycleway_national: Nationale Vëloswee
+ cycleway_regional: Regionale Vëloswee
+ cycleway_local: Lokale Vëloswee
footway: Fousswee
rail: Eisebunn
subway: Metro
- Universitéit
summit:
- Spëtzt
+ bicycle_shop: Vëlosgeschäft
+ bicycle_parking: Vëlosparking
+ toilets: Toiletten
richtext_area:
edit: Änneren
preview: Kucken ouni ofzespäicheren
windowslive:
title: Mat Windows Live aloggen
alt: Mat engem Windows-Live Benotzerkont aloggen
+ github:
+ title: Mat GitHub aloggen
+ alt: Mat engem GitHub-Konto aloggen
yahoo:
title: Alogge mat Yahoo
alt: Alogge mat enger Yahoo OpenID
header: Fäi a verännerbar
email address: 'E-Mail-Adress:'
confirm email address: 'E-Mail-Adress confirméieren:'
+ not displayed publicly: Är Adress gëtt net ëffentlech gewisen, kuckt eis <a
+ href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF privacy
+ policy including section on email addresses">Dateschutzrichtlinn</a> fir méi
+ Informatiounen
display name: Numm weisen
password: 'Passwuert:'
confirm password: 'Passwuert confirméieren:'
image: 'Bild:'
gravatar:
link text: wat ass dat?
+ disabled: Gravatar gouf desaktivéiert.
+ enabled: D'Weise vun Ärem Gravatar gouf aktivéiert.
new image: E Bild derbäisetzen
keep image: Dat aktuellt Bild behalen
delete image: Dat aktuellt Bild ewechhuelen
distance: Distanz
instructions:
continue_without_exit: Virun op %{name}
+ offramp_right_without_exit: Déi riets Opfaart op %{name} huelen
+ onramp_right_without_exit: Bei der Opfaart riets ofbéien op %{name}
+ endofroad_right_without_exit: Um Ënn vun der Strooss riets ofbéien op %{name}
+ merge_right_without_exit: Riets areien op %{name}
+ fork_right_without_exit: Um Ënn vun der Strooss riets ofbéien op %{name}
sharp_right_without_exit: Schaarf riets op %{name}
sharp_left_without_exit: Schaarf lénks op %{name}
+ offramp_left_without_exit: Déi lénks Opfaart op %{name} huelen
+ onramp_left_without_exit: Bei der Opfaart lénks ofbéien op %{name}
+ endofroad_left_without_exit: Um Ënn vun der Strooss lénks ofbéien op %{name}
+ merge_left_without_exit: Lénks areien op %{name}
+ fork_left_without_exit: Um Ënn vun der Strooss lénks ofbéien op %{name}
via_point_without_exit: (iwwer de Punkt)
roundabout_without_exit: Am Kreesverkéier huelt %{name}
leave_roundabout_without_exit: Aus dem Kreesverkéier erausgoen - %{name}
svetainėje</a> arba užpildykite <a href="http://dmca.openstreetmap.org/">šį
pildymų lapą</a>.
trademarks_title_html: <span id="trademarks"></span>Prekių ženklai
- trademarks_1_html: OpenStreetMap ir lupos logotipas yra registruoti OpenStreetMap
- fondo prekių ženklai. Jei turite klausimų apie šių ženklų naudojimą, siųskite
- savo klausimus <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licencijavimo
+ trademarks_1_html: OpenStreetMap, lupos logotipas ir „State of the Map“ yra
+ registruoti OpenStreetMap fondo prekių ženklai. Jei turite klausimų apie šių
+ ženklų naudojimą, siųskite savo klausimus <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licencijavimo
darbinei grupei</a>.
welcome_page:
title: Sveiki atvykę!
subject_own: '[OpenStreetMap] %{commenter} išsprendė vieną iš jūsų pastabos'
subject_other: '[OpenStreetMap] %{commenter} išsprendė jūsų dominančia pastaba'
your_note: '%{commenter} išsprendė vieną iš jūsų žemėlapio pastabų šalia %{place}.'
- commented_note: '%{commenter} išsprendė žemėlapio pastabą, kurį jūs pakomentavote.
+ commented_note: '%{commenter} išsprendė žemėlapio pastabą, kurią jūs pakomentavote.
Pastaba yra šalia %{place}.'
reopened:
subject_own: '[OpenStreetMap] %{commenter} aktyvavo vieną iš jūsų pastabų'
your_note: '%{commenter} aktyvavo vieną iš jūsų žemėlapio pastabų netoli %{place}.'
commented_note: '%{commenter} aktyvavo žemėlapio pastabą, kurį jūs pakomentavote.
Pastaba yra netoli %{place}.'
- details: Daugiau informacijos apie pastaba galima rasti %{url}.
+ details: Daugiau informacijos apie pastabą galima rasti %{url}.
changeset_comment_notification:
greeting: Labas,
commented:
track: Pėdsakas
bridleway: Takas galvijams varyti
cycleway: Dviračių takas
+ cycleway_local: Vietinis dviračių takas
footway: Pėsčiųjų takas
rail: Geležinkelis
subway: Metro
private: Privati prieiga
destination: Atvykimo susisiekimas
construction: Statomi keliai
+ bicycle_shop: Dviračių parduotuvė
+ bicycle_parking: Dviračių stovėjimo aikštelė
+ toilets: Tualetai
richtext_area:
edit: Redaguoti
preview: Peržiūra
windowslive:
title: Prisijungti su Windows Live
alt: Prisijungti su Windows Live paskyra
+ github:
+ title: Prisijungti su GitHub
+ alt: Prisijungti su GitHub Paskyra
yahoo:
title: Prisijunkite su Yahoo
alt: Prisijunkite su Yahoo OpenID
gravatar:
gravatar: Naudoti Gravatar
link text: kas tai?
+ disabled: Gravatar buvo išjungtas.
new image: Pridėti nuotrauką
keep image: Palikti dabartinę nuotrauką
delete image: Pašalintį dabartinę nuotrauką
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: Admresdeserv.
+# Author: Bbot22
# Author: Cuu508
# Author: Edgars2007
# Author: GreenZeb
# Author: PeterisP
# Author: Raitisx
# Author: Ruila
+# Author: Silraks
# Author: Ttdnet
---
lv:
feed:
title: Izmaiņu kopa %{id}
title_comment: Izmaiņu kopa %{id} - %{comment}
+ join_discussion: Ieejiet sistēmā lai pievienotos diskusijai
discussion: Diskusija
node:
title: 'Punkts: %{name}'
way: līnija
relation: relācija
changeset: izmaiņu kopa
+ note: piezīme
timeout:
sorry: Diemžēl dati %{type} ar id %{id}, prasīja pārāk daudz laika, lai ielādētu.
type:
way: līnija
relation: relācija
changeset: izmaiņu kopa
+ note: piezīme
redacted:
redaction: Redakcijas %{id}
message_html: Versija %{version} no šī %{type} nevar tikt parādīta, jo tika
reopened_by_anonymous: Atkal aktivizēja anonīms <abbr title='%{exact_time}'>%{when}
atpakaļ</abbr>
hidden_by: Paslēpa %{user} <abbr title='%{exact_time}'>%{when} atpakaļ</abbr>
+ query:
+ title: Vaicājuma funkcijas
+ introduction: Noklikšķiniet uz kartes, lai atrastu tuvumā esošos objektus.
+ nearby: Tuvējie objekti
+ enclosing: Ietvertās funkcijas
changeset:
changeset_paging_nav:
showing_page: Rāda lapu %{page}
sorry: Atvainojiet, jūsu pieprasīto izmaiņu kopu ielāde prasīja pārāk daudz
laika.
rss:
+ title_all: Diskusija par izmaiņām OpenStreetMap
+ title_particular: 'Diskusija par OpenStreetMap izmaiņām #%{changeset_id}'
+ comment: 'Jauni komentāri par autora: %{author} pārmaiņām %{changeset_id}'
+ commented_at_html: Atjaunots %{when} atpakaļ
+ commented_at_by_html: '%{user} atjaunoja %{when} atpakaļ'
full: Pilna diskusija
diary_entry:
new:
title: Jauns dienasgrāmatas ieraksts
+ publish_button: Publicēt
list:
title: Lietotāju dienasgrāmatas
title_friends: Draugu dienasgrāmatas
export:
title: Eksportēt
start:
- area_to_export: Kvadrants, kuru eksportēt
+ area_to_export: Apgabals, kuru eksportēt
manually_select: Manuāli izvēlēties citu teritoriju
format_to_export: Eksportēšanas formāts
osm_xml_data: OpenStreetMap XML dati
search_osm_nominatim:
prefix:
aerialway:
+ cable_car: Kabeļu Mašīna
chair_lift: Krēslu Pacēlājs
drag_lift: Vilkšanas Pacēlājs
+ gondola: Gondola Lifts
station: Pacēlāja Stacija
aeroway:
aerodrome: Lidlauks
taxiway: Manevrēšanas ceļš
terminal: Terminālis
amenity:
+ animal_shelter: Dzīvnieku patversme
arts_centre: Mākslas centrs
atm: Bankomāts
bank: Banka
bicycle_parking: Velosipēdu novietne
bicycle_rental: Velosipēdu noma
biergarten: Alus dārzs
+ boat_rental: Laivu noma
brothel: Bordelis
bureau_de_change: Valūtas maiņas punkts
bus_station: Autoosta
car_wash: Automazgātava
casino: Kazino
charging_station: Uzlādēšanas stacija
+ childcare: Bērnu aprūpe
cinema: Kino
clinic: Klīnika
+ clock: Pulkstenis
college: Koledža
community_centre: Sabiedriskais centrs
courthouse: Tiesa
food_court: Ēstuves
fountain: Strūklaka
fuel: Degviela
+ gambling: Azartspēles
grave_yard: Kapsēta
gym: Fitnesa centrs / Sporta zāle
health_centre: Veselības centrs
library: Bibliotēka
market: Tirgus
marketplace: Tirgus
+ monastery: Klosteris
+ motorcycle_parking: Motociklu stāvvieta
nightclub: Naktsklubs
nursery: Pirmsskolas mācību iestāde
nursing_home: Pansionāts
office: Birojs
parking: Autostāvvieta
+ parking_entrance: Autostāvvietas iebrauktuve
pharmacy: Aptieka
place_of_worship: Dievnams
police: Policija
veterinary: Veterinārā ķirurģija
village_hall: Pagastmāja
waste_basket: Atkritumu grozs
+ waste_disposal: Atkritumu izgāztuve
youth_centre: Jauniešu centrs
boundary:
administrative: Administratīvā robeža
"yes": Tilts
building:
"yes": Ēka
+ craft:
+ brewery: Alus darītava
+ carpenter: Galdnieks
+ electrician: Elektriķis
+ gardener: Dārznieks
+ painter: Krāsotājs
+ photographer: Fotogrāfs
+ plumber: Santehniķis
+ shoemaker: Kurpnieks
+ tailor: Drēbnieks
+ "yes": Amatnieks
emergency:
+ ambulance_station: Ātrās Palīdzības staciija
+ defibrillator: Defibrilators
+ landing_site: Avārijas nosēšanās vieta
phone: Telefons ārkārtas situācijai
highway:
+ abandoned: Pamests lielceļš
bridleway: Izjādes taka
bus_guideway: Vadāmais Autobuss
bus_stop: Autobusa pietura
construction: Automaģistrāle būvniecības stadijā
cycleway: Veloceliņš
+ elevator: Lifts
emergency_access_point: Ārkārtas piekļuves punkts
footway: Taka
ford: Fjords
primary_link: Galvenais valsts ceļš
proposed: Ieplānots Ceļš
raceway: Sacensību trase
- residential: Dzīvojamā zona
+ residential: Dzīvojamais ceļš
rest_area: Atpūtas zona
road: Ceļš
secondary: Sekundāras nozīmes ceļš
tertiary: Pašvaldību autoceļi
tertiary_link: Pašvaldību autoceļš
track: Zemesceļš
+ traffic_signals: Satiksmes regulators
trail: Taka
trunk: Maģistrālais ceļš
trunk_link: Maģistrālais ceļš
unclassified: Neklasificēts ceļš
unsurfaced: Ceļš bez seguma
+ "yes": Ceļš
historic:
archaeological_site: Arheoloģisku izrakumu vieta
battlefield: Kaujas lauks
city_gate: Pilsētas vārti
citywalls: Pilsētas Sienas
fort: Forts
+ heritage: Kultūras mantojums
house: Māja
icon: Ikona
manor: Muiža
wayside_cross: Krusts ceļmalā
wayside_shrine: Ceļmalas svētnīca
wreck: Vraks
+ junction:
+ "yes": Krustojums
landuse:
allotments: Mazdārziņi
basin: Rezervuārs
road: Ceļa Apgabals
village_green: Ciema Centrālais Parks
vineyard: Vīna dārzs
+ "yes": Zemes izmantojums
leisure:
beach_resort: Pludmales kūrorts
bird_hide: Putnu Slēptuve
+ club: Klubs
common: Koplietošanas zeme
+ dog_park: Suņu laukums
fishing: Zvejas apgabals
+ fitness_centre: Fitnesa centrs
fitness_station: Fitnesa Stacija
garden: Dārzs
golf_course: Golfa laukums
+ horse_riding: Zirgu izjādes
ice_rink: Ledus halle
marina: Osta
miniature_golf: Minigolfs
pitch: Sporta laukums
playground: Spēļu laukums
recreation_ground: Atpūtas Zona
+ resort: Kūrorts
sauna: Pirts
slipway: Stāpelis
sports_centre: Sporta centrs
swimming_pool: Peldbaseins
track: Skrejceļš
water_park: Ūdens atrakciju parks
+ "yes": Atpūtas vieta
+ man_made:
+ lighthouse: Bāka
+ pipeline: Cauruļvads
+ tower: Tornis
+ works: Rūpnīca
+ "yes": Cilvēku radīts
military:
airfield: Militārais lidlauks
barracks: Barakas
forest: Mežs
geyser: Geizers
glacier: Ledājs
+ grassland: Pļava
heath: Tīrelis
hill: Kalns
island: Sala
reef: Rifs
ridge: Grēda
rock: Klints
+ saddle: Segli
+ sand: Smiltis
scree: Nogāze
scrub: Krūmājs
spring: Avots
wood: Mežs
office:
accountant: Grāmatvedis
+ administrative: Administrācija
architect: Arhitekts
company: Uzņēmums
employment_agency: Nodarbinātības aģentūra
travel_agent: Tūrisma aģentūra
"yes": Birojs
place:
+ allotments: Mazdārziņi
+ block: Bloks
airport: Lidosta
city: Pilsēta
country: Valsts
town: Pilsēta
unincorporated_area: Neiekļauts apgabals
village: Ciems
+ "yes": Vieta
railway:
abandoned: Pamests dzelzceļš
construction: Dzelzceļš būvniecības stadijā
spur: Dzelzceļa Atradze
station: Dzelzceļa stacija
stop: Dzelzceļa Pietura
- subway: Metro stacija
+ subway: Metro
subway_entrance: Metro ieeja
switch: Dzelzceļa punkti
tram: Tramvajs
"yes": Veikals
tourism:
alpine_hut: Kalnu būda
+ apartment: Dzīvokļi
artwork: Mākslas darbs
attraction: Atrakcija
bed_and_breakfast: Guļamvieta un brokastis
camp_site: Nometnes vieta
caravan_site: Kempings
chalet: Kotedža
+ gallery: Galerija
guest_house: Viesu nams
hostel: Hostelis
hotel: Viesnīca
wadi: Izkaltusi upes gultne
waterfall: Ūdenskritums
weir: Dambis
+ "yes": Ūdensceļš
admin_levels:
level2: Valsts robeža
level4: Štata robeža
legal_babble:
title_html: Autortiesības un Licence
intro_1_html: |-
- OpenStreetMap ir <i>atvērti dati</i>, kad licencēti zem <a
+ OpenStreetMap ir <i>atvērto datu</i>, kad licencēti zem <a
href="http://opendatacommons.org/licenses/odbl/">Atvērtās Datu Kopas Atvērtās Datubāzes licences</a> (ODbL).
intro_2_html: |-
Tu vari kopēt, izplatīt, nosūtīt un adaptēt mūsu kartes
contributors_nz_html: |-
<strong>Jaunzēlande</strong>: Ietver datus no
Land Information New Zealand. Crown Copyright reserved.
+ contributors_si_html: |-
+ <strong>Slovēnija</strong>: Satur datus no
+ <a href="http://www.gu.gov.si/en/">Aptauju un kartogrāfijas aģentūras</a> un
+ <a href="http://www.mkgp.gov.si/en/">Lauksaimniecības, mežsaimniecībass un pārtikas ministrijas</a>
+ (Slovēnijas publiskā informācija).
contributors_za_html: |-
<strong>Dienvidāfrika</strong>: Ietver datus no
<a href="http://www.ngi.gov.za/">Chief Directorate:
mūsu <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">noņemšanas
procedūru</a> vai paziņo pa tiešo mums, izmantojot
<a href="http://dmca.openstreetmap.org/">on-line ziņošanas veidni</a>.
+ trademarks_title_html: <span id="trademarks"></span>Reģistrētas preču zīmes
+ trademarks_1_html: OpenStreetMap, lupa un štata karte ir reģistrētas OpenStreetMap
+ fonda preču zīmes. Ja jums ir jautājumi par mūsu logotipu lietošanu, lūdzu
+ sūtiet jūsu jautājumus uz <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licence
+ Working Group</a>.
welcome_page:
title: Laipni lūdzam!
introduction_html: Sveicināts OpenStreetMap, bezmaksas un rediģējamā pasaules
vai māja.
tag_html: <strong>Birka</strong> ir dati par punktu vai ceļu, kā restorāna nosaukums
vai ceļa ātruma ierobežojums.
+ rules:
+ title: Noteikumi!
+ paragraph_1_html: OpenStreetMap ir tikai daži formālie noteikumi, bet mēs ceram,
+ ka visi dalībnieki sadarbosies un komunicēs ar mūsu kopienu un tās biedriem.
+ Ja jūs apsverat citas iespējas, kas nav manuālā rediģēšana ar roku tad lūdzu
+ izlasiet un sekojiet pamācībām <a href='http://wiki.openstreetmap.org/wiki/Import/Guidelines'>Importi</a>
+ un <a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>Automātiskā
+ rediģēšana</a>.
questions:
title: Kādi jautājumi?
paragraph_1_html: Nepieciešama palīdzība kartējot, vai nav skaidrs kā lietot
title: Kā palīdzēt
join_the_community:
title: Pievienojies kopienai
+ explanation_html: Konstatējot problēmas ar mūsu kartes datiem, piemēram trūkstošu
+ ceļu vai adresi, labākais variants, kā rīkoties ir pievienoties OpenStreetMap
+ kopienai un pievienot vai atjaunot datus jums pašam.
+ add_a_note:
+ instructions_html: Noklikšķiniet uz <a class='icon note'></a> vai arī uz tās
+ pašas ikonas kartes displejā. Tādā veidā jūs pievienosiet marķieri šai kartei,
+ kuru jūs varēsiet izkustināt, 'velkot'. Pievienojiet savu ziņu un tad uzspiediet
+ 'Saglabāt' un pārējie lietotāji to izpētīs.
+ other_concerns:
+ title: Citas bažas
+ explanation_html: "Ja jums ir bažas par to, kā mūsu dati tiek izmantoti, vai
+ par saturu, lūdzu, skatiet mūsu\n<a href=\"/copyright\">autortiesību lapu,</a>
+ lai iegūtu juridisko informāciju, vai sazinieties ar atbilstošo \n<a href=\"http://wiki.osmfoundation.org/wiki/Working_Groups\">OSMF
+ darba grupu</a>."
help_page:
title: Palīdzības saņemšana
introduction: OpenStreetMap ir vairāki resursi, lai uzzinātu par projektu, uzdotu
description: Sāc ar šo īso ceļvedi, kurš aptver OpenStreetMap pamatus.
beginners_guide:
url: http://wiki.openstreetmap.org/wiki/Lv:Beginners%27_guide
+ title: Iesācēja Rokasgrāmata
+ description: Lietotāju uzturēta pamācība priekš iesācējiem.
help:
url: http://forum.openstreetmap.org/viewforum.php?id=59
title: help.openstreetmap.org
description: Uzdod jautājumu vai atrodi atbildes iekš OSM jautājumu un atbilžu
lapas.
+ mailing_lists:
+ title: Adresātu Saraksti
+ description: Uzdodiet jautājumu vai apspriediet interesējošās tēmas par vispārējajiem
+ vai reģionālajiem adresātu sarakstiem.
+ forums:
+ title: Forumi
+ description: Jautājumi un diskusijas priekš tiem, kuri dod priekšroku foruma-tipa
+ interfeisa stilam.
+ irc:
+ title: IRC
+ description: Interaktīvais čats dažādās valodās par dažādām tēmām.
+ switch2osm:
+ title: switch2osm
+ description: Palīdzība uzņēmumiem un organizācijām, kuras pāriet uz OpenStreetMap
+ balstītajām kartēm un citiem pakalpojumiem.
wiki:
url: http://wiki.openstreetmap.org/
title: wiki.openstreetmap.org
veidotājiem. Ja tu maini vai būvē pa virtsu datiem dažādos veidos, tu vai tos
izplatīt tikai zem tās pašas licences. Apskati <a href=''%{copyright_path}''>Autortiesību
un Licences lapu</a> priekš padziļinātas informācijas.'
+ legal_title: Juridiskie jautājumi
+ legal_html: "Šo vietni un daudzus citus ar to saistītos pakalpojumus oficiāli
+ pārvalda <a href='http://osmfoundation.org/'>OpenStreetMap fonds</a> (OSMF)
+ kopienas vārdā.\n<br> \nLūdzu <a href='http://osmfoundation.org/Contact'>sazinieties
+ OSMF</a>, ja jums ir jautājumi par autortiesībām vai citiem juridiskajiem jautājumiem."
partners_title: Partneri
notifier:
diary_comment_notification:
commented_note: '[OpenStreetMap] %{commenter} ir atkal aktivizējis kādu piezīmi,
kur esi komentējis. Piezīme ir netālu no %{place}.'
details: Vairāk informācijas par piezīmēm var atrast %{url}.
+ changeset_comment_notification:
+ greeting: Sveicināti,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} ir komentējis kādu no tavām izmaiņām'
+ subject_other: '[OpenStreetMap] %{commenter} ir komentējis kādu no izmaiņām,
+ kas jūs interesē'
+ your_changeset: '%{commenter} komentēja vienu no jūsu izmaiņām, kas tika veiktas
+ %{time}'
+ commented_changeset: '%{commenter} komentēja kartes izmaiņu, kuru veica %{changeset_author}
+ %{time} un, kura jūs interesē'
+ partial_changeset_with_comment: ar komentāru '%{changeset_comment}'
+ partial_changeset_without_comment: bez komentāra
+ details: Vairāk informācijas par izmaiņām varat atrast %{url}.
message:
inbox:
title: iesūtne
close: Aizvērt
search:
search: Meklēt
+ get_directions: Iegūt norādījumus
+ get_directions_title: Iegūt norādījumus starp diviem punktiem
+ from: "No"
+ to: Uz
where_am_i: Kur es esmu?
where_am_i_title: Aprakstiet pašreizējo atrašanās vietu izmantojot meklētāju
submit_text: OK
table:
entry:
motorway: Automaģistrāle
+ main_road: Galvenais ceļš
trunk: Maģistrālais ceļš
primary: Galvenais valsts ceļš
secondary: Sekundāras nozīmes ceļš
track: Zemesceļš
bridleway: Izjādes taka
cycleway: Veloceliņš
+ cycleway_national: Valsts velosipēdceļš
+ cycleway_regional: Reģionālais velosipēdceļš
+ cycleway_local: Vietējais velosipēdceļš
footway: Gājēju ceļš
rail: Dzelzceļš
subway: Metro
private: Privāta pieeja
destination: Galamērķa pieeja
construction: Ceļi būvniecības stadijā
+ bicycle_shop: Velosipēdu veikals
+ bicycle_parking: Velosipēdu novietne
+ toilets: Tualetes
richtext_area:
edit: Labot
preview: Priekšskatījums
allow_read_gpx: lasīt jūsu privātās GPS trases.
allow_write_gpx: augšupielādēt GPS trases.
allow_write_notes: labot piezīmes.
+ grant_access: Piešķirt piekļuvi
oauthorize_success:
title: Autorizācijas pieprasījums atļauts
allowed: Tu esi piešķīris tiesības %{app_name} piekļūt tavam lietotājam.
register now: Reģistrēties
with username: 'Jau ir OpenStreetMap lietotājs? Lūdzu autorizējies ar savu lietotājvārdu
un paroli:'
+ with external: Alternatīvi, varat izmantot trešās puses 'ielogošanās' opciju
new to osm: Jauns iekš OpenStreetMap?
to make changes: Lai veiktu izmaiņas OpenStreetMap datos, jums jābūt savam kontam.
create account minute: Izveidojiet kontu. Tas aizņem mazāk par minūti.
pārzini</a>, ja tu vēlies šo diskutēt.
auth failure: Diemžēl nevarēja ieiet ar šiem datiem
openid_logo_alt: Pieteikties ar OpenID
+ auth_providers:
+ openid:
+ title: Pieslēgties ar OpenID
+ alt: Pieslēgties ar OpenID saiti
+ google:
+ title: Pieslēgties ar Google
+ alt: Pieslēgties ar Google OpenID
+ facebook:
+ title: Pieslēgties ar Facebook
+ alt: Pieslēgties ar Facebook kontu
+ windowslive:
+ title: Pieslēgties ar Windows Live
+ alt: Pieslēgties ar Windows Live kontu
+ github:
+ title: Pieslēgties ar GitHub
+ alt: Pieslēgties ar GitHub kontu
+ yahoo:
+ title: Pieslēgties ar Yahoo
+ alt: Pieslēgties ar Yahoo OpenID
+ wordpress:
+ title: Pieslēgties ar WordPress
+ alt: Pieslēgties ar WordPress OpenID
+ aol:
+ title: Pieslēgties ar AOL
+ alt: Pieslēgties ar AOL OpenID
logout:
title: Iziet
heading: Iziet no OpenStreetMap
display name: 'Rādāmais vārds:'
display name description: Vārds, kas tiks rādīts publiski. Jūs to vēlāk varēsiet
izmainīt iestatījumos.
+ external auth: 'Trešo Pušu Autentifikācija:'
password: 'Parole:'
confirm password: 'Parole (pārbaudei):'
+ use external auth: Alternatīvi, varat izmantot trešās puses 'ielogošanās' opciju
+ auth no password: Ar trešās partijas autentifikāciju nav nepieciešama parole,
+ bet dažiem rīkiem vai serveriem tā vēl joprojām varētu būt nepieciešama.
continue: Reģistrēties
terms accepted: Paldies, ka pieņēmāt jaunos devuma noteikumus!
terms declined: Mums žēl, ka tu izvēlējies nepieņemt jaunos Veidotāju Noteikumus.
heading: Lietotājs %{user} neeksistē
body: Atvaino, nav lietotāja ar lietotājvārdu %{user}. Lūdzu pārbaudi pareizrakstību,
vai varbūt saite, uz kuras Tu uzspiedi, ir nepareiza.
+ deleted: dzēsts
view:
- my diary: Mana Dienasgrāmata
+ my diary: Mana dienasgrāmata
new diary entry: jauns dienasgrāmatas ieraksts
- my edits: Mani Labojumi
- my traces: Manas Trases
- my notes: Manas kartes Piezīmes
- my messages: Manas Ziņas
- my profile: Mans Profils
- my settings: Mani Iestatījumi
+ my edits: Mani labojumi
+ my traces: Manas pēdas
+ my notes: Manas piezīmes
+ my messages: Manas ziņas
+ my profile: Mans profils
+ my settings: Mani iestatījumi
my comments: Mani komentāri
oauth settings: OAuth uzstādījumi
blocks on me: Bloki uz mani
revoke:
administrator: Atņemt administratora tiesības
moderator: Atņemt moderatora tiesības
- block_history: saņemtie bloķējumi
+ block_history: Aktīvie bloki
moderator_history: dotie bloķējumi
comments: Komentāri
- create_block: bloķēt šo lietotāju
- activate_user: aktivizēt šo lietotāju
- deactivate_user: deaktivizēt šo lietotāju
- confirm_user: apstiprināt šo lietotāju
- hide_user: slēpt šo lietotāju
- unhide_user: parādīt šo lietotāju
- delete_user: dzēst šo lietotāju
+ create_block: Bloķēt šo lietotāju
+ activate_user: Aktivizēt šo lietotāju
+ deactivate_user: Deaktivizēt šo lietotāju
+ confirm_user: Apstiprināt šo lietotāju
+ hide_user: Slēpt šo dalībnieku
+ unhide_user: Parādīt šo dalībnieku
+ delete_user: Dzēst šo dalībnieku
confirm: Apstiprināt
friends_changesets: Skatīt visas draugu izmaiņu kopas
friends_diaries: Skatīt visus draugu dienasgrāmatu ierakstus
current email address: 'Pašreizējā e-pasta adrese:'
new email address: 'Jauna e-pasta adrese:'
email never displayed publicly: (nekad netiek rādīta publiski)
+ external auth: 'Ārējā autentifikācija:'
openid:
link: http://wiki.openstreetmap.org/wiki/OpenID
link text: Kas tas ir?
gravatar:
gravatar: Izmantot Gravatar
link text: kas šis ir?
+ disabled: Gravatar ir atspējots.
+ enabled: Jūsu Gravatar apskate ir iespējota
new image: Pievienot attēlu
keep image: Paturēt pašreizējo attēlu
delete image: Novākt pašreizējo attēlu
press confirm button: Spied uz apstiprināšanas pogu zemāk, lai apstiprinātu
savu jauno e-pasta adresi.
button: Apstiprināt
- success: Jūsu e-pasta adrese ir apstiprināta, paldies par reģistrēšanos!
+ success: Apstiprinājām jūsu epasta adreses maiņu!
failure: E-pasta adrese jau ir apstiprināta ar šo pilnvaru.
+ unknown_token: Šim apstiprinājuma kodam ir izbeidzies derīguma termiņš vai arī
+ tas neeksistē.
set_home:
flash success: Mājas atrašanās vieta veiksmīgi saglabāta
go_public:
Šo lēmumu drīz pārskatīs administrators, vai
tu vari sazināties ar %{webmaster}, ja tu vēlies apspriesties par šo.
</p>
+ auth_failure:
+ connection_failed: Neizdevās savienoties ar autentifikācijas sniedzēju
+ invalid_credentials: Nederīgi autentifikācijas dati
+ no_authorization_code: Nav autorizācijas koda
+ unknown_signature_algorithm: Nezināms paraksta algoritms
+ invalid_scope: Nederīgs lauks
+ auth_association:
+ heading: Jūsu ID nav vēl asociēts ar OpenStreetMap kontu.
+ option_1: Ja jūs tikko iepazināties ar OpenStreetMap tad lūdzu izveidojiet jaunu
+ kontu izmantojot zemāk esošo formu.
+ option_2: Ja jums jau ir konts, jūs varat ieiet savā kontā izmantojot jūsu lietotājvārdu
+ un paroli un tad sasaistīt savu kontu ar jūsu ID lietotāja iestatījumos.
user_role:
filter:
not_an_administrator: Tikai administratori var veikt lietotāju lomu pārvaldi,
heading: '%{block_on} bloķēts pēc %{block_by}'
time_future: Beidzas %{time}
time_past: Beidzās %{time} atpakaļ.
+ created: Izveidots
+ ago: '%{time} atpakaļ'
status: Statuss
show: Rādīt
edit: Labot
link: Saite vai HTML
long_link: Saite
short_link: Īsā saite
+ geo_uri: Ģeo saite
embed: HTML
custom_dimensions: Uzstādīt pielāgotus izmērus
format: 'Formāts:'
center_marker: Centrēt karti uz marķieri
paste_html: Ielīmē HTML, lai ievietotu mājaslapā
view_larger_map: Skatīt lielāku karti
+ only_standard_layer: Tikai standarta slāni var eksportēt kā attēlu
embed:
report_problem: Ziņot par problēmu
key:
createnote_disabled_tooltip: Pietuvini karti, lai pievienotu piezīmi
map_notes_zoom_in_tooltip: Pietuvināt, lai redzētu piezīmes
map_data_zoom_in_tooltip: Pietuvināt, lai redzētu kartes datus
+ queryfeature_tooltip: Vaicājuma funkcijas
+ queryfeature_disabled_tooltip: Tuvināt pie kārtas funkcijām
changesets:
show:
+ comment: Komentēt
+ subscribe: Abonēt
+ unsubscribe: Atteikties no abonējuma
hide_comment: paslēpt
+ unhide_comment: parādīt
notes:
new:
intro: Piezīmes domātas, lai norādītu uz kartes kļūdām. Ja vēlies pamēģināt
pats ievietot informāciju, zīmēt vai izlabot kļūdu, izmanto pogu "Labot"
lapas augšpusē. Piezīmes parādās citiem kartētājiem, tādēļ lūdzu, cik vien
iespējams precīzāk un detalizētāk visu izklāsti, kā arī marķieri novieto
- pēc iespējas pareizākajā pozīcijā.
- add: Pievienot Piezīmi
+ pēc iespējas pareizākajā pozīcijā. (Lūdzu neizmantojiet personīgo informāciju
+ vai arī informāciju no citām ar autortiesībām aizsargātām kartēm.)
+ add: Pievienot piezīmi
show:
anonymous_warning: Šī piezīme ietver komentārus no anonīmiem lietotājiem,
kurus nepieciešams pārbaudīt neatkarīgi.
comment: Komentēt
edit_help: Pārvieto karti un pietuvini vietai, kuru vēlies labot, tad spied šeit.
directions:
+ engines:
+ graphhopper_bicycle: Ar velosipēdu (GraphHopper)
+ graphhopper_foot: Ar kājām (GraphHopper)
+ mapquest_bicycle: Ar velosipēdu (MapQuest)
+ mapquest_car: Ar mašīnu (MapQuest)
+ mapquest_foot: Ar kājām (MapQuest)
+ osrm_car: Ar mašīnu (OSRM)
+ mapzen_bicycle: Ar velosipēdu (Mapzen)
+ mapzen_car: Ar mašīnu (Mapzen)
+ mapzen_foot: Ar kājām (Mapzen)
+ directions: Norādes
+ distance: Attālums
+ errors:
+ no_route: Nevarēja atrast maršrutu starp šīm divām vietām.
+ no_place: Atvainojiet - nevarēja atrast šo vietu.
instructions:
+ continue_without_exit: Turpināt uz %{name}
+ slight_right_without_exit: Nedaudz pa labi uz %{name}
+ offramp_right_without_exit: Izmantojiet slīpumu pa labi uz %{name}
+ onramp_right_without_exit: Pagriezieties pa labi uz slīpuma pie %{name}
+ endofroad_right_without_exit: Ceļa beigās nogriezieties pa labi uz %{name}
+ merge_right_without_exit: Izgriezieties uz %{name}
+ fork_right_without_exit: Krustojumā pagriezieties pa labi uz %{name}
+ turn_right_without_exit: Pagriezieties pa labi uz %{name}
+ sharp_right_without_exit: Pagriezieties strauji pa labi uz %{name}
+ uturn_without_exit: Griezieties atpakaļgaitā garām %{name}
+ sharp_left_without_exit: Nogriezieties strauji pa kreisi uz %{name}
+ turn_left_without_exit: Nogriezieties pa kreisi uz %{name}
+ offramp_left_without_exit: Izmantojiet slīpumu pa kreisi uz %{name}
+ onramp_left_without_exit: Pagriezieties pa kreisi uz slīpuma pie %{name}
+ endofroad_left_without_exit: Ceļa beigās nogriezieties pa kreisi uz %{name}
+ merge_left_without_exit: Izgriezieties pa kreisi uz %{name}
+ fork_left_without_exit: Krustojumā pagriezieties pa kreisi uz %{name}
+ slight_left_without_exit: Iegriezieties nedaudz pa kreisi uz %{name}
+ via_point_without_exit: (caur punktu)
follow_without_exit: Sekot %{name}
+ roundabout_without_exit: Pie apkārtceļa griezieties pie %{name}
+ leave_roundabout_without_exit: Atstājiet apkārtceļu - %{name}
+ stay_roundabout_without_exit: Palieciet apkārtceļā - %{name}
+ start_without_exit: Startēt beigās pie %{name}
+ destination_without_exit: Sasniedziet galamērķi
+ against_oneway_without_exit: Brauciet pret vienvirziena ceļu pie %{name}
+ end_oneway_without_exit: Vienvirziena ceļa beigas pie %{name}
+ roundabout_with_exit: Pēc apkārtceļa nogriezieties uz izejas %{exit} pie %{name}
+ unnamed: nenosaukts ceļš
+ courtesy: Virzienos, pieklājīgi no %{link}
+ time: Laiks
+ query:
+ node: Punkts
+ way: Ceļš
+ relation: Relācija
+ nothing_found: Nav atrastas iespējas
+ error: 'Kļūda sazinoties ar %{server}: %{error}'
+ timeout: Saskares laiks pārsniedza %{server}
redaction:
edit:
description: Apraksts
load_data: Вчитај ги податоците
loading: Вчитувам...
tag_details:
- tags: Ознакиж
+ tags: Ознаки
wiki_link:
key: Викистраницата за опис на ознаката %{key}
tag: Вики-страницата за ознаката %{key}=%{value}
format_to_export: Формат за извоз
osm_xml_data: OpenStreetMap XML податоци
map_image: Слика на картата (прикажува стандарден слој)
- embeddable_html: Вметнат HTML код
+ embeddable_html: HTML-код за вметнување
licence: Лиценца
export_details: Податоците на OpenStreetMap се нудат под <a href="http://opendatacommons.org/licenses/odbl/1.0/">Лиценцата
за отворени бази на Складиштето на отворени податоци</a> (ODbL, Open Data
title: Извршник „Надвозник“
description: Преземете ја оваа рамка од огледална база на базата на OpenStreetMap
geofabrik:
- title: Geofabrik
+ title: Преземања на Geofabrik
description: Редовно подновувани извадоци од континенти, земји и избрани
градови
metro:
terminal: Терминал
amenity:
animal_shelter: Засолниште за животни
- arts_centre: Ð\94ом на Ñ\83меÑ\82ноÑ\81Ñ\82и
+ arts_centre: Ð\94ом на Ñ\83меÑ\82ноÑ\81Ñ\82а
atm: Банкомат
bank: Банка
bar: Бар
bureau_de_change: Менувачница
bus_station: Автобуска станица
cafe: Кафуле
- car_rental: РенÑ\82-а-каÑ\80
- car_sharing: Ð\98знаÑ\98мÑ\83ваÑ\9aе авÑ\82омобил
+ car_rental: Ð\98знаÑ\98мÑ\83ваÑ\9aе авÑ\82омобил
+ car_sharing: Ð\97аедниÑ\87ко паÑ\82Ñ\83ваÑ\9aе
car_wash: Автоперална
casino: Казино
charging_station: Напојна станица
dentist: Забар
doctors: Доктори
dormitory: Студентски дом
- drinking_water: Питка вода
+ drinking_water: Пивка вода
driving_school: Автошкола
embassy: Амбасада
emergency_phone: Итен телефон
fast_food: Брза храна
- ferry_terminal: ФеÑ\80ибоÑ\82-Ñ\82еÑ\80минал
+ ferry_terminal: ТÑ\80аекÑ\82Ñ\81ка Ñ\81Ñ\82аниÑ\86а
fire_hydrant: Противпожарен хидрант
fire_station: Пожарна
food_court: Штандови за брза храна
fuel: Гориво
gambling: Коцкање
grave_yard: Гробишта
- gym: ТеÑ\80еÑ\82ана / Ñ\84иÑ\82неÑ\81
+ gym: ФиÑ\82неÑ\81/вежбалниÑ\86а
health_centre: Здравствен центар
hospital: Болница
hunting_stand: Ловечка кула
kindergarten: Градинка
library: Библиотека
market: Пазар
- marketplace: Пазар
+ marketplace: Пазариште
monastery: Манастир
motorcycle_parking: Паркиралиште за мотоцикли
nightclub: Ноќен клуб
nursery: Јасли
nursing_home: Старечки дом
office: Канцеларија
- parking: Паркинг
- parking_entrance: Ð\92лез на паркиралиште
+ parking: Паркиралиште
+ parking_entrance: Ð\92лез во паркиралиште
pharmacy: Аптека
place_of_worship: Верски објект
police: Полиција
sauna: Сауна
school: Училиште
shelter: Засолниште
- shop: Ð\94Ñ\83Ñ\9cан
+ shop: Ð\9fÑ\80одавниÑ\86а
shower: Туш
social_centre: Социјален центар
social_club: Друштвен клуб
fjord: Фјорд
forest: Шума
geyser: Гејзер
- glacier: Ð\93леÑ\87еÑ\80
+ glacier: Ð\9bедник
grassland: Полјана
heath: Голет
hill: Рид
wood: Шума
office:
accountant: Сметководител
- administrative: Ð\90дминиÑ\81Ñ\82Ñ\80аÑ\86иÑ\98а
+ administrative: УпÑ\80ава
architect: Архитект
company: Фирма
employment_agency: Агенција за вработување
insurance: Служба за осигурување
lawyer: Адвокат
ngo: НВО-канцеларија
- telecommunication: Телекомуникациска служба
+ telecommunication: Телекомуникациска канцеларија
travel_agent: Туристичка агенција
"yes": Канцеларија
place:
municipality: Општина
neighbourhood: Соседство
postcode: Поштенски број
- region: Регион
+ region: Ð\9eблаÑ\81Ñ\82
sea: Море
state: Покраина
subdivision: Админ. подрачје
dry_cleaning: Хемиско чистење
electronics: Електронска опрема
estate_agent: Недвижности
- farm: Ð\97емÑ\98оделÑ\81ки дÑ\83Ñ\9cан
+ farm: Ð\97емÑ\98оделÑ\81ка пÑ\80одавниÑ\86а
fashion: Бутик
fish: Рибарница
florist: Цвеќара
laundry: Пералница
mall: Трговски центар
market: Пазар
- mobile_phone: Ð\9cобилни Ñ\82елеÑ\84они
+ mobile_phone: Ð\9cобилаÑ\80ниÑ\86а
motorcycle: Моторцикли
music: Музички дуќан
newsagent: Весникара
optician: Оптичар
organic: Здрава храна
- outdoor: Ð\94Ñ\83Ñ\9cан на отворено
+ outdoor: Ð\9fÑ\80одавниÑ\86а на отворено
pet: Домашни миленици
pharmacy: Аптека
photo: Фотографски дуќан
ditch: Канач
dock: Док
drain: Одвод
- lock: Превојница
- lock_gate: Превојничка капија
+ lock: Преводница
+ lock_gate: Преводничка врата
mooring: Сидриште
rapids: Брзак
river: Река
export: Извези
data: Податоци
export_data: Извези податоци
- gps_traces: GPS-траги
- gps_traces_tooltip: Работа со GPS-траги
+ gps_traces: ГПС-траги
+ gps_traces_tooltip: Работа со ГПС-траги
user_diaries: Кориснички дневници
user_diaries_tooltip: Види кориснички дневници
edit_with: Уреди со %{editor}
\nза отстранување</a> или поднесете жалба на \n<a href=\"http://dmca.openstreetmap.org/\">оваа
наменска страница</a>."
trademarks_title_html: <span id="trademarks"></span>Заштитни знаци
- trademarks_1_html: OpenStreetMap и логото со лупа се заштитни знаци на фондацијата
- OpenStreetMap. Ако имате прашања во врска со употребата на знаците, пишете
- ѝ на <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Работната
+ trademarks_1_html: OpenStreetMap, логото со лупа и „State of the Map“ („Состојба
+ на картата“) се заштитни знаци на задолжбината OpenStreetMap. Ако имате прашања
+ во врска со употребата на знаците, пишете ѝ на <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Работната
група за лиценци</a>.
welcome_page:
title: Добре дојдовте!
local_knowledge_title: Месни сознанија
local_knowledge_html: |-
OpenStreetMap полага особена важност на месни сознија. Учесниците користат
- воздушни снимки, GPS-уреди и пообични теренски карти
+ воздушни снимки, ГПС-уреди и пообични теренски карти
со цел да се провери исправноста
и актуелноста на OSM.
community_driven_title: Проектот го работи заедницата
track: Патека
bridleway: Пешачко-влечен пат
cycleway: Велосипедска патека
+ cycleway_national: Државна велосипедска патека
+ cycleway_regional: Регионална велосипедска патека
+ cycleway_local: Месна велосипедска патека
footway: Пешачка патека
rail: Железница
subway: Метро
private: Доверлив пристап
destination: Пристап до одредницата
construction: Патишта во изградба
+ bicycle_shop: Точкар
+ bicycle_parking: Паркирање велосипеди
+ toilets: Тоалет
richtext_area:
edit: Уреди
preview: Преглед
identifiable: Препознатливо (се прикажува на списокот на траги како препознатливи,
подредени точки со време)
create:
- upload_trace: Подигни GPS-трага
+ upload_trace: Подигни ГПС-трага
trace_uploaded: Вашата GPX податотека е подигната и чека да биде вметната во
базата на податоци. Ова обично се врши во рок од половина час, и откога ќе
заврши, ќе ви биде испратена порака по е-пошта.
in: во
map: карта
list:
- public_traces: Јавни GPS-траги
- your_traces: Ваши GPS-траги
- public_traces_from: Јавни GPS-траги од %{user}
- description: Прелистување на скороподигнати GPS-траги
+ public_traces: Јавни ГПС-траги
+ your_traces: Ваши ГПС-траги
+ public_traces_from: Јавни ГПС-траги од %{user}
+ description: Прелистување на скороподигнати ГПС-траги
tagged_with: ' означено со %{tags}'
empty_html: Тука сè уште нема ништо. <a href='%{upload_link}'>Подигнете нова
- трага</a> или дознајте повеќе за GPS-трагите на <a href='http://wiki.openstreetmap.org/wiki/Mk:Beginners_Guide_1.2'>нивната
+ трага</a> или дознајте повеќе за ГПС-трагите на <a href='http://wiki.openstreetmap.org/wiki/Mk:Beginners_Guide_1.2'>нивната
викстраница</a>.
delete:
scheduled_for_deletion: Трагата е закажана за бришење
heading: GPX-складиштето е исклучено
message: Системот за складирање и подигање на GPX-податотеки моментално е недостапен.
georss:
- title: GPS-траги од OpenStreetMap
+ title: ГПС-траги од OpenStreetMap
description:
description_with_count:
one: GPX-податотека со %{count} точка од %{user}
allow_write_prefs: ги менува вашите кориснички прилагодувања.
allow_write_diary: создава ставки во дневникот, пишува коментари и да се спријателува.
allow_write_api: ја менува картата.
- allow_read_gpx: ви ги чита вашите лични GPS-траги.
- allow_write_gpx: подига GPS-траги.
+ allow_read_gpx: ви ги чита вашите лични ГПС-траги.
+ allow_write_gpx: подига ГПС-траги.
allow_write_notes: измена на белешки.
grant_access: Дај пристап
oauthorize_success:
allow_write_prefs: им ги менува корисничките прилагодувања.
allow_write_diary: прави ставки во дневници, да коментира и да се сптијателува.
allow_write_api: ја менува картата.
- allow_read_gpx: им ги чита личните GPS-траги.
- allow_write_gpx: подига GPS-траги.
+ allow_read_gpx: им ги чита личните ГПС-траги.
+ allow_write_gpx: подига ГПС-траги.
allow_write_notes: измена на белешки.
index:
title: Мои OAuth податоци
allow_write_prefs: им ги менува корисничките прилагодувања.
allow_write_diary: создава ставки во дневници, да коментира, и да се спријателува.
allow_write_api: ја менува картата.
- allow_read_gpx: им ги чита личните GPS-траги.
- allow_write_gpx: подига GPS-траги.
+ allow_read_gpx: им ги чита личните ГПС-траги.
+ allow_write_gpx: подига ГПС-траги.
allow_write_notes: измена на белешки.
not_found:
sorry: За жал, тој %{type} не е пронајден.
windowslive:
title: Најава со Windows Live
alt: Најава со сметка на Windows Live
+ github:
+ title: Најава со GitHub
+ alt: Најава со сметка на GitHub
yahoo:
title: Најава со Yahoo
alt: Најава со OpenID од Yahoo
gravatar: Користи Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar?uselang=mk
link text: што е ова?
+ disabled: Граватарот е исклучен.
+ enabled: Вашиот граватар е вклучен.
new image: Додај слика
keep image: Задржи ја тековната слика
delete image: Отстрани тековна слика
standard: Стандардна
cycle_map: Велосипедска карта
transport_map: Сообраќајна карта
- mapquest: MapQuest Open
hot: Хуманитарна
layers:
header: Слоеви на картата
no_place: За жал, не можев да го најдам тоа место.
instructions:
continue_without_exit: Продолжете на %{name}
- slight_right_without_exit: Малку надесно во %{name}
- turn_right_without_exit: Свртете десно во %{name}
- sharp_right_without_exit: Остро надесно во %{name}
+ slight_right_without_exit: Малку надесно на %{name}
+ offramp_right_without_exit: На десниот исклучок, свртете на %{name}
+ onramp_right_without_exit: Исклучете се десно, одејќи на %{name}
+ endofroad_right_without_exit: На крајот од патот свртете десно на %{name}
+ merge_right_without_exit: Навлезете десно во %{name}
+ fork_right_without_exit: На разгранокот свртете десно на %{name}
+ turn_right_without_exit: Свртете десно на %{name}
+ sharp_right_without_exit: Остро надесно на %{name}
uturn_without_exit: Полукружно свртете долж %{name}
- sharp_left_without_exit: Остро налево во %{name}
- turn_left_without_exit: Свртете лево во %{name}
- slight_left_without_exit: Малку налево во %{name}
+ sharp_left_without_exit: Остро налево на %{name}
+ turn_left_without_exit: Свртете лево на %{name}
+ offramp_left_without_exit: На левиот исклучок, свртете на %{name}
+ onramp_left_without_exit: Исклучете се лево, одејќи на %{name}
+ endofroad_left_without_exit: На крајот од патот свртете лево на %{name}
+ merge_left_without_exit: Навлезете лево во %{name}
+ fork_left_without_exit: На разгранокот свртете лево на %{name}
+ slight_left_without_exit: Малку налево на %{name}
via_point_without_exit: (преку точката)
follow_without_exit: Следете го %{name}
roundabout_without_exit: На кружниот тек свртете на %{name}
private: खाजगी प्रवेश
destination: केवळ गंतव्यासाठी प्रवेश
construction: निर्माणाधीन रस्ते
+ bicycle_shop: सायकल दुकान
+ toilets: स्वच्छतागृह
richtext_area:
edit: संपादन करा
preview: झलक
standard: Piawai
cycle_map: Peta Basikal
transport_map: Peta Pengangkutan
- mapquest: MapQuest Dibuka
hot: Kemanusiaan
layers:
header: Lapisan Peta
# Author: Haakon K
# Author: Hansfn
# Author: Janhoy
+# Author: Jon Harald Søby
# Author: Kingu
# Author: Laaknor
# Author: Macofe
vår <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">prosedyre for fjerning av materiale</a> eller send inn klagen direkte på
<a href="http://dmca.openstreetmap.org/">nettsiden</a>.
trademarks_title_html: <span id="trademarks"></span>Varemerker
- trademarks_1_html: OpenStreetMap og forstørrelsesglasset er registrerte varemerker
- beskyttet på vegne av OpenStreetMap Stiftelsen. Hvis du har spørsmål vedrørende
- bruken av varemerkene, rett spørsmål mot <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">arbeidsgruppen
+ trademarks_1_html: OpenStreetMap, forstørrelsesglasslogoen og State of the Map
+ er registrerte varemerker beskyttet på vegne av OpenStreetMap Foundation.
+ Hvis du har spørsmål vedrørende bruken av varemerkene, rett spørsmål mot <a
+ href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">arbeidsgruppen
for lisenser</a>.
welcome_page:
title: Velkommen!
track: Spor
bridleway: Ridevei
cycleway: Sykkelvei
+ cycleway_national: Nasjonal sykkelsti
+ cycleway_regional: Regional sykkelsti
+ cycleway_local: Lokal sykkelsti
footway: Gangvei
rail: Jernbane
subway: Undergrunnsbane
private: Privat tilgang
destination: Destinasjonstilgang
construction: Veier under konstruksjon
+ bicycle_shop: Sykkelbutikk
+ bicycle_parking: Sykkelparkering
+ toilets: Toaletter
richtext_area:
edit: Rediger
preview: Forhåndsvisning
windowslive:
title: Logg inn med Windows Live
alt: Logg inn med en Windows Live-konto
+ github:
+ title: Logg inn med GitHub
+ alt: Logg inn med en GitHub-konto
yahoo:
title: Logg inn med Yahoo
alt: Logg inn med Yahoo OpenID
heading: Brukeren %{user} finnes ikke
body: Det er ingen bruker med navnet %{user}. Sjekk om du har skrevet navnet
feil eller om lenka du klikket er feil.
+ deleted: slettet
view:
my diary: Min dagbok
new diary entry: ny dagbokoppføring
deactivate_user: deaktiver denne brukeren
confirm_user: bekreft denne brukeren
hide_user: skjul denne brukeren
- unhide_user: stopp å skjule denne brukeren
+ unhide_user: slutt å skjule denne brukeren
delete_user: slett denne brukeren
confirm: Bekreft
friends_changesets: venners endringssett
gravatar:
gravatar: Bruk Gravatar
link text: hva er dette?
+ disabled: Gravatar har blitt slått av.
+ enabled: Visning av din Gravatar er slått på.
new image: Legg til et bilde
keep image: Behold gjeldende bilde
delete image: Fjern gjeldende bilde
center_marker: Sentrer kart på markøren
paste_html: Lim inn HTML for å inkluderes på webside
view_larger_map: Vis større kart
+ only_standard_layer: Kun standardlaget kan eksporteres som bilde
+ embed:
+ report_problem: Rapporter et problem
key:
title: Kartsymbol
tooltip: Kartsymbol
standard: Standard
cycle_map: Sykkelkart
transport_map: Transport-kart
- mapquest: MapQuest Open
hot: Humanitært
layers:
header: Kartlag
instructions:
continue_without_exit: Fortsett på %{name}
slight_right_without_exit: Slak høyre inn på %{name}
+ offramp_right_without_exit: Ta rampen til høyre til %{name}
+ onramp_right_without_exit: Ta til høyre til rampen til %{name}
+ endofroad_right_without_exit: Ved slutten av veien, ta til høyre inn på %{name}
+ merge_right_without_exit: Flett til høyre til %{name}
+ fork_right_without_exit: Ved veiskillet, ta til høyre inn på %{name}
turn_right_without_exit: Ta til høyre inn på %{name}
sharp_right_without_exit: Skarp høyresving inn på %{name}
uturn_without_exit: Helomvending på %{name}
sharp_left_without_exit: Skarp venstresving inn på %{name}
turn_left_without_exit: Ta til venstre inn på %{name}
+ offramp_left_without_exit: Ta rampen til venstre til %{name}
+ onramp_left_without_exit: Ta til venstre til rampen til %{name}
+ endofroad_left_without_exit: Ved slutten av veien, ta til venstre inn på %{name}
+ merge_left_without_exit: Flett til venstre til %{name}
+ fork_left_without_exit: Ved veiskillet, ta til venstre inn på %{name}
slight_left_without_exit: Slak venstre inn på %{name}
via_point_without_exit: (via punkt)
follow_without_exit: Følg %{name}
# Author: MatthiasS
# Author: McDutchie
# Author: MedShot
+# Author: MrLeopold
# Author: Pje335
# Author: Robin van der Vliet
# Author: Robin0van0der0vliet
# Author: Siebrand
# Author: Sjoerddebruin
# Author: Southparkfan
+# Author: Sven L
# Author: Tjcool007
# Author: Trijnstel
---
message: Bericht
node: Node
node_tag: Nodelabel
- notifier: Melding
+ notifier: Melder
old_node: Oude node
old_node_tag: Oud nodelabel
old_relation: Oude relatie
tracepoint: Trackpunt
tracetag: Tracklabel
user: Gebruiker
- user_preference: Gebruikersvoorkeuren
+ user_preference: Gebruikersvoorkeur
user_token: Gebruikersnummer
way: Weg
way_node: Wegnode
onze <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">verwijderprocedure</a>
of meld het direct en formeel via onze <a href="http://dmca.openstreetmap.org/">online claimpagina</a>.
trademarks_title_html: <span id="trademarks"></span>Handelsmerken
- trademarks_1_html: OpenStreetMap en het vergrootglaslogo zijn geregistreerde
- handelsmerken van de OpenStreetMap Foundation. Als u vragen hebt over uw gebruik
- van deze merken, stuur dan uw vragen dan naar de <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licentiewerkgroep</a>.
+ trademarks_1_html: OpenStreetMap, het vergrootglaslogo en State of the Map zijn
+ geregistreerde handelsmerken van de OpenStreetMap Foundation. Als u vragen
+ hebt over uw gebruik van deze merken, stuur dan uw vragen dan naar de <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licentiewerkgroep</a>.
welcome_page:
title: Welkom!
introduction_html: Welkom bij OpenStreetMap, de open en te bewerken kaart van
track: Spoor
bridleway: Ruiterpad
cycleway: Fietspad
+ cycleway_national: Nationale fietsweg
+ cycleway_regional: Regionale fietsweg
+ cycleway_local: Lokaal fietspad
footway: Voetpad
rail: Spoor
subway: Metro
private: Privétoegang
destination: Bestemmingsverkeer
construction: Weg in aanbouw
+ bicycle_shop: Fietsenwinkel
+ bicycle_parking: Fietsparkeerplaats
+ toilets: Toiletten
richtext_area:
edit: Bewerken
preview: Voorvertoning
windowslive:
title: Aanmelden met Windows Live
alt: Aanmelden met een Windows Live-account
+ github:
+ title: Aanmelden met GitHub
+ alt: Aanmelden met een GitHub-account
yahoo:
title: Aanmelden met Yahoo
alt: Aanmelden met een Yahoo OpenID
gravatar:
gravatar: Gravatar gebruiken
link text: wat is dit?
+ disabled: Gravatar is uitgeschakeld.
+ enabled: Het weergeven van uw Gravatar is ingeschakeld.
new image: Afbeelding toevoegen
keep image: Huidige afbeelding behouden
delete image: Huidige afbeelding verwijderen
standard: Standaard
cycle_map: Fietskaart
transport_map: Transport Map
- mapquest: MapQuest Open
hot: Humanitarian
layers:
header: Kaartlagen
instructions:
continue_without_exit: Verder op %{name}
slight_right_without_exit: Flauwe bocht naar rechts naar %{name}
+ offramp_right_without_exit: Neem de oprit aan de rechterkant naar %{name}
+ onramp_right_without_exit: Sla rechtsaf op de oprit naar %{name}
+ endofroad_right_without_exit: Sla op het einde van de weg rechtsaf naar %{name}
+ merge_right_without_exit: Voeg rechts in naar %{name}
+ fork_right_without_exit: Sla bij de splitsing rechtsaf naar %{name}
turn_right_without_exit: Sla rechtsaf naar %{name}
sharp_right_without_exit: Scherp rechtsaf naar %{name}
uturn_without_exit: U-bocht langs %{name}
sharp_left_without_exit: Scherp linksaf naar %{name}
turn_left_without_exit: Sla linksaf naar %{name}
+ offramp_left_without_exit: Neem de oprit aan de linkerkant naar %{name}
+ onramp_left_without_exit: Sla linksaf op de oprit naar %{name}
+ endofroad_left_without_exit: Sla op het einde van de weg linksaf naar %{name}
+ merge_left_without_exit: Voeg links in naar %{name}
+ fork_left_without_exit: Sla bij de splitsing linksaf naar %{name}
slight_left_without_exit: Flauwe bocht naar links naar %{name}
via_point_without_exit: (via punt)
follow_without_exit: Volg %{name}
standard: Standard
cycle_map: Sykkelkart
transport_map: Transport-kart
- mapquest: MapQuest Open
site:
edit_tooltip: Rediger kartet
edit_disabled_tooltip: Zoom inn for å redigere kartet
relation: Relacion
relation_member: Membre de la relacion
relation_tag: Balisa de relacion
- session: Sesilha
+ session: Session
trace: Pista
tracepoint: Punt de la traça
tracetag: Balisa de la pista
embeddable_html: HTML incorporable.
licence: Licéncia
export_details: Las donadas d’OpenStreetMap son publicadas jos la <a href="http://opendatacommons.org/licenses/odbl/1.0/">licéncia
- Open Data Commons – Banca de donadas Dobèrta</a> (ODbL).
+ Open Data Commons – Basa de donadas Dobèrta</a> (ODbL).
too_large:
advice: 'Se l’expòrt çaisús fracassa, envisatjatz l’utilizacion d’una de las
fonts listadas çaijòs :'
seguentas pel telecargament de donadas massivas :'
planet:
title: Planeta OSM
- description: Còpias actualizadas regularament de la banca de donadas completa
+ description: Còpias actualizadas regularament de la basa de donadas completa
d'OpenStreetMap
overpass:
title: API palanca
description: Telecargar aqueste quadre englobant dempuèi un miralh de la
- banca de donadas d'OpenStreetMap
+ basa de donadas d'OpenStreetMap
geofabrik:
title: Telecargaments de Geofabrik
description: Extraccions regularament mesas a jorn de continents, païses
e vilas seleccionadas
metro:
- title: Extraches de Metro
+ title: Extraccions de Metro
description: Extraccions de las principalas vilas del mond e de lors environs
other:
title: Autras fonts
latitude: 'Lat :'
longitude: 'Lon :'
output: Sortida
- paste_html: Pegatz lo còde HTML per incorporar dins un site web.
+ paste_html: Pegatz lo còdi HTML per incorporar dins un site web.
export_button: Exportar
geocoder:
search:
doctors: Mètges
dormitory: Dormitòri
drinking_water: Aiga potabla
- driving_school: Escòla de conducha
+ driving_school: Escòla de conduita
embassy: Ambaissada
emergency_phone: Telefòn d'urgéncia
fast_food: Restauracion rapida
photographer: Fotograf
plumber: Plombièr
shoemaker: Sabatièr
+ tailor: Sartre
"yes": Botiga d'artesanat
emergency:
ambulance_station: Depaus d'ambulància
defibrillator: Desfibrillador
+ landing_site: Terren d’aterrissatge d’urgéncia
phone: Telefòn d'urgéncia
highway:
+ abandoned: Autorota abandonada
bridleway: Camin per cavalièrs
bus_guideway: Via de bus guidada
bus_stop: Arrèst de bus
road: Zòna rotièra
village_green: Zòna publica erborada
vineyard: Vinhal
+ "yes": Usatge del terren
leisure:
beach_resort: Estacion belneara
bird_hide: Obsevatòri ornitologic
pitch: Terren d'espòrt
playground: Airal de jòcs
recreation_ground: Terren de jòcs
+ resort: Vilegiatura
sauna: Saunà
slipway: Còta de lançament
sports_centre: Centre esportiu
"yes": Lésers
man_made:
lighthouse: Far
+ pipeline: Pipeline
tower: Torre
works: Usina
"yes": Creat per l'òme
scrub: Boissa
spring: Font
stone: Pèira
- strait: Estrech
+ strait: Estreit
tree: Arbre
valley: Val
volcano: Volcan
moor: Maura
municipality: Municipalitat
neighbourhood: Quartièr
- postcode: Còde postal
+ postcode: Còdi postal
region: Region
sea: Mar
state: Estat / província
light_rail: Pichona via ferrada
miniature: Via ferrada miniatura
monorail: Monoralh
- narrow_gauge: Camin de fèrre de via estrecha
+ narrow_gauge: Camin de fèrre de via estreita
platform: Plataforma ferroviària
preserved: Via ferrada conservada
proposed: Projècte de camin de fèrre
antiques: Antiquari
art: Botiga d'art
bakery: Fornil
- beauty: Magazin de produches de beutat
+ beauty: Magazin de produits de beutat
beverages: Magazin de bevendas
bicycle: Magazin de bicicletas
books: Librariá
car_repair: Reparacion d'automobilas
carpet: Magazin de tapisses
charity: Magazin de benfasença
- chemist: Magazin de produches d'igièna
+ chemist: Farmàcia
clothes: Magazin de vestits
computer: Magazin informatic
confectionery: Confisariá
dry_cleaning: Netejatge a sec
electronics: Magazin d'electronica
estate_agent: Agent immobilièr
- farm: Magazin de produches agricòls
+ farm: Magazin de produits agricòlas
fashion: Magazin de mòda
fish: Peissonariá
florist: Florista
partners_ic: lo Collègi Imperial de Londres
partners_bytemark: Albergament Bytemark
partners_partners: partenaris
- osm_offline: La banca de donadas de OpenStreetMap es actualament fòra linha; una
+ osm_offline: La basa de donadas de OpenStreetMap es actualament fòra linha; una
mantenença essenciala a son bon foncionament es en cors.
- osm_read_only: La banca de donadas d'OpenStreetMap es actualament en mòde lectura
+ osm_read_only: La basa de donadas d'OpenStreetMap es actualament en mòde lectura
sola ; una mantenença essenciala a son bon foncionament es en cors.
donate: Sostenètz OpenStreetMap, %{link} al fons per melhorar lo material.
help: Ajuda
about: A prepaus
- copyright: Dreches d’autor
+ copyright: Dreits d’autor
community: Comunautat
community_blogs: Blogs de la comunautat
community_blogs_title: Blogs de membres de la comunautat OpenStreetMap
href="http://opendatacommons.org/licenses/odbl/">Open Data Commons Open Database License</a> (ODbL).
intro_2_html: |2-
Sètz liure de copiar, distribuir, transmetre e adaptar nòstras donadas,
- a condicion que creditiatz OpenStreetMap e sos
+ a condicion que creditetz OpenStreetMap e sos
contributors. Se modificatz o utilizatz nòstras donadas dins d’autras òbras derivadas,
las podètz distribuir sonque jos la meteissa licéncia. Lo
<a href="http://opendatacommons.org/licenses/odbl/1.0/">tèxte
- legal</a> complet detalha vòstres dreches e responsabilitats.
+ legal</a> complet detalha vòstres dreits e responsabilitats.
+ intro_3_html: Nòstres carrèus de rendut cartografics, e tanben de nòstra documentacion,
+ son disponibles jos la licéncia <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative
+ Commons paternitat – partiment a l’identic 2.0</a> (CC-BY-SA).
credit_title_html: Cossí creditar OpenStreetMap
credit_1_html: Demandam que vòstre crèdit compòrta la mencion « © los contributors
d’OpenStreetMap ».
title: Exemple d'atribucion
more_title_html: Per trobar mai d’informacions
more_1_html: |-
- Se volètz obténer mai d’informacions sus cossí reütilizar nòstras donadas e nos creditar, legissètz la <a
- href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">FAQ
- legala</a>.
+ Per obténer mai d’informacions sus cossí reütilizar nòstras donadas e nos creditar, legissètz la <a
+ href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">FAQ legala</a>.
contributors_title_html: Nòstres contributors
contributors_fr_html: |-
<strong>França</strong> : conten de donadas de la
<em>Direccion generala dels impòts</em>.
- infringement_title_html: Violacion dels dreches d'autor
+ infringement_title_html: Violacion dels dreits d'autor
trademarks_title_html: <span id="marcas"></span>Marcas
welcome_page:
title: Benvenguda !
other_concerns:
title: Autras preocupacions
explanation_html: "Se sètz preocupat pel biais que nòstras donadas son utilizadas
- o sus lor contengut, consultatz nòstra\n<a href='/copyright'>pagina de drech
+ o sus lor contengut, consultatz nòstra\n<a href='/copyright'>pagina de dreit
d’autor</a> per d'informacions mai legalas, o contactar lo \n<a href='http://wiki.osmfoundation.org/wiki/Working_Groups'>grop
de trabalh OSMF</a> apropriat."
help_page:
beginners_guide:
url: http://wiki.openstreetmap.org/wiki/OC:Guida_del_debutant
title: Guida per debutants
+ description: Guida pels debutants mantengut per la comunautat.
help:
url: https://help.openstreetmap.org/
title: help.openstreetmap.org
d'OSM.
mailing_lists:
title: Listas de difusion
+ description: Pausar una question o discutir de questions interessantas sus un
+ larg ventalh de tematicas o de listas de difusion regionalas.
forums:
title: Forums
irc:
wiki:
url: http://wiki.openstreetmap.org/
title: wiki.openstreetmap.org
- description: Parcorrètz lo wiki per la documentacion aprigondida d’OSM
+ description: Pzrcorrètz lo wiki per la documentacion aprigondida d’OSM
about_page:
next: Seguent
copyright_html: <span>©</span>Contributors<br /> d’OpenStreetMap
search:
search: Recèrca
get_directions: Obténer las direccions
+ get_directions_title: Trobatz d'itineraris entre dos punts
from: De
to: A
where_am_i: Ont soi ?
track: Pista
bridleway: Camin per cavalièrs
cycleway: Via ciclabla
+ cycleway_national: Via ciclista nacionala
+ cycleway_regional: Via ciclista regionala
+ cycleway_local: Via ciclista locala
footway: Via pietonièra
rail: Via ferrada
subway: Linha de mètro
private: Accès privat
destination: Reservat als ribairencs
construction: Rotas en construccion
+ bicycle_shop: Magazin de bicicletas
+ bicycle_parking: Parcatge de bicicleta
+ toilets: Comuns
richtext_area:
edit: Modificar
preview: Apercebut
public: Public (afichat dins la lista de las traças e anonim, punts pas ordenats)
trackable: Pistable (partejat unicament d'un biais anonim, punts ordenats amb
las datas)
+ identifiable: Identificable (afichat dins la lista de las traças e identificable,
+ punts ordenats amb las datas)
create:
upload_trace: Mandar la traça GPS
edit:
oauthorize_success:
title: La demanda d’autorizacion es estada acceptada
allowed: Avètz acordat a l’aplicacion %{app_name} l’accès a vòstre compte.
- verification: Lo còde de verificacion es %{code}.
+ verification: Lo còdi de verificacion es %{code}.
oauthorize_failure:
title: La demanda d’autorizacion a fracassat
denied: Avètz refusat a l’aplicacion %{app_name} l’accès a vòstre compte.
lost password link: Avètz perdut vòstre senhal ?
login_button: Se connectar
register now: S'inscriure ara
+ with external: 'A la plaça, utilizatz un tèrç per vos connectar :'
new to osm: Novèl sus OpenStreetMap ?
to make changes: Per aportar de modificacions a las donadas OpenStreetMap, vos
cal possedir un compte.
windowslive:
title: Se connectar amb Windows Live
alt: Se connectar amb un compte Windows Live
+ github:
+ title: Connexion amb GitHub
+ alt: Connexion amb un Compte GitHub
yahoo:
title: Se connectar amb Yahoo
alt: Se connectar amb l'OpenID de Yahoo
display name: 'Nom afichat :'
display name description: Vòstre nom d'utilizaire afichat publicament. Podètz
cambiar aquò ulteriorament dins las preferéncias.
+ external auth: 'Autentificacion tèrça :'
password: 'Senhal :'
confirm password: 'Confirmatz lo senhal :'
+ use external auth: A la plaça, utilizatz un tèrç per vos connectar
continue: S’inscriure
terms accepted: Mercé d’aver acceptat los novèls tèrmes del contributor !
terms:
title: Tèrmes del contributor
heading: Tèrmes del contributor
+ consider_pd: En mai de l’acòrd çaisús, considèri mas contribucions coma essent
+ dins lo domeni public
consider_pd_why: qu’es aquò ?
+ guidance: 'Per mai d''informacion sus aquestes tèrmes : un <a href="%{summary}">resumit
+ legible</a> e qualques <a href="%{translations}">traduccions informalas</a>'
agree: Accèpti
decline: Declinar
+ you need to accept or decline: Legissètz e puèi, siá acceptatz o refusatz las
+ novèlas condicions de contributor per contunhar.
legale_select: 'País de residéncia :'
legale_names:
france: França
revoke:
administrator: Revocar l'accès administrator
moderator: Revocar l'accès moderador
- block_history: blòts recebuts
- moderator_history: blòts provesits
+ block_history: Blocatges actius
+ moderator_history: Blocatges donats
comments: Comentaris
- create_block: blocar aqueste utilizaire
- activate_user: activar aqueste utilizaire
- deactivate_user: desactivar aqueste utilizaire
+ create_block: Blocar aqueste utilizaire
+ activate_user: Activar aqueste utilizaire
+ deactivate_user: Desactivar aqueste utilizaire
confirm_user: Confirmar aqueste utilizaire
- hide_user: amagar aqueste utilizaire
- unhide_user: reafichar aqueste utilizaire
- delete_user: suprimir aqueste utilizaire
+ hide_user: Amagar aqueste utilizaire
+ unhide_user: Reafichar aqueste utilizaire
+ delete_user: Suprimir aqueste utilizaire
confirm: Confirmar
friends_changesets: Percórrer totes los gropes de modificacions dels amics
friends_diaries: Entradas de jornal dels amics
gravatar:
gravatar: Utilizar Gravatar
link text: qu’es aquò ?
+ disabled: Gravatar es estat desactivat.
new image: Apondre un imatge
keep image: Gardar l'imatge actual
delete image: Suprimir l'imatge actual
press confirm button: Quichar lo boton confirmar çaijós per activar vòstre compte.
button: Confirmar
already active: Aqueste compte es ja estat confirmat.
- unknown token: Lo còde de confirmacion a expirat o existís pas.
+ unknown token: Lo còdi de confirmacion a expirat o existís pas.
confirm_resend:
failure: L’utilizaire %{name} es introbable.
confirm_email:
heading: Compte suspendut
webmaster: webmèstre
auth_failure:
+ invalid_credentials: Informacions d’autentificacion invalidas
+ no_authorization_code: Sens còdi d'autorizacion
+ unknown_signature_algorithm: Algoritme de signatura desconegut
invalid_scope: Espandida invalida
+ auth_association:
+ heading: Vòstre ID es pas encara associat a un compte OpenStreetMap.
user_role:
filter:
not_a_role: La cadena « %{role} » es un ròtle valid.
simples e precises.
submit: Crear un blòt
tried_contacting: Ai contactat l'utilizaire e li ai demandat d'arrestar.
+ needs_view: L’utilizaire se deu connectar abans qu'aqueste blocatge siá escafat
back: Veire totes los blocatges
edit:
title: Modifica un blocatge sus %{name}
com possible, e de balhar tant de detalhs coma possible sus la situacion.
Sapiatz que tot lo monde compren pas lo girgon de la comunautat, alara utilizatz
de tèrmes simples e precises.
+ period: Quant de temps, a partir d'ara, l’utilizaire deu èsser blocat sus l’API
+ ?
submit: Modificar lo blocatge
show: Afichar aqueste blocatge
back: Veire totes los blocatges
+ needs_view: L’utilizaire se deu connectar abans qu'aqueste blocatge expire ?
+ filter:
+ block_expired: Lo blocatge a ja expirat e pòt pas èsser modificat.
create:
flash: Blocatge creat sus l'utilizaire %{name}.
update:
short_url: URL corta
include_marker: Inclure lo marcador
center_marker: Centrar la mapa sul marcador
- paste_html: Pegatz lo còde HTML a incorporar dins un site web.
+ paste_html: Pegatz lo còdi HTML a incorporar dins un site web.
view_larger_map: Afichar una mapa mai granda
+ embed:
+ report_problem: Senhalar un problèma
key:
title: Legenda
tooltip: Legenda
map_notes_zoom_in_tooltip: Zoomez per legir las nòtas sus la mapa
map_data_zoom_in_tooltip: Zoomatz per veire las donadas sus la mapa
queryfeature_tooltip: Requèsta suls objèctes
+ queryfeature_disabled_tooltip: Zoomar mai per recercar d'objèctes
changesets:
show:
comment: Comentari
intro: Avètz trobat una error o una manca ? Fasètz-lo saber a d’autres cartografes
per que i poscam remediar. Desplaçatz lo marcador a la posicion exacta e
escrivètz una nòta per explicar lo problèma (Entretz pas aicí cap d’informacions
- personalas o que provenon de mapas amb drech d’autor o de listas de repertòris).
+ personalas o que provenon de mapas amb dreit d’autor o de listas de repertòris).
add: Apondre una nòta
show:
hide: Amagar
mapzen_foot: A pè (Mapzen)
directions: Itineraris
distance: Distància
+ errors:
+ no_route: Impossible de trobar una rota entre aqueles dos luòcs.
+ no_place: O planhèm, impossible de trobar aqueste luòc.
instructions:
continue_without_exit: Contunhar sus %{name}
+ slight_right_without_exit: Viratz leugièrament a dreita sus %{name}
+ offramp_right_without_exit: Prene la sortida a dreita sus %{name}
+ onramp_right_without_exit: Virar a dreita cap a la sortida sus %{name}
+ endofroad_right_without_exit: A la fin de la rota, virar a dreita sus %{name}
+ merge_right_without_exit: Rejónher a dreita sus %{name}
+ fork_right_without_exit: A la bifurcacion, virar a dreita sus %{name}
+ turn_right_without_exit: Viratz a dreita sus %{name}
+ sharp_right_without_exit: Viratz vivament a dreita sus %{name}
+ uturn_without_exit: Fasètz mièg torn sus %{name}
+ sharp_left_without_exit: Viratz vivament a esquèrra sus %{name}
+ turn_left_without_exit: Viratz a esquèrra cap a %{name}
+ offramp_left_without_exit: Prene la sortida d'esquèrra fins a %{name}
+ onramp_left_without_exit: Virar a esquèrra cap a la sortida sus %{name}
+ endofroad_left_without_exit: A la fin de la rota, virar a esquèrra cap a %{name}
+ merge_left_without_exit: Rejónher a esquèrra sus %{name}
+ fork_left_without_exit: A la bifurcacion, virar a esquèrra sus %{name}
+ slight_left_without_exit: Viratz leugièrament a esquèrra sus %{name}
via_point_without_exit: (pel punt)
follow_without_exit: Seguir %{name}
+ roundabout_without_exit: A la rotonda, prenètz %{name}
+ leave_roundabout_without_exit: Sortir de la rotonda %{name}
+ stay_roundabout_without_exit: Seguir la rotonda - %{name}
+ start_without_exit: Comença a la fin de %{name}
+ destination_without_exit: Atenhètz la destinacion
+ against_oneway_without_exit: Remontatz a contrasens sus %{name}
+ end_oneway_without_exit: Fin del sens unic a %{name}
+ roundabout_with_exit: A la rotonda, prene la sortida %{exit} sus %{name}
+ unnamed: via sens nom
+ courtesy: Itinerari peovesit per %{link}
time: Temps
query:
node: Nosèl
way: Camin
relation: Relacion
+ nothing_found: Cap d'objècte pas trobat
+ error: 'Error en contactant %{server}: %{error}'
+ timeout: Relambi depassat en contactant %{server}
redaction:
edit:
description: Descripcion
# Author: Aalam
# Author: Babanwalia
# Author: Jimidar
+# Author: Tow
---
pa:
time:
activerecord:
models:
acl: ਅਸੈੱਸ ਕੰਟਰੋਲ ਲਿਸਟ
+ changeset: ਤਬਦੀਲੀ ਲੜੀ
+ changeset_tag: ਤਬਦੀਲੀ ਲੜੀ ਨਿਸ਼ਾਨ
country: ਮੁਲਕ
diary_comment: ਡਾਇਰੀ ਟਿੱਪਣੀ
diary_entry: ਡਾਇਰੀ ਇੰਦਰਾਜ
relation_member: ਸਬੰਧ ਮੈਂਬਰ
relation_tag: ਸਬੰਧ ਟੈਗ
session: ਸੈਸ਼ਨ
+ trace: ਟਰੇਸ
+ tracepoint: ਟਰੇਸ ਪੁਆਇੰਟ
+ tracetag: ਟਰੇਸ ਨਿਸ਼ਾਨ
user: ਵਰਤੋਂਕਾਰ
user_preference: ਵਰਤੋਂਕਾਰ ਤਰਜੀਹਾਂ
user_token: ਵਰਤੋਂਕਾਰ ਟੋਕਨ
pass_crypt: ਪਛਾਣ-ਸ਼ਬਦ
editor:
default: ਮੂਲ (ਮੌਜੂਦਾ %{name})
+ id:
+ name: ਆਈਡੀ
remote:
name: ਰਿਮੋਟ ਕੰਟਰੋਲ
browse:
created: ਬਣਾਇਆ ਗਿਆ
closed: ਬੰਦ ਹੋਇਆ
created_html: <abbr title='%{title}'>%{time} ਪਹਿਲਾਂ ਬਣਾਇਆ ਗਿਆ</abbr>
+ version: ਵਰਜਨ
+ in_changeset: ਤਬਦੀਲੀਆਂ
anonymous: ਬੇਪਛਾਣ
no_comment: (ਕੋਈ ਟਿੱਪਣੀ ਨਹੀਂ)
part_of: ਦਾ ਹਿੱਸਾ
+ download_xml: XML ਲਾਹੋ
view_history: ਅਤੀਤ ਵੇਖੋ
view_details: ਵੇਰਵੇ ਵੇਖੋ
location: 'ਸਥਿਤੀ:'
changeset:
+ title: 'ਤਬਦੀਲੀ ਲੜੀ: %{id}'
belongs_to: ਲੇਖਕ
+ comment: ਟਿੱਪਣੀਆਂ (%{count})
+ changesetxml: ਤਬਦੀਲੀ ਲੜੀ XML
+ feed:
+ title: ਤਬਦੀਲੀ ਲੜੀ %{id}
+ title_comment: ਤਬਦੀਲੀ ਲੜੀ %{id} - %{comment}
+ discussion: ਚਰਚਾ
relation:
members: ਜੀਅ
relation_member:
way: ਰਾਹ
relation: ਸਬੰਧ
changeset: ਚੇਂਜ਼ਸੈੱਟ
+ note: ਟਿੱਪਣੀ
timeout:
type:
node: ਨੋਡ
way: ਰਾਹ
relation: ਸਬੰਧ
changeset: ਚੇਂਜ਼ਸੈੱਟ
+ note: ਟਿੱਪਣੀ
redacted:
type:
node: ਨੋਡ
loading: ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ…
tag_details:
tags: ਟੈਗ
+ wikipedia_link: '%{page} ਲੇਖ ਵਿਕਿਪੀਡਿਆ ਉੱਤੇ'
+ telephone_link: '%{phone_number} ਨੂੰ ਫੋਨ ਕਰੋ'
note:
title: 'ਟਿੱਪਣੀ: %{id}'
+ new_note: ਨਵੀੰ ਟਿੱਪਣੀ
description: ਵੇਰਵਾ
changeset:
changeset_paging_nav:
anonymous: ਬੇਪਛਾਣ
no_edits: (ਕੋਈ ਸੋਧ ਨਹੀਂ)
changesets:
+ id: ਸ਼ਨਾਖ਼ਤ
user: ਵਰਤੋਂਕਾਰ
comment: ਟਿੱਪਣੀ
area: ਇਲਾਕਾ
+ list:
+ title: ਤਬਦੀਲੀਆਂ
+ load_more: ਹੋਰ ਲੋਡ ਕਰੋ
diary_entry:
+ new:
+ publish_button: ਛਾਪੋ
edit:
subject: 'ਵਿਸ਼ਾ:'
+ body: 'ਧੜ੍ਹ:'
language: 'ਬੋਲੀ:'
location: 'ਸਥਿਤੀ:'
latitude: 'ਅਕਸ਼ਾਂਸ਼:'
view: ਵੇਖੋ
edit: ਸੋਧੋ
comments:
+ post: ਡਾਕ
when: ਕਦੋਂ
comment: ਟਿੱਪਣੀ
ago: '%{ago} ਪਹਿਲਾਂ'
bicycle_parking: ਸਾਈਕਲ ਪਾਰਕਿੰਗ
bicycle_rental: ਕਿਰਾਏ 'ਤੇ ਸਾਈਕਲ
biergarten: ਬੀਅਰ ਬਾਗ਼
+ boat_rental: ਕਿਸ਼ਤੀ ਕਿਰਾਇਆ
brothel: ਕੋਠਾ
bureau_de_change: ਮੁਦਰਾ ਵਟਾਂਦਰਾ
bus_station: ਬਸ ਅੱਡਾ
car_wash: ਕਾਰ ਧੁਆਈ
casino: ਕੈਸੀਨੋ
charging_station: ਚਾਰਜਿੰਗ ਸਟੇਸ਼ਨ
+ childcare: ਬਾਲ ਸੰਭਾਲ
cinema: ਸਿਨੇਮਾ
clinic: ਕਲੀਨਿਕ
+ clock: ਘੜੀ
college: ਕਾਲਜ
community_centre: ਭਾਈਚਾਰਾ ਕੇਂਦਰ
courthouse: ਕਚਹਿਰੀ
food_court: ਖਾਣਾ ਦਰਬਾਰ
fountain: ਫ਼ੁਹਾਰਾ
fuel: ਤੇਲ
+ gambling: ਜੂਆ
grave_yard: ਕਬਰਿਸਤਾਨ
gym: ਜਿਮ/ਦਰੁਸਤੀ ਕੇਂਦਰ
health_centre: ਸਿਹਤ ਕੇਂਦਰ
library: ਪੁਸਤਕਾਲਾ
market: ਮੰਡੀ
marketplace: ਮੰਡੀ ਦੀ ਥਾਂ
+ monastery: ਮੱਠ
+ motorcycle_parking: ਮੋਟਰਸਾਈਕਲ ਪਾਰਕਿੰਗ
nightclub: ਰਾਤ ਦਾ ਕਲੱਬ
nursery: ਨਰਸਰੀ
nursing_home: ਨਰਸਿੰਗ ਹੋਮ
office: ਦਫ਼ਤਰ
parking: ਪਾਰਕਿੰਗ
+ parking_entrance: ਪਾਰਕਿੰਗ ਪਰਵੇਸ਼
pharmacy: ਫ਼ਾਰਮੇਸੀ
place_of_worship: ਭਗਤੀ ਦਾ ਘਰ
police: ਪੁਲਿਸ
shower: ਸ਼ਾਵਰ
social_centre: ਸਮਾਜਕ ਕੇਂਦਰ
social_club: ਸਮਾਜਕ ਕਲੱਬ
+ social_facility: ਸਮਾਜਕ ਸਹੂਲਤ
studio: ਸਟੂਡੀਉ
swimming_pool: ਤੈਰਾਕੀ ਤਲਾਅ
taxi: ਟੈਕਸੀ
veterinary: ਡੰਗਰਾਂ ਦਾ ਹਸਪਤਾਲ
village_hall: ਪਿੰਡ ਦਾ ਹਾਲ
waste_basket: ਕੂੜਾਦਾਨ
+ waste_disposal: ਕੂੜੇਦਾਨ
youth_centre: ਨੌਜਵਾਨ ਕੇਂਦਰ
boundary:
administrative: ਪ੍ਰਸ਼ਾਸਕੀ ਸਰਹੱਦ
"yes": ਪੁਲ
building:
"yes": ਇਮਾਰਤ
+ craft:
+ brewery: ਬਰੂਅਰੀ
+ carpenter: ਤਰਖਾਣ
+ electrician: ਇਲੈਕਟਰੀਸ਼ਨ
+ gardener: ਮਾਲੀ
+ painter: ਚਿੱਤਰਕਾਰ
+ photographer: ਫ਼ੋਟੋਗ੍ਰਾਫ਼ਰ
+ plumber: ਨਲਸਾਜ਼
+ shoemaker: ਮੋਚੀ
+ tailor: ਦਰਜੀ
+ "yes": ਕਰਾਫਟ ਦੁਕਾਨ
emergency:
+ ambulance_station: ਐਂਬੂਲੈਂਸ ਸਟੇਸ਼ਨ
+ defibrillator: ਡੀਫਿਬ੍ਰੀਲੇਟਰ
+ landing_site: ਸੰਕਟਕਾਲੀਨ ਉਤਰ ਸਥਾਨ
phone: ਐਮਰਜੈਂਸੀ ਫ਼ੋਨ
highway:
+ abandoned: ਨਿਕਾਸੀ ਹਾਈਵੇਅ
bridleway: ਘੋੜ-ਰਾਹ
bus_stop: ਬੱਸ ਅੱਡਾ
construction: ਉਸਾਰੀ ਹੇਠ ਹਾਈਵੇ
cycleway: ਸਾਈਕਲ ਰਾਹ
+ elevator: ਲਿਫਟ
emergency_access_point: ਐਮਰਜੈਂਸੀ ਪਹੁੰਚ ਬਿੰਦੂ
footway: ਪੈਦਲ ਰਾਹ
ford: ਫ਼ੋਰਡ
primary: ਮੁੱਢਲੀ ਸੜਕ
primary_link: ਮੁੱਢਲੀ ਸੜਕ
raceway: ਰੇਸਵੇ
- residential: ਰਿਹਾਇਸ਼ੀ
+ residential: ਰਿਹਾਇਸ਼ੀ ਸੜਕ
rest_area: ਅਰਾਮ ਖੇਤਰ
road: ਸੜਕ
secondary: ਸਕੈਂਡਰੀ ਸੜਕ
services: ਮੋਟਰਵੇ ਸੇਵਾਵਾਂ
speed_camera: ਗਤੀ ਕੈਮਰਾ
steps: ਪੌੜੀਆਂ
+ street_lamp: ਗਲੀ ਬੱਤੀ
tertiary: ਤੀਜੇ ਪੱਧਰ ਦੀ ਸੜਕ
tertiary_link: ਤੀਜੇ ਪੱਧਰ ਦੀ ਸੜਕ
track: ਟਰੈਕ
+ traffic_signals: ਟਰੈਫਿਕ ਸਿਗਨਲ
trail: ਡੰਡੀ
trunk: ਟਰੰਕ ਸੜਕ
trunk_link: ਟਰੰਕ ਸੜਕ
+ unclassified: ਅਵਰਗੀਕ੍ਰਿਤ ਰੋਡ
+ "yes": ਸੜਕ
historic:
- building: ਇਮਾਰਤ
+ archaeological_site: ਪੁਰਾਤੱਤਵ ਸਥਾਨ
+ battlefield: ਜੰਗ ਦਾ ਮੈਦਾਨ
+ building: ਇਤਿਹਾਸਕ ਇਮਾਰਤ
castle: ਗੜ੍ਹੀ
church: ਗਿਰਜਾ
+ city_gate: ਸ਼ਹਿਰ ਗੇਟ
+ citywalls: ਸ਼ਹਿਰ ਦੀਆੰ ਕੰਧਾੰ
fort: ਕਿਲ਼ਾ
+ heritage: ਵਿਰਾਸਤ ਸਥਾਨ
house: ਘਰ
icon: ਆਈਕਨ
manor: ਮੈਨਰ
mine: ਖਾਨ
monument: ਸਮਾਰਕ
ruins: ਖੰਡਰ
+ stone: ਪੱਥਰ
tomb: ਮਕਬਰਾ
tower: ਬੁਰਜ
+ junction:
+ "yes": ਜੰਕਸ਼ਨ
landuse:
basin: ਹੌਜ਼ੀ
+ cemetery: ਸ਼ਮਸ਼ਾਨ
commercial: ਵਪਾਰਕ ਖੇਤਰ
conservation: ਰੱਖ
construction: ਉਸਾਰੀ
mine: ਖਾਨ
orchard: ਬਗ਼ੀਚਾ
railway: ਰੇਲਵੇ
+ recreation_ground: ਮਨੋਰੰਜਨ ਮੈਦਾਨ
+ reservoir: ਸਰੋਵਰ
residential: ਰਿਹਾਇਸ਼ੀ ਇਲਾਕਾ
retail: ਪਰਚੂਨ
road: ਸੜਕ ਇਲਾਕਾ
village_green: ਪੇਂਡੂ ਹਰਿਆਵਲ
vineyard: ਅੰਗੂਰਾਂ ਦਾ ਬਾਗ਼
leisure:
+ club: ਕਲੱਬ
common: ਸ਼ਾਮਲਾਟ
+ dog_park: ਕੁੱਤਾ ਪਾਰਕ
fishing: ਮੱਛੀ-ਖੋਜ ਇਲਾਕਾ
+ fitness_centre: ਫਿੱਟਨੈੱਸ ਕੇੰਦਰ
fitness_station: ਤੰਦਰੁਸਤੀ ਅੱਡਾ
garden: ਬਾਗ਼
golf_course: ਗੋਲਫ਼ ਮੈਦਾਨ
swimming_pool: ਤੈਰਾਕੀ ਤਲਾਅ
track: ਭੱਜਣ ਲਈ ਟਰੈਕ
water_park: ਜਲ ਪਾਰਕ
+ man_made:
+ lighthouse: ਲਾਈਟਹਾਊਸ
+ pipeline: ਪਾਈਪਲਾਈਨ
+ tower: ਬੁਰਜ
+ works: ਫੈਕਟਰੀ
military:
airfield: ਫ਼ੌਜੀ ਉਡਾਣ-ਖੇਤਰ
barracks: ਬੈਰਕ
reef: ਰੀਫ਼
ridge: ਰਿੱਜ
rock: ਚਟਾਨ
+ sand: ਰੇਤ
scree: ਰੇੜ੍ਹ
scrub: ਝਾੜ ਬਰੋਟਾ
spring: ਸੋਮਾ
wood: ਜੰਗਲ
office:
accountant: ਅਕਾਊਂਟੈਂਟ
+ administrative: ਪ੍ਰਸ਼ਾਸਨ
architect: ਨਕਸ਼ਾਕਾਰ
company: ਕੰਪਨੀ
employment_agency: ਰੁਜ਼ਗਾਰ ਏਜੰਸੀ
travel_agent: ਟਰੈਵਲ ਏਜੰਸੀ
"yes": ਦਫ਼ਤਰ
place:
+ block: ਬਲਾਕ
airport: ਹਵਾਈ ਅੱਡਾ
city: ਸ਼ਹਿਰ
country: ਮੁਲਕ
town: ਕਸਬਾ
unincorporated_area: ਗ਼ੈਰ-ਸੰਮਿਲਤ ਇਲਾਕਾ
village: ਪਿੰਡ
+ "yes": ਥਾੰ
railway:
abandoned: ਛੱਡਿਆ ਹੋਇਆ ਰੇਲਵੇ
construction: ਉਸਾਰੀ ਹੇਠ ਰੇਲਵੇ
narrow_gauge: ਭੀੜੀ ਰੇਲ
platform: ਰੇਲਵੇ ਪਲੇਟਫਾਰਮ
station: ਰੇਲਵੇ ਸਟੇਸ਼ਨ
- subway: ਸਬਵà©\87 ਸà¨\9fà©\87ਸ਼ਨ
+ subway: ਸੱਬਵà©\87
subway_entrance: ਸਬਵੇ ਪ੍ਰਵੇਸ਼
tram: ਟਰਾਮਵੇ
tram_stop: ਟਰਾਮ ਅੱਡਾ
shop:
+ antiques: ਪ੍ਰਾਚੀਨ
art: ਕਲਾ ਹੱਟੀ
bakery: ਨਾਨਬਾਈ ਦੀ ਹੱਟੀ
beauty: ਬਿਊਟੀ ਪਾਰਲਰ
video: ਵੀਡੀਓ ਦੀ ਦੁਕਾਨ
"yes": ਹੱਟੀ
tourism:
+ apartment: ਅਪਾਰਟਮੈਂਟ
artwork: ਕਾਰੀਗਰੀ
attraction: ਖਿੱਚ
bed_and_breakfast: ਮੰਜਾ ਤੇ ਨਾਸ਼ਤਾ
camp_site: ਛਾਉਣੀ
caravan_site: ਕਾਫ਼ਲਾ ਟਿਕਾਣਾ
chalet: ਲੱਕੜ ਦਾ ਘਰ
+ gallery: ਗੈਲਰੀ
guest_house: ਸਰਾਂ
hostel: ਹੋਸਟਲ
hotel: ਹੋਟਲ
wadi: ਬਰਸਾਤੀ ਨਾਲਾ
waterfall: ਝਰਨਾ
weir: ਬੰਨ੍ਹ
+ "yes": ਜਲਮਾਰਗ
admin_levels:
level2: ਦੇਸ਼ ਦੀ ਹੱਦ
level4: ਰਾਜ ਦੀ ਹੱਦ
export: ਬਰਾਮਦ
data: ਸਮੱਗਰੀ
export_data: ਸਮੱਗਰੀ ਬਰਾਮਦ ਕਰੋ
+ edit_with: '%{editor} ਨਾਲ ਸੋਧੋ'
intro_2_create_account: ਇੱਕ ਵਰਤੋਂਕਾਰ ਖਾਤਾ ਬਣਾਉ
partners_ic: ਇੰਪੀਰੀਅਲ ਕਾਲਜ ਲੰਡਨ
+ partners_bytemark: ਬਾਈਟਮਾਰਕ ਹੋਸਟਿੰਗ
partners_partners: ਜੋੜੀਦਾਰ
help: ਮਦਦ
about: ਬਾਬਤ
english_link: ਮੂਲ ਅੰਗਰੇਜ਼ੀ
native:
title: ਇਸ ਵਰਕੇ ਬਾਰੇ
+ native_link: ਪੰਜਾਬੀ ਵਰਜਨ
mapping_link: ਨਕਸ਼ਾਬੰਦੀ ਸ਼ੁਰੂ ਕਰੋ
legal_babble:
title_html: ਨਕਲ-ਹੱਕ ਤੇ ਲਾਇਸੰਸ
title: ਜੀ ਆਇਆਂ ਨੂੰ!
whats_on_the_map:
title: ਨਕਸ਼ੇ ਉੱਤੇ ਕੀ ਹੈ
+ rules:
+ title: ਨਿਯਮ!
questions:
title: ਕੋਈ ਸੁਆਲ?
start_mapping: ਨਕਸ਼ਾਬੰਦੀ ਸ਼ੁਰੂ ਕਰੋ
welcome:
url: /ਜੀ ਆਇਆਂ ਨੂੰ
title: ਓ.ਐੱਸ.ਐੱਮ. 'ਤੇ ਜੀ ਆਇਆਂ ਨੂੰ
+ beginners_guide:
+ title: ਸ਼ੁਰੂਆਤੀ ਗਾਈਡ
help:
url: https://help.openstreetmap.org/
title: help.openstreetmap.org
+ forums:
+ title: ਮੰਚ
+ irc:
+ title: ਆਈ.ਆਰ.ਸੀ
wiki:
url: http://wiki.openstreetmap.org/
title: wiki.openstreetmap.org
next: ਅੱਗੇ
copyright_html: <span>©</span>ਓਪਨ-ਸਟਰੀਟ-ਮੈਪ<br>ਯੋਗਦਾਨੀ
local_knowledge_title: ਸਥਾਨੀ ਗਿਆਨ
+ open_data_title: ਓਪਨ ਡਾਟਾ
+ legal_title: ਕਾਨੂੰਨੀ
partners_title: ਸਾਂਝੀਦਾਰ
notifier:
gpx_notification:
greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
signup_confirm:
greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ ਜੀ!
+ email_confirm_plain:
+ greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
+ email_confirm_html:
+ greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
+ lost_password_plain:
+ greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
+ lost_password_html:
+ greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
note_comment_notification:
anonymous: ਇੱਕ ਗੁੰਮਨਾਮ ਵਰਤੋਂਕਾਰ
greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
+ changeset_comment_notification:
+ greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
+ commented:
+ partial_changeset_without_comment: ਬਿਨਾ ਟਿੱਪਣੀ
message:
inbox:
+ title: ਇਨਬਾਕਸ
+ my_inbox: ਮੇਰਾ ਇਨਬਾਕਸ
+ outbox: ਆਊਟਬਾਕਸ
from: ਵੱਲੋਂ
subject: ਵਿਸ਼ਾ
date: ਮਿਤੀ
new:
title: ਸੁਨੇਹਾ ਘੱਲੋ
subject: ਵਿਸ਼ਾ
+ body: ਧੜ੍ਹ
send_button: ਭੇਜੋ
message_sent: ਸੁਨੇਹਾ ਭੇਜਿਆ ਗਿਆ
no_such_message:
title: ਅਜਿਹਾ ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ
heading: ਅਜਿਹਾ ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ
outbox:
+ title: ਆਊਟਬਾਕਸ
+ my_inbox: ਮੇਰਾ %{inbox_link}
+ inbox: ਇਨਬਾਕਸ
+ outbox: ਆਊਟਬਾਕਸ
to: ਵੱਲ
subject: ਵਿਸ਼ਾ
date: ਮਿਤੀ
deleted: ਸੁਨੇਹਾ ਮਿਟਾਇਆ ਗਿਆ
site:
index:
+ permalink: ਪੱਕੀ ਕੜੀ
+ shortlink: ਛੋਟੀ ਕੜੀ
createnote: ਟਿੱਪਣੀ ਜੋੜੋ
edit:
user_page_link: ਵਰਤੋਂਕਾਰ ਵਰਕਾ
close: ਬੰਦ ਕਰੋ
search:
search: ਖੋਜੋ
+ get_directions: ਦਿਸ਼ਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ
+ from: ਵੱਲੋਂ
+ to: ਵੱਲ
where_am_i: ਮੈਂ ਕਿੱਥੇ ਹਾਂ?
submit_text: ਜਾਉ
key:
headings: ਸਿਰਨਾਵੇਂ
heading: ਸਿਰਨਾਵਾਂ
subheading: ਉਪਸਿਰਨਾਵਾਂ
+ ordered: ਕ੍ਰਮਬੱਧ ਸੂਚੀ
+ first: ਪਹਿਲੀ ਚੀਜ਼
+ second: ਦੂਜੀ ਚੀਜ਼
link: ਕੜੀ
text: ਲਿਖਤ
image: ਤਸਵੀਰ
+ alt: ਵਿਕਲਪਿਕ ਲਿਖਤ
+ url: ਯੂ.ਆਰ.ਐੱਲ.
trace:
edit:
filename: 'ਫ਼ਾਈਲ ਦਾ ਨਾਂ:'
description: 'ਵੇਰਵਾ:'
tags: 'ਟੈਗ:'
save_button: ਤਬਦੀਲੀਆਂ ਸਾਂਭੋ
+ visibility: 'ਦਿੱਸਣਯੋਗਤਾ:'
visibility_help: ਇਹਦਾ ਕੀ ਮਤਲਬ ਹੈ?
trace_form:
description: 'ਵੇਰਵਾ:'
map: ਨਕਸ਼ਾ
list:
tagged_with: '%{tags} ਨਾਲ਼ ਨਿਸ਼ਾਨਦੇਹ'
+ oauth:
+ oauthorize:
+ allow_write_notes: ਟਿੱਪਣੀਆੰ ਸੋਧੋ।
oauth_clients:
new:
title: ਕਿਸੇ ਨਵੀਂ ਅਰਜ਼ੀ ਦਾ ਇੰਦਰਾਜ ਕਰਾਉ
edit: ਵੇਰਵੇ ਸੋਧੋ
confirm: ਕੀ ਤੁਹਾਨੂੰ ਯਕੀਨ ਹੈ?
allow_write_api: ਨਕਸ਼ੇ 'ਚ ਫੇਰ-ਬਦਲ ਕਰੋ
+ allow_write_notes: ਟਿੱਪਣੀਆੰ ਸੋਧੋ।
index:
+ revoke: ਪਰਤਾਉ!
register_new: ਆਪਣੀ ਅਰਜ਼ੀ ਦਾ ਇੰਦਰਾਜ ਕਰਾਓ
form:
name: ਨਾਂ
required: ਲੋੜੀਂਦਾ
+ support_url: ਮਦਦ URL
user:
login:
title: ਦਾਖ਼ਲਾ
# Messages for Polish (polski)
# Exported from translatewiki.net
# Export driver: phpyaml
+# Author: "Behemot"
# Author: Ajank
# Author: Alan ffm
# Author: Andrzej aa
# Author: Deejay1
# Author: Ireun
# Author: Kaligula
+# Author: Kastanoto
# Author: Kocio
# Author: Macofe
# Author: Maraf24
# Author: Odie2
# Author: Pio387
# Author: Przemub
+# Author: Psokol
# Author: Py64
# Author: RafalR
# Author: Rezonansowy
# Author: Zbigniew.czernik
---
pl:
+ html:
+ dir: ltr
time:
formats:
- friendly: '%Y-%m-%d o %H:%M'
+ friendly: '%e %B %Y o %H:%M'
+ blog: '%e.%m.%Y'
activerecord:
models:
acl: Lista kontroli dostępu
changeset: Zestaw zmian
changeset_tag: Znacznik zestawu zmian
country: Państwo
- diary_comment: Komentarz dziennika
+ diary_comment: Komentarz do dziennika
diary_entry: Wpis w dzienniku
friend: Znajomy
language: Język
node_tag: Znacznik węzła
notifier: Zgłaszający
old_node: Wcześniejszy węzeł
- old_node_tag: Tag wcześniejszego węzła
+ old_node_tag: Znacznik wcześniejszego węzła
old_relation: Stara relacja
old_relation_member: Członek starej relacji
- old_relation_tag: Tag wcześniejszej relacji
- old_way: Wcześniejsza droga
+ old_relation_tag: Znacznik wcześniejszej relacji
+ old_way: Wcześniejsza linia
old_way_node: Węzeł starej linii
- old_way_tag: Tag starej linii
+ old_way_tag: Znacznik starej linii
relation: Relacja
relation_member: Członek relacji
relation_tag: Tag relacji
session: Sesja
trace: Ślad
tracepoint: Punkt śladu
- tracetag: Tag śladu
+ tracetag: Znacznik śladu
user: Użytkownik
user_preference: Preferencje użytkownika
user_token: Token użytkownika
description: Opis
languages: Języki
pass_crypt: Hasło
+ printable_name:
+ with_version: '%{id}, wersja %{version}'
+ with_name_html: '%{name}(%{id})'
editor:
default: Domyślnie (obecnie %{name})
potlatch:
description: Potlatch 2 (w przeglądarce)
remote:
name: Zewnętrzny edytor
- description: Zdalne sterowanie (JOSM lub Merkaartor)
+ description: Zdalny program (JOSM lub Merkaartor)
browse:
created: Utworzone
closed: Zamknięte
download_xml: Pobierz XML
view_history: Wyświetl historię
view_details: Wyświetl szczegóły
- location: 'Lokalizacja:'
+ location: 'Położenie:'
changeset:
title: 'Zestaw zmian: %{id}'
belongs_to: Autor
history_title: 'Historia relacji: %{name}'
members: Członkowie
relation_member:
+ entry: '%{type} %{name}'
entry_role: '%{type} %{name} jako %{role}'
type:
node: Węzeł
entry: Relacja %{relation_name}
entry_role: Relacja %{relation_name} (jako %{relation_role})
not_found:
- sorry: 'Przepraszamy, %{type} #%{id} nie został znaleziony.'
+ sorry: 'Niestety, %{type} #%{id} nie został znaleziony.'
type:
node: węzeł
way: linia
note: Uwaga
redacted:
redaction: Poprawka %{id}
- message_html: Ten %{type} w wersji %{version} nie może być pokazany, ponieważ
- został poddany poprawce. Zapoznaj się z %{redaction_link}, aby uzyskać więcej
+ message_html: Ten %{type} w wersji %{version} nie może zostać wyświetlony, ponieważ
+ został poprawiony. Proszę zapoznać się z %{redaction_link}, aby uzyskać więcej
informacji.
type:
node: węzeł
way: linia
relation: relacja
start_rjs:
- feature_warning: Ładowanie %{num_features} rzeczy, może spowolnić lub zawiesić
- twoją przeglądarkę. Jesteś pewien, że chcesz wyświetlić te dane?
+ feature_warning: Wczytywanie %{num_features} obiektów, może spowolnić lub zawiesić
+ przeglądarkę. Wyświetlić te dane?
load_data: Wczytaj dane
loading: Wczytywanie...
tag_details:
tags: Tagi
wiki_link:
- key: 'Opis na wiki dla znacznika: %{key}'
+ key: Strona wiki dla znacznika %{key}
tag: Strona wiki dla znacznika %{key}=%{value}
wikidata_link: '%{page} element na Wikidata'
wikipedia_link: Artykuł %{page} w Wikipedii
commented_by: Komentarz od %{user} <abbr title='%{exact_time}'>%{when} temu</abbr>
commented_by_anonymous: Skomentowana anonimowo <abbr title='%{exact_time}'>%{when}
temu</abbr>
- closed_by: 'Zamknięta przez: %{user} <abbr title=''%{exact_time}''>%{when} temu</abbr>'
+ closed_by: 'Rozwiązana przez: %{user} <abbr title=''%{exact_time}''>%{when}
+ temu</abbr>'
closed_by_anonymous: Rozwiązana anonimowo <abbr title='%{exact_time}'>%{when}
temu</abbr>
- reopened_by: Ponownie aktywowane przez %{user} <abbr title='%{exact_time}'>%{when}
+ reopened_by: Ponownie aktywowana przez %{user} <abbr title='%{exact_time}'>%{when}
temu</abbr>
- reopened_by_anonymous: Reaktywowana anonimowo <abbr title='%{exact_time}'>%{when}
+ reopened_by_anonymous: Ponownie aktywowana anonimowo <abbr title='%{exact_time}'>%{when}
temu</abbr>
hidden_by: Ukryte przez %{user} <abbr title='%{exact_time}'>%{when} temu</abbr>
query:
title: Dane obiektu
- introduction: Kliknij na mapie, by sprawdzić obiekty w pobliżu
+ introduction: Kliknij na mapie, by wyszukać obiekty w pobliżu.
nearby: Obiekty w pobliżu
- enclosing: Większe, zakrywające obiekty
+ enclosing: Większe, otaczające obiekty
changeset:
changeset_paging_nav:
showing_page: Strona %{page}
title_user: Zestawy zmian użytkownika %{user}
title_friend: Zestawy zmian twoich znajomych
title_nearby: Zestawy zmian pobliskich użytkowników
- empty: Brak znalezionych zestawów zmian.
- empty_area: Brak zestawów zmian w tym obszarze.
+ empty: Nie odnaleziono zestawów zmian.
+ empty_area: Brak zestawów zmian na tym obszarze.
empty_user: Brak zestawów zmian tego użytkownika.
- no_more: Nie znaleziono więcej zestawów zmian.
- no_more_area: Brak zestawów zmian w tym obszarze.
+ no_more: Nie odnaleziono więcej zestawów zmian.
+ no_more_area: Brak zestawów zmian na tym obszarze.
no_more_user: Brak zestawów zmian tego użytkownika.
- load_more: Załaduj więcej
+ load_more: Wczytaj więcej
timeout:
- sorry: Niestety, pobieranie listy zestawów zmian, którą chciałeś zobaczyć, trwało
- zbyt długo.
+ sorry: Niestety, pobieranie listy żądanych zestawów zmian trwało zbyt długo.
rss:
title_all: Dyskusja na temat zestawu zmian
title_particular: 'Dyskusja na temat zestawu zmian #%{changeset_id}'
title_nearby: Dzienniki pobliskich użytkowników
user_title: Dziennik użytkownika %{user}
in_language_title: Wpisy w języku %{language}
- new: Nowy wpis do dziennika
- new_title: Stwórz nowy wpis w Twoim dzienniku użytkownika
+ new: Nowy wpis dziennika
+ new_title: Tworzy nowy wpis w dzienniku użytkownika
no_entries: Brak wpisów dziennika
recent_entries: Ostatnie wpisy do dziennika
older_entries: Starsze wpisy
save_button: Zapisz
no_such_entry:
title: Nie ma takiego wpisu
- heading: 'Brak wpisu o id: %{id}'
- body: Niestety nie znaleziono wpisu dziennika / komentarza o id %{id}, sprawdź
- pisownię. Byc może użyłeś(aś) linku który był niepoprawny.
+ heading: Brak wpisu o identyfikatorze %{id}
+ body: Niestety nie odnaleziono wpisu dziennika lub komentarza o identyfikatorze
+ %{id}. Proszę sprawdzić pisownię. Być może kliknięty odnośnik jest niepoprawny.
diary_entry:
- posted_by: Wpis od %{link_user} z %{created} w języku %{language_link}
+ posted_by: Opublikowany przez %{link_user}, %{created} w języku %{language_link}
comment_link: Skomentuj ten wpis
reply_link: Odpowiedz na ten wpis
comment_count:
- few: '%{count} komentarze'
- one: 1 komentarz
zero: Brak komentarzy
+ one: '%{count} komentarz'
+ few: '%{count} komentarze'
other: '%{count} komentarzy'
edit_link: Edytuj ten wpis
hide_link: Ukryj ten wpis
title: Wpisy OpenStreetMap
description: Ostatnie wpisy od użytkowników OpenStreetMap
comments:
- has_commented_on: '%{display_name} skomentował następujące wpisy dziennika'
+ has_commented_on: Użytkownik %{display_name} skomentował następujące wpisy dziennika
post: Wpis
when: Kiedy
comment: Komentarz
export:
title: Eksportuj
start:
- area_to_export: Obszar do eksportu
+ area_to_export: Obszar do wyeksportowania
manually_select: Ręcznie zaznacz inny obszar
format_to_export: Format eksportu
osm_xml_data: Dane XML OpenStreetMap
- map_image: Plik graficzny (standardowa warstwa)
+ map_image: Obraz mapy (standardowa warstwa)
embeddable_html: Kod HTML do osadzenia
licence: Licencja
export_details: Dane OpenStreetMap udostępnione są na licencji <a href="http://opendatacommons.org/licenses/odbl/1.0/">Open
Data Commons Open Database License</a> (ODbL).
too_large:
- advice: 'Jeśli eksport się nie powiedzie, rozważ użycie jedno z podanych niżej
- źródeł:'
+ advice: 'Jeśli eksportowanie się nie uda, proszę rozważyć użycie jednego z
+ podanych zasobów:'
body: 'Ten obszar jest zbyt duży, aby go wyeksportować jako dane XML OpenStreetMap.
- Przybliż się, wybierz mniejszy obszar, lub użyj jednego ze następujących
- źródeł aby objąć pobierane dane:'
+ Proszę przybliżyć widok, wybrać mniejszy obszar lub użyć jednego z następujących
+ zasobów, aby pobrać większą ilość danych:'
planet:
title: Planeta OSM
description: Regularnie aktualizowane kopie całej bazy danych OpenStreetMap
title: Metro Extracts
description: Migawki dużych miast i otaczających je obszarów
other:
- title: Inne źródła
- description: Dodatkowe źródła wymienione w OpenStreetMap wiki
+ title: Inne zasoby
+ description: Dodatkowe zasoby wymienione w OpenStreetMap wiki
options: Opcje
format: Format
scale: Skala
- max: max
- image_size: Rozmiar obrazka
- zoom: Zoom
- add_marker: Dodaj pinezkę na mapie
+ max: maks
+ image_size: Rozmiar obrazu
+ zoom: Przybliżenie
+ add_marker: Dodaj znacznik na mapie
latitude: 'Szer:'
longitude: 'Dł:'
output: Wynik
paste_html: Wklej podany kod HTML do swojej strony
- export_button: Eksportuj
+ export_button: Wyeksportuj
geocoder:
search:
title:
Nominatim</a>
geonames_reverse: Wyniki z <a href="http://www.geonames.org/">GeoNames</a>
search_osm_nominatim:
+ prefix_format: '%{name}'
prefix:
aerialway:
cable_car: Kolejka linowa
boat_rental: Wypożyczalnia łodzi
brothel: Dom publiczny
bureau_de_change: Kantor
- bus_station: Stacja autobusowa
+ bus_station: Dworzec autobusowy
cafe: Kawiarnia
car_rental: Wynajem samochodów
car_sharing: Dzielenie się samochodami
car_wash: Myjnia samochodowa
casino: Kasyno
- charging_station: Stacja paliw
+ charging_station: Stacja ładowania pojazdów elektrycznych
childcare: Opieka nad dziećmi
cinema: Kino
clinic: Przychodnia
clock: Zegar
- college: Uczelnia
+ college: Szkoła policealna
community_centre: Centrum społeczności
courthouse: Sąd
crematorium: Krematorium
dentist: Gabinet dentystyczny
doctors: Lekarze
- dormitory: Bursa
+ dormitory: Akademik/internat
drinking_water: Źródło wody pitnej
- driving_school: Nauka jazdy
+ driving_school: Szkoła nauki jazdy
embassy: Ambasada
emergency_phone: Telefon alarmowy
- fast_food: Fast Food
+ fast_food: Bar (fast food)
ferry_terminal: Terminal promowy
fire_hydrant: Hydrant
fire_station: Remiza strażacka
- food_court: Targ z żywnością
+ food_court: Współdzielone miejsce do spożywania posiłków
fountain: Fontanna
- fuel: Stacja benzynowa
+ fuel: Stacja paliw
gambling: Hazard
- grave_yard: Mniejszy cmentarz
+ grave_yard: Cmentarz przykościelny
gym: Centrum Fitness / Sala Gimnastyczna
health_centre: Ośrodek zdrowia
hospital: Szpital
parking_entrance: Wjazd na parking
pharmacy: Apteka
place_of_worship: Miejsce kultu
- police: Policja
+ police: Policja lub straż miejska/gminna
post_box: Skrzynka pocztowa
- post_office: Poczta
+ post_office: Poczta-urząd pocztowy
preschool: Przedszkole
- prison: Więzienie
+ prison: Więzienie/areszt
pub: Pub
public_building: Budynek publiczny
reception_area: Recepcja
restaurant: Restauracja
retirement_home: Dom seniora
sauna: Sauna
- school: Szkoła
- shelter: Schron
+ school: Szkoła podstawowa, gimnazjum lub liceum
+ shelter: Schronienie
shop: Sklep
shower: Prysznic
social_centre: Centrum społeczne
telephone: Budka telefoniczna
theatre: Teatr
toilets: Toaleta publiczna
- townhall: Urząd miejski
+ townhall: Urząd miejski / Urząd gminy
university: Uniwersytet
vending_machine: Automat do sprzedaży
veterinary: Weterynarz
village_hall: Urząd gminy
waste_basket: Kosz na śmieci
- waste_disposal: Kosz na śmieci
+ waste_disposal: Śmietnik
youth_centre: Centrum młodzieżowe
boundary:
administrative: Granica administracyjna
aqueduct: Akwedukt
suspension: Most wiszący
swing: Most obrotowy
- viaduct: Wiadukt
+ viaduct: Most wieloprzęsłowy
"yes": Most
building:
"yes": Budynek
construction: Droga w trakcie budowy
cycleway: Droga rowerowa
elevator: Winda
- emergency_access_point: Punkt awaryjny
- footway: Chodnik
+ emergency_access_point: Miejsce zbiórki ewakuacyjnej
+ footway: Droga dla pieszych
ford: Bród
- living_street: Strefa zamieszkania
- milestone: Punkt kontrolny
- motorway: Autostrada
- motorway_junction: Skrzyżowanie autostrad
- motorway_link: Autostrada – dojazd
+ living_street: Strefa zamieszkania (znak D-40)
+ milestone: Słupek pikietażowy
+ motorway: autostrada
+ motorway_junction: Węzeł autostradowy
+ motorway_link: Autostrada - dojazd
path: Ścieżka
pedestrian: Droga dla pieszych
platform: Miejsce oczekiwania dla pasażerów
road: Droga
secondary: Droga drugorzędna
secondary_link: Droga drugorzędna – dojazd
- service: Droga serwisowa
+ service: Droga serwisowa/dojazdowa
services: Miejsce Obsługi Podróżnych
- speed_camera: Radar
+ speed_camera: Fotoradar
steps: Schody
street_lamp: Lampa uliczna
tertiary: Droga trzeciorzędna
track: Droga polna lub leśna
traffic_signals: Sygnalizacja świetlna
trail: Szlak
- trunk: Droga główna
- trunk_link: Droga szybkiego ruchu – dojazd
+ trunk: Droga główna/ekspresowa
+ trunk_link: Droga główna/ekspresowa – dojazd
unclassified: Droga czwartorzędna
unsurfaced: Droga polna lub leśna
"yes": Droga
house: Dom
icon: Ikona
manor: Dwór
- memorial: Pomnik/miejsce pamięci
+ memorial: Pomnik/miejsce pamięci (mały)
mine: Kopalnia
- monument: Monument
+ monument: Pomnik/miejsce pamięci (duży)
roman_road: Droga rzymska
ruins: Ruiny
stone: Kamień
tomb: Grób
tower: Wieża
wayside_cross: Przydrożny krzyż
- wayside_shrine: Przydrożna kaplica
- wreck: Wrak
+ wayside_shrine: Przydrożna kapliczka
+ wreck: Zatopiony statek
junction:
"yes": Funkcja
landuse:
allotments: Ogródki działkowe
- basin: Dorzecze
+ basin: Basen-zbiornik
brownfield: Grunty poprzemysłowe
cemetery: Cmentarz
commercial: Obszar handlowo-usługowy
dog_park: Park dla psów
fishing: Łowisko
fitness_centre: Centrum Fitness
- fitness_station: Fitness
+ fitness_station: Siłownia zewnętrzna
garden: Ogród
golf_course: Pole golfowe
horse_riding: Jazda konna
park: Park
pitch: Boisko sportowe
playground: Plac zabaw
- recreation_ground: Pole rekreacyjne
+ recreation_ground: Obszar rekreacyjno-wypoczynkowy
resort: Ośrodek wypoczynkowy
sauna: Sauna
slipway: Pochylnia
island: Wyspa
land: Ląd
marsh: Bagno
- moor: Torfowisko
+ moor: Wrzosowisko
mud: Muł
peak: Szczyt
point: Punkt
saddle: Przełęcz
sand: Piasek
scree: Piarg
- scrub: Zagajnik
- spring: Źródło
- stone: Kamieniołom
+ scrub: Zarośla
+ spring: Źródło wodne
+ stone: Głaz
strait: Cieśnina
tree: Drzewo
valley: Dolina
volcano: Wulkan
water: Woda
wetland: Obszar podmokły
- wood: Puszcza
+ wood: Drzewa
office:
accountant: Księgowy
administrative: Administracja
company: Przedsiębiorstwo
employment_agency: Urząd pracy
estate_agent: Biuro nieruchomości
- government: Biura rządowe
+ government: Biuro rządowe/samorządowe
insurance: Biuro ubezpieczeń
lawyer: Prawnik
ngo: Biuro organizacji pozarządowych
island: Wyspa
islet: Wysepka
isolated_dwelling: Pojedynczy dom-gospodarstwo
- locality: Miejsce niezaludnione
+ locality: Miejsce nazwane
moor: Wrzosowisko
municipality: Gmina
neighbourhood: Sąsiedztwo
postcode: Kod pocztowy
region: Rejon
sea: Morze
- state: Stan
+ state: Województwo/stan/prowincja
subdivision: Dzielnica
suburb: Osiedle
- town: Miasteczko
+ town: Miasto
unincorporated_area: Obszar poza miejscowościami
village: Wieś
"yes": Miejsce
subway: Metro
subway_entrance: Wejście na stację metra
switch: Zwrotnica
- tram: Linia tramwajowa
+ tram: Tory tramwajowe
tram_stop: Przystanek tramwajowy
shop:
alcohol: Sklep monopolowy
bicycle: Sklep rowerowy
books: Księgarnia
boutique: Butik
- butcher: Rzeźnik
+ butcher: Sklep mięsny
car: Sklep samochodowy
car_parts: Sklep z częściami samochodowymi
car_repair: Naprawa samochodów
clothes: Sklep odzieżowy
computer: Sklep komputerowy
confectionery: Cukiernia
- convenience: Mały sklep wielobranżowy
+ convenience: Sklep ogólnospożywczy
copyshop: Ksero
cosmetics: Sklep kosmetyczny
deli: Delikatesy
tourism:
alpine_hut: Chata alpejska
apartment: Mieszkanie
- artwork: Sztuka
+ artwork: Dzieło sztuki
attraction: Atrakcja turystyczna
bed_and_breakfast: Bed and Breakfast
cabin: Kabina
towns: Miasta
places: Miejsca
results:
- no_results: Nie znaleziono
+ no_results: Nie odnaleziono wyników
more_results: Więcej wyników
layouts:
+ project_name:
+ title: OpenStreetMap
+ h1: OpenStreetMap
logo:
alt_text: Logo OpenStreetMap
- home: Przejdź do lokalizacji domu
- logout: Wyloguj się
+ home: Przejdź do położenia domu
+ logout: Wyloguj
log_in: Zaloguj się
log_in_tooltip: Zaloguj się
sign_up: Zarejestruj się
sign_up_tooltip: Załóż konto, aby edytować
edit: Edycja
history: Zmiany
- export: Eksport
+ export: Eksportowanie
data: Dane
export_data: Eksportuj dane
gps_traces: Ślady GPS
gps_traces_tooltip: Zarządzanie śladami GPS
- user_diaries: Dzienniczki
- user_diaries_tooltip: Przeglądaj dzienniczki użytkownika
+ user_diaries: Dzienniki
+ user_diaries_tooltip: Przeglądaj dzienniki użytkownika
edit_with: Edytuj w %{editor}
tag_line: Wolna wikimapa świata
intro_header: Witamy w OpenStreetMap!
partners_ic: Imperial College London
partners_bytemark: Hosting Bytemark
partners_partners: partnerzy
+ partners_url: http://wiki.openstreetmap.org/wiki/partners
osm_offline: Baza danych OpenStreetMap jest niedostępna na czas ważnych zadań
administracyjnych, które są w tym momencie wykonywane.
osm_read_only: Baza danych OpenStreetMap jest w trybie tylko-do-odczytu na czas
korzystania z API</a>, <a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">Polityką
korzystania z kafelków</a> oraz <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">Polityką
korzystania z Nominatima</a>.
- contributors_title_html: Dane włączone do OpenStreetMap
+ contributors_title_html: Współtwórcy
contributors_intro_html: 'Autorami są tysiące osób. Uwzględniamy również licencjonowane
dane na otwartej zasadzie z krajowych agencji kartograficznych i innych źródeł,
wśród nich:'
aby udoskonalić OpenStreetMap, są dostępne na stronie
<a href="http://wiki.openstreetmap.org/wiki/Contributors">Contributors (en)</a>.
contributors_footer_2_html: Włączenie danych do OpenStreetMap nie musi oznaczać,
- że podmiot będący ich źródłem popiera OpenStreetMap, udziela jakiejkolwiek
+ że udostępniający je podmiot popiera OpenStreetMap, udziela jakiejkolwiek
gwarancji lub ponosi jakąkolwiek odpowiedzialność.
infringement_title_html: Naruszenia praw autorskich
infringement_1_html: Użytkownicy OpenStreetMap powinni pamiętać, aby nigdy nie
usuwania danych</a> lub <a href="http://dmca.openstreetmap.org/">wypełnij
formularz on-line</a>.
trademarks_title_html: <span id="trademarks"></span>Znaki towarowe
- trademarks_1_html: OpenStreetMap i jej logo są zastrzeżonymi znakami towarowymi
- fundacji OpenStreetMap. Jeśli masz pytania dotyczące używania znaków, prosimy,
- prz<a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group"></a>eślij
- Swoje pytania do <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">grupy
+ trademarks_1_html: OpenStreetMap, logo i nazwa State of the Map są zastrzeżonymi
+ znakami towarowymi Fundacji OpenStreetMap. Jeśli masz pytania dotyczące ich
+ używania, prześlij swoje pytania do <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">grupy
roboczej ds. licencji</a>.
welcome_page:
- title: Witaj!
+ title: Witamy!
introduction_html: Witamy w OpenStreetMap, wolnej mapie świata. Teraz gdy masz
już konto, możesz przystąpić do mapowania. Oto krótki przewodnik z najważniejszymi
rzeczami, o których musisz wiedzieć.
autorskie i licencja</a> by zobaczyć szczegóły.'
legal_title: Pytania prawne
legal_html: |-
- Ta strona internetowa i inne usługi z tym związane prowadzone są formalnie przez <a href="http://osmfoundation.org/">OpenStreetMap Foundation</a> (OSMF) w imieniu społeczeństwa.
- <br>
- Proszę, <a href="http://osmfoundation.org/Contact">skontaktuj się z OSMF</a>, jeśli masz problem z licencjami, prawami autorskimi lub innymi prawnymi problemami.
+ Ta strona internetowa i inne usługi z tym związane prowadzone są formalnie przez <a href="http://osmfoundation.org/">OpenStreetMap Foundation</a> (OSMF) w imieniu społeczeństwa. Korzystanie z wszystkich usług OSMF jest regulowane przez <a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
+ Politykę użytkowania</a> i naszą <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">Politykę prywatności</a>.<br>Proszę, <a href="http://osmfoundation.org/Contact">skontaktuj się z OSMF</a>, jeśli masz problem z licencjami, prawami autorskimi lub innymi prawnymi problemami.
partners_title: Partnerzy
notifier:
diary_comment_notification:
- subject: '[OpenStreetMap] Użytkownik %{user} skomentował Twój wpis w pamiętniku'
+ subject: '[OpenStreetMap] Użytkownik %{user} skomentował wpis dziennika'
hi: Witaj %{to_user},
- header: '%{from_user} zostawił(a) komentarz do twojego wpisu w dziennikach OpenStreetMap
+ header: '%{from_user} zostawił(a) komentarz do wpisu w dziennikach OpenStreetMap
o temacie %{subject}:'
footer: Możesz również przeczytać komentarz pod %{readurl}, skomentować go pod
%{commenturl} lub odpowiedzieć pod %{replyurl}
message_notification:
+ subject_header: '[OpenStreetMap] %{subject}'
hi: Witaj %{to_user},
header: '%{from_user} wysłał do Ciebie wiadomość z OpenStreetMap o temacie %{subject}:'
footer_html: Możesz również przeczytać wiadomość na %{readurl} i odpowiedzieć
more_info_1: Więcej informacji na temat błędów przesyłania danych GPX i sposobach
ich
more_info_2: 'uniknięcia można znaleźć na stronie:'
+ import_failures_url: http://wiki.openstreetmap.org/wiki/GPX_Import_Failures
success:
subject: '[OpenStreetMap] Sukces importu pliku GPX'
- loaded_successfully: udało się wczytać, wraz z %{trace_points} z %{possible_points}
+ loaded_successfully: wczytano wraz z %{trace_points} z %{possible_points}
punktów łącznie.
signup_confirm:
subject: '[OpenStreetMap] Witamy w OpenStreetMap'
anonymous: Anonimowy użytkownik
greeting: Witaj,
commented:
- subject_own: '[OpenStreetMap] %{commenter} skomentował Twoją uwagę'
+ subject_own: '[OpenStreetMap] Użytkownik %{commenter} skomentował uwagę'
subject_other: '[OpenStreetMap] %{commenter} skomentował interesującą Cię
uwagę'
your_note: '%{commenter} zostawił komentarz do jednej z Twoich uwag na mapie
w lokalizacji: %{place}.'
- commented_note: '%{commenter} zostawił komentarz do uwagę, którą skomentowałeś.
- Znajduje się ona w lokalizacji: %{place}.'
+ commented_note: Użytkownik %{commenter} zostawił komentarz do skomentowanej
+ uwagi. Znajduje się ona w położeniu %{place}.
closed:
subject_own: '[OpenStreetMap] %{commenter} rozwiązał Twoją uwagę'
subject_other: '[OpenStreetMap] %{commenter} rozwiązał interesującą Cię uwagę'
your_note: '%{commenter} rozwiązał jedną z Twoich uwag na mapie w lokalizacji:
%{place}.'
- commented_note: '%{commenter} rozwiązał uwagę, którą skomentowałeś. Znajduje
- się ona w lokalizacji: %{place}.'
+ commented_note: 'Użytkonik %{commenter} rozwiązał skomentowaną uwagę. Znajduje
+ się ona w położeniu: %{place}.'
reopened:
subject_own: '[OpenStreetMap] %{commenter} ponownie aktywował jedną z Twoich
uwag'
Cię uwagę'
your_note: '%{commenter} ponownie aktywował jedną z Twoich uwag na mapie w
lokalizacji: %{place}'
- commented_note: '%{commenter} ponownie aktywował uwagę, którą skomentowałeś.
- Znajduje się ona w lokalizacji: %{place}.'
+ commented_note: Użytkownik %{commenter} ponownie aktywował skomentowaną uwagę.
+ Znajduje się ona w położeniu %{place}.
details: 'Więcej informacji na temat uwagi można znaleźć pod adresem: %{url}.'
changeset_comment_notification:
greeting: Cześć,
inbox:
title: Wiadomości odebrane
my_inbox: skrzynka odbiorcza
- outbox: nadawcza
+ outbox: skrzynka nadawcza
messages: Masz %{new_messages} i %{old_messages}
new_messages:
few: '%{count} nowe wiadomości'
other: '%{count} starych wiadomości'
from: Od
subject: Temat
- date: Nadano
+ date: Data
no_messages_yet: Nie masz jeszcze wiadomości. Może skontaktujesz się z %{people_mapping_nearby_link}?
people_mapping_nearby: użytkownikami z Twojej okolicy
message_summary:
subject: Temat
body: Treść
send_button: Wyślij
- back_to_inbox: Powrót do skrzynki
+ back_to_inbox: Wróć do skrzynki
message_sent: Wiadomość wysłana
limit_exceeded: Masz ostatnio wiele wysłanych wiadomości. Proszę poczekać chwilę
przed powtórzeniem wysłania.
inbox: odbiorcza
outbox: nadawcza
messages:
- one: Masz %{count} wysłaną wiadomość
- other: Masz %{count} wysłanych wiadomości
+ one: '%{count} wysłana wiadomość'
+ few: '%{count} wysłane wiadomości'
+ other: '%{count} wysłanych wiadomości'
to: Do
subject: Temat
date: Nadano
back: Cofnij
to: Do
wrong_user: Jesteś zalogowany jako „%{user}”, ale wiadomość, którą chcesz przeczytać,
- nie została wysłana przez ani do tego użytkownika. Zaloguj się jako właściwy
- użytkownik, aby ją przeczytać.
+ nie została wysłana przez tego użytkownika ani do niego. Proszę zalogować
+ się jako właściwy użytkownik, aby ją przeczytać.
sent_message_summary:
delete_button: Usuń
mark:
license:
copyright: Prawa autorskie należą do OpenStreetMap i jego autorów na warunkach
otwartej licencji
- remote_failed: Edycja nie powiodła się – sprawdź, czy JOSM lub Merkaartor jest
- uruchomiony i funkcja Remote Control jest włączona
+ remote_failed: Nieudane edytowanie – proszę sprawdzić czy program JOSM lub Merkaartor
+ jest uruchomiony i funkcja Remote Control jest włączona
edit:
not_public: Nie wybrałeś(aś) by twoje edycje były publiczne.
not_public_description: W tym trybie nie można już zmieniać mapy. Możesz ustawić
je na publiczne na Twojej %{user_page}.
user_page_link: stronie użytkownika
+ anon_edits: (%{link})
anon_edits_link_text: Tu dowiesz się dlaczego.
flash_player_required: Aby korzystać z Potlacza, edytora OpenStreetMap, niezbędna
jest wtyczka Flash. Możesz <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">ściągnąć
potlatch2_unsaved_changes: Nie zapisałeś zmian. (Jeśli chcesz zapisać zmiany
w Potlatch 2 powinieneś kliknąć przycisk „zapisz”.)
id_not_configured: iD nie został skonfigurowany
- no_iframe_support: Przeglądarka, której używasz nie obsługuje HTML iframes,
- które są niezbędne dla tej funkcji.
+ no_iframe_support: Używana przeglądarka nie obsługuje HTML iframes, które są
+ niezbędne dla tej funkcji.
sidebar:
search_results: Wyniki wyszukiwania
close: Zamknij
search:
- search: Szukaj
+ search: Wyszukiwanie
get_directions: Wyznacz trasę
- get_directions_title: Znajdź trasę pomiędzy dwoma punktami
- from: Początek
- to: Koniec
+ get_directions_title: Wyznacza trasę pomiędzy dwoma punktami
+ from: Początek trasy
+ to: Koniec trasy
where_am_i: Gdzie jestem?
where_am_i_title: Określ obecną lokalizację przy użyciu wyszukiwarki
submit_text: →
key:
table:
entry:
- motorway: Autostrada
+ motorway: autostrada
main_road: Główna droga
trunk: Droga główna
primary: Droga pierwszorzędna
track: Droga polna lub leśna
bridleway: Droga dla koni
cycleway: Droga rowerowa
+ cycleway_national: droga rowerowa znaczenia państwowego
+ cycleway_regional: droga rowerowa znaczenia regionalnego
+ cycleway_local: droga rowerowa znaczenia lokalnego
footway: Droga dla pieszych
rail: Tory kolejowe
subway: Metro
- terminal
admin: 'Granica:'
forest: Las
- wood: Puszcza
+ wood: Drzewa
golf: Pole golfowe
park: Park
resident: Teren mieszkalny
- Szkoła
- uniwersytet
building: Ważny budynek
- station: Dworzec kolejowy
+ station: stacja kolejowa
summit:
- Góra
- szczyt
private: Wstęp prywatny
destination: Dostęp do punktu docelowego
construction: Drogi w budowie
+ bicycle_shop: Sklep rowerowy
+ bicycle_parking: postój dla rowerów
+ toilets: ustępy
richtext_area:
edit: Edytuj
preview: Podgląd
ordered: Uporządkowana lista
first: Pierwszy element
second: Drugi element
- link: Łącze
+ link: Odnośnik
text: Tekst
image: Obraz
alt: Tekst alternatywny
trace:
visibility:
private: Prywatny (udostępniany jedynie jako anonimowy, nieuporządkowane punkty)
- public: Publiczny (pokazywany na liście śladów i jako anonimowy, nieuporządkowane
+ public: Publiczny (wyświetlany na liście śladów i jako anonimowy, nieuporządkowane
punkty)
trackable: Niezidentyfikowany (udostępniany jedynie jako anonimowy, uporządkowane
punkty ze znacznikami czasu)
- identifiable: Zidentyfikowany (pokazywany w liście śladów i jako zidentyfikowany,
+ identifiable: Zidentyfikowany (wyświetlany na liście śladów i jako zidentyfikowany,
uporządkowane punkty ze znacznikami czasu)
create:
- upload_trace: Wgraj ślad GPS
- trace_uploaded: Twój plik GPX został wczytany i czeka na dodanie do bazy danych.
- Powinno to nastąpić w ciągu 30 minut. Wtedy też dostaniesz wiadomość z informacją
- o tym fakcie.
+ upload_trace: Wyślij ślad GPS
+ trace_uploaded: Plik GPX został wysłany i czeka na dodanie do bazy danych. Powinno
+ to nastąpić w ciągu 30 minut, a informacja o tym fakcie zostanie wysłana wiadomością.
edit:
title: Edycja śladu %{name}
heading: Edycja śladu %{name}
filename: 'Nazwa pliku:'
download: pobierz
uploaded_at: 'Wysłano:'
- points: 'Punkty:'
+ points: 'Liczba punktów:'
start_coord: 'Współrzędne początkowe:'
map: mapa
edit: edytuj
save_button: Zapisz zmiany
visibility: 'Widoczność:'
visibility_help: co to znaczy?
+ visibility_help_url: http://wiki.openstreetmap.org/wiki/Pl:Visibility_of_GPS_traces
trace_form:
upload_gpx: Prześlij plik GPX
description: Opis
tags_help: rozdzielone przecinkami
visibility: Widoczność
visibility_help: co to znaczy?
- upload_button: Wgrywaj
+ visibility_help_url: http://wiki.openstreetmap.org/wiki/Pl:Visibility_of_GPS_traces
+ upload_button: Wyślij
help: Pomoc
+ help_url: http://wiki.openstreetmap.org/wiki/Pl:Upload
trace_header:
upload_trace: Wyślij ślad
- see_all_traces: Zobacz wszystkie ślady
- see_your_traces: Zobacz wszystkie Twoje ślady
+ see_all_traces: Wyświetl wszystkie ślady
+ see_your_traces: Wyświetl swoje ślady
traces_waiting:
- few: Masz %{count} ślady oczekujące na dodanie. Poczekaj aż wgrywanie ich
- zostanie zakończone przed dodaniem kolejnych, aby nie blokować kolejki innym
- użytkownikom.
- many: Masz %{count} oczekujących na dodanie śladów. Poczekaj aż wgrywanie
- ich zostanie zakończone przed dodaniem kolejnych, aby nie blokować kolejki
- innym użytkownikom.
- one: Masz %{count} ślad oczekujący na dodanie. Poczekaj aż wgrywanie go zostanie
- zakończone przed dodaniem kolejnych, aby nie blokować kolejki innym użytkownikom.
- other: Masz %{count} oczekujących na dodanie śladów. Poczekaj aż wgrywanie
- ich zostanie zakończone przed dodaniem kolejnych, aby nie blokować kolejki
- innym użytkownikom.
+ one: '%{count} ślad oczekuje na wysłanie. Proszę zaczekać na zakończenie jego
+ wysyłania przed dodaniem kolejnych, aby nie blokować kolejki innym użytkownikom.'
+ few: '%{count} ślady oczekują na wysłanie. Proszę zaczekać na zakończenie
+ ich wysyłania przed dodaniem kolejnych, aby nie blokować kolejki innym użytkownikom.'
+ other: '%{count} śladów oczekuje na wysłanie. Proszę zaczekać na zakończenie
+ ich wysyłania przed dodaniem kolejnych, aby nie blokować kolejki innym użytkownikom.'
trace_optionals:
tags: Tagi
view:
title: Przeglądanie śladu %{name}
heading: Przeglądanie śladu %{name}
pending: OCZEKUJE
- filename: 'Plik:'
+ filename: 'Nazwa pliku:'
download: pobierz
- uploaded: 'Dodano:'
- points: 'Punktów:'
+ uploaded: 'Czas dodania:'
+ points: 'Liczba punktów:'
start_coordinates: 'Współrzędne początkowe:'
map: mapa
edit: edycja
tags: 'Tagi:'
none: Brak
edit_track: Edytuj ten ślad
- delete_track: Wykasuj ten ślad
- trace_not_found: Ślad nie znaleziony!
+ delete_track: Usuń ten ślad
+ trace_not_found: Nie odnaleziono śladu!
visibility: 'Widoczność:'
trace_paging_nav:
showing_page: Strona %{page}
count_points: '%{count} punktów'
ago: '%{time_in_words_ago} temu'
more: więcej
- trace_details: Pokaż szczegóły śladu
- view_map: Pokaż mapę
+ trace_details: Wyświetl szczegóły śladu
+ view_map: Wyświetl mapę
edit: edycja
- edit_map: Edytuj Mapę
+ edit_map: Edytuj mapę
public: PUBLICZNY
identifiable: IDENTYFIKOWALNY
private: PRYWATNY
map: mapa
list:
public_traces: Publiczne ślady GPS
- your_traces: Twoje ślady GPS
+ your_traces: Własne ślady GPS
public_traces_from: Publiczne ślady GPS użytkownika %{user}
- description: Przeglądaj najnowsze dodane ścieżki GPS
+ description: Przeglądanie ostatnio dodanych śladów GPS
tagged_with: ' otagowane %{tags}'
empty_html: Nic tu jeszcze nie ma. <a href='%{upload_link}'>Prześlij nowy ślad</a>
lub dowiedz się więcej o śledzeniu GPS na <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>stronie
wiki</a>.
delete:
- scheduled_for_deletion: Ślad oczekuje na skasowanie
+ scheduled_for_deletion: Ślad oczekuje na usunięcie
make_public:
made_public: Ślad stał się publicznie dostępny
offline_warning:
description_without_count: Plik GPX od %{user}
application:
require_cookies:
- cookies_needed: Wydaje się, że masz wyłączoną obsługę cookies (ciasteczek) w
- swojej przeglądarce internetowej – włącz ją, zanim przejdziesz dalej.
+ cookies_needed: Wygląda na to, że wyłączono obsługę ciasteczek w przeglądarce.
+ Proszę ją włączyć przed kontynuowaniem.
require_moderator:
not_a_moderator: Musisz być moderatorem, aby wykonać tą akcję.
setup_user_auth:
oauth:
oauthorize:
title: Autoryzuj dostęp do Twojego konta
- request_access: Aplikacja %{app_name} żąda dostępu do Twojego konta użytkownika
- - %{user}. Sprawdź, czy chcesz pozwolić aplikacji na poniższe działania. Możesz
- wybrać dowolną liczbę opcji.
+ request_access: Aplikacja %{app_name} żąda dostępu do konta użytkownika %{user}.
+ Proszę potwierdzić przyznanie aplikacji poniższych uprawnień. Można wybrać
+ dowolną liczbę opcji.
allow_to: 'Zezwól aplikacji klienckiej na:'
allow_read_prefs: odczytywanie preferencji konta
- allow_write_prefs: modyfikowanie preferencji Twojego konta
+ allow_write_prefs: modyfikowanie preferencji konta
allow_write_diary: tworzenie wpisów w dzienniku, dopisywanie komentarzy i nawiązywanie
kontaktów.
- allow_write_api: modyfikuj mapę
- allow_read_gpx: odczytywanie Twoich osobistych śladów GPS
- allow_write_gpx: prześlij ślady GPS
+ allow_write_api: modyfikowanie mapy
+ allow_read_gpx: odczytywanie prywatnych śladów GPS
+ allow_write_gpx: przesyłanie śladów GPS
allow_write_notes: modyfikowanie uwag.
grant_access: Zezwól dostęp
oauthorize_success:
- title: Żądanie autoryzacji dozwolone
- allowed: Dałeś aplikacji %{app_name} dostęp do twojego konta.
+ title: Dozwolone żądanie uwierzytelnienia
+ allowed: Przyznano dostęp do konta aplikacji %{app_name}.
verification: Kod weryfikacyjny to %{code}.
oauthorize_failure:
- title: Żądanie autoryzacji nie powiodło się
- denied: Zakazano aplikacji %{app_name} dostępu do twojego konta.
- invalid: Nieprawidłowy token do autoryzacji.
+ title: Nieudane żądanie uwierzytelnienia
+ denied: Odmówiono dostępu do konta aplikacji %{app_name}.
+ invalid: Token uwierzytelnienia jest nieprawidłowy.
revoke:
- flash: Cofnąłeś prawa dostępu dla aplikacji %{application}
+ flash: Odwołano uprawnienia aplikacji %{application}
oauth_clients:
new:
- title: Rejestracja nowej aplikacji
+ title: Rejestrowanie nowej aplikacji
submit: Zarejestruj
edit:
title: Edycja aplikacji
delete: Usuń klienta
confirm: Jesteś pewien?
requests: 'Zapytanie następujących uprawnień ze strony użytkownika:'
- allow_read_prefs: odczytywanie ich ustawień.
- allow_write_prefs: modyfikacja ich ustawień.
- allow_write_diary: tworzenie wpisów w dzienniku, dopisywanie komentarzy i nawiązywanie
- kontaktów.
- allow_write_api: modyfikacja mapy.
- allow_read_gpx: odczytywanie ich śladów GPS.
- allow_write_gpx: przesyłanie śladów GPS.
- allow_write_notes: modyfikowanie uwag.
+ allow_read_prefs: Odczytywanie ustawień użytkownika
+ allow_write_prefs: Modyfikowanie ustawień użytkownika
+ allow_write_diary: Tworzenie wpisów w dzienniku, komentowanie i dodawanie znajomych
+ allow_write_api: Modyfikowanie mapy
+ allow_read_gpx: Odczytywanie prywatnych śladów GPS
+ allow_write_gpx: Przesyłanie śladów GPS.
+ allow_write_notes: Modyfikowanie uwag
index:
- title: Szczegóły autoryzacji OAuth
+ title: Szczegóły uwierzytelnienia OAuth
my_tokens: Zarejestrowane programy
- list_tokens: 'Następujące tokeny zostały wydane do aplikacji w twoim imieniu:'
+ list_tokens: 'Wydano następujące tokeny aplikacjom w imieniu użytkownika:'
application: Nazwa aplikacji
- issued_at: Wydane
+ issued_at: Czas wydania
revoke: Odwołaj!
my_apps: Programy klienckie
- no_apps: Czy chcesz zarejestrować programy korzystające ze standardu %{oauth}?
+ no_apps: Poniżej zarejestrować można programy korzystające ze standardu %{oauth}.
Programy muszą być wcześniej zarejestrowane, nim będzie można skorzystać z
- zapytań OAuth do tego serwisu.
- registered_apps: 'Masz zarejestrowane następujące aplikacje klienckie:'
+ zapytań OAuth do tej usługi.
+ registered_apps: 'Zarejestrowano następujące aplikacje klienckie:'
register_new: Zarejestruj swoją aplikację
form:
name: Nazwa
email or username: 'Adres email lub nazwa użytkownika:'
password: Hasło
openid: '%{logo} OpenID:'
- remember: 'Pamiętaj mnie:'
+ remember: Zapamiętanie danych uwierzytelniających
lost password link: Zapomniałeś hasła?
login_button: Zaloguj się
register now: Zarejestruj się
windowslive:
title: Zaloguj przez Windows Live
alt: Zaloguj przez konto Windows Live
+ github:
+ title: Loguje za pomocą GitHub
+ alt: Zaloguj przy użyciu konta GitHub
yahoo:
title: Zaloguj używając Yahoo
alt: Zaloguj używając Yahoo OpenID
uczestnictwa</a>.
email address: 'Adres e-mail:'
confirm email address: 'Potwierdzenie adresu e-mail:'
- not displayed publicly: Informacje nie wyświetlane publicznie (zobacz <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="polityka prywatności zawierająca sekcję o adresach e-mail">politykę
- prywatności</a>)
+ not displayed publicly: Twój adres nie będzie wyświetlany publicznie, zobacz
+ naszą <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="polityka
+ prywatności OSMF zawierająca sekcję o adresach el-pocztowych">politykę prywatności</a>
+ aby uzyskać więcej informacji.
display name: 'Przyjazna nazwa:'
display name description: Twoja publiczna nazwa użytkownika. Można ją później
zmienić w ustawieniach.
terms declined: Jest nam przykro, że zdecydowałeś się nie przyjmować nowych
Warunków uczestnictwa. Więcej informacji możesz znaleźć <a href="%{url}">na
tej stronie</a>.
+ terms declined url: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
terms:
title: Warunki uczestnictwa
heading: Warunki uczestnictwa
consider_pd: Oprócz powyższych warunków, stwierdzam również, że mój wkład jest
w domenie publicznej
consider_pd_why: co to oznacza?
+ consider_pd_why_url: http://wiki.osmfoundation.org/w/index.php?title=Licence_and_Legal_FAQ/Why_would_I_want_my_contributions_to_be_public_domain&redirect=no
guidance: 'Informacje, które pomogą zrozumieć te warunki: <a href="%{summary}">w
formie czytelnego podsumowania</a> oraz <a href="%{translations}">nieoficjalne
tłumaczenia</a>'
agree: Akceptuję
+ declined: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
decline: Nie akceptuję
you need to accept or decline: Prosimy przeczytać i następnie przyjąć lub odrzucić
nowe Warunki uczestnictwa, aby kontynuować.
może skorzystano z nieprawidłowego odnośnika.
deleted: usunięty
view:
- my diary: mój dziennik
+ my diary: Dziennik
new diary entry: nowy wpis w dzienniku
- my edits: moje zmiany
- my traces: moje ślady
- my notes: moje uwagi
- my messages: moje wiadomości
- my profile: mój profil
- my settings: moje ustawienia
- my comments: moje komentarze
+ my edits: Zmiany
+ my traces: Ślady
+ my notes: Uwagi
+ my messages: Wiadomości
+ my profile: Profil
+ my settings: Ustawienia
+ my comments: Komentarze
oauth settings: ustawienia oauth
blocks on me: Otrzymane blokady
blocks by me: Nałożone blokady
status: 'Stan:'
spam score: 'Punktacja spamu:'
description: Opis
- user location: Lokalizacja użytkownika
+ user location: Położenie użytkownika
if set location: Podaj swoją lokalizację na stronie %{settings_link}, aby zobaczyć
użytkowników blisko ciebie.
settings_link_text: stronie ustawień
friend: Znajomy
account:
title: Zmiana ustawień konta
- my settings: moje ustawienia
+ my settings: Ustawienia
current email address: 'Aktualny adres e-mail:'
new email address: 'Nowy adres e-mail:'
email never displayed publicly: (nie jest wyświetlany publicznie)
link text: co to jest?
public editing:
heading: 'Edycje publiczne:'
- enabled: Włączone. Nie anonimowy i uprawniony do edycji danych.
+ enabled: Włączone. Nie anonimowy i uprawniony do edycji danych.
enabled link: http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits
enabled link text: co to jest?
disabled: Wyłączone i nieuprawniony do edycji danych, wszystkie wcześniejsze
review link text: Na tej stronie możesz zapoznać się z nowymi Warunkami uczestnictwa
i je zaakceptować.
agreed_with_pd: Zadeklarowałeś, że twoje edycje publikujesz w domenie publicznej.
+ link: http://wiki.osmfoundation.org/w/index.php?title=Licence/Contributor_Terms&redirect=no
link text: co to jest?
profile description: 'Opis profilu:'
preferred languages: 'Preferowane języki:'
preferred editor: 'Preferowany edytor:'
- image: 'Grafika:'
+ image: 'Obraz:'
gravatar:
- gravatar: Użyj Gravatara
+ gravatar: Użycie Gravatara
+ link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: co to jest?
- new image: Dodaj grafikę
+ disabled: '"Gravatar" został wyłączony.'
+ enabled: Wyświetlanie Twojego "Gravataru" zostało włączone.
+ new image: Dodanie obrazu
keep image: Pozostaw dotychczasową ilustrację
- delete image: Usuń obecną grafikę
+ delete image: Usunięcie aktualnego obrazu
replace image: Zmień obecną grafikę
image size hint: (najlepiej sprawdzają się kwadratowe obrazy o rozmiarach przynajmniej
100x100)
- home location: 'Lokalizacja domowa:'
+ home location: 'Położenie domu:'
no home location: Nie wpisałeś swojej lokalizacji domowej.
latitude: 'Szerokość:'
longitude: 'Długość geograficzna:'
- update home location on click: Aktualizować lokalizację, kiedy klikam na mapie?
+ update home location on click: Uaktualnianie położenia kliknięciem na mapie
save changes button: Zapisz zmiany
make edits public button: Niech wszystkie edycje będą publiczne.
- return to profile: Powrót do profilu
+ return to profile: Wróć do profilu
flash update success confirm needed: Zaktualizowano profil użytkownika. Sprawdź
czy przyszedł już mail potwierdzający nowy adres mailowy.
flash update success: Zaktualizowano profil użytkownika.
introduction_1: Wysłaliśmy ci e-mail z potwierdzeniem.
introduction_2: Potwierdź swoje konto klikając na link w wiadomości i zacznij
mapować.
- press confirm button: Użyj poniższego przycisku aby aktywować Twoje konto.
+ press confirm button: Proszę kliknąć poniższy przycisk, aby aktywować konto.
button: Potwierdzam
success: Twoje konto zostało zatwierdzone, cieszymy się że do nas dołączyłeś!
already active: To konto zostało potwierdzone.
aktywujesz swoje konto, będziesz mógł zacząć edytować mapę.<br /><br />Jeśli
używasz systemu antyspamowego, upewnij się, że do swojej białej listy dodałeś
adres %{sender}. Dzięki temu będziemy mogli skontaktować się z tobą bez problemów.
- failure: Brak użytkownika %{name}.
+ failure: Nie odnaleziono użytkownika %{name}.
confirm_email:
heading: Porwierdzenie zmiany adresu mailowego
- press confirm button: Użyj poniższego przycisku aby potwierdzić Twój nowy adres
- e-mail.
+ press confirm button: Proszę kliknąć poniższy przycisk, aby potwierdzić nowy
+ adres e-mail.
button: Potwierdzam
success: Potwierdzenie zmiany adresu mailowego
failure: Adres email o tym kodzie był już potwierdzony.
unknown_token: Ten kod potwierdzający wygasł lub nie istnieje.
set_home:
- flash success: Nowa lokalizacja domowa zapisana
+ flash success: Zapisano nowe położenie domu
go_public:
flash success: Wszystkie Twoje modyfikacje są od teraz publiczne i jesteś uprawniony/a
do edycji.
make_friend:
- heading: Dodać %{user} do listy przyjaciół?
+ heading: Dodać %{user} do grona znajomych?
button: Dodaj do listy przyjaciół
- success: '%{name} jest teraz twoim znajomym!'
- failed: Niestety dodanie %{name} jako znajomego nie powiodło się.
- already_a_friend: '%{name} już jest Twoim gronie znajomych.'
+ success: '%{name} należy teraz do grona znajomych!'
+ failed: Nie udało się dodać %{name} do grona znajomych.
+ already_a_friend: '%{name} już jest znajomym.'
remove_friend:
- heading: Usunąć %{user} z przyjaciół?
+ heading: Usunąć %{user} z grona znajomych?
button: Usuń z przyjaciół
- success: '%{name} został wyłączony z grona Twoich znajomych.'
- not_a_friend: '%{name} nie był Twoim znajomym.'
+ success: Usunięto %{name} z grona znajomych.
+ not_a_friend: '%{name} nie należy do grona znajomych.'
filter:
not_an_administrator: Musisz mieć uprawnienia administratora do wykonania tego
działania.
not_found:
sorry: Niestety, nie udało się odnaleźć blokady użytkownika o identyfikatorze
%{id}.
- back: Powrót do spisu
+ back: Wróć do spisu
new:
title: Tworzenie blokady użytkownika %{name}
heading: Tworzenie blokady użytkownika %{name}
tried_waiting: Dałem(-am) użytkownikowi rozsądny czas, aby odpowiedzieć na
te komunikaty.
needs_view: Użytkownik musi się zalogować, zanim blokada zostanie wyczyszczona
- back: Zobacz wszystkie blokady
+ back: Wyświetl wszystkie blokady
edit:
title: Edycja blokady dla użytkownika %{name}
heading: Edycja blokady dla użytkownika %{name}
do API.
submit: Uaktualnij blokadę
show: Zobacz tę blokadę
- back: Zobacz wszystkie blokady
+ back: Wyświetl wszystkie blokady
needs_view: Czy użytkownik musi zalogować się zanim blokada ulegnie wyczyszczeniu?
filter:
block_expired: Blokada zakończyła się i nie można jej edytować.
title: Udostępnij
cancel: Anuluj
image: Obraz
- link: Link lub HTML
- long_link: Link
+ link: Odnośnik lub HTML
+ long_link: Odnośnik
short_link: Krótki link
geo_uri: Geo URI
embed: HTML
- custom_dimensions: Ustaw własne wymiary
+ custom_dimensions: Własne wymiary
format: 'Format:'
scale: 'Skala:'
- image_size: Obraz będzie pokazywał standardową warstwę w rozdzielczości
+ image_size: Obraz będzie przedstawiał podstawową warstwę w rozdzielczości
download: Pobierz
short_url: Krótki URL
include_marker: Dołącz pinezkę
key:
title: Legenda
tooltip: Legenda
- tooltip_disabled: Legenda jest dostępna tylko dla warstwy podstawowej
+ tooltip_disabled: Legenda nie jest dostępna dla tej warstwy
map:
zoom:
- in: Powiększ
- out: Pomniejsz
+ in: Przybliż
+ out: Oddal
locate:
- title: Pokaż moje położenie
+ title: Wyświetl aktualne położenie
popup: Jesteś w promieniu {distance} {unit} od tego punktu
base:
standard: Podstawowa
header: Warstwy mapy
notes: Uwagi
data: Dane mapy
- overlays: Włącz nakładki do rozwiązywania problemów na mapie
+ overlays: Nakładki do rozwiązywania problemów na mapie
title: Warstwy
copyright: © <a href='%{copyright_url}'>autorzy OpenStreetMap</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Przekaż darowiznę</a>
site:
edit_tooltip: Edytuje mapę
- edit_disabled_tooltip: Powiększ, aby edytować mapę
+ edit_disabled_tooltip: Przybliż mapę, aby ją edytować
createnote_tooltip: Zgłoś błąd lub dodaj uwagę na mapie
createnote_disabled_tooltip: Przybliż mapę, by dodać uwagę
map_notes_zoom_in_tooltip: Powiększ, aby zobaczyć uwagi
- map_data_zoom_in_tooltip: Powiększ, aby zobaczyć dane mapy
- queryfeature_tooltip: Obejrzyj dane obiektu
- queryfeature_disabled_tooltip: Użyj powiększenia, aby obejrzeć dane obiektu
+ map_data_zoom_in_tooltip: Przybliż mapę, aby zobaczyć jej dane
+ queryfeature_tooltip: Wyświetl dane obiektu
+ queryfeature_disabled_tooltip: Przybliż mapę, aby obejrzeć dane obiektu
changesets:
show:
comment: Komentarz
reactivate: Ponownie aktywuj
comment_and_resolve: Skomentuj i rozwiąż
comment: Dodaj komentarz
- edit_help: Przesuń mapę i powiększ miejsce, które chcesz edytować, a następnie
- kliknij tutaj.
+ edit_help: Proszę przesunąć mapę i przybliżyć modyfikowane położenie, a następnie
+ kliknąć tutaj.
directions:
engines:
graphhopper_bicycle: Rower (GraphHopper)
mapquest_foot: Pieszo (MapQuest)
osrm_car: Samochód (OSRM)
mapzen_bicycle: Rower (Mapzen)
- mapzen_car: Auto (Mapzen)
+ mapzen_car: Samochód (Mapzen)
mapzen_foot: Pieszo (Mapzen)
directions: Opis trasy
distance: Odległość
instructions:
continue_without_exit: Kontynuuj na %{name}
slight_right_without_exit: Lekko w prawo w %{name}
+ offramp_right_without_exit: Jedź zjazdem w prawo do %{name}.
+ onramp_right_without_exit: Skręć w prawo do podjazdu do %{name}.
+ endofroad_right_without_exit: Na końcu tej drogi skręć w prawo w kierunku
+ %{name}.
+ merge_right_without_exit: Skręć w prawo w kierunku %{name}.
+ fork_right_without_exit: Na rozwidleniu dróg skręć w prawo w kierunku %{name}.
turn_right_without_exit: Skręć w prawo w %{name}
sharp_right_without_exit: Ostro w prawo w %{name}
uturn_without_exit: Zawróć wzdłuż %{name}
sharp_left_without_exit: Ostro w lewo w %{name}
turn_left_without_exit: Skręć w lewo w %{name}
+ offramp_left_without_exit: Jedź zjazdem w lewo do %{name}.
+ onramp_left_without_exit: Skręć w lewo do podjazdu do %{name}.
+ endofroad_left_without_exit: Na końcu tej drogi skręć w lewo w kierunku %{name}.
+ merge_left_without_exit: Skręć w lewo w kierunku %{name}.
+ fork_left_without_exit: Na rozwidleniu dróg skręć w prawo w kierunku %{name}.
slight_left_without_exit: Lekko w lewo w %{name}
via_point_without_exit: (przez punkt)
follow_without_exit: Jedź wzdłuż %{name}
leave_roundabout_without_exit: Opuść rondo - %{name}
stay_roundabout_without_exit: Zostań na rondzie - %{name}
start_without_exit: Zacznij na końcu %{name}
- destination_without_exit: Dojechałeś do celu
+ destination_without_exit: Osiągnięto cel trasy
against_oneway_without_exit: Ruszaj na przeciwko jednostronnego ruchu na %{name}
end_oneway_without_exit: Koniec jednostronnego ruchu na %{name}
roundabout_with_exit: Na rondzie zjedź %{exit} zjazdem w %{name}
# Author: BraulioBezerra
# Author: Brunomelnic
# Author: Cainamarques
+# Author: Cristofer Alves
# Author: Dianakc
# Author: Diego Queiroz
# Author: Fmca
# Author: Luk3
# Author: Macofe
# Author: Matheus Sousa L.T
+# Author: NMaia
# Author: Nemo bis
# Author: Nighto
# Author: Rodrigo Avila
# Author: Ruila
# Author: Tuliouel
# Author: Vgeorge
+# Author: Vitalb
# Author: Walesson
# Author: Wille
# Author: 555
Se você alterar os dados ou criar algo com os dados, pode distribuir
o produto resultante apenas sob a mesma licença. Consulte <a href='%{copyright_path}'>a página sobre direitos de autor e licenciamento</a> para mais informações.
legal_title: Jurídico
- legal_html: Esta página e vários outros serviços relacionados são formalmente
+ legal_html: "Esta página e vários outros serviços relacionados são formalmente
operados pela <a href='http://osmfoundation.org/'>OpenStreetMap Foundation</a>
- (OSMF) em nome da comunidade. <br> Por favor <a href='http://osmfoundation.org/Contact'>contate
+ (OSMF) em nome da comunidade. O uso de todos os serviços operados pela OSMF
+ está sujeito às nossas <a href=\"http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\nPolíticas
+ de Uso Aceitável</a> e à nossa <a href=\"http://wiki.osmfoundation.org/wiki/Privacy_Policy\">Política
+ de Privacidade</a>\n<br> \nPor favor <a href='http://osmfoundation.org/Contact'>contate
a OSMF</a> se tiver perguntas sobre licenciamento, direitos autorais ou outras
- questões e problemas legais.
+ questões e problemas legais."
partners_title: Parceiros
notifier:
diary_comment_notification:
track: Estrada rústica
bridleway: Hipovia
cycleway: Ciclovia
+ cycleway_national: Ciclovia nacional
+ cycleway_regional: Ciclovia regional
+ cycleway_local: Ciclovia local
footway: Caminho de pedestre
rail: Ferrovia
subway: Metrô
private: Acesso restrito
destination: Acesso local apenas
construction: Vias em construção
+ bicycle_shop: Loja de bicicletas
+ bicycle_parking: Bicicletário
+ toilets: Banheiros
richtext_area:
edit: Editar
preview: Pré-visualizar
windowslive:
title: Entrar com o Windows Live
alt: Entrar com uma Conta do Windows Live
+ github:
+ title: Entrar com o GitHub
+ alt: Entrar com conta do GitHub
yahoo:
title: Entrar com o Yahoo
alt: Entrar com um OpenID da Yahoo
do Contribuidor</a>.
email address: 'Endereço de E-mail:'
confirm email address: 'Confirme o Endereço de E-mail:'
- not displayed publicly: Não será exibido publicamente (veja a <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
+ not displayed publicly: Seu endereço não é exibido publicamente, veja a <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
title="política de privacidade no wiki incluindo a seção sobre endereços de
- e-mail">política de privacidade</a>)
+ e-mail">política de privacidade</a> para mais informações
display name: 'Nome de Exibição:'
display name description: Seu nome de usuário disponível publicamente. Você
pode mudá-lo depois nas preferências.
gravatar:
gravatar: Use o Gravatar
link text: O que é isto?
+ disabled: O Gravatar foi desativado.
+ enabled: A exibição do seu Gravatar foi ativada.
new image: Adicionar uma imagem
keep image: Manter a imagem atual
delete image: Remover a imagem atual
standard: Padrão
cycle_map: Ciclístico
transport_map: Transporte Público
- mapquest: MapQuest Open
hot: Humanitário
layers:
header: Camadas do Mapa
instructions:
continue_without_exit: Continuar em %{name}
slight_right_without_exit: Curva suave à direita para %{name}
+ offramp_right_without_exit: Pegue a via de acesso à direita na %{name}
+ onramp_right_without_exit: Vire à direita, na via de acesso, na %{name}
+ endofroad_right_without_exit: No fim da estrada, vire à direita na %{name}
+ merge_right_without_exit: Entre à direita na %{name}
+ fork_right_without_exit: Na bifurcação, vire à direita na %{name}
turn_right_without_exit: Vire à direita para %{name}
sharp_right_without_exit: Curva acentuada à direita para %{name}
uturn_without_exit: Retorno em %{name}
sharp_left_without_exit: Curva acentuada à esquerda para %{name}
turn_left_without_exit: Vire à esquerda para %{name}
+ offramp_left_without_exit: Pegue a via de acesso à esquerda na %{name}
+ onramp_left_without_exit: Vire à esquerda, na via de acesso, na %{name}
+ endofroad_left_without_exit: No fim da estrada, vire à esquerda na %{name}
+ merge_left_without_exit: Entre à esquerda na %{name}
+ fork_left_without_exit: Na bifurcação, vire à esquerda na %{name}
slight_left_without_exit: Esquerda suave para %{name}
via_point_without_exit: (ponto de passagem)
follow_without_exit: Siga %{name}
para retirar dados protegidos</a> (em inglês) ou preencha os dados diretamente
no <a href="http://dmca.openstreetmap.org/">formulário</a> (em inglês).
trademarks_title_html: <span id="trademarks"></span>Marcas registadas
- trademarks_1_html: OpenStreetMap e o respetivo logotipo são marcas registadas
- da OpenStreetMap Foundation. Se tiver alguma questão sobre a utilização das
- marcas, por favor envie as suas questões para o <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Grupo
+ trademarks_1_html: OpenStreetMap, o respetivo logótipo e State of the Map são
+ marcas registadas da OpenStreetMap Foundation. Se tiver alguma questão sobre
+ a utilização das marcas, por favor envie as suas questões para o <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Grupo
de Trabalho de Licenças</a>.
welcome_page:
title: Bem-vindo !
windowslive:
title: Iniciar sessão com Windows Live
alt: Iniciar sessão com uma conta do Windows Live
+ github:
+ title: Iniciar sessão com GitHub
+ alt: Iniciar sessão com uma conta GitHub
yahoo:
title: Iniciar sessão com Yahoo
alt: Iniciar sessão com OpenID Yahoo
de Colaboração</a>.
email address: 'E-mail:'
confirm email address: 'Confirmar E-mail:'
- not displayed publicly: Não será visível publicamente (ver <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="política de privacidade incluindo secção sobre endereços de e-mail">política
- de privacidade</a>)
+ not displayed publicly: O seu endereço de IP não será visível publicamente.
+ Consulte a <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="política
+ de privacidade OSMF, incluindo secção sobre endereços de correio eletrónico">política
+ de privacidade</a> para mais informação.
display name: 'Nome de utilizador:'
display name description: O nome de utilizador será visível publicamente. Poderá
alterar o nome posteriormente nas preferências.
# Messages for Romanian (română)
# Exported from translatewiki.net
# Export driver: phpyaml
+# Author: C1pr1an
# Author: EddyPetrisor
# Author: McDutchie
# Author: Minisarm
title: Planeta OSM
overpass:
title: Overpass API
+ geofabrik:
+ title: Descărcări Geofabrik
other:
title: Alte surse
options: Opțiuni
search_osm_nominatim:
prefix_format: '%{name}'
prefix:
+ aerialway:
+ cable_car: Telecabină
+ chair_lift: Telescaun
aeroway:
aerodrome: Aerodrom
apron: Peron de aeroport
emergency:
ambulance_station: Stație de ambulanță
defibrillator: Defibrilator
+ phone: Telefon de urgență
highway:
bridleway: Drum pentru călărie
bus_guideway: Linie de autobuz ghidată
services: Servicii pe autostradă
speed_camera: Radar cu cameră foto
steps: Scară
+ street_lamp: Lampă stradală
tertiary: Drum terțiar
tertiary_link: Drum terțiar
track: Drum forestier sau agricol
+ traffic_signals: Semafor
trail: Potecă
unclassified: Drum neclasificat
unsurfaced: Drum neasfaltat
water: Apă
wood: Pădure
office:
+ company: Societate
+ travel_agent: Agenție de turism
"yes": Birou
place:
airport: Aeroport
town: Orășel
unincorporated_area: Zonă neîncorporată
village: Sat
+ "yes": Loc
railway:
abandoned: Cale ferată abandonată
construction: Cale ferată în construcție
disused: Cale ferată dezafectată
disused_station: Gară dezafectată
funicular: Funicular
+ halt: Gară
historic_station: Gară istorică
junction: Nod feroviar
level_crossing: Trecere la nivel
newsagent: Chioșc de ziare
optician: Optician
organic: Magazin de alimente organice
+ pet: Magazin de animale
+ pharmacy: Farmacie
salon: Salon de frumusețe
shopping_centre: Centru comercial
stationery: Magazin de papetărie
supermarket: Supermarket
toys: Magazin de jucării
travel_agency: Agenție de turism
+ "yes": Magazin
tourism:
alpine_hut: Refugiu montan
artwork: Operă de artă
sign_up_tooltip: Creați un cont pentru editare
edit: Modificare
history: Istoric
+ export: Exportă
edit_with: Modificare cu %{editor}
+ intro_header: Bine ați venit la OpenStreetMap!
partners_partners: parteneri
help: Ajutor
about: Despre
infringement_title_html: Încălcarea drepturilor de autor
welcome_page:
title: Bun venit!
+ rules:
+ title: Reguli
questions:
title: Întrebări?
fixthemap:
join_the_community:
title: Alăturați-vă comunității
help_page:
+ welcome:
+ title: Bine ați venit la OSM
beginners_guide:
url: http://wiki.openstreetmap.org/wiki/Ro:Beginners%27_guide
+ notifier:
+ message_notification:
+ hi: Salut, %{to_user},
+ gpx_notification:
+ greeting: Salut,
+ email_confirm_html:
+ greeting: Salut,
+ lost_password_plain:
+ greeting: Salut,
+ lost_password_html:
+ greeting: Salut,
+ note_comment_notification:
+ greeting: Salut,
+ changeset_comment_notification:
+ greeting: Salut,
message:
+ inbox:
+ from: De la
message_summary:
delete_button: Şterge
+ new:
+ subject: Subiect
+ message_sent: Mesaj trimis
outbox:
title: Mesaje trimise
my_inbox: Mesajele mele primite
shortlink: Legătură scurtată
edit:
user_page_link: pagină de utilizator
+ sidebar:
+ close: Închide
+ search:
+ from: De la
+ to: Către
+ where_am_i: Unde sunt eu?
+ where_am_i_title: Descrie locaţia curentă folosind motorul de căutare
trace:
edit:
visibility: 'Vizibilitate:'
new:
password: 'Parolă:'
confirm password: 'Confirmați parola:'
+ javascripts:
+ share:
+ title: Distribuie
+ map:
+ zoom:
+ in: Mărește
+ out: Micşorează
+ locate:
+ title: Arată locația mea
+ site:
+ edit_disabled_tooltip: Măriți pentru a edita harta
...
# Author: DCamer
# Author: Dmitry-s93
# Author: Dr&mx
+# Author: Eduard Popov
# Author: Edward17
# Author: Eleferen
# Author: Ergo
phone: Телефон экстренной связи
highway:
abandoned: Заброшенная дорога
- bridleway: Ð\9aоннÑ\8bй пÑ\83Ñ\82Ñ\8c
+ bridleway: Ð\94оÑ\80ожка длÑ\8f веÑ\80Ñ\85овой ездÑ\8b
bus_guideway: Автобусная полоса-рельс
bus_stop: Автобусная остановка
- construction: Ремонт дороги
+ construction: Ремонт/строительство дороги
cycleway: Велодорожка
elevator: Лифт
emergency_access_point: Пункт первой помощи
street_lamp: Уличный фонарь
tertiary: Дорога третьего класса
tertiary_link: Дорога третьего класса
- track: Ð\9dеоÑ\84иÑ\86иалÑ\8cнаÑ\8f гÑ\80Ñ\83нÑ\82овка
+ track: Ð\94оÑ\80ога Ñ\85озÑ\8fйÑ\81Ñ\82венного назнаÑ\87ениÑ\8f
traffic_signals: Светофор
trail: Тропа
trunk: Трасса
landuse:
allotments: Сады-огороды
basin: Бассейн
- brownfield: Ð\97абÑ\80оÑ\88еннаÑ\8f зона, пÑ\83Ñ\81Ñ\82Ñ\8bÑ\80Ñ\8c
+ brownfield: РаÑ\81Ñ\87иÑ\81Ñ\82ка под заÑ\81Ñ\82Ñ\80ойкÑ\83
cemetery: Кладбище
commercial: Офисная территория
conservation: Законсервированная зона
industrial: Промзона
landfill: Свалка
meadow: Луг
- military: Военная зона
+ military: Военная территория
mine: Шахта
orchard: Фруктовый сад
quarry: Карьер
miniature_golf: Минигольф
nature_reserve: Заповедник
park: Парк
- pitch: Спортивный газон
+ pitch: Спортивная площадка
playground: Детская игровая площадка
recreation_ground: Зона отдыха
resort: Курорт
beach: Пляж
cape: Мыс
cave_entrance: Вход в пещеру
- cliff: Ð\9eбрыв
+ cliff: СкалÑ\8cнÑ\8bй обрыв
crater: Кратер
dune: Дюна
- fell: Холм
+ fell: Ð\93оÑ\80наÑ\8f пÑ\83Ñ\81Ñ\82оÑ\88Ñ\8c
fjord: Фьорд
forest: Лес
geyser: Гейзер
glacier: Ледник
grassland: Луг
- heath: Ð\9fустошь
+ heath: Ð\92еÑ\80еÑ\81коваÑ\8f пустошь
hill: Холм
island: Остров
land: Земля
- marsh: Ð\91олото
- moor: ТоÑ\80Ñ\84Ñ\8fник
+ marsh: ТÑ\80авÑ\8fниÑ\81Ñ\82ое болото
+ moor: Ð\93оÑ\80ное болоÑ\82о
mud: Грязь
peak: Вершина горы
point: Мыс
islet: Маленький остров
isolated_dwelling: Отдельный дом-ферма
locality: Заброшенная деревня, урочище, необитаемая местность
- moor: ТоÑ\80Ñ\84Ñ\8fник
+ moor: Ð\93оÑ\80ное болоÑ\82о
municipality: Муниципалитет
neighbourhood: Соседство
postcode: Почтовый индекс
general: Магазин
gift: Магазин подарков
greengrocer: Овощной магазин
- grocery: Ð\91акалеÑ\8f
+ grocery: Ð\9fÑ\80одÑ\83кÑ\82овÑ\8bй магазин
hairdresser: Парикмахерская
hardware: Хозяйственные магазины
hifi: Магазин аудио/видео аппаратуры
music: Музыкальный магазин
newsagent: Газетный киоск
optician: Оптика
- organic: Ð\9fÑ\80одÑ\83кÑ\82овÑ\8bй магазин
+ organic: Ð\9cагазин оÑ\80ганиÑ\87еÑ\81киÑ\85 пÑ\80одÑ\83кÑ\82ов
outdoor: Магазин для активного отдыха
pet: Зоомагазин
pharmacy: Аптека
artwork: Произведения искусства
attraction: Аттракцион
bed_and_breakfast: Полупансион
- cabin: Ð\9aаÑ\8eÑ\82а
+ cabin: Хижина
camp_site: Лагерь
caravan_site: Стоянка для домов на колёсах
chalet: Шале
motel: Мотель
museum: Музей
picnic_site: Место для пикника
- theme_park: Ð\90Ñ\82Ñ\82Ñ\80акÑ\86ионÑ\8b
+ theme_park: ТемаÑ\82иÑ\87еÑ\81кий паÑ\80к
viewpoint: Смотровая площадка
zoo: Зоопарк
tunnel:
изымания</a> или непосредственно на нашу
<a href="http://dmca.openstreetmap.org/">вебстраницу регистрации</a>.
trademarks_title_html: <span id="trademarks"></span>Товарные знаки
- trademarks_1_html: OpenStreetMap и логотип с увеличительным стеклом являются
- зарегистрированными товарными знаками Фонда OpenStreetMap. Если у вас есть
- вопросы об использовании знаков, пожалуйста, отправьте ваши вопросы <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">рабочей
+ trademarks_1_html: OpenStreetMap, логотип с увеличительным стеклом и State of
+ the Map являются зарегистрированными товарными знаками Фонда OpenStreetMap.
+ Если у вас есть вопросы об использовании знаков, пожалуйста, отправьте ваши
+ вопросы <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">рабочей
группе по лицензированию</a>.
welcome_page:
title: Добро пожаловать!
retail: Торговый район
industrial: Промышленный район
commercial: Коммерческий район
- heathland: Ð\9fустошь
+ heathland: Ð\92еÑ\80еÑ\81коваÑ\8f пустошь
lake:
- Озеро
- водохранилище
farm: Ферма
- brownfield: Ð\97абÑ\80оÑ\88еннаÑ\8f зона
+ brownfield: РаÑ\81Ñ\87иÑ\81Ñ\82ка под заÑ\81Ñ\82Ñ\80ойкÑ\83
cemetery: Кладбище
allotments: Сады-огороды, дачные участки
pitch: Спортивная площадка
centre: Спортивный центр
reserve: Заповедник
- military: Военная зона
+ military: Военная территория
school:
- Школа
- университет
private: Частный доступ
destination: Целевой доступ
construction: Строительство дороги
+ bicycle_shop: Магазин велосипедов
+ bicycle_parking: Парковка для велосипедов
+ toilets: Туалеты
richtext_area:
edit: Изменить
preview: Предпросмотр
windowslive:
title: Войти с помощью Windows Live
alt: Войти с помощью учётной записи Windows Live
+ github:
+ title: Войти с GitHub
+ alt: Войти с учётной записи на GitHub
yahoo:
title: Войти с помощью Yahoo
alt: Войти с помощью Yahoo OpenID
gravatar:
gravatar: Использовать Gravatar
link text: что это?
+ disabled: Gravatar отключён.
+ enabled: Отображение вашего Gravatar включено.
new image: Добавить изображение
keep image: Оставить текущее изображение
delete image: Удалить текущее изображение
standard: Стандартный
cycle_map: Карта для велосипедистов
transport_map: Карта транспорта
- mapquest: MapQuest Open
- hot: Humanitarian
+ hot: Гуманитарная
layers:
header: Слои карты
notes: Заметки
instructions:
continue_without_exit: Продолжите по %{name}
slight_right_without_exit: Слегка направо на %{name}
+ endofroad_right_without_exit: В конце дороги поверните направо на %{name}
+ merge_right_without_exit: Перестройтесь направо на %{name}
+ fork_right_without_exit: На развилке поверните направо на %{name}
turn_right_without_exit: Поверните направо на %{name}
sharp_right_without_exit: Резко направо на %{name}
uturn_without_exit: Разворот по %{name}
sharp_left_without_exit: Резко налево на %{name}
turn_left_without_exit: Поверните налево на %{name}
+ endofroad_left_without_exit: В конце дороги поверните налево на %{name}
+ merge_left_without_exit: Перестройтесь налево на %{name}
+ fork_left_without_exit: На развилке поверните налево на %{name}
slight_left_without_exit: Слегка влево на %{name}
via_point_without_exit: (через точку)
follow_without_exit: Следуйте %{name}
# Author: Lesko987
# Author: Macofe
# Author: Mateju
+# Author: Peter Klofutar
+# Author: Pickle12
# Author: Ruila
# Author: Skalcaa
# Author: Stefanb
nazaj</abbr>
hidden_by: Skril %{user} <abbr title='%{exact_time}'>%{when} nazaj</abbr>
query:
+ title: Poišči značilnosti
nearby: Značilnosti v neposredni bližini
+ enclosing: Vsebujoče značilnosti
changeset:
changeset_paging_nav:
showing_page: Stran %{page}
click_the_link: Če ste to vi, vas prosimo, da kliknete na spodnjo povezavo za
ponastavitev gesla.
note_comment_notification:
- anonymous: Anonimni uporabnik
+ anonymous: Brezimni uporabnik
greeting: Živjo,
commented:
subject_own: '[OpenStreetMap] %{commenter} je komentiral eno izmed vaših opomb'
table:
entry:
motorway: Avtocesta
+ main_road: Glavna cesta
trunk: Hitra cesta
primary: Glavna cesta
secondary: Regionalna cesta
sodelovanja</a>.
email address: 'E-poštni naslov:'
confirm email address: 'Potrdite naslov e-pošte:'
- not displayed publicly: Ne bo javno objavljeno (glej <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="politika zasebnosti z razdelkom o naslovu elektronske pošte v wiki-ju">politiko
- zasebnosti</a>)
+ not displayed publicly: Vaš naslov ne bo javno objavljen (za več informacij
+ glej <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="politika
+ zasebnosti z razdelkom o naslovu elektronske pošte v wiki-ju">politiko zasebnosti</a>)
display name: 'Prikazno ime:'
display name description: Javno prikazano uporabniško ime. To lahko spremenite
kasneje v nastavitvah.
password: 'Geslo:'
confirm password: 'Potrdite geslo:'
- continue: Prijavite se
+ continue: Registracija
terms accepted: Hvala za sprejem novih pogojev prispevanja!
terms declined: Žal nam je, da ste se odločili, da ne sprejmete novih "contributor
terms". Za več informacij, si oglejte <a href="%{url}">to wiki stran</a>.
revoke:
administrator: Odvzemi administratorski dostop
moderator: Odvzemi moderatorski dostop
- block_history: prejete blokade
- moderator_history: dane blokade
+ block_history: Dejavne blokade
+ moderator_history: Dane blokade
comments: Pripombe
- create_block: blokiraj uporabnika
- activate_user: aktiviraj uporabnika
- deactivate_user: dezaktiviraj uporabnika
- confirm_user: potrdi uporabnika
- hide_user: skriti tega uporabnika
- unhide_user: prikaži uporabnika
- delete_user: izbriši uporabnika
+ create_block: Blokiraj uporabnika
+ activate_user: Aktiviraj uporabnika
+ deactivate_user: Dezaktiviraj uporabnika
+ confirm_user: Potrdi uporabnika
+ hide_user: Skrij uporabnika
+ unhide_user: Prikaži uporabnika
+ delete_user: Izbriši uporabnika
confirm: Potrdi
friends_changesets: paketi sprememb prijateljev
friends_diaries: dnevniki prijateljev
show:
confirm: A jeni i sigurt?
javascripts:
- map:
- base:
- mapquest: MapQuest Open
site:
edit_tooltip: Redakto hartën
redaction:
standard: Standardna
cycle_map: Biciklistička mapa
transport_map: Saobraćajna mapa
- mapquest: Mapkvest open
site:
edit_tooltip: Uredite mapu
edit_disabled_tooltip: Uvećajte prikaz da biste uredili mapu
friendly: '%e %B %Y у %H:%M'
activerecord:
models:
- acl: УпÑ\80авÑ\99аÑ\9aе пÑ\80иÑ\81Ñ\82Ñ\83пом
+ acl: СпиÑ\81ак огÑ\80аниÑ\87еÑ\9aа пÑ\80иÑ\81Ñ\82Ñ\83па
changeset: Скуп измена
changeset_tag: Ознака скупа измена
country: Земља
- diary_comment: Коментар на дневник
- diary_entry: УноÑ\81 Ñ\83 дневникÑ\83
+ diary_comment: Коментар у дневнику
+ diary_entry: Ð\94невниÑ\87ки запиÑ\81
friend: Пријатељ
language: Језик
message: Порука
- node: ЧвоÑ\80
- node_tag: Ð\9eзнака Ñ\87воÑ\80а
- notifier: Ð\98звеÑ\81Ñ\82илаÑ\86
- old_node: СÑ\82аÑ\80и Ñ\87воÑ\80
- old_node_tag: Ð\9eзнака Ñ\81Ñ\82аÑ\80ог Ñ\87воÑ\80а
+ node: ТаÑ\87ка
+ node_tag: Ð\9eзнака Ñ\82аÑ\87ке
+ notifier: Ð\98звеÑ\88Ñ\82аÑ\87
+ old_node: СÑ\82аÑ\80а Ñ\82аÑ\87ка
+ old_node_tag: Ð\9eзнака Ñ\81Ñ\82аÑ\80е Ñ\82аÑ\87ке
old_relation: Стари однос
- old_relation_member: Члан Ñ\81Ñ\82аÑ\80ог односа
- old_relation_tag: Ð\9eзнака Ñ\81Ñ\82аÑ\80ог односа
- old_way: СÑ\82аÑ\80а пÑ\83Ñ\82аÑ\9aа
- old_way_node: ЧвоÑ\80 Ñ\81Ñ\82аÑ\80е пÑ\83Ñ\82аÑ\9aе
- old_way_tag: Ð\9eзнака Ñ\81Ñ\82аÑ\80ог пÑ\83Ñ\82а
+ old_relation_member: СÑ\82аÑ\80и Ñ\87лан односа
+ old_relation_tag: СÑ\82аÑ\80а ознака односа
+ old_way: СÑ\82аÑ\80а линиÑ\98а
+ old_way_node: СÑ\82аÑ\80а Ñ\82аÑ\87ка линиÑ\98е
+ old_way_tag: СÑ\82аÑ\80а ознака линиÑ\98е
relation: Однос
relation_member: Члан односа
relation_tag: Ознака односа
- session: Ð\97аÑ\81едаÑ\9aе
- trace: ТÑ\80аг
- tracepoint: ТаÑ\87ка Ñ\82Ñ\80ага
- tracetag: Ð\9eзнака Ñ\82Ñ\80ага
+ session: СеÑ\81иÑ\98а
+ trace: Ð Ñ\83Ñ\82а
+ tracepoint: ТаÑ\87ка Ñ\80Ñ\83Ñ\82е
+ tracetag: Ð\9eзнака Ñ\80Ñ\83Ñ\82е
user: Корисник
- user_preference: Ð\9aоÑ\80иÑ\81ниÑ\87ке поÑ\81Ñ\82авке
- user_token: Ð\9aоÑ\80иÑ\81ниÑ\87ки жеÑ\82он
- way: Ð\9fÑ\83Ñ\82аÑ\9aа
- way_node: ЧвоÑ\80 пÑ\83Ñ\82аÑ\9aе
- way_tag: Ð\9eзнака пÑ\83Ñ\82аÑ\9aе
+ user_preference: Ð\9fоÑ\81Ñ\82авке коÑ\80иÑ\81ника
+ user_token: Токен коÑ\80иÑ\81ника
+ way: Ð\9bиниÑ\98а
+ way_node: ТаÑ\87ка линиÑ\98е
+ way_tag: Ð\9eзнака линиÑ\98е
attributes:
diary_comment:
body: Текст
diary_entry:
user: Корисник
- title: Тема
+ title: Ð\9dаÑ\81лов
latitude: Географска ширина
longitude: Географска дужина
language: Језик
friend: Пријатељ
trace:
user: Корисник
- visible: Видљиво
+ visible: Видљивост
name: Име
size: Величина
latitude: Географска ширина
description: Опис
message:
sender: Пошиљалац
- title: Тема
+ title: Ð\9dаÑ\81лов
body: Текст
recipient: Прималац
user:
- email: Ð\98меÑ\98л
+ email: Ð\95-адÑ\80еÑ\81а
active: Активан
- display_name: Ð\9fÑ\80иказано име
+ display_name: Ð\98ме за пÑ\80иказ
description: Опис
languages: Језици
pass_crypt: Лозинка
editor:
default: Подразумевано (тренутно %{name})
potlatch:
- name: Потлач 1
- description: Потлач 1 (уређивач у прегледачу)
+ name: Potlatch 1
+ description: Potlatch 1 (уређивач у прегледачу)
id:
- name: иД
- description: иД (уређивач у интернет прегледачу)
+ name: iD
+ description: iD (уређивач у прегледачу)
potlatch2:
- name: Потлач 2
- description: Потлач 2 (уређивач у прегледачу)
+ name: Potlatch 2
+ description: Potlatch 2 (уређивач у прегледачу)
remote:
name: Даљинско управљање
- description: Даљинско управљање (ЈОСМ или Меркартор)
+ description: Даљинско управљање (JOSM или Merkaartor)
browse:
created: Направљено
closed: Затворено
+ created_html: Направљено пре <abbr title='%{title}'>%{time}</abbr>
+ closed_html: Затворено пре <abbr title='%{title}'>%{time}</abbr>
+ created_by_html: Направио %{user} пре <abbr title='%{title}'>%{time}</abbr>
+ deleted_by_html: Избрисао %{user} пре <abbr title='%{title}'>%{time}</abbr>
+ edited_by_html: Изменио %{user} пре <abbr title='%{title}'>%{time}</abbr>
+ closed_by_html: Затворио %{user} пре <abbr title='%{title}'>%{time}</abbr>
version: Верзија
in_changeset: Скуп измена
- anonymous: анонимно
+ anonymous: анониман
no_comment: (нема коментара)
part_of: Део
download_xml: Преузми XML
- view_history: Прикажи историју
- view_details: Ð\9fÑ\80икажи деÑ\82аÑ\99е
- location: 'Ð\9cеÑ\81Ñ\82о:'
+ view_history: Погледај историју
+ view_details: Ð\94еÑ\82аÑ\99ниÑ\98е
+ location: 'Ð\9bокаÑ\86иÑ\98а:'
changeset:
title: 'Скуп измена: %{id}'
belongs_to: Аутор
- node: ЧвоÑ\80ови (%{count})
- node_paginated: ЧвоÑ\80ови (%{x}-%{y} од %{count})
- way: Ð\9fÑ\83Ñ\82аÑ\9aе (%{count})
- way_paginated: Ð\9fÑ\83Ñ\82аÑ\9aе (%{x}-%{y} од %{count})
+ node: ТаÑ\87ке (%{count})
+ node_paginated: ТаÑ\87ке (%{x}-%{y} од %{count})
+ way: Ð\9bиниÑ\98е (%{count})
+ way_paginated: Ð\9bиниÑ\98е (%{x}-%{y} од %{count})
relation: Односи (%{count})
relation_paginated: Односи (%{x}-%{y} од %{count})
comment: Коментари (%{count})
+ hidden_commented_by: Сакривен је коментар корисника %{user} пре <abbr title='%{exact_time}'>%{when}</abbr>
+ commented_by: Коментар корисника %{user} пре <abbr title='%{exact_time}'>%{when}</abbr>
changesetxml: XML скуп измена
osmchangexml: osmChange XML
feed:
title: Скуп измена %{id}
title_comment: Скуп измена %{id} – %{comment}
- join_discussion: Ð\9fÑ\80иÑ\98авиÑ\82е Ñ\81е за разговор
+ join_discussion: Ð\9fÑ\80иÑ\98авиÑ\82е Ñ\81е да биÑ\81Ñ\82е Ñ\81е Ñ\83кÑ\99Ñ\83Ñ\87или Ñ\83 разговор
discussion: Разговор
node:
- title: 'ЧвоÑ\80: %{name}'
- history_title: 'Ð\98Ñ\81Ñ\82оÑ\80иÑ\98а Ñ\87воÑ\80а: %{name}'
+ title: 'ТаÑ\87ка: %{name}'
+ history_title: 'Ð\98Ñ\81Ñ\82оÑ\80иÑ\98а Ñ\82аÑ\87ака: %{name}'
way:
- title: 'Путања: %{name}'
- history_title: 'Историја путање: %{name}'
- nodes: Чворови
+ title: 'Линија: %{name}'
+ history_title: 'Историја линија: %{name}'
+ nodes: Тачке
+ also_part_of:
+ one: део линије %{related_ways}
+ other: део линија %{related_ways}
relation:
title: 'Однос: %{name}'
history_title: 'Историја односа: %{name}'
entry: '%{type} %{name}'
entry_role: '%{type} %{name} као %{role}'
type:
- node: ЧвоÑ\80
- way: Ð\9fÑ\83Ñ\82аÑ\9aа
+ node: ТаÑ\87ка
+ way: Ð\9bиниÑ\98а
relation: Однос
containing_relation:
entry: Однос %{relation_name}
entry_role: Однос %{relation_name} (као %{relation_role})
not_found:
- sorry: 'Ð\96ао нам Ñ\98е, али %{type} #%{id} није пронађен.'
+ sorry: 'Ð\9dажалоÑ\81Ñ\82, %{type} #%{id} није пронађен.'
type:
- node: Ñ\87воÑ\80
- way: пÑ\83Ñ\82аÑ\9aа
+ node: Ñ\82аÑ\87ка
+ way: линиÑ\98а
relation: однос
changeset: скуп измена
+ note: белешка
timeout:
- sorry: Жао нам је, али добављање података за %{type} са идентификатором %{id}
- је предуго трајало.
+ sorry: Преузимање података за %{type} са ID-јем %{id} предуго траје.
type:
node: тачка
- way: пÑ\83Ñ\82аÑ\9aа
+ way: линиÑ\98а
relation: однос
changeset: скуп измена
+ note: белешка
redacted:
redaction: Редакција %{id}
- message_html: Верзија %{version} типа %{type} не може да се прикаже јер је у
- разматрању. Више на %{redaction_link}.
+ message_html: Верзија %{version} %{type} је редигована и не може бити приказана.
+ Детаљније на %{redaction_link}.
type:
- node: Ñ\87воÑ\80
- way: пÑ\83Ñ\82аÑ\9aа
+ node: Ñ\82аÑ\87ка
+ way: линиÑ\98а
relation: однос
start_rjs:
- feature_warning: УÑ\87иÑ\82аваÑ\9aе %{num_features} каÑ\80акÑ\82еÑ\80иÑ\81Ñ\82ика, због коÑ\98иÑ\85 Ñ\82воÑ\98 пÑ\80егледаÑ\87
- може да бÑ\83де Ñ\83Ñ\81поÑ\80ен или да не Ñ\80еагÑ\83Ñ\98е. СигÑ\83Ñ\80но Ñ\85оÑ\9bеÑ\88 да пÑ\80икажеÑ\88 ове податке?
+ feature_warning: Ð\9fоÑ\82Ñ\80ебно Ñ\98е пÑ\80еÑ\83зеÑ\82и %{num_features} обÑ\98екаÑ\82а, Ñ\88Ñ\82о може Ñ\83Ñ\81поÑ\80иÑ\82и
+ ваÑ\88 пÑ\80егледаÑ\87. Ð\97аиÑ\81Ñ\82а желиÑ\82е да пÑ\80икажеÑ\82е ове податке?
load_data: Учитај податке
- loading: Учитавање…
+ loading: Учитавам…
tag_details:
tags: Ознаке
wiki_link:
- key: Страница с описом за ознаку %{key}
- tag: Страница с описом за ознаку %{key}=%{value}
- wikipedia_link: '%{page} чланак на Википедији'
+ key: Вики страница с описом ознаке %{key}
+ tag: Вики страница с описом ознаке %{key}=%{value}
+ wikidata_link: Ставка %{page} на Википодацима
+ wikipedia_link: Чланак %{page} на Википедији
+ telephone_link: Позови %{phone_number}
note:
title: Белешкаː %{id}
new_note: Нова белешка
description: Опис
- open_title: 'Нерешена белешка #%{note_name}'
- closed_title: 'Решена белешка #%{note_name}'
- hidden_title: 'Скривена белешка #%{note_name}'
- open_by: Направио %{user} <abbr title='%{exact_time}'>пре %{when}</abbr>
- open_by_anonymous: Направљено анонимно <abbr title='%{exact_time}'>пре %{when}</abbr>
- commented_by: Коментар %{user} <abbr title='%{exact_time}'>пре %{when}</abbr>
- commented_by_anonymous: Анониман коментар <abbr title='%{exact_time}'>пре %{when}</abbr>
- closed_by: Решио %{user} <abbr title='%{exact_time}'>пре %{when}</abbr>
- closed_by_anonymous: Анонимно решено <abbr title='%{exact_time}'>пре %{when}</abbr>
- reopened_by: Поново покренуо %{user} <abbr title='%{exact_time}'>пре %{when}</abbr>
- reopened_by_anonymous: Анонимно поново покренуто <abbr title='%{exact_time}'>пре
- %{when}</abbr>
- hidden_by: Сакрио %{user} <abbr title='%{exact_time}'>пре %{when}</abbr>
+ open_title: Нерешена белешка бр. %{note_name}
+ closed_title: Решена белешка бр. %{note_name}
+ hidden_title: Скривена белешка бр. %{note_name}
+ open_by: Направио %{user} пре <abbr title='%{exact_time}'>%{when}</abbr>
+ open_by_anonymous: Направио анониман корисник пре <abbr title='%{exact_time}'>%{when}</abbr>
+ commented_by: Коментар корисника %{user} пре <abbr title='%{exact_time}'>%{when}</abbr>
+ commented_by_anonymous: Коментар анонимног корисника пре <abbr title='%{exact_time}'>%{when}</abbr>
+ closed_by: Решио %{user} пре <abbr title='%{exact_time}'>%{when}</abbr>
+ closed_by_anonymous: Решио анонимни корисник пре <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by: Поново активирао %{user} пре <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by_anonymous: Поново активирао анонимни корисник пре <abbr title='%{exact_time}'>%{when}</abbr>
+ hidden_by: Сакрио %{user} пре <abbr title='%{exact_time}'>%{when}</abbr>
+ query:
+ title: Информације о објектима
+ introduction: Кликните на мапу да бисте пронашли објекте у близини.
+ nearby: Објекти у близини
+ enclosing: Локација
changeset:
changeset_paging_nav:
showing_page: Страница %{page}
next: Следећа »
previous: « Претходна
changeset:
- anonymous: Ð\90нонимно
+ anonymous: Ð\90нониман
no_edits: (нема измена)
view_changeset_details: Погледај детаље скупа измена
changesets:
- id: ИД
+ id: ID
saved_at: Сачувано у
user: Корисник
comment: Коментар
- area: Ð\9fодÑ\80Ñ\83Ñ\87Ñ\98е
+ area: Ð\9eблаÑ\81Ñ\82
list:
title: Скупови измена
title_user: Скупови измена корисника %{user}
- title_friend: Ð\98змене ваших пријатеља
- title_nearby: Ð\98змене од околних корисника
+ title_friend: СкÑ\83пови измена ваших пријатеља
+ title_nearby: СкÑ\83пови измена околних корисника
empty: Нема скупова измена.
empty_area: Нема скупова измена у овој области.
empty_user: Нема скупова измена овог корисника.
no_more: Нема више скупова измена.
- no_more_area: Нема више скупова измена у овој области
- no_more_user: Нема више скупова измена овог корисника
+ no_more_area: Нема више скупова измена у овој области.
+ no_more_user: Нема више скупова измена овог корисника.
load_more: Учитај још
timeout:
- sorry: Жао нам је, али списак измена који сте захтевали је предугачак.
+ sorry: Нажалост, преузимање траженог списка измена предуго траје.
+ rss:
+ title_all: Разговор о скупу измена OpenStreetMap-а
+ title_particular: 'Разговор о скупу измена #%{changeset_id} OpenStreetMap-а'
+ comment: Нови коментар на скуп измена бр. %{changeset_id} корисника %{author}
+ commented_at_html: Ажурирано пре %{when}
+ commented_at_by_html: Ажурирао %{user} пре %{when}
+ full: Целокупан разговор
diary_entry:
new:
- title: Нови унос у дневник
+ title: Нови дневнички запис
+ publish_button: Објави
list:
- title: Ð\9aоÑ\80иÑ\81ниÑ\87ки дневниÑ\86и
+ title: Ð\94невниÑ\86и коÑ\80иÑ\81ника
title_friends: Дневници пријатеља
title_nearby: Дневници корисника у близини
user_title: Дневник корисника %{user}
- in_language_title: Ð\94невниÑ\86и на %{language}
- new: Нови унос у дневник
- new_title: Састави нови унос у кориснички дневник
- no_entries: Ð\9dема Ñ\83ноÑ\81а Ñ\83 дневникÑ\83
- recent_entries: Скорашњи уноси у дневник
- older_entries: Старији уноси
- newer_entries: Новији уноси
+ in_language_title: Ð\94невниÑ\87ки запиÑ\81и на %{language}
+ new: Нови дневнички запис
+ new_title: Саставите нови запис у свом дневнику
+ no_entries: У дневникÑ\83 нема запиÑ\81а
+ recent_entries: Скорашњи дневнички записи
+ older_entries: Старији записи
+ newer_entries: Новији записи
edit:
- title: Уреди унос у дневнику
- subject: 'Тема:'
+ title: Уреди дневнички запис
+ subject: 'Ð\9dаÑ\81лов:'
body: 'Текст:'
language: 'Језик:'
- location: 'Ð\9cеÑ\81Ñ\82о:'
+ location: 'Ð\9bокаÑ\86иÑ\98а:'
latitude: 'Географска ширина:'
longitude: 'Географска дужина:'
- use_map_link: коÑ\80иÑ\81Ñ\82и мапÑ\83
+ use_map_link: Ð\9fÑ\80икажи на мапи
save_button: Сачувај
- marker_text: Ð\9cеÑ\81Ñ\82о Ñ\83ноÑ\81а Ñ\83 дневникÑ\83
+ marker_text: Ð\9bокаÑ\86иÑ\98а пиÑ\81аÑ\9aа белеÑ\88ке
view:
title: Дневник корисника %{user} | %{title}
user_title: Дневник корисника %{user}
leave_a_comment: Остави коментар
- login_to_leave_a_comment: '%{login_link} да оÑ\81Ñ\82авиÑ\88 коментар'
- login: Пријави се
+ login_to_leave_a_comment: '%{login_link} да биÑ\81Ñ\82е оÑ\81Ñ\82авили коментар'
+ login: Пријавите се
save_button: Сачувај
no_such_entry:
- title: Нема таквог уноса у дневнику
- heading: 'Нема уноса с ИД: %{id}'
- body: Ð\96ао нам Ñ\98е, али нема Ñ\83ноÑ\81а Ñ\83 дневникÑ\83 или коменÑ\82аÑ\80 Ñ\81 Ð\98Ð\94 %{id}. Ð\9fÑ\80овеÑ\80и
- исправност уписа или кликнуте везе.
+ title: Нема таквог дневничког записа
+ heading: 'Нема записа са ID-јем: %{id}'
+ body: Ð\9dажалоÑ\81Ñ\82, нема запиÑ\81а или коменÑ\82аÑ\80а Ñ\81а ID-Ñ\98ем %{id}. Ð\9cожда Ñ\98е веза неиÑ\81пÑ\80авна
+ или сте погрешили у куцању.
diary_entry:
posted_by: Поставио корисник %{link_user} у %{created} на %{language_link}
- comment_link: Прокоментариши овај унос
- reply_link: Одговори на овај унос
+ comment_link: Прокоментариши
+ reply_link: Одговори
comment_count:
- one: 1 коментар
+ zero: Нема коментара
+ one: '%{count} коментар'
other: '%{count} коментара'
- edit_link: УÑ\80еди оваÑ\98 Ñ\83нос
- hide_link: СакÑ\80иÑ\98 оваÑ\98 Ñ\83нос
+ edit_link: УÑ\80еди запис
+ hide_link: СакÑ\80иÑ\98 запис
confirm: Потврди
diary_comment:
comment_from: Коментар корисника %{link_user} у %{comment_created_at}
- hide_link: СакÑ\80иÑ\98 оваÑ\98 коменÑ\82аÑ\80
+ hide_link: Сакриј коментар
confirm: Потврди
location:
- location: 'Ð\9cеÑ\81Ñ\82о:'
+ location: 'Ð\9bокаÑ\86иÑ\98а:'
view: Приказ
edit: Уреди
feed:
user:
- title: УноÑ\81и Ñ\83 дневникÑ\83 корисника %{user}
- description: Скорашњи уноси у дневнику корисника %{user}
+ title: Ð\94невниÑ\87ки запиÑ\81и корисника %{user}
+ description: Скорашњи дневнички записи корисника %{user}
language:
- title: УноÑ\81и Ñ\83 дневникÑ\83 на %{language_name}
- description: Скорашњи уноси у дневнику корисника на %{language_name}
+ title: Ð\94невниÑ\87ки запиÑ\81и на %{language_name}
+ description: Скорашњи дневнички записи корисника OpenStreetMap-а на %{language_name}
all:
- title: УноÑ\81и Ñ\83 Ð\9eпенСÑ\82Ñ\80иÑ\82Ð\9cап дневникÑ\83
- description: Скорашњи уноси у дневнику ОпенСтритМап корисника
+ title: Ð\94невниÑ\87ки запиÑ\81и
+ description: Скорашњи дневнички записи корисника OpenStreetMap-а
comments:
- has_commented_on: '%{display_name} је прокоментарисао следеће уносе у дневнику'
- post: Ð\9fоÑ\81Ñ\82ави
+ has_commented_on: '%{display_name} је прокоментарисао следеће дневничке записе'
+ post: Ð\9fоÑ\80Ñ\83ка
when: Када
comment: Коментар
ago: пре %{ago}
export:
title: Извоз
start:
- area_to_export: Ð\9fодÑ\80Ñ\83Ñ\87Ñ\98е за извоз
- manually_select: Ручно изаберите друго подручје
+ area_to_export: Ð\9eблаÑ\81Ñ\82 за извоз
+ manually_select: Ручно изаберите другу област
format_to_export: Формат за извоз
- osm_xml_data: Ð\9eпенСÑ\82Ñ\80иÑ\82Ð\9cап XML подаÑ\86и
- map_image: Слика каÑ\80Ñ\82е (приказује стандардни слој)
- embeddable_html: Уградиви HTML код
+ osm_xml_data: Ð\9fодаÑ\86и Ñ\83 XML Ñ\84оÑ\80маÑ\82Ñ\83
+ map_image: Слика мапе (приказује стандардни слој)
+ embeddable_html: Уградиви HTML кôд
licence: Лиценца
- export_details: Подаци ОпенСтритМапа су доступни под лиценцом <a href="http://opendatacommons.org/licenses/odbl/1.0/">Open
+ export_details: Подаци OpenStreetMap-а су доступни под лиценцом <a href="http://opendatacommons.org/licenses/odbl/1.0/">Open
Data Commons Open Database License</a> (ODbL).
too_large:
- advice: 'Уколико горе наведени извоз буде неуспешан, резмотри неки од доле
- наведених извора:'
- body: 'Ово подручје је превелико за извоз у XML формат. Увећај приказ или
- изабери мању површину. За веће преузимање погледај доле наведене изворе:'
+ advice: 'Ако буде проблема при извозу, послужите се неким од доленаведених
+ извора:'
+ body: 'Ова област је превелика за извоз у XML формату. Увећајте приказ, изаберите
+ мању област или користите један од следећих извора за групно преузимање
+ података:'
planet:
- title: Планета ОСМ
- description: Редовно оÑ\81вежавани Ñ\83мноÑ\88Ñ\86и Ñ\86еле Ð\9eпенСÑ\82Ñ\80иÑ\82Ð\9cап базе подаÑ\82ака
+ title: Планета OSM
+ description: Редовно ажÑ\83Ñ\80иÑ\80ани пÑ\80имеÑ\80Ñ\86и Ñ\86еле базе OpenStreetMap-а
overpass:
- description: Преузми овај пакет са огледала ОпенСтритМап базе података
+ title: API Overpass-а
+ description: Преузмите овај оквир са пресликане копије базе OpenStreetMap-а
geofabrik:
- title: Геофабрик преузимања
- description: Редовно освежавани исечци континената, држава, и одређених
- градова
+ title: Преузимања која омогућава Geofabrik
+ description: Редовно ажурирани исечци континената, земаља и изабраних градова
metro:
- title: Ð\9cеÑ\82Ñ\80о иÑ\81еÑ\87Ñ\86и
- description: Ð\98Ñ\81еÑ\87Ñ\86и за велике Ñ\81веÑ\82Ñ\81ке гÑ\80адове и Ñ\9aиÑ\85овÑ\83 околинÑ\83
+ title: Ð\98Ñ\81еÑ\87Ñ\86и гÑ\80адова
+ description: Ð\98Ñ\81еÑ\87Ñ\86и великиÑ\85 Ñ\81веÑ\82Ñ\81киÑ\85 гÑ\80адова и Ñ\9aиÑ\85овиÑ\85 околниÑ\85 подÑ\80Ñ\83Ñ\87Ñ\98а
other:
- title: Ð\9eÑ\81Ñ\82али извори
- description: Ð\94одаÑ\82ни извоÑ\80и наведени на Ð\9eпенСÑ\82Ñ\80иÑ\82Ð\9cап викиÑ\98Ñ\83
- options: Ð\9fоÑ\81Ñ\82авке
+ title: Ð\94Ñ\80Ñ\83ги извори
+ description: Ð\94одаÑ\82ни извоÑ\80и наведени на викиÑ\98Ñ\83 OpenStreetMap-а
+ options: Ð\9eпÑ\86иÑ\98е
format: Формат
scale: Размера
- max: наÑ\98виÑ\88е
+ max: макÑ\81.
image_size: Величина слике
- zoom: УвеÑ\9bаÑ\9aе
- add_marker: Ð\94одаÑ\98 ознакÑ\83 на каÑ\80Ñ\82у
- latitude: 'Ð\93Ш:'
- longitude: 'Ð\93Ð\94:'
- output: Излаз
- paste_html: Налепи HTML код за уградњу у веб страницу
+ zoom: Ð\9fÑ\80иближи
+ add_marker: Ð\9fоÑ\81Ñ\82ави маÑ\80кеÑ\80 на мапу
+ latitude: 'ШиÑ\80ина:'
+ longitude: 'Ð\94Ñ\83жина:'
+ output: Исход
+ paste_html: HTML кôд за уградњу на сајт
export_button: Извези
geocoder:
search:
title:
- latlon: Резултати из <a href="http://openstreetmap.org/">Интернала</a>
- us_postcode: Резултати из <a href="http://geocoder.us/">Геокодера</a>
- uk_postcode: Резултати из <a href="http://www.npemap.org.uk/">NPEMap-а</a>
- ca_postcode: Резултати из <a href="http://geocoder.ca/">Геокодера</a>
- osm_nominatim: Резултати из <a href="http://nominatim.openstreetmap.org/">Номинатима</a>
- geonames: Резултати из <a href="http://www.geonames.org/">Географских имена</a>
- osm_nominatim_reverse: Резултати са <a href="http://nominatim.openstreetmap.org/">Номинатима</a>
- geonames_reverse: Резултати са <a href="http://www.geonames.org/">ГеоИмена</a>
+ latlon: <a href="http://openstreetmap.org/">Унутрашњи резултати</a>
+ us_postcode: Резултати са сајта <a href="http://geocoder.us/">Geocoder.us</a>
+ uk_postcode: Резултати са сајта <a href="http://www.npemap.org.uk/">NPEMap/FreeThe
+ Postcode</a>
+ ca_postcode: Резултати са сајта <a href="http://geocoder.ca/">Geocoder.ca</a>
+ osm_nominatim: Резултати са сајта <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+ Nominatim</a>
+ geonames: Резултати са сајта <a href="http://www.geonames.org/">GeoNames</a>
+ osm_nominatim_reverse: Резултати са сајта <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+ Nominatim</a>
+ geonames_reverse: Резултати са сајта <a href="http://www.geonames.org/">GeoNames</a>
search_osm_nominatim:
prefix_format: '%{name}'
prefix:
aerialway:
cable_car: Жичара
- chair_lift: Лифт столица
- drag_lift: Лифт који вуче
- station: Ваздушна станица
+ chair_lift: Жичара са седиштима
+ drag_lift: Вучница
+ gondola: Кабинска жичара
+ station: Станица жичаре
aeroway:
aerodrome: Аеродром
- apron: Рампа
+ apron: Ð\9fÑ\80иÑ\81Ñ\82аниÑ\88на плаÑ\82Ñ\84оÑ\80ма
gate: Капија
helipad: Хелиодром
runway: Писта
taxiway: Рулна стаза
terminal: Терминал
amenity:
+ animal_shelter: Азил за животиње
arts_centre: Уметнички центар
atm: Банкомат
bank: Банка
bar: Бар
bbq: Роштиљ
bench: Клупа
- bicycle_parking: Бициклистички паркинг
- bicycle_rental: Изнајмљивање бицикла
- biergarten: Пивска башта
- brothel: Јавна кућа
+ bicycle_parking: Паркинг за бицикле
+ bicycle_rental: Изнајмљивање бицикала
+ biergarten: Пивница на отвореном
+ boat_rental: Услуге изнајмљивања чамаца
+ brothel: Бордел
bureau_de_change: Мењачница
bus_station: Аутобуска станица
- cafe: Ð\9aаÑ\84е
- car_rental: Ð\98знајмљивање аутомобила
- car_sharing: Ð\97аÑ\98едниÑ\87ко коÑ\80иÑ\88Ñ\9bење аутомобила
+ cafe: Ð\9aаÑ\84иÑ\9b
+ car_rental: Ð\90генÑ\86иÑ\98а за изнајмљивање аутомобила
+ car_sharing: Ð\9aÑ\80аÑ\82коÑ\80оÑ\87но изнаÑ\98мÑ\99ивање аутомобила
car_wash: Ауто-перионица
casino: Казино
- charging_station: Напојна станица
+ charging_station: Акумулаторска станица
+ childcare: Агенција за чување деце
cinema: Биоскоп
clinic: Клиника
- college: Факултет
- community_centre: Друштвени центар
+ clock: Часовник
+ college: Колеџ
+ community_centre: Месна заједница
courthouse: Суд
crematorium: Крематоријум
- dentist: Ð\97Ñ\83баÑ\80
- doctors: Лекар
+ dentist: СÑ\82омаÑ\82олог
+ doctors: Лекари
dormitory: Студентски дом
drinking_water: Пијаћа вода
driving_school: Ауто-школа
embassy: Амбасада
emergency_phone: Телефон за хитне случајеве
fast_food: Брза храна
- ferry_terminal: Трајект
- fire_hydrant: Ð¥идрант
+ ferry_terminal: Трајектни терминал
+ fire_hydrant: Ð\9fÑ\80оÑ\82ивпожаÑ\80ни Ñ\85идрант
fire_station: Ватрогасна станица
- food_court: ШÑ\82андови за бÑ\80зÑ\83 Ñ\85Ñ\80анÑ\83
+ food_court: Ð\9fÑ\83лÑ\82ови Ñ\81а Ñ\85Ñ\80аном
fountain: Фонтана
- fuel: Бензинска пумпа
+ fuel: Гориво
+ gambling: Коцкарница
grave_yard: Гробље
- gym: Фитнес центар
- health_centre: Ð\94ом здÑ\80авÑ\99а
+ gym: Фитнес центар/теретана
+ health_centre: Ð\97дÑ\80авÑ\81Ñ\82вени Ñ\86енÑ\82аÑ\80
hospital: Болница
- hunting_stand: Ð\9bоваÑ\87ки дом
+ hunting_stand: Ð\9bоваÑ\87ка кÑ\83ла
ice_cream: Продавница сладоледа
kindergarten: Обданиште
library: Библиотека
- market: Продавница
- marketplace: Ð\9fијаца
+ market: Пијаца
+ marketplace: Ð\97елена пијаца
monastery: Манастир
+ motorcycle_parking: Паркинг за мотоцикле
nightclub: Ноћни клуб
nursery: Јаслице
- nursing_home: Ð\94ом за негÑ\83
- office: Ð\9fоÑ\81ловниÑ\86а
+ nursing_home: СÑ\82аÑ\80аÑ\87ки дом
+ office: Ð\9aанÑ\86елаÑ\80иÑ\98а
parking: Паркинг
+ parking_entrance: Улаз на паркинг
pharmacy: Апотека
- place_of_worship: Ð\9cеÑ\81Ñ\82о богоÑ\81лÑ\83жеÑ\9aа
+ place_of_worship: Ð\92еÑ\80Ñ\81ки обÑ\98екаÑ\82
police: Полиција
post_box: Поштанско сандуче
post_office: Пошта
- preschool: Ð\9fÑ\80едÑ\88колÑ\81ка Ñ\83Ñ\81Ñ\82анова
+ preschool: Ð\9fÑ\80едÑ\88колÑ\81ко
prison: Затвор
pub: Паб
- public_building: УÑ\81Ñ\82анова
- reception_area: Ð\9fÑ\80иÑ\98емно подÑ\80Ñ\83Ñ\87Ñ\98е
+ public_building: Ð\88авна згÑ\80ада
+ reception_area: РеÑ\86епÑ\86иÑ\98а
recycling: Место за рециклажу
restaurant: Ресторан
- retirement_home: СÑ\82аÑ\80аÑ\87ки дом
+ retirement_home: Ð\94ом пензионеÑ\80а
sauna: Сауна
school: Школа
shelter: Склониште
shop: Продавница
- shower: ТÑ\83Ñ\88
+ shower: Ð\88авно кÑ\83паÑ\82ило
social_centre: Друштвени центар
social_club: Друштвени клуб
- social_facility: Социјална установа
+ social_facility: Социјална заштита
studio: Студио
swimming_pool: Базен
taxi: Такси
telephone: Телефонска говорница
theatre: Позориште
- toilets: Тоалети
+ toilets: Тоалет
townhall: Градска скупштина
university: Универзитет
vending_machine: Аутомат
- veterinary: Ветеринарска хирургија
- village_hall: СеоÑ\81ки дом
+ veterinary: Ветеринарска клиника
+ village_hall: СеоÑ\81ка меÑ\81на заÑ\98едниÑ\86а
waste_basket: Корпа за отпатке
- waste_disposal: Ð\94епониÑ\98а
+ waste_disposal: Ð\9aонÑ\82еÑ\98неÑ\80
youth_centre: Дом омладине
boundary:
administrative: Административна граница
bridge:
aqueduct: Аквадукт
suspension: Висећи мост
- swing: Ð\9cоÑ\81Ñ\82 на окÑ\80еÑ\82аÑ\9aе
+ swing: Ð\9fокÑ\80еÑ\82ни моÑ\81Ñ\82
viaduct: Вијадукт
"yes": Мост
building:
"yes": Зграда
craft:
brewery: Пивара
- carpenter: Пила
+ carpenter: Столар
+ electrician: Електричар
+ gardener: Баштован
+ painter: Молер
+ photographer: Фотограф
+ plumber: Водоинсталатер
shoemaker: Обућар
+ tailor: Кројач
+ "yes": Занатска радња
emergency:
+ ambulance_station: Хитна помоћ
+ defibrillator: Дефибрилатор
+ landing_site: Место за хитно слетање
phone: Телефон за хитне случајеве
highway:
- bridleway: Коњичка стаза
- bus_guideway: Аутобуска трака
+ abandoned: Напуштени ауто-пут
+ bridleway: Коњички пут
+ bus_guideway: Трамвајска линија
bus_stop: Аутобуска станица
construction: Ауто-пут у изградњи
cycleway: Бициклистичка стаза
elevator: Лифт
- emergency_access_point: Ð\9fÑ\80иÑ\81Ñ\82Ñ\83п за Ñ\81лÑ\83Ñ\87аÑ\98 опаÑ\81ноÑ\81Ñ\82и
- footway: Ð\9fеÑ\88аÑ\87ка Ñ\81Ñ\82аза
- ford: Ð\93аз
- living_street: УлиÑ\86а Ñ\81миÑ\80еног пÑ\80омеÑ\82а
+ emergency_access_point: Ð\9fÑ\80ва помоÑ\9b
+ footway: ТÑ\80оÑ\82оаÑ\80
+ ford: Ð\9fлиÑ\9bак
+ living_street: Ð\9fеÑ\88аÑ\87ка зона
milestone: Миљоказ
motorway: Ауто-пут
- motorway_junction: Ð\9fеÑ\82Ñ\99а
- motorway_link: Ð\9cоÑ\82о-пут
+ motorway_junction: РаÑ\81кÑ\80Ñ\81ниÑ\86а
+ motorway_link: Ð\9fÑ\80икÑ\99Ñ\83Ñ\87ни пут
path: Стаза
pedestrian: Пешачка стаза
platform: Платформа
- primary: Ð\9cагиÑ\81Ñ\82Ñ\80ални пут
+ primary: Ð\93лавни пут
primary_link: Главни пут
- proposed: Ð\9fÑ\80едложен пут
+ proposed: Ð\9fÑ\80оÑ\98екÑ\82овани пут
raceway: Тркачка стаза
- residential: Улица
+ residential: СÑ\82амбена Ñ\83лица
rest_area: Одмаралиште
road: Пут
- secondary: Регионални пут
+ secondary: СпоÑ\80едни пут
secondary_link: Споредни пут
- service: СеÑ\80виÑ\81ни пут
+ service: Ð\9fÑ\80иÑ\81Ñ\82Ñ\83пни пут
services: Услуге на ауто-путу
speed_camera: Фото-радар
steps: Степенице
street_lamp: Улична светиљка
- tertiary: Ð\93лавна Ñ\83лиÑ\86а
+ tertiary: Ð\9bокални пÑ\83Ñ\82
tertiary_link: Локални пут
track: Макадам
+ traffic_signals: Саобраћајна сигнализација
trail: Стаза
- trunk: Ð\9cоÑ\82о пÑ\83Ñ\82
- trunk_link: Ð\9cагиÑ\81Ñ\82Ñ\80ални пÑ\83Ñ\82
- unclassified: Ð\9dекаÑ\82егоÑ\80иÑ\81ани пут
+ trunk: Ð\9cагиÑ\81Ñ\82Ñ\80ала
+ trunk_link: Ð\9cагиÑ\81Ñ\82Ñ\80ала
+ unclassified: Ð\9dеклаÑ\81иÑ\84иковани пут
unsurfaced: Неасфалтирани пут
"yes": Пут
historic:
archaeological_site: Археолошко налазиште
- battlefield: Ð\91оÑ\98иÑ\88Ñ\82е
+ battlefield: Ð\91оÑ\98но поÑ\99е
boundary_stone: Гранични камен
building: Историјска зграда
bunker: Бункер
castle: Дворац
church: Црква
- city_gate: Капија
- citywalls: Градски зидови
- fort: Утврђивање
+ city_gate: Градска капија
+ citywalls: Градске зидине
+ fort: Утврђење
+ heritage: Културно наслеђе
house: Кућа
icon: Икона
- manor: Ð\9fлемиÑ\9bко имање
- memorial: Споменик
+ manor: Ð\98мање
+ memorial: Ð\9cемоÑ\80иÑ\98ални Ñ\81поменик
mine: Рудник
- monument: Споменик (монумент)
+ monument: Споменик
+ roman_road: Римски пут
ruins: Рушевине
+ stone: Камен
tomb: Гробница
- tower: ТоÑ\80аÑ\9a
+ tower: Ð\9aÑ\83ла
wayside_cross: Крајпуташ
- wayside_shrine: УÑ\81пÑ\83Ñ\82но Ñ\81веÑ\82иÑ\88Ñ\82е
+ wayside_shrine: СвеÑ\82илиÑ\88Ñ\82е покÑ\80аÑ\98 пÑ\83Ñ\82а
wreck: Олупина
+ junction:
+ "yes": Раскрсница
landuse:
- allotments: Ð\91аÑ\88Ñ\82е
+ allotments: Ð\9fаÑ\80Ñ\86еле
basin: Басен
- brownfield: Ð\97емÑ\99иÑ\88Ñ\82е за пÑ\80енаменÑ\83
+ brownfield: Ð\97апÑ\83Ñ\88Ñ\82ена локаÑ\86иÑ\98а
cemetery: Гробље
- commercial: Ð\9fоÑ\81ловно подÑ\80Ñ\83Ñ\87Ñ\98е
- conservation: Ð\97аÑ\88Ñ\82иÑ\9bено подÑ\80Ñ\83Ñ\87Ñ\98е
+ commercial: Ð\9fоÑ\81ловна зона
+ conservation: Ð\97аÑ\88Ñ\82иÑ\9bено земÑ\99иÑ\88Ñ\82е
construction: Градилиште
farm: Фарма
- farmland: Ð\9fоÑ\99е
- farmyard: ФаÑ\80ма
+ farmland: Ð\9eбÑ\80адиво земÑ\99иÑ\88Ñ\82е
+ farmyard: СеоÑ\81ко имаÑ\9aе
forest: Шума
- garages: Ð\93аÑ\80ажа
+ garages: Ð\93аÑ\80аже
grass: Трава
- greenfield: Ð\97елено поÑ\99е
- industrial: Ð\98ндÑ\83Ñ\81Ñ\82Ñ\80иÑ\98Ñ\81ко подÑ\80Ñ\83Ñ\87Ñ\98е
+ greenfield: Ð\9dеиÑ\81коÑ\80иÑ\88Ñ\9bено земÑ\99иÑ\88Ñ\82е
+ industrial: Ð\98ндÑ\83Ñ\81Ñ\82Ñ\80иÑ\98Ñ\81ка зона
landfill: Депонија
meadow: Ливада
- military: Ð\92оÑ\98но подÑ\80Ñ\83Ñ\87Ñ\98е
+ military: Ð\92оÑ\98на зона
mine: Рудник
orchard: Воћњак
quarry: Каменолом
- railway: Ð\96елезниÑ\87ка пÑ\80Ñ\83га
- recreation_ground: Ð\9fодÑ\80Ñ\83Ñ\87Ñ\98е за Ñ\80екÑ\80еаÑ\86иÑ\98Ñ\83
+ railway: Ð\96елезниÑ\86а
+ recreation_ground: РекÑ\80еаÑ\82ивна зона
reservoir: Резервоар
reservoir_watershed: Акумулациона вододелница
- residential: СÑ\82амбено подÑ\80Ñ\83Ñ\87Ñ\98е
- retail: Ð\9cалопÑ\80одаÑ\98а
- road: Ð\9fÑ\83Ñ\82но подÑ\80Ñ\83Ñ\87Ñ\98е
- village_green: СеоÑ\81ко поÑ\99е
+ residential: СÑ\82амбена зона
+ retail: ТÑ\80говинÑ\81ка зона
+ road: Ð\9fÑ\83Ñ\82на мÑ\80ежа
+ village_green: Ð\97елена повÑ\80Ñ\88ина
vineyard: Виноград
+ "yes": Употреба земљишта
leisure:
- beach_resort: Одмаралиште на плажи
- bird_hide: Склониште за птице
+ beach_resort: Приобално одмаралиште
+ bird_hide: Осматрачница за птице
+ club: Клуб
common: Општинско земљиште
dog_park: Парк за псе
- fishing: Риболовно подÑ\80Ñ\83Ñ\87Ñ\98е
+ fishing: Ð\9cеÑ\81Ñ\82о за Ñ\80иболов
fitness_centre: Фитнес центар
fitness_station: Технички преглед
garden: Башта
- golf_course: Голф терен
+ golf_course: Терен за голф
+ horse_riding: Услуге јахања коња
ice_rink: Клизалиште
- marina: Ð\9fÑ\80ивезиÑ\88Ñ\82е
- miniature_golf: Мини голф
+ marina: Ð\9cаÑ\80ина
+ miniature_golf: Мини-голф
nature_reserve: Резерват природе
park: Парк
- pitch: СпоÑ\80Ñ\82Ñ\81ко игÑ\80алиÑ\88Ñ\82е
+ pitch: СпоÑ\80Ñ\82Ñ\81ки Ñ\82еÑ\80ен
playground: Игралиште
- recreation_ground: Подручје за рекреацију
+ recreation_ground: Рекреативна зона
+ resort: Одмаралиште
sauna: Сауна
slipway: Навоз
sports_centre: Спортски центар
stadium: Стадион
swimming_pool: Базен
- track: Стаза за трчање
- water_park: Водени парк
+ track: Атлетска стаза
+ water_park: Аквапарк
+ "yes": Разонода
+ man_made:
+ lighthouse: Светионик
+ pipeline: Цевовод
+ tower: Кула
+ works: Фабрика
+ "yes": Вештачки објекти
military:
airfield: Војни аеродром
barracks: Касарна
cliff: Литица
crater: Кратер
dune: Дина
- fell: Ð\91рдо
+ fell: Ð\93оло брдо
fjord: Фјорд
forest: Шума
geyser: Гејзир
glacier: Глечер
+ grassland: Пашњак
heath: Равница
hill: Брдо
island: Острво
- land: Ð\97емÑ\99иÑ\88Ñ\82е
+ land: Ð\97емÑ\99а
marsh: Мочвара
- moor: Ð\9cоÑ\87ваÑ\80а
+ moor: Ð\92Ñ\80еÑ\81иÑ\88Ñ\82е
mud: Блато
peak: Врх
point: Тачка
- reef: Ð\93Ñ\80ебен
+ reef: РиÑ\84
ridge: Гребен
rock: Стена
+ saddle: Превој
+ sand: Пешчара
scree: Осулина
- scrub: Ð\93Ñ\83Ñ\88Ñ\82аÑ\80а
+ scrub: Ð\93Ñ\83Ñ\81Ñ\82иÑ\88
spring: Извор
stone: Камен
strait: Мореуз
valley: Долина
volcano: Вулкан
water: Вода
- wetland: Ð\9cоÑ\87ваÑ\80а
+ wetland: Ð\9cоÑ\87ваÑ\80но подÑ\80Ñ\83Ñ\87Ñ\98е
wood: Шума
office:
accountant: Рачуновођа
+ administrative: Администрација
architect: Архитекта
company: Предузеће
employment_agency: Агенција за запошљавање
estate_agent: Агенција за некретнине
government: Владина служба
- insurance: Ð\9eсигурање
+ insurance: Ð\90генÑ\86иÑ\98а за осигурање
lawyer: Адвокат
- ngo: Ð\9dÐ\92Ð\9e канÑ\86елаÑ\80ија
- telecommunication: Телекомуникациона служба
+ ngo: Ð\9dевладина оÑ\80ганизаÑ\86ија
+ telecommunication: Телекомуникациона компанија
travel_agent: Туристичка агенција
"yes": Канцеларија
place:
+ allotments: Парцеле
+ block: Блок
airport: Аеродром
city: Град
country: Земља
county: Округ
farm: Фарма
- hamlet: Ð\97аÑ\81еок
+ hamlet: Ð\97аÑ\81елак
house: Кућа
houses: Куће
island: Острво
- islet: Ð¥Ñ\80ид
+ islet: Ð\9eÑ\81Ñ\82Ñ\80вÑ\86е
isolated_dwelling: Удаљено пребивалиште
locality: Локалитет
- moor: Ð\9cоÑ\87ваÑ\80а
+ moor: Ð\92Ñ\80еÑ\81иÑ\88Ñ\82е
municipality: Општина
- neighbourhood: Ð\9dаÑ\81еÑ\99е
+ neighbourhood: Ð\9aваÑ\80Ñ\82
postcode: Поштански број
- region: Ð\9fодÑ\80Ñ\83Ñ\87Ñ\98е
+ region: Регион
sea: Море
- state: Савезна држава
- subdivision: Ð\9fодгÑ\80Ñ\83па
+ state: Ð\94ржава
+ subdivision: Ð\90дминиÑ\81Ñ\82Ñ\80аÑ\82ивно подÑ\80Ñ\83Ñ\87Ñ\98е
suburb: Предграђе
town: Варошица
- unincorporated_area: Слободна земÑ\99а
+ unincorporated_area: Ð\9dепÑ\80ипоÑ\98ена зона
village: Село
+ "yes": Место
railway:
abandoned: Напуштена железница
construction: Железничка пруга у изградњи
level_crossing: Пружни прелаз
light_rail: Лака железница
miniature: Минијатурна железница
- monorail: Ð\88едноÑ\82Ñ\80аÑ\87на пÑ\80Ñ\83га
- narrow_gauge: УÑ\81коÑ\82Ñ\80аÑ\87на пÑ\80Ñ\83га
- platform: Ð\96елезниÑ\87ка плаÑ\82Ñ\84оÑ\80ма
+ monorail: Ð\9fÑ\80Ñ\83га Ñ\81а Ñ\98едним колоÑ\81еком
+ narrow_gauge: Ð\9fÑ\80Ñ\83га Ñ\83Ñ\81ког колоÑ\81ека
+ platform: Ð\96елезниÑ\87ки пеÑ\80он
preserved: Очувана железница
- proposed: Ð\9fÑ\80едложена пÑ\80Ñ\83га
- spur: Ð\9fÑ\80Ñ\83га
+ proposed: Ð\9fÑ\80оÑ\98екÑ\82ована железниÑ\86а
+ spur: Ð\9eгÑ\80анак железниÑ\87ке пÑ\80Ñ\83ге
station: Железничка станица
- stop: СÑ\82аниÑ\86а на пÑ\80Ñ\83зи
+ stop: Ð\96елезниÑ\87ко Ñ\81Ñ\82аÑ\98алиÑ\88Ñ\82е
subway: Метро
subway_entrance: Улаз у метро
- switch: Скретница
+ switch: Ð\96елезниÑ\87ка Ñ\81кретница
tram: Трамвај
tram_stop: Трамвајско стајалиште
shop:
- alcohol: ТÑ\80говина пиÑ\9bем
+ alcohol: Ð\9fÑ\80одавниÑ\86а алкоÑ\85олниÑ\85 пиÑ\9bа
antiques: Антикварница
- art: Ð\90Ñ\82еÑ\99е
+ art: Ð\9fÑ\80одавниÑ\86а опÑ\80еме за Ñ\83меÑ\82нике
bakery: Пекара
- beauty: Ð\9fаÑ\80Ñ\84имеÑ\80иÑ\98а
+ beauty: Ð\9aозмеÑ\82иÑ\87ки Ñ\81алон
beverages: Продавница пића
bicycle: Продавница бицикала
books: Књижара
boutique: Бутик
butcher: Месара
- car: Ð\90Ñ\83Ñ\82о-кÑ\83Ñ\9bа
- car_parts: Ð\90Ñ\83Ñ\82о-делови
+ car: ТÑ\80говаÑ\86 аÑ\83Ñ\82омобилима
+ car_parts: Ð\9fÑ\80одавниÑ\86а аÑ\83Ñ\82о-делова
car_repair: Ауто-сервис
carpet: Продавница тепиха
charity: Добротворна продавница
- chemist: Ð\90поÑ\82екаÑ\80
- clothes: Ð\91Ñ\83Ñ\82ик
- computer: РаÑ\87Ñ\83наÑ\80Ñ\81ка опÑ\80ема
+ chemist: Ð\9fÑ\80одавниÑ\86а кÑ\83Ñ\9bне Ñ\85емиÑ\98е
+ clothes: Ð\9fÑ\80одавниÑ\86а одеÑ\9bе
+ computer: Ð\9fÑ\80одавниÑ\86а Ñ\80аÑ\87Ñ\83наÑ\80а
confectionery: Посластичарница
- convenience: Потрепштине
- copyshop: Ð\9aопирница
- cosmetics: Ð\9aозмеÑ\82иÑ\87аÑ\80Ñ\81ка Ñ\80адÑ\9aа
- deli: Ð\94еликаÑ\82еÑ\81
+ convenience: Продавница мешовите робе
+ copyshop: ФоÑ\82окопирница
+ cosmetics: Козметичка радња
+ deli: СендвиÑ\87аÑ\80а
department_store: Робна кућа
discount: Дисконт
doityourself: Уради сам
dry_cleaning: Хемијско чишћење
- electronics: Ð\95лекÑ\82Ñ\80онÑ\81ка опÑ\80ема
+ electronics: Ð\9fÑ\80одавниÑ\86а елекÑ\82Ñ\80онике
estate_agent: Агент за некретнине
farm: Пољопривредна апотека
- fashion: Ð\9cодна пÑ\80одавниÑ\86а
+ fashion: Ð\9fÑ\80одавниÑ\86а модне одеÑ\9bе
fish: Рибарница
florist: Цвећара
- food: Ð\91акалниÑ\86а
+ food: Ð\9fÑ\80одавниÑ\86а Ñ\85Ñ\80ане
funeral_directors: Погребно предузеће
- furniture: Ð\9dамеÑ\88Ñ\82аÑ\98
+ furniture: Ð\9fÑ\80одавниÑ\86а намеÑ\88Ñ\82аÑ\98а
gallery: Галерија
garden_centre: Вртни центар
- general: Продавница мешовите робе
- gift: СÑ\83вениÑ\80ниÑ\86а
- greengrocer: Пиљарница
+ general: Продавница робе широке потрошње
+ gift: Ð\9fÑ\80одавниÑ\86а поклона
+ greengrocer: Продавница воћа и поврћа
grocery: Бакалница
hairdresser: Фризерски салон
- hardware: Ð\93вожÑ\92аÑ\80а
- hifi: Ð\9cÑ\83зиÑ\87ка опÑ\80ема
- insurance: Осигурање
- jewelry: Ð\97лаÑ\82аÑ\80а
- kiosk: Ð\9aиоÑ\81к
- laundry: Ð\92еÑ\88еÑ\80ниÑ\86а
+ hardware: Ð\9fÑ\80одавниÑ\86а алаÑ\82а
+ hifi: Ð\9fÑ\80одавниÑ\86а аÑ\83дио-опÑ\80еме
+ insurance: Осигуравајућа компанија
+ jewelry: Ð\88Ñ\83велиÑ\80ниÑ\86а
+ kiosk: ТÑ\80аÑ\84ика
+ laundry: Ð\9fеÑ\80иониÑ\86а веÑ\88а
mall: Тржни центар
- market: Ð\9cаÑ\80кеÑ\82
+ market: Ð\9fиÑ\98аÑ\86а
mobile_phone: Продавница мобилних телефона
motorcycle: Продавница мотоцикала
music: Музичка продавница
- newsagent: Новинар
+ newsagent: Новинарница
optician: Оптичар
organic: Продавница здраве хране
- outdoor: ШÑ\82анд
- pet: Ð\9fÑ\80одавниÑ\86а кÑ\83Ñ\9bниÑ\85 Ñ\99Ñ\83бимаÑ\86а
+ outdoor: Ð\9fÑ\80одавниÑ\86а опÑ\80еме за Ñ\81поÑ\80Ñ\82ове на оÑ\82воÑ\80еном
+ pet: Ð\9fÑ\80одавниÑ\86а за кÑ\83Ñ\9bне Ñ\99Ñ\83бимÑ\86е
pharmacy: Апотека
photo: Фотографска радња
salon: Салон
second_hand: Продавница половне робе
shoes: Продавница обуће
shopping_centre: Тржни центар
- sports: СпоÑ\80Ñ\82Ñ\81ка опÑ\80ема
- stationery: Папирница
+ sports: Ð\9fÑ\80одавниÑ\86а Ñ\81поÑ\80Ñ\82Ñ\81ке опÑ\80еме
+ stationery: Продавница канцеларијског прибора
supermarket: Супермаркет
tailor: Кројач
toys: Продавница играчака
travel_agency: Туристичка агенција
video: Видеотека
- wine: ТÑ\80говина пиÑ\9bем
+ wine: Ð\9fÑ\80одавниÑ\86а алкоÑ\85олниÑ\85 пиÑ\9bа
"yes": Продавница
tourism:
alpine_hut: Планинарски дом
- artwork: Галерија
+ apartment: Стан
+ artwork: Уметничко дело
attraction: Атракција
bed_and_breakfast: Полупансион
- cabin: Ð\9aолиба
+ cabin: Ð\91Ñ\80внаÑ\80а
camp_site: Камп
- caravan_site: Ð\9aамп-приколице
- chalet: Ð\9fланинÑ\81ка колиба
+ caravan_site: Ð\9fаÑ\80к за камп приколице
+ chalet: Ð\9aолиба
gallery: Галерија
- guest_house: Ð\93оÑ\81Ñ\82инÑ\81ка кÑ\83Ñ\9bа
+ guest_house: Ð\9fÑ\80еноÑ\9bиÑ\88Ñ\82е
hostel: Хостел
hotel: Хотел
information: Информације
motel: Мотел
museum: Музеј
picnic_site: Место за пикник
- theme_park: ТемаÑ\82Ñ\81ки парк
+ theme_park: Ð\97абавни парк
viewpoint: Видиковац
zoo: Зоолошки врт
tunnel:
culvert: Одводни канал
"yes": Тунел
waterway:
- artificial: Ð\92еÑ\88Ñ\82аÑ\87ки водени пÑ\83Ñ\82
+ artificial: Ð\92еÑ\88Ñ\82аÑ\87ки водоÑ\82ок
boatyard: Бродоградилиште
canal: Канал
dam: Брана
- derelict_canal: Ð\9eдбаÑ\87ени канал
+ derelict_canal: СÑ\83ви канал
ditch: Јарак
- dock: Ð\9fÑ\80иÑ\81Ñ\82аниÑ\88Ñ\82е
+ dock: Ð\94ок
drain: Одвод
- lock: УÑ\81Ñ\82ава
- lock_gate: Ð\9fоÑ\99е Ñ\83Ñ\81Ñ\82аве
+ lock: Ð\9fÑ\80еводниÑ\86а
+ lock_gate: Ð\92Ñ\80аÑ\82а пÑ\80еводниÑ\86е
mooring: Сидриште
- rapids: Брзаци
+ rapids: Брзак
river: Река
stream: Поток
- wadi: СÑ\83во коÑ\80иÑ\82о Ñ\80еке
+ wadi: Ð\92ади
waterfall: Водопад
weir: Брана
+ "yes": Водоток
admin_levels:
level2: Државна граница
- level4: Савезна гÑ\80аниÑ\86а
- level5: Регионална гÑ\80аниÑ\86а
- level6: Ð\9eкÑ\80Ñ\83жна гÑ\80аниÑ\86а
- level8: Ð\93Ñ\80адÑ\81ка гÑ\80аниÑ\86а
- level9: СеоÑ\81ка гÑ\80аниÑ\86а
- level10: Ð\9fÑ\80игÑ\80адÑ\81ка гÑ\80аниÑ\86а
+ level4: Ð\93Ñ\80аниÑ\86а Ñ\81авезне дÑ\80жаве
+ level5: Ð\93Ñ\80аниÑ\86а Ñ\80егиона
+ level6: Ð\93Ñ\80аниÑ\86а окÑ\80Ñ\83га
+ level8: Ð\93Ñ\80аниÑ\86а гÑ\80ада
+ level9: Ð\93Ñ\80аниÑ\86а Ñ\81ела
+ level10: Ð\93Ñ\80аниÑ\86а наÑ\81еÑ\99а
description:
title:
- osm_nominatim: Локација из <a href="http://nominatim.openstreetmap.org/">Номинатима</a>
- geonames: Локација из <a href="http://www.geonames.org/">ГеоИмена</a>
+ osm_nominatim: Локација са сајта <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+ Nominatim</a>
+ geonames: Локација са сајта <a href="http://www.geonames.org/">GeoNames</a>
types:
cities: Градови
towns: Варошице
places: Места
results:
no_results: Нема резултата
- more_results: Ð\88оÑ\88 резултата
+ more_results: Ð\92иÑ\88е резултата
layouts:
project_name:
title: OpenStreetMap
h1: OpenStreetMap
logo:
- alt_text: Логотип ОпенСтритМапа
- home: Ð\98ди на поÑ\87еÑ\82нÑ\83 позиÑ\86иÑ\98Ñ\83
+ alt_text: Логотип OpenStreetMap-а
+ home: Ð\9aÑ\83Ñ\9bа
logout: Одјава
log_in: Пријава
log_in_tooltip: Пријава са постојећим налогом
- sign_up: Ð\9eÑ\82воÑ\80и налог
- start_mapping: Почни да уређујеш карте
+ sign_up: РегиÑ\81Ñ\82Ñ\80аÑ\86иÑ\98а
+ start_mapping: Почни са мапирањем
sign_up_tooltip: Отвори налог за уређивање
edit: Уреди
history: Историја
export: Извези
data: Подаци
- export_data: Ð\98звоз подаÑ\82ака
+ export_data: Ð\98звези подаÑ\82ке
gps_traces: ГПС трагови
- gps_traces_tooltip: Уреди ГПС трагове
- user_diaries: Дневници
- user_diaries_tooltip: Погледајте корисничке дневнике
+ gps_traces_tooltip: Управљај ГПС траговима
+ user_diaries: Дневници корисника
+ user_diaries_tooltip: Погледај дневнике корисника
edit_with: Уреди помоћу %{editor}
- tag_line: Слободна вики каÑ\80Ñ\82а света
- intro_header: Добродошли на ОпенСтритМап!
- intro_text: ОпенСтритМапа је карта света, створена од стране људи попут тебе и
- Ñ\81лободна Ñ\98е за коÑ\80иÑ\88Ñ\9bеÑ\9aе под оÑ\82воÑ\80еном лиÑ\86енÑ\86ом.
- intro_2_create_account: Отвори налог
- partners_html: ХоÑ\81Ñ\82инг подÑ\80жали %{ucl}, %{ic} и %{bytemark}, као и други %{partners}.
+ tag_line: Слободна вики мапа света
+ intro_header: Добро дошли на OpenStreetMap!
+ intro_text: OpenStreetMap је мапа света коју су направили људи попут вас. Слободна
+ је за коришћење под отвореном лиценцом.
+ intro_2_create_account: Отворите кориснички налог
+ partners_html: ХоÑ\81Ñ\82инг омогÑ\83Ñ\9bÑ\83Ñ\98Ñ\83 %{ucl}, %{ic} и %{bytemark}, као и други %{partners}.
partners_ucl: VR центар UCL-а
- partners_ic: Ð\9bондонÑ\81ки кÑ\80аÑ\99евÑ\81ки колеÑ\9f
- partners_bytemark: Хостинг „Бајтмарк“
+ partners_ic: Ð\9aÑ\80аÑ\99евÑ\81ки колеÑ\9f Ñ\83 Ð\9bондонÑ\83
+ partners_bytemark: хостинг Bytemark
partners_partners: партнери
- osm_offline: База података ОпенСтритМапа је тренутно недоступна док се не заврше
- важни радови на одржавању.
- osm_read_only: Ð\97бог Ñ\80адова на одÑ\80жаваÑ\9aÑ\83 базе подаÑ\82ака Ð\9eпенСÑ\82Ñ\80иÑ\82Ð\9cапа, иÑ\81Ñ\82Ñ\83 Ñ\82Ñ\80енÑ\83Ñ\82но
- ниÑ\98е могÑ\83Ñ\9bе меÑ\9aаÑ\82и.
- donate: Ð\9fомозиÑ\82е нам Ñ\82ако Ñ\88Ñ\82о Ñ\9bеÑ\82е %{link} Ñ\80ади одÑ\80жаваÑ\9aа поÑ\82Ñ\80ебног хардвера.
+ osm_offline: База OpenStreetMap-а је тренутно недоступна док се не заврше неопходни
+ радови на одржавању.
+ osm_read_only: Ð\91азÑ\83 OpenStreetMap-а Ñ\82Ñ\80енÑ\83Ñ\82но ниÑ\98е могÑ\83Ñ\9bе меÑ\9aаÑ\82и док Ñ\81е не завÑ\80Ñ\88е
+ неопÑ\85одни Ñ\80адови на одÑ\80жаваÑ\9aÑ\83.
+ donate: Ð\9fодÑ\80жиÑ\82е Ð\9epenStreetMap Ñ\81а %{link} за Фонд за обновÑ\83 хардвера.
help: Помоћ
about: О нама
copyright: Ауторска права
community: Заједница
community_blogs: Блогови заједнице
- community_blogs_title: Блогови чланова заједнице
- foundation: Ð\97адÑ\83жбина
- foundation_title: Задужбина ОпенСтриМап
+ community_blogs_title: Блогови чланова заједнице OpenStreetMap
+ foundation: ФондаÑ\86иÑ\98а
+ foundation_title: OpenStreetMap Foundation
make_a_donation:
- title: Подржи ОпенСтритМап новчаним прилогом
- text: Ð\9fÑ\80иложи новаÑ\86
- learn_more: СазнаÑ\98 виÑ\88е
- more: Ð\88оÑ\88
+ title: Подржите ОpenStreetMap новчаним прилогом
+ text: Ð\94ониÑ\80аÑ\98Ñ\82е
+ learn_more: Ð\94еÑ\82аÑ\99ниÑ\98е
+ more: Ð\92иÑ\88е
license_page:
foreign:
title: О овом преводу
legal_babble:
title_html: Ауторска права и лиценца
intro_1_html: |-
- Опенстритмап чине <i>слободни подаци</i>, лиценцирани под <a
+ OpenStreetMap<sup><a href="#trademarks">®</a></sup> садржи <i>слободне податке</i> који су доступни под лиценцом <a
href="http://opendatacommons.org/licenses/odbl/">Open Data
- Commons Open Database License</a> (ODbL).
+ Commons Open Database License</a> (ODbL) организације <a
+ href="http://osmfoundation.org/">OpenStreetMap Foundation</a> (OSMF).
intro_2_html: |2-
Можете да умножавате, делите, преносите и прилагођавате
наше податке, све док именујете Опенстритмап и њене
title: Пример за навођење
more_title_html: Сазнај више
more_1_html: |-
- Више о употреби података и како да нас наводите можете пронаћи на <a
- href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">Правним ЧПП</a>.
+ Више о употреби података и како да нас наводите можете наћи на <a
+ href="http://osmfoundation.org/Licence">страници лиценце OSMF</a> и у <a
+ href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">честим правним питањима</a>.
more_2_html: |-
Иако OpenStreetMap ради с отвореним подацима, не можемо
понудити бесплатан АПИ за мапе независним програмерима.
водич са најбитнијим стварима које је потребно знати.
whats_on_the_map:
title: Шта је на карти
- on_html: Ð\9eпенСÑ\82Ñ\80иÑ\82Ð\9cап Ñ\98е меÑ\81Ñ\82о за Ñ\83Ñ\86Ñ\80Ñ\82аваÑ\9aе <em>Ñ\81Ñ\82ваÑ\80ниÑ\85 и акÑ\82Ñ\83елниÑ\85</em> Ñ\81Ñ\82ваÑ\80и
- на карту - то укључује милионе грађевина, путева, и других детаља о местима.
- Ð\9cожеÑ\88 да Ñ\83Ñ\86Ñ\80Ñ\82аÑ\88 било коÑ\98Ñ\83 Ñ\81Ñ\82ваÑ\80 из Ñ\81Ñ\82ваÑ\80ног Ñ\81веÑ\82а коÑ\98а Ñ\82и Ñ\98е занимÑ\99ива.
+ on_html: Ð\9dа мапи OpenStreetMap-а Ñ\81е налазе обÑ\98екÑ\82и коÑ\98и <em>поÑ\81Ñ\82оÑ\98е Ñ\83 даÑ\82ом
+ тренутку</em>, попут милиона грађевина, путева и других елемената локалитета.
+ Слободно можеÑ\82е да забележиÑ\82е било коÑ\98е деÑ\82аÑ\99е Ñ\81поÑ\99ног Ñ\81веÑ\82а коÑ\98и Ñ\81Ñ\83 вам занимÑ\99иви.
off_html: Оно што се <em>не</em> рачуна су пристрасне оцене, историјски или
хипотетички подаци, и подаци заштићени ауторским правима. Ако немаш изричиту
дозволу, не умножавај папирне и карте са интернета.
editor_html: <strong>Уређивач</strong> је програм или алат на интернету помоћу
којег се уређује карта.
node_html: <strong>Чвор</strong> је тачка на карти, нпр. ресторан или дрво.
- way_html: <strong>Ð\9fÑ\83Ñ\82аÑ\9aа</strong> Ñ\98е линиÑ\98е или повÑ\80Ñ\88ина, нпÑ\80. пÑ\83Ñ\82, поÑ\82ок, Ñ\98езеÑ\80о
- или зграда.
- tag_html: <strong>Ознака</strong> је део података о тачки или путањи, нпр. име
- ресторана или ограничење брзине на неком путу.
+ way_html: <strong>Ð\9bиниÑ\98а</strong> Ñ\98е кÑ\80ива или подÑ\80Ñ\83Ñ\87Ñ\98е попÑ\83Ñ\82 пÑ\83Ñ\82а, поÑ\82ока,
+ језера или грађевине.
+ tag_html: <strong>Ознака</strong> је јединица којом се описује тачка или линија,
+ нпр. име ресторана или ограничење брзине на одређеном путу.
questions:
title: Питања?
paragraph_1_html: |-
title: Како да помогнем
join_the_community:
title: Прикључи се заједници
- explanation_html: Ð\90ко пÑ\80имеÑ\82иÑ\88 пÑ\80облем Ñ\81а наÑ\88им каÑ\80Ñ\82огÑ\80аÑ\84Ñ\81ким подаÑ\86има, нпÑ\80.
- недоÑ\81Ñ\82аÑ\98е пÑ\83Ñ\82 или Ñ\82воÑ\98а адÑ\80еÑ\81а, наÑ\98боÑ\99и наÑ\87ин за наÑ\81Ñ\82авак Ñ\98е да Ñ\81е пÑ\80икÑ\99Ñ\83Ñ\87иÑ\88
- Ð\9eпенСÑ\82Ñ\80иÑ\82Ð\9cап заÑ\98едниÑ\86и и Ñ\81ам додаÑ\88 или попÑ\80авиÑ\88 податке.
+ explanation_html: Ð\90ко пÑ\80имеÑ\82иÑ\82е пÑ\80облем Ñ\81а подаÑ\86има на наÑ\88оÑ\98 мапи (нпÑ\80. одÑ\81Ñ\83Ñ\81Ñ\82во
+ пÑ\83Ñ\82а или адÑ\80еÑ\81е) наÑ\98боÑ\99и наÑ\87ин Ñ\98е да Ñ\81е пÑ\80идÑ\80Ñ\83жиÑ\82е заÑ\98едниÑ\86и OpenStreetMap
+ и Ñ\81амоÑ\81Ñ\82ално додаÑ\82е или иÑ\81пÑ\80авиÑ\82е податке.
add_a_note:
instructions_html: |-
Само кликни <a class='icon note'></a> или исту иконицу на приказу карте.
about_page:
next: Следеће
copyright_html: <span>©</span>ОпенСтритМап<br>сарадници
- used_by: '%{name} покÑ\80еÑ\9bе каÑ\80Ñ\82е на Ñ\85иÑ\99адама веб Ñ\81Ñ\82Ñ\80аниÑ\86а, мобилниÑ\85 пÑ\80огÑ\80ама, и
- уређаја'
- lede_text: ОпенСтритМап је направила заједница картографа који сарађују и одржавају
- податке о путевима, стазама, кафићима, железничким станицама, и још пуно тога,
- шитом света.
+ used_by: '%{name} обезбеÑ\92Ñ\83Ñ\98е каÑ\80Ñ\82огÑ\80аÑ\84Ñ\81ке подаÑ\82ке Ñ\85иÑ\99адама Ñ\81аÑ\98Ñ\82ова, мобилниÑ\85 апликаÑ\86иÑ\98а
+ и уређаја'
+ lede_text: OpenStreetMap је направила заједница картографа који додавају и одржавају
+ податке о путевима, стазама, кафићима, железничким станицама и многим другим
+ објектима широм света.
local_knowledge_title: Локално знање
- local_knowledge_html: ОпенСтритМап наглашава локално знање. Сарадници користе
- Ñ\81лике из ваздÑ\83Ñ\85а, Ð\93Ð\9fС Ñ\83Ñ\80еÑ\92аÑ\98е, и Ñ\82еÑ\85ниÑ\87ки не Ñ\82ако напÑ\80едне Ñ\82еÑ\80енÑ\81ке каÑ\80Ñ\82е да
- су ОСМ подаци прецизни и тренутно важећи.
+ local_knowledge_html: OpenStreetMap придаје значај локалном знању. Учесници користе
+ Ñ\81нимке из ваздÑ\83Ñ\85а, GPS Ñ\83Ñ\80еÑ\92аÑ\98е и обиÑ\87не Ñ\82еÑ\80енÑ\81ке мапе Ñ\83 Ñ\86иÑ\99Ñ\83 пÑ\80овеÑ\80е иÑ\81пÑ\80авноÑ\81Ñ\82и
+ и ажурности OSM-а.
community_driven_title: Заједница је покретач
open_data_title: Отцорени подаци
partners_title: Партнери
notifier:
diary_comment_notification:
- subject: '[OpenStreetMap] %{user} је прокоментарисао ваш унос у дневнику'
+ subject: '%{user} је прокоментарисао ваш дневнички запис'
hi: Поздрав, %{to_user},
- header: '%{from_user} прокоментариса ваш скорашњи унос у дневнику под насловом
+ header: '%{from_user} је прокоментарисао ваш скорашњи дневнички запис под насловом
%{subject}:'
footer: Можете прочитати коментаре на %{readurl}, прокоментарисати на %{commenturl}
или одговорити на %{replyurl}
мапа. Преузмите га <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">одавде</a>.
Доступне су и <a href="http://wiki.openstreetmap.org/wiki/Editing">неке друге
могућности</a> за уређивање Опенстритмапа.
- potlatch_unsaved_changes: Нисте сачували измене. Да бисте то урадили, поништите
- текућу путању или тачку, ако уређујете наживо, или кликните на дугме за чување.
+ potlatch_unsaved_changes: Имате несачуване измене. (Да бисте их сачували у Potlatch-у,
+ демаркирајте тренутни пут или тачку, ако уређујете у „живом“ режиму, или кликните
+ на дугме за чување, ако постоји.)
potlatch2_not_configured: Потлач 2 није подешен. Погледајте http://wiki.openstreetmap.org/wiki/The_Rails_Port
potlatch2_unsaved_changes: Нисте сачували измене. Да бисте то урадили, кликните
на дугме за чување.
entry:
motorway: Ауто-пут
main_road: Главни пут
- trunk: Ð\9cоÑ\82о пут
+ trunk: Ð\90Ñ\83Ñ\82о-пут
primary: Магистрални пут
- secondary: Регионални пут
- unclassified: Ð\9dекаÑ\82егоÑ\80иÑ\81ани пут
+ secondary: СпоÑ\80едни пут
+ unclassified: Ð\9bокални пут
track: Макадам
bridleway: Коњичка стаза
cycleway: Бициклистичка стаза
identifiable: Може се препознати (приказано у списку трагова као јавне, поређане
и датиране тачке)
create:
- upload_trace: Ð\9eÑ\82пÑ\80еми Ð\93Ð\9fС Ñ\82Ñ\80аг
+ upload_trace: Ð\9eÑ\82пÑ\80емаÑ\9aе Ð\93Ð\9fС Ñ\82Ñ\80ага
trace_uploaded: GPX датотека је отпремљена и чека убацивање у базу. Ово обично
траје око пола сата, након чега ћете добити обавештење о завршетку.
edit:
upload_trace: Отпреми траг
see_all_traces: Погледај све трагове
see_your_traces: Погледај своје трагове
- traces_waiting: Имате %{count} трагова на чекању за слање. Сачекајте да се прво
- они заврше пре отпремања нових трагова, да не бисте блокирали друге кориснике.
+ traces_waiting:
+ one: '%{count} траг чека на отпремање. Молимо вас да сачекате окончање преноса
+ пре него што отпремите друге. Тиме нећете оптеретити сервер другим корисницима.'
+ other: '%{count} трага чекају на отпремање. Молимо вас да сачекате окончање
+ преноса пре него што отпремите друге. Тиме нећете оптеретити сервер другим
+ корисницима.'
trace_optionals:
tags: Ознаке
view:
trace_not_found: Траг није пронађен.
visibility: 'Видљивост:'
trace_paging_nav:
- showing_page: Ð\9fÑ\80иказ Ñ\81Ñ\82Ñ\80аниÑ\86е %{page}
+ showing_page: СÑ\82Ñ\80аниÑ\86а %{page}
older: Старији трагови
newer: Новији трагови
trace:
list:
public_traces: Јавни ГПС трагови
your_traces: Ваши ГПС трагови
- public_traces_from: Јавни ГПС трагови корисника %{user}
+ public_traces_from: Јавни GPS трагови корисника %{user}
tagged_with: ' означени са %{tags}'
- empty_html: Овде још нема ништа. <a href='%{upload_link}'>Отпремите нови траг</a>
- или сазнајте више о ГПС трагању на <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>вики
+ empty_html: Овде још увек нема ништа. <a href='%{upload_link}'>Отпремите нови
+ траг</a> или сазнајте више о GPS траговима на <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>вики
страници</a>.
delete:
scheduled_for_deletion: Траг постављен за брисање
allow_to: 'Дозволи програму да:'
allow_read_prefs: чита ваше корисничке поставке.
allow_write_prefs: мења ваше корисничке поставке.
- allow_write_diary: прави уносе у дневнику, коментарише и додаје пријатеље.
+ allow_write_diary: прави дневничке записе, коментарише и додаје пријатеље.
allow_write_api: мења мапу.
- allow_read_gpx: чита ваше приватне ГПС трагове.
- allow_write_gpx: отпрема ГПС трагове.
+ allow_read_gpx: чита ваше приватне GPS трагове.
+ allow_write_gpx: отпрема GPS трагове.
revoke:
flash: Опозвали сте новчић за %{application}
oauth_clients:
url: 'Адреса захтевног новчића:'
access_url: 'Адреса приступног новчића:'
authorize_url: 'Адреса овлашћења:'
- support_notice: Подржавамо HMAC-SHA1, као и обичан текст у режиму SSL.
+ support_notice: Подржавамо HMAC-SHA1 (препоручује се) и RSA-SHA1 потписе.
edit: Детаљи измене
delete: Обриши клијент
confirm: Јесте ли сигурни?
requests: 'Захтевање следећих дозвола од корисника:'
allow_read_prefs: чита корисничке поставке.
allow_write_prefs: мења корисничке поставке.
- allow_write_diary: прави уносе у дневнику, коментарише и додаје пријатеље.
+ allow_write_diary: прави дневничке записе, коментарише и додаје пријатеље.
allow_write_api: мења мапу.
- allow_read_gpx: чита приватне ГПС трагове.
- allow_write_gpx: отпрема ГПС трагове.
+ allow_read_gpx: чита приватне GPS трагове.
+ allow_write_gpx: отпрема GPS трагове.
allow_write_notes: измени белешке.
index:
title: OAuth детаљи
requests: 'Захтевај следеће дозволе од корисника:'
allow_read_prefs: читање корисничких поставки.
allow_write_prefs: мењање корисничких поставки.
- allow_write_diary: прављење уноса у дневнику, коментарисање и додавање пријатеља.
+ allow_write_diary: прави дневничке записе, коментарише и додаје пријатеље.
allow_write_api: мењање мапе.
- allow_read_gpx: читање приватних ГПС трагова.
- allow_write_gpx: отпремање ГПС трагова.
+ allow_read_gpx: чита приватне GPS трагове.
+ allow_write_gpx: отпрема GPS трагове.
allow_write_notes: измени белешке.
not_found:
sorry: Жао нам је, %{type} није пронађен.
flash changed: Ваша лозинка је промењена.
flash token bad: Такав новчић није пронађен. Проверите адресу.
new:
- title: Ð\9fÑ\80иÑ\98ави Ñ\81е
+ title: РегиÑ\81Ñ\82Ñ\80аÑ\86иÑ\98а
no_auto_account_create: Нажалост, тренутно нисмо у могућности да отворимо нови
налог.
contact_webmaster: Контактирајте <a href="%{webmaster}">администратора</a> за
променити у поставкама.
password: 'Лозинка:'
confirm password: 'Потврдите лозинку:'
- continue: Ð\9fÑ\80иÑ\98ави Ñ\81е
+ continue: Ð\9eÑ\82воÑ\80и налог
terms accepted: Хвала вам што прихватате нове услове уређивања.
terms declined: Жао нам је што сте одлучили да не прихватите нове услове уређивања.
Погледајте <a href="%{url}">ову страницу</a> за више информација.
коју сте кликнули.
view:
my diary: Мој дневник
- new diary entry: нови унос у дневнику
+ new diary entry: нови дневнички запис
my edits: Моје измене
my traces: Моји трагови
my notes: Моје белешке
revoke:
administrator: Опозови овлашћења администратора
moderator: Опозови овлашћења уредника
- block_history: добиÑ\98ене блокаде
- moderator_history: даÑ\82е блокаде
+ block_history: Ð\90кÑ\82ивне блокаде
+ moderator_history: Ð\98звÑ\80Ñ\88ене блокаде
comments: Коментари
- create_block: блокиÑ\80аÑ\98 овог корисника
- activate_user: акÑ\82ивиÑ\80аÑ\98 овог корисника
- deactivate_user: деакÑ\82ивиÑ\80аÑ\98 овог корисника
+ create_block: Ð\91локиÑ\80аÑ\98 корисника
+ activate_user: Ð\90кÑ\82ивиÑ\80аÑ\98 корисника
+ deactivate_user: Ð\94еакÑ\82ивиÑ\80аÑ\98 корисника
confirm_user: Потврди овог корисника
- hide_user: сакриј овог корисника
- unhide_user: оÑ\82кÑ\80иÑ\98 овог корисника
- delete_user: обÑ\80иÑ\88и овог корисника
+ hide_user: Сакриј корисника
+ unhide_user: Ð\9eÑ\82кÑ\80иÑ\98 корисника
+ delete_user: Ð\98збÑ\80иÑ\88и корисника
confirm: Потврди
friends_changesets: Спискови измена пријатеља
friends_diaries: Дневник пријатеља
current email address: 'Тренутна имејл адреса:'
new email address: 'Нова е-адреса:'
email never displayed publicly: (никада се не приказује јавно)
+ external auth: 'Спољна аутентификација:'
openid:
link: http://wiki.openstreetmap.org/wiki/OpenID
link text: шта је ово?
standard: Стандардна
cycle_map: Бициклистичка мапа
transport_map: Саобраћајна мапа
- mapquest: Мапквест опен
hot: Хуманитарни
layers:
header: Слојеви карте
createnote_disabled_tooltip: Увећај да додаш белешку на карту
map_notes_zoom_in_tooltip: Увећај да видиш белешке на карти
map_data_zoom_in_tooltip: Увећај да видиш податке са карте
+ queryfeature_tooltip: Информације о објектима
+ queryfeature_disabled_tooltip: Зумирај на информације о објектима
changesets:
show:
comment: Коментар
+ subscribe: Пријави ме
+ unsubscribe: Одјави ме
hide_comment: сакриј
unhide_comment: прикажи
notes:
new:
- intro: Видиш грешку или недостатак? Обавести остале картографе. Помери ознаку
- на одговарајуће место и опиши проблем у белешци. (Не уписуј личне податке.)
+ intro: Наишли сте на грешку или нешто недостаје? Обавестите друге картографе
+ како бисмо решили проблем. Преместите маркер на исправно место и напишите
+ објашњење. Молимо вас да не уносите личне податке, информације из мапа заштићених
+ ауторским правима или спискове каталога.
add: Додај белешку
show:
anonymous_warning: Ова белешка садржи коментаре анонимних корисника које би
comment: Коментариши
edit_help: Помери карту и увећај на место које хоћеш да уредиш, затим кликни овде.
directions:
+ engines:
+ graphhopper_bicycle: Бициклом (GraphHopper)
+ graphhopper_foot: Пешке (GraphHopper)
+ mapquest_bicycle: Бициклом (MapQuest)
+ mapquest_car: Аутомобилом (MapQuest)
+ mapquest_foot: Пешке (MapQuest)
+ osrm_car: Аутомобилом (OSRM)
+ mapzen_bicycle: Бициклом (Mapzen)
+ mapzen_car: Аутомобилом (Mapzen)
+ mapzen_foot: Пешке (Mapzen)
+ directions: Путања
distance: Удаљеност
+ errors:
+ no_route: Не могу да пронађем руту између та два места.
+ no_place: Нажалост, не могу да пронађем то место.
+ instructions:
+ continue_without_exit: Наставите на %{name}
+ slight_right_without_exit: Мало удесно у %{name}
+ turn_right_without_exit: Скрените десно у %{name}
+ sharp_right_without_exit: Нагло удесно у %{name}
+ uturn_without_exit: Полукружно окретање дуж %{name}
+ sharp_left_without_exit: Нагло улево у %{name}
+ turn_left_without_exit: Скрените лево у %{name}
+ slight_left_without_exit: Мало улево у %{name}
+ via_point_without_exit: (преко тачке)
+ follow_without_exit: Пратите %{name}
+ roundabout_without_exit: На кружном току скрените на %{name}
+ leave_roundabout_without_exit: Напустите кружни ток – %{name}
+ stay_roundabout_without_exit: Останите на кружном току – %{name}
+ start_without_exit: Почните са краја %{name}
+ destination_without_exit: Стигните на одредиште
+ against_oneway_without_exit: Идите једносмерном на %{name}
+ end_oneway_without_exit: Крај једносмерне на %{name}
+ roundabout_with_exit: На кружном току изаберите излаз %{exit} на %{name}
+ unnamed: без имена
+ courtesy: Путању је омогућио %{link}
+ time: Време
+ query:
+ node: Тачка
+ way: Линија
+ relation: Однос
+ nothing_found: Нема објеката у близини
+ error: 'Грешка при повезивању са %{server}: %{error}%{error}'
+ timeout: Истекло је време за повезивање са %{server}
redaction:
edit:
description: Опис
user:
email: E-post
active: Aktiv
- display_name: Synligt namn
+ display_name: Visa namn
description: Beskrivning
languages: Språk
pass_crypt: Lösenord
cable_car: Linbana
chair_lift: Stollift
drag_lift: Släplift
- gondola: Gondolbanan
+ gondola: Gondolbana
station: Linbanestation
aeroway:
aerodrome: Flygfält
bridleway: Ridstig
bus_guideway: Spårbussväg
bus_stop: Busshållplats
- construction: Väg under konstruktion
+ construction: Motorväg under konstruktion
cycleway: Cykelspår
elevator: Hiss
emergency_access_point: Utryckningsplats
bunker: Bunker
castle: Slott
church: Kyrka
- city_gate: stadsporten
+ city_gate: Stadsport
citywalls: Stadsmurar
fort: Fort
heritage: Världsarv
vårt <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">borttagningsförfarande</a>
eller fyll i vårt <a href="http://dmca.openstreetmap.org/">online-formulär</a> direkt.
trademarks_title_html: <span id="trademarks"></span>Varumärken
- trademarks_1_html: OpenStreetMap och förstoringsglas-logotypen är registrerade
- varumärken hos OpenStreetMap Foundation. Om du har frågor gällande din användning
- av varumärkena, vänligen skicka frågorna till <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">arbetsgruppen
+ trademarks_1_html: OpenStreetMap, förstoringsglas-logotypen och State of the
+ Map är registrerade varumärken hos OpenStreetMap Foundation. Om du har frågor
+ gällande din användning av varumärkena, vänligen skicka frågorna till <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">arbetsgruppen
för licenser</a>.
welcome_page:
title: Välkommen!
partners_title: Partners
notifier:
diary_comment_notification:
- subject: '[OpenStreetMap] %{user} kommenterade ditt dagboksinlägg'
+ subject: '[OpenStreetMap] %{user} kommenterade på ett dagboksinlägg'
hi: Hej %{to_user},
- header: '%{from_user} har kommenterat ditt dagboksinlägg på OpenStreetMap med
- rubriken %{subject}:'
+ header: '%{from_user} har kommenterat dagboksinlägget på OpenStreetMap med rubriken
+ %{subject}:'
footer: Du kan också läsa kommentaren på %{readurl} och du kan kommentera på
%{commenturl} eller svara på %{replyurl}
message_notification:
track: Spår
bridleway: Ridstig
cycleway: Cykelväg
+ cycleway_national: Nationell cykelväg
+ cycleway_regional: Regional cykelväg
+ cycleway_local: Lokal cykelväg
footway: Gångväg
rail: Järnväg
subway: Tunnelbana
private: Privat tillgång
destination: Förbjuden genomfart
construction: Vägar under konstruktion
+ bicycle_shop: Cykelaffär
+ bicycle_parking: Cykelparkering
+ toilets: Toaletter
richtext_area:
edit: Redigera
preview: Förhandsgranska
offline_warning:
message: GPX-uppladdningssystemet är för tillfället otillgängligt.
offline:
- heading: GPX förvaring är offlien
+ heading: GPX-lagring offline
message: GPX-uppladdningssystemet är för närvarande inte tillgängligt.
georss:
title: OpenStreetMap GPS-spår
för att få reda på mer.
need_to_see_terms: Din tillgång till API:t är tillfälligt avstängd. Logga in
på webbgränssnittet för att se bidragsvillkor. Du behöver inte godkänna dem,
- men du måste se dem.
+ men du måste titta på dem.
oauth:
oauthorize:
title: Auktorisera tillgång till ditt konto
windowslive:
title: Logga in med Windows Live
alt: Logga in med ett Windows Live-konto
+ github:
+ title: Logga in med GitHub
+ alt: Logga in med ett GitHub-Konto
yahoo:
title: Logga in med Yahoo
alt: Logga in med ett Yahoo OpenID
deactivate_user: Inaktivera denna användare
confirm_user: Bekräfta denna användare
hide_user: Dölj denna användare
- unhide_user: Sluta dölja användaren
+ unhide_user: Sluta dölja användare
delete_user: Radera denna användare
confirm: Bekräfta
friends_changesets: vänners ändringsset
gravatar:
gravatar: Använd Gravatar
link text: vad är detta?
+ disabled: Gravatar har inaktiverats.
+ enabled: Din Gravatar har aktiverats.
new image: Lägg till en bild
keep image: Behåll nuvarande bild
delete image: Ta bort nuvarande bild
press confirm button: Klicka på bekräftelseknappen nedan för att aktivera ditt
konto.
button: Bekräfta
- success: Ditt konto är bekräftat, tack för att du registrerade dig.
+ success: Ditt konto är bekräftat, tack för att du registrerade dig!
already active: Detta konto har redan bekräftats.
unknown token: Denna bekräftelsekod har gått ut eller finns inte.
reconfirm_html: Om du vill att vi ska skicka bekräftelsemailet igen, <a href="%{reconfirm}">klicka
key:
title: Kartnyckel
tooltip: Kartnyckel
- tooltip_disabled: Kartnyckeln finns bara för standardlagret
+ tooltip_disabled: Kartnyckeln finns inte för detta lager
map:
zoom:
in: Zooma in
instructions:
continue_without_exit: Fortsätt på %{name}
slight_right_without_exit: Svag högersväng in på %{name}
+ offramp_right_without_exit: Ta rampen till höger in på %{name}
+ onramp_right_without_exit: Sväng vänster på rampen till %{name}
+ endofroad_right_without_exit: Vid slutet av vägen, sväng höger in på %{name}
+ merge_right_without_exit: Sväng rakt in på %{name}
+ fork_right_without_exit: Vid vägskälet sväng höger in på %{name}
turn_right_without_exit: Högersväng in på %{name}
sharp_right_without_exit: Skarp högersväng in på %{name}
uturn_without_exit: U-sväng längs %{name}
sharp_left_without_exit: Skarp vänstersväng in på %{name}
turn_left_without_exit: Vänstersväng in på %{name}
+ offramp_left_without_exit: Ta rampen till vänster in på %{name}
+ onramp_left_without_exit: Sväng vänster på rampen in till %{name}
+ endofroad_left_without_exit: Vid slutet av vägen, sväng vänster in på %{name}
+ merge_left_without_exit: Sväng vänster in på %{name}
+ fork_left_without_exit: Vid vägskälet sväng vänster in på %{name}
slight_left_without_exit: Svag vänstersväng in på %{name}
via_point_without_exit: (via punkt)
follow_without_exit: Följ %{name}
way: మార్గాలు (%{count})
relation: సంబంధాలు (%{count})
relation_paginated: '%{count} లో %{x}-%{y} యొక్క సంబంధాలు'
+ comment: వ్యాఖ్యలు (%{count})
discussion: చర్చ
relation:
title: 'సంబంధం: %{name}'
historic:
battlefield: యుద్ధరంగం
boundary_stone: సరిహద్దు రాయి
- building: à°à°µà°¨ం
+ building: à°\9aారితà±\8dà°°à°\95 à°\95à°\9fà±\8dà°\9fà°¡ం
castle: కోట
church: చర్చి
citywalls: నగర గోడలు
title: ఎలా తోడ్పడాలి
help_page:
title: సహాయం పొందడం
+ welcome:
+ title: OSMకి స్వాగతం
about_page:
next: తదుపరి
local_knowledge_title: స్థానిక పరిజ్ఞానం
press confirm button: మీ కొత్త ఈమెయిలు చిరునామాను నిర్ధారించడానికి క్రింది నిర్ధారింపు
బొత్తాన్ని నొక్కండి.
button: నిర్ధారించు
- success: మీ ఈమెయిలు చిరునామా నిర్ధారణ అయింది, నమోదైనందుకు ధన్యవాదాలు!
+ success: మీ ఈమెయిలు చిరునామా నిర్ధారణ అయింది!
go_public:
flash success: ఇప్పుడు మీ మార్పుచేర్పులన్నీ బహిరంగం, మీరు ఇక నుండి దిద్దుబాట్లు
చేయవచ్చు.
show:
time_future: '%{time}లో ముగుస్తుంది'
time_past: '%{time} క్రితం ముగిసింది'
+ ago: '%{time} క్రితం'
status: స్థితి
show: చూపించు
edit: మార్చు
notes: పటపు గమనికలు
data: పటం భోగట్టా
donate_link_text: <a class='donate-attr' href='%{donate_url}'>విరాళం ఇవ్వండి</a>
+ changesets:
+ show:
+ comment: వ్యాఖ్య
notes:
show:
hide: దాచు
standard: Pamantayan
cycle_map: Mapa ng Pagbibisikleta
transport_map: Mapa ng Transportasyon
- mapquest: Bukas ang MapQuest
site:
edit_tooltip: Baguhin ang mapa
edit_disabled_tooltip: Lumapit upang baguhin ang mapa
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: Alerque
+# Author: Alpkant
# Author: Captantrips
# Author: Emperyan
# Author: Erdemaslancan
# Author: Incelemeelemani
# Author: Joseph
# Author: Katpatuka
+# Author: Kumkumuk
# Author: Mavrikant
# Author: McAang
# Author: Meelo
wiki_link:
key: '%{key} parametresi için Viki açıklaması'
tag: '%{key}=%{value} parametresi için Viki açıklaması'
+ wikidata_link: Vikidatada bulunan %{page} ögesi
wikipedia_link: '%{page} hakkında Vikipedi maddesi'
telephone_link: '%{phone_number} ara'
note:
posted_by: '%{link_user} tarafından %{created} tarihinde %{language_link} dilinde
gönderildi'
comment_link: Bu girdisi yorumla
- reply_link: Bu girdisi yanıtla
+ reply_link: Bu girdiyi yanıtla
comment_count:
one: 1 yorum
zero: yorumsuz
standard: Standart
cycle_map: Bisikletler için Harita
transport_map: Ulaşım Haritası
- mapquest: MapQuest Open
hot: İnsancıl
layers:
header: Harita Katmanları
clothes: Одяг
computer: Комп’ютерна крамниця
confectionery: Кондитерська
- convenience: Мінімаркет
+ convenience: Міні-маркет
copyshop: Послуги копіювання
cosmetics: Магазин косметики
deli: Делікатеси
track: Путівець
bridleway: Дорога для їзди кіньми
cycleway: Вело-доріжка
+ cycleway_national: Державна велосипедна доріжка
+ cycleway_regional: Регіональна велосипедна доріжка
+ cycleway_local: Місцева велосипедна доріжка
footway: Пішохідна доріжка
rail: Залізниця
subway: Лінія метро
private: Приватний доступ
destination: Цільовий доступ
construction: Будівництво дороги
+ bicycle_shop: Велосипедний магазин
+ bicycle_parking: Стоянка для велосипедів
+ toilets: Туалети
richtext_area:
edit: Правити
preview: Попередній перегляд
windowslive:
title: Увійти з Windows Live
alt: Увійти з облікового запису Windows Live
+ github:
+ title: Увійти через GitHub
+ alt: Увійти через обліковий запис GitHub
yahoo:
title: Увійти з облікового запису Yahoo
alt: Увійти з Yahoo OpenID
gravatar:
gravatar: Використовувати Gravatar
link text: Що це?
+ disabled: Gravatar вимкнено.
+ enabled: Відображення Вашого Gravatar'а увімкнено.
new image: Додати зображення
keep image: Залишити поточне зображення
delete image: Видалити поточне зображення
standard: Стандартний
cycle_map: ВелоМапа
transport_map: Мапа Транспорту
- mapquest: MapQuest Open
hot: Humanitarian
layers:
header: Шари мапи
instructions:
continue_without_exit: Рухайтесь далі по %{name}
slight_right_without_exit: Плавно поверніть праворуч на %{name}
+ offramp_right_without_exit: Візьміть правий об'їзд на %{name}
+ onramp_right_without_exit: Поверніть праворуч на об'їзд в напрямку %{name}
+ endofroad_right_without_exit: В кінці дороги поверніть праворуч на %{name}
+ merge_right_without_exit: Влийтесь в потік праворуч у %{name}
+ fork_right_without_exit: На розвилці поверніть праворуч на %{name}
turn_right_without_exit: Поверніть праворуч на %{name}
sharp_right_without_exit: Різко поверніть праворуч на %{name}
uturn_without_exit: Розверніться на %{name}
sharp_left_without_exit: Різко поверніть ліворуч на %{name}
turn_left_without_exit: Поверніть ліворуч на %{name}
+ offramp_left_without_exit: Візьміть лівий об'їзд на %{name}
+ onramp_left_without_exit: Поверніть ліворуч на об'їзд в напрямку %{name}
+ endofroad_left_without_exit: В кінці дороги поверніть ліворуч на %{name}
+ merge_left_without_exit: Влийтесь в потік ліворуч у %{name}
+ fork_left_without_exit: На розвилці поверніть ліворуч на %{name}
slight_left_without_exit: Плавно поверніть ліворуч на %{name}
via_point_without_exit: (проміжний пункт)
follow_without_exit: Рухайтесь далі по %{name}
orchard: Vườn Cây
quarry: Mỏ Đá
railway: Đường sắt
- recreation_ground: Sân chơi
+ recreation_ground: Sân Giải trí
reservoir: Bể nước
reservoir_watershed: Lưu vực Hồ Nhân tạo
residential: Khu vực Nhà ở
trình <i>takedown</i></a> hoặc nộp đơn trực tiếp tại <a href="http://dmca.openstreetmap.org/">trang
khiếu nại trực tuyến</a> của chúng tôi.
trademarks_title_html: <span id="trademarks"></span>Nhãn hiệu
- trademarks_1_html: OpenStreetMap và biểu trưng kính lúp đều là nhãn hiệu đăng
- ký của Quỹ OpenStreetMap. Nếu bạn có thắc mắc về cách sử dụng các nhãn hiệu
- này, xin vui lòng liên lạc với <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group?uselang=vi">Nhóm
+ trademarks_1_html: OpenStreetMap, biểu trưng kính lúp, và State of the Map đều
+ là nhãn hiệu đăng ký của Quỹ OpenStreetMap. Nếu bạn có thắc mắc về cách sử
+ dụng các nhãn hiệu này, xin vui lòng liên lạc với <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group?uselang=vi">Nhóm
làm việc Giấy phép</a>.
welcome_page:
title: Hoan nghênh!
track: Đường mòn
bridleway: Đường cưỡi ngựa
cycleway: Đường xe đạp
+ cycleway_national: Quốc lộ xe đạp
+ cycleway_regional: Xa lộ xe đạp
+ cycleway_local: Đường xe đạp địa phương
footway: Đường đi bộ
rail: Đường sắt
subway: Đường ngầm
private: Đường riêng
destination: Chỉ giao thông địa phương
construction: Đường đang xây
+ bicycle_shop: Tiệm xe đạp
+ bicycle_parking: Chỗ đậu xe đạp
+ toilets: Vệ sinh
richtext_area:
edit: Sửa đổi
preview: Xem trước
windowslive:
title: Đăng nhập qua Windows Live
alt: Đăng nhập dùng tài khoản Windows Live
+ github:
+ title: Đăng nhập qua GitHub
+ alt: Đăng nhập dùng tài khoản GitHub
yahoo:
title: Đăng nhập qua Yahoo!
alt: Đăng nhập dùng OpenID của Yahoo!
gravatar: Sử dụng Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar?uselang=vi
link text: đây là gì?
+ disabled: Hình Gravatar của bạn đã bị tắt.
+ enabled: Hình Gravatar của bạn đã bị kích hoạt.
new image: Thêm hình
keep image: Giữ hình hiện dùng
delete image: Xóa hình hiện dùng
standard: Chuẩn
cycle_map: Bản đồ Xe đạp
transport_map: Bản đồ Giao thông
- mapquest: MapQuest Mở
hot: Nhân đạo
layers:
header: Lớp Bản đồ
instructions:
continue_without_exit: Chạy tiếp trên %{name}
slight_right_without_exit: Nghiêng về bên phải vào %{name}
+ offramp_right_without_exit: Đi vào lối ra bên phải vào %{name}
+ onramp_right_without_exit: Quẹo phải vào lối bên phải vào %{name}
+ endofroad_right_without_exit: Tới cuối đường quẹo phải vào %{name}
+ merge_right_without_exit: Nhập sang phải vào %{name}
+ fork_right_without_exit: Tới ngã ba quẹo phải vào %{name}
turn_right_without_exit: Quẹo phải vào %{name}
sharp_right_without_exit: Quẹo gắt bên phải vào %{name}
uturn_without_exit: Quay trở lại vào %{name}
sharp_left_without_exit: Quẹo gắt bên trái vào %{name}
turn_left_without_exit: Quẹo trái vào %{name}
+ offramp_left_without_exit: Đi vào lối ra bên trái vào %{name}
+ onramp_left_without_exit: Quẹo phải vào lối bên trái vào %{name}
+ endofroad_left_without_exit: Tới cuối đường quẹo trái vào %{name}
+ merge_left_without_exit: Nhập sang trái vào %{name}
+ fork_left_without_exit: Tới ngã ba quẹo trái vào %{name}
slight_left_without_exit: Nghiêng về bên trái vào %{name}
via_point_without_exit: (địa điểm trên đường)
follow_without_exit: Chạy theo %{name}
description: 最近的 OpenStreetMap 用户日记文章
comments:
has_commented_on: '%{display_name} 已评论以下日记文章'
- post: å\8f\91表
+ post: å¸\96å\90
when: 时间
comment: 评论
ago: '%{ago} 前'
kindergarten: 幼儿园
library: 图书馆
market: 市场
- marketplace: å¸\82场
+ marketplace: å\95\86场
monastery: 修道院
motorcycle_parking: 摩托车停放处
nightclub: 夜总会
isolated_dwelling: 独立的住宅
locality: 地区
moor: 荒野
- municipality: 自治市
+ municipality: 直辖市
neighbourhood: 居住区
postcode: 邮政编码
region: 地区
href="http://osmfoundation.org/Licence">OSMF许可协议页面</a>和<a
href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">法律常见问题</a>阅读更多关于使用我们的数据,以及如何表明我们是作者的信息。
more_2_html: 尽管 OpenStreetMap 开放数据,但是我们无法为第三方开发人员提供免费的地图 API。详见我们的 <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">API使用政策</a>、<a
- href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">图块使用政策</a>及<a
- href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">名称服务使用政策</a>。
+ href="http://wiki.openstreetmap.org/wiki/Zh-hans:Tile_usage_policy">地图图块使用政策</a>及<a
+ href="http://wiki.openstreetmap.org/wiki/Zh-hans:Nominatim#使用政策">名称服务使用政策</a>。
contributors_title_html: 我们的贡献者
contributors_intro_html: 我们的数据来源于成千上万人的贡献。但我们也从国家测绘机构等处获取公共版权的数据,其中包括:
contributors_at_html: <strong>奥地利</strong>:包含来自 <a href="http://data.wien.gv.at/">Stadt
- Wien</a>(<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC
+ Wien</a>(<a href="http://creativecommons.org/licenses/by/3.0/at/deed.zh">CC
BY</a>协议)、<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
Vorarlberg</a>及 Land Tirol (修订的 <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY
AT</a>协议)的数据。
contributors_gb_html: <strong>英国</strong>:包含来自 Ordnance 的调查数据,© Crown 版权所有及数据库权利,2010-12。
contributors_footer_1_html: |-
关于其进一步的细节,及其他被用来帮助提升 OpenStreetMap 的来源,详见 OpenStreetMap Wiki 的<a
- href="http://wiki.openstreetmap.org/wiki/Contributors">贡献者页面</a>。
+ href="http://wiki.openstreetmap.org/wiki/Zh-hans:Contributors">贡献者页面</a>。
contributors_footer_2_html: OpenStreetMap 纳入数据并不意味着原始数据提供者认可 OpenStreetMap、提供任何担保或担负任何法律责任。
infringement_title_html: 著作权侵犯
infringement_1_html: OSM 的贡献者会被提醒,绝不要在没有著作权人的明确许可时添加来自任何有著作权的来源的数据(如谷歌地图或印刷地图)。
infringement_2_html: 如果您认为版权的材料已被不恰当地添加的 OpenStreetMap 数据库或该网站,请参见我们的<a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">撤除程序</a>,或直接在我们的<a
href="http://dmca.openstreetmap.org/">在线申报页面</a>上提出。
trademarks_title_html: <span id="trademarks"></span>商标
- trademarks_1_html: OpenStreetMap和放大镜标志是OpenStreetMap基金会的注册商标。如果您对使用这些标志有任何问题,请在<a
+ trademarks_1_html: OpenStreetMap、放大镜标志和地图状态是OpenStreetMap基金会的注册商标。如果您对使用这些标志有任何问题,请在<a
href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">授权工作组</a>提出您的问题。
welcome_page:
title: 欢迎!
tag_html: <strong>标签</strong>是关于节点或路径的简短数据,例如餐馆的名字或者道路的速度限制。
rules:
title: 规则!
- paragraph_1_html: OpenStreetMap很少有正式规则,但我们期待所有参与者能合作,并与社区沟通。如果你在考虑任何除手工编辑的活动,请阅读并遵守<a
+ paragraph_1_html: OpenStreetMap很少有正式规则,但我们期待所有参与者能合作,并与社区沟通。如果您在考虑任何除手工编辑的活动,请阅读并遵守<a
href='http://wiki.openstreetmap.org/wiki/Import/Guidelines'>导入</a>和<a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>自动编辑</a>的指导。
questions:
title: 还有疑问吗?
OpenStreetMap。如果您改变或者使用这些数据,您必须按照相同的版权协议发布结果。详情请参见<a href='%{copyright_path}'>版权协议</a>。
legal_title: 法律
legal_html: |-
- 此网站和很多其他相关服务已由<a href='http://osmfoundation.org/'>OpenStreetMap基金会</a>(OSMF)正式代表社群运营。
+ 此网站和很多其他相关服务已由<a href='http://osmfoundation.org/'>OpenStreetMap基金会</a>(OSMF)正式代表社群运营。使用所有由OSMF运营的服务均需符合我们的<a href="http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
+ 可接受使用方针</a>和我们的<a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy">隐私政策</a>
<br>
如果您有许可协议、版权或其他法律问题,请<a href='http://osmfoundation.org/Contact'>联络OSMF</a>。
partners_title: 合作伙伴
notifier:
diary_comment_notification:
- subject: '[OpenStreetMap] %{user} å\9c¨æ\82¨ç\9a\84æ\97¥è®°é¡¹ç\9b®ç\95\99ä¸\8bäº\86è¯\84论'
+ subject: '[OpenStreetMap] %{user} 在日记项目留下了评论'
hi: 您好,%{to_user}:
- header: '%{from_user} 评论了在您最近的主题为 %{subject} 的 OpenStreetMap 日记文章:'
+ header: '%{from_user} 评论了主题为 %{subject} 的 OpenStreetMap 日记文章:'
footer: 您也可以通过%{readurl}来读取评论,并且在%{commenturl}来撰写评论或者通过%{replyurl}回复
message_notification:
subject_header: '[OpenStreetMap] %{subject}'
track: 小路
bridleway: 马道
cycleway: 自行车道
+ cycleway_national: 国家自行车道
+ cycleway_regional: 地区自行车道
+ cycleway_local: 本地自行车道
footway: 步道
rail: 铁路
subway: 地铁
private: 私人
destination: 目标访问
construction: 在建道路
+ bicycle_shop: 自行车店
+ bicycle_parking: 自行车停车场
+ toilets: 洗手间
richtext_area:
edit: 编辑
preview: 预览
public_traces_from: 来自 %{user} 的公开 GPS 轨迹
description: 浏览最近上传的 GPS 轨迹
tagged_with: 以 %{tags} 标记
- empty_html: 尚无轨迹。<a href='%{upload_link}'>上传新轨迹</a>或在<a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>wiki页面</a>上了解
+ empty_html: 尚无轨迹。<a href='%{upload_link}'>上传新轨迹</a>或在<a href='http://wiki.openstreetmap.org/wiki/Zh-hans:Beginners_Guide_1.2'>wiki页面</a>上了解
GPS 轨迹。
delete:
scheduled_for_deletion: 计划删除的轨迹
remember: 记住我
lost password link: 忘记密码?
login_button: 登录
- register now: ç\8e°å\9c¨å°±注册
+ register now: ç«\8bå\8d³注册
with username: 已经有 OpenStreetMap 账户?请使用您的用户名和密码登录:
with external: 或者使用第三方服务登录:
new to osm: 第一次来到 OpenStreetMap?
windowslive:
title: 使用Windows Live登录
alt: 使用一个Windows Live账户登录
+ github:
+ title: 使用GitHub登录
+ alt: 通过GitHub账户登录
yahoo:
title: 使用Yahoo登录
alt: 使用Yahoo OpenID登录
license_agreement: 当您确认您的帐户时,您需要同意<a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">贡献者条款</a>。
email address: 电子邮件地址:
confirm email address: 确认电子邮件地址:
- not displayed publicly: 不公开显示(参阅<a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="wiki privacy policy including section on email addresses">隐私政策</a>)
+ not displayed publicly: 您的地址未公开显示,请参见我们的<a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy"
+ title="OSMF隐私政策,包含部分电子邮件地址">隐私政策</a>以获取更多信息
display name: 显示名称:
display name description: 您公开显示的用户名。您可以稍后在首选项中进行修改。
external auth: 第三方身份验证:
remove as friend: 删除朋友
add as friend: 添加朋友
mapper since: 绘图始于:
- ago: (%{time_in_words_ago} 前)
+ ago: (%{time_in_words_ago} 前)
ct status: 贡献者条款:
ct undecided: 未决定
ct declined: 已拒绝
gravatar: 使用 Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: 这是什么?
+ disabled: Gravatar已被禁用。
+ enabled: 您的Gravatar显示已启用。
new image: 添加图像
keep image: 保持当前图像
delete image: 删除当前图像
make_friend:
heading: 添加 %{user} 为朋友?
button: 添加为朋友
- success: '%{name} 现在是您的好友!'
+ success: '%{name} 现在已成为您的好友!'
failed: 对不起,未能添加 %{name} 为朋友。
already_a_friend: 您已经和 %{name} 是朋友了。
remove_friend:
key:
title: 图例
tooltip: 图例
- tooltip_disabled: å\9b¾ä¾\8bä»\85é\80\82ç\94¨äº\8eæ \87å\87\86图层
+ tooltip_disabled: å\9b¾ä¾\8bä¸\8då\8f¯ç\94¨äº\8eæ¤图层
map:
zoom:
in: 放大
standard: 标准
cycle_map: 自行车地图
transport_map: 交通地图
- mapquest: MapQuest Open
hot: Humanitarian
layers:
header: 地图图层
instructions:
continue_without_exit: 在%{name}上直走
slight_right_without_exit: 稍向右转至%{name}
+ offramp_right_without_exit: 在右侧上坡前往%{name}
+ onramp_right_without_exit: 右转上坡至%{name}
+ endofroad_right_without_exit: 在道路尽头右转至%{name}
+ merge_right_without_exit: 向右并线至%{name}
+ fork_right_without_exit: 在交叉口右转至%{name}
turn_right_without_exit: 右转至%{name}
sharp_right_without_exit: 向右急转至%{name}
uturn_without_exit: 沿着%{name}掉头
sharp_left_without_exit: 向左急转至%{name}
turn_left_without_exit: 左转至%{name}
+ offramp_left_without_exit: 在左侧上坡前往%{name}
+ onramp_left_without_exit: 左转上坡至%{name}
+ endofroad_left_without_exit: 在道路尽头左转至%{name}
+ merge_left_without_exit: 向左并线至%{name}
+ fork_left_without_exit: 在交叉口左转至%{name}
slight_left_without_exit: 稍向左转至%{name}
via_point_without_exit: (通过点)
follow_without_exit: 关注%{name}
# Author: Impersonator 1
# Author: Jiazheng0609
# Author: Justincheng12345
+# Author: Kly
# Author: LNDDYL
# Author: Liuxinyu970226
# Author: Mikepanhu
# Author: Mywood
# Author: Orinx
# Author: Pesder
+# Author: Reke
# Author: Ruila
# Author: Shangkuanlc
# Author: Simon Shek
intro_2_html: |-
您可以自由地複製、散布、傳輸及修改我們的資料,前提是您須標明作者為 OpenStreetMap 及其貢獻者。若您在我們的資料上作修改或據之衍生其他資料
,則只可依相同授權條款散佈有關成果。授權的<a href="http://opendatacommons.org/licenses/odbl/1.0/">法律原文</a>詳述您的權責。
- intro_3_html: 我們地圖影像塊的製圖法以及我們的文件,以<a href="http://creativecommons.org/licenses/by-sa/2.0/">共享創意-署名-相同方式共享
- 2.0</a>(CC BY-SA) 條款授權。
+ intro_3_html: 我們地圖影像塊的製圖法以及我們的文件,以<a href="http://creativecommons.org/licenses/by-sa/2.0/deed.zh_TW">創用CC
+ 姓名標示-相同方式分享 (CC BY-SA) 2.0版</a>條款授權。
credit_title_html: 如何標明作者是 OpenStreetMap
credit_1_html: 我們要求您以“© OpenStreetMap 貢獻者”標明作者。
credit_2_html: 您亦須清晰註明,有關資料可透過開放資料庫授權條款取得。若使用我們的影像塊,則須註明其製圖法是按 CC-BY-SA 授權。您可以透過連結至<a
more_title_html: 尋找更多
more_1_html: |-
在<a
- href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">常見法律問題</a>中,可閱讀更多關於使用我們的資料,以及如何標明我們是作者的資料。
+ href="http://osmfoundation.org/Licence">OSMF 授權條款頁面</a>與<a
+ href="http://wiki.openstreetmap.org/wiki/Zh-hant:Legal_FAQ">法律上的常見問題</a>中,可閱讀更多關於使用我們的資料,以及如何標明我們是作者的資料。
more_2_html: 雖然 OpenStreetMap 是開放資料,但我們無法為第三方開發人員提供免費的地圖 API。詳見我們的<a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">API
使用政策</a>、<a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">地圖影像塊使用政策</a>及<a
- href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">Nominatim
+ href="http://wiki.openstreetmap.org/wiki/Zh-hant:Nominatim#使用政策">Nominatim
服務使用政策</a>。
contributors_title_html: 我們的貢獻者
contributors_intro_html: 我們的貢獻者為成千上萬的人。我們也收納了從國家測繪機構及其他來源等取得的開放版權資料,其中包括:
contributors_at_html: <strong>奧地利</strong>:包含來自 <a href="http://data.wien.gv.at/">Stadt
- Wien</a> (<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC
+ Wien</a> (<a href="http://creativecommons.org/licenses/by/3.0/at/deed.zh_TW">CC
BY</a>授權) 、<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
Vorarlberg</a>及 Land Tirol (修訂的<a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY
AT</a>授權) 的資料。
infringement_2_html: 如果你認為有版權的材料被不恰當地加入到 OpenStreetMap 資料庫或此網站,請請參考我們的<a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">撤除程序</a>,或直接在我們的<a
href="http://dmca.openstreetmap.org/">網上申報頁面</a>提出。
trademarks_title_html: <span id="trademarks"></span>商標
- trademarks_1_html: 開放街圖和放大鏡logo是開放街圖基金會的註冊商標。如果你對於使用這些商標有疑問的話,請將你的問題寄到<a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">授權條款工作小組
+ trademarks_1_html: 開放街圖、放大鏡logo和開放街圖研討會是開放街圖基金會的註冊商標。如果你對於使用這些商標有疑問的話,請將你的問題寄到<a
+ href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">授權條款工作小組
(Licence Working Group)</a>。
welcome_page:
title: 歡迎!
及其貢獻者。若您在我們的資料上作修改或以之透過某些方式衍生其他資料,則只可依相同授權條款散佈有關成果。詳情請參閱<a href='%{copyright_path}'>版權及授權條款頁面</a>。
legal_title: 法律資訊
legal_html: "本站以及許多相關的服務正式由<a href='http://osmfoundation.org/'>OpenStreetMap 基金會</a>
- (OSMF) 代表社群所營運。\n<br> \n若您有任何授權、版權或其他法律諮詢與問題,請<a href='http://osmfoundation.org/Contact'>聯絡
- OSMF</a>。"
+ (OSMF) 代表社群所營運。所有使用的OSMF運行服務皆符合我們的<a href=\"http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">可接受使用政策</a>和<a
+ href=\"http://wiki.osmfoundation.org/wiki/Privacy_Policy\">隱私政策</a>\n<br> \n若您有任何授權、版權或其他法律諮詢與問題,請<a
+ href='http://osmfoundation.org/Contact'>聯絡 OSMF</a>。"
partners_title: 合作夥伴
notifier:
diary_comment_notification:
track: 行車小徑
bridleway: 馬道
cycleway: 自行車道
+ cycleway_national: 國家自行車道
+ cycleway_regional: 區域自行車道
+ cycleway_local: 本地自行車道
footway: 步道
rail: 鐵路
subway: 地鐵
private: 私人進出
destination: 目的地進出
construction: 道路施工中
+ bicycle_shop: 自行車店
+ bicycle_parking: 自行車停車位
+ toilets: 洗手間
richtext_area:
edit: 編輯
preview: 預覽
public_traces_from: '%{user} 的公開 GPS 軌跡'
description: 瀏覽最近的 GPS 軌跡上傳
tagged_with: 有如下標籤:%{tags}
- empty_html: 還沒有軌跡。<a href='%{upload_link}'>上傳新的軌跡</a>或在 <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>wiki
+ empty_html: 還沒有軌跡。<a href='%{upload_link}'>上傳新的軌跡</a>或在 <a href='http://wiki.openstreetmap.org/wiki/Zh-hant:Beginners_Guide_1.2'>wiki
頁面</a>上瞭解更多有關 GPS 軌跡的資訊。
delete:
scheduled_for_deletion: 軌跡已被排程刪除
windowslive:
title: 使用 Windows Live 登入
alt: 使用 Windows Live 帳號登入
+ github:
+ title: 使用 GitHub 登入
+ alt: 使用 GitHub 帳號登入
yahoo:
title: 使用 Yahoo 登入
alt: 使用 Yahoo OpenID 登入
。
email address: 電子郵件地址:
confirm email address: 確認電子郵件地址:
- not displayed publicly: 不要公開顯示 (請看 <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="wiki privacy policy including section on email addresses">隱私權政策</a>)
+ not displayed publicly: 您的地址未公開顯示,請看我們的<a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy"
+ title="包含部份電郵地址的OSMF隱私權政策">隱私權政策</a>來獲得更多訊息
display name: 顯示名稱:
display name description: 您公開顯示的使用者名稱。您可以稍後在偏好設定中改變它。
external auth: 第三方身份認證
gravatar:
gravatar: 使用 Gravatar
link text: 這是什麼?
+ disabled: Gravatar已停用。
+ enabled: 您的Gravatar顯示功能已啟用。
new image: 加入圖片
keep image: 保持目前的圖片
delete image: 移除目前的圖片
standard: 標準
cycle_map: 單車地圖
transport_map: 交通運輸地圖
- mapquest: MapQuest Open
hot: 人道救援
layers:
header: 地圖圖層
instructions:
continue_without_exit: 繼續行駛 %{name}
slight_right_without_exit: 靠右至 %{name}
+ offramp_right_without_exit: 在右側上坡前往%{name}
+ onramp_right_without_exit: 右轉上坡至%{name}
+ endofroad_right_without_exit: 在道路盡頭右轉至%{name}
+ merge_right_without_exit: 向右併線至%{name}
+ fork_right_without_exit: 在叉路口右轉至%{name}
turn_right_without_exit: 右轉至 %{name}
sharp_right_without_exit: 右急轉至 %{name}
uturn_without_exit: 迴轉沿著 %{name}
sharp_left_without_exit: 左急轉至 %{name}
turn_left_without_exit: 左轉至 %{name}
+ offramp_left_without_exit: 在左側上坡前往%{name}
+ onramp_left_without_exit: 左轉上坡至%{name}
+ endofroad_left_without_exit: 在道路盡頭左轉至%{name}
+ merge_left_without_exit: 向左併線至%{name}
+ fork_left_without_exit: 在叉路口左轉至%{name}
slight_left_without_exit: 靠左至 %{name}
via_point_without_exit: (通過點)
follow_without_exit: 延著 %{name}
match "/user/:display_name/diary/:id/edit" => "diary_entry#edit", :via => [:get, :post], :id => /\d+/
match "/user/:display_name/diary/:id/hide" => "diary_entry#hide", :via => :post, :id => /\d+/, :as => :hide_diary_entry
match "/user/:display_name/diary/:id/hidecomment/:comment" => "diary_entry#hidecomment", :via => :post, :id => /\d+/, :comment => /\d+/, :as => :hide_diary_comment
+ match "/user/:display_name/diary/:id/subscribe" => "diary_entry#subscribe", :via => :post, :as => :diary_entry_subscribe, :id => /\d+/
+ match "/user/:display_name/diary/:id/unsubscribe" => "diary_entry#unsubscribe", :via => :post, :as => :diary_entry_unsubscribe, :id => /\d+/
# user pages
match "/user/:display_name" => "user#view", :via => :get, :as => "user"
+PG_CONFIG ?= pg_config
+DESTDIR ?= .
+
QTDIR=../../lib/quad_tile
OS=$(shell uname -s)
LDFLAGS=-shared
endif
-all: libpgosm.so
+all: ${DESTDIR}/libpgosm.so
clean:
- $(RM) *.so *.o
-
-libpgosm.so: quadtile-pgsql.o maptile-pgsql.o xid_to_int4-pgsql.o
- cc ${LDFLAGS} -o libpgosm.so quadtile-pgsql.o maptile-pgsql.o xid_to_int4-pgsql.o
+ $(RM) ${DESTDIR}/*.so ${DESTDIR}/*.o
-quadtile-pgsql.o: quadtile.c ${QTDIR}/quad_tile.h
- cc -I `pg_config --includedir` -I `pg_config --includedir-server` -I${QTDIR} -fPIC -O3 -DUSE_PGSQL -c -o quadtile-pgsql.o quadtile.c
+${DESTDIR}/libpgosm.so: ${DESTDIR}/quadtile.o ${DESTDIR}/maptile.o ${DESTDIR}/xid_to_int4.o
+ cc ${LDFLAGS} -o $@ $^
-maptile-pgsql.o: maptile.c
- cc -I `pg_config --includedir` -I `pg_config --includedir-server` -fPIC -O3 -DUSE_PGSQL -c -o maptile-pgsql.o maptile.c
+${DESTDIR}/%.o: %.c
+ cc -I `${PG_CONFIG} --includedir` -I `${PG_CONFIG} --includedir-server` -I${QTDIR} -fPIC -O3 -DUSE_PGSQL -c -o $@ $<
-xid_to_int4-pgsql.o: xid_to_int4.c
- cc -I `pg_config --includedir` -I `pg_config --includedir-server` -fPIC -O3 -DUSE_PGSQL -c -o xid_to_int4-pgsql.o xid_to_int4.c
+${DESTDIR}/quadtile.o: ${QTDIR}/quad_tile.h
class RemoveSegments < ActiveRecord::Migration
def self.up
- have_segs = select_value("SELECT count(*) FROM current_segments").to_i != 0
+ have_segs = select_value("SELECT count(*) FROM current_segments").to_i.nonzero?
if have_segs
prefix = File.join Dir.tmpdir, "008_remove_segments.#{$PROCESS_ID}."
# now get the data back
csvopts = "FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\"' LINES TERMINATED BY '\\n'"
- tempfiles.each { |fn| File.chmod 0644, fn } if have_segs
+ tempfiles.each { |fn| File.chmod 0o644, fn } if have_segs
if have_segs
execute "LOAD DATA INFILE '#{ways}' INTO TABLE ways #{csvopts} (id, user_id, timestamp) SET visible = 1, version = 1"
class PopulateNodeTagsAndRemove < ActiveRecord::Migration
def self.up
- have_nodes = select_value("SELECT count(*) FROM current_nodes").to_i != 0
+ have_nodes = select_value("SELECT count(*) FROM current_nodes").to_i.nonzero?
if have_nodes
prefix = File.join Dir.tmpdir, "020_populate_node_tags_and_remove.#{$PROCESS_ID}."
# As the initial version of all nodes, ways and relations is 0, we set the
# current version to something less so that we can update the version in
# batches of 10000
- tbl.classify.constantize.update_all("version=-1")
- while tbl.classify.constantize.count(:conditions => { :version => -1 }) > 0
+ tbl.classify.constantize.update_all(:version => -1)
+ while tbl.classify.constantize.where(:version => -1).count > 0
tbl.classify.constantize.update_all("version=(SELECT max(version) FROM #{tbl} WHERE #{tbl}.id = current_#{tbl}.id)", { :version => -1 }, { :limit => 10000 })
end
# execute "UPDATE current_#{tbl} SET version = " +
--- /dev/null
+class SetDefaultGravatarToFalseForPrivacy < ActiveRecord::Migration
+ def up
+ change_column :users, :image_use_gravatar, :boolean, :default => false
+ end
+
+ def down
+ change_column :users, :image_use_gravatar, :boolean, :default => true
+ end
+end
--- /dev/null
+require "migrate"
+
+class AddJoinTableBetweenUsersAndDiaryEntries < ActiveRecord::Migration
+ def self.up
+ create_table :diary_entry_subscriptions, :id => false do |t|
+ t.column :user_id, :bigint, :null => false
+ t.column :diary_entry_id, :bigint, :null => false
+ end
+
+ add_primary_key :diary_entry_subscriptions, [:user_id, :diary_entry_id]
+ add_index :diary_entry_subscriptions, [:diary_entry_id]
+ add_foreign_key :diary_entry_subscriptions, :diary_entries, :name => "diary_entry_subscriptions_diary_entry_id_fkey"
+ add_foreign_key :diary_entry_subscriptions, :users, :name => "diary_entry_subscriptions_user_id_fkey"
+ end
+
+ def self.down
+ drop_table :diary_entry_subscriptions
+ end
+end
--- /dev/null
+class SubscribeAuthorsToDiaryEntries < ActiveRecord::Migration
+ def up
+ DiaryEntry.find_each do |diary_entry|
+ diary_entry.subscriptions.create(:user => diary_entry.user) unless diary_entry.subscribers.exists?(diary_entry.user.id)
+ end
+ end
+
+ def down
+ end
+end
-- PostgreSQL database dump
--
+-- Dumped from database version 9.5.4
+-- Dumped by pg_dump version 9.5.4
+
SET statement_timeout = 0;
SET lock_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
SET client_min_messages = warning;
+SET row_security = off;
--
-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
CREATE FUNCTION maptile_for_point(bigint, bigint, integer) RETURNS integer
LANGUAGE c STRICT
- AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'maptile_for_point';
+ AS '$libdir/libpgosm', 'maptile_for_point';
--
CREATE FUNCTION tile_for_point(integer, integer) RETURNS bigint
LANGUAGE c STRICT
- AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'tile_for_point';
+ AS '$libdir/libpgosm', 'tile_for_point';
--
CREATE FUNCTION xid_to_int4(xid) RETURNS integer
LANGUAGE c IMMUTABLE STRICT
- AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'xid_to_int4';
+ AS '$libdir/libpgosm', 'xid_to_int4';
SET default_tablespace = '';
SET default_with_oids = false;
--
--- Name: acls; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: acls; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE acls (
id integer NOT NULL,
address inet,
- k character varying NOT NULL,
- v character varying,
- domain character varying
+ k character varying(255) NOT NULL,
+ v character varying(255),
+ domain character varying(255)
);
--
--- Name: changeset_comments; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: changeset_comments; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE changeset_comments (
--
--- Name: changeset_tags; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: changeset_tags; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE changeset_tags (
changeset_id bigint NOT NULL,
- k character varying DEFAULT ''::character varying NOT NULL,
- v character varying DEFAULT ''::character varying NOT NULL
+ k character varying(255) DEFAULT ''::character varying NOT NULL,
+ v character varying(255) DEFAULT ''::character varying NOT NULL
);
--
--- Name: changesets; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: changesets; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE changesets (
--
--- Name: changesets_subscribers; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: changesets_subscribers; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE changesets_subscribers (
--
--- Name: client_applications; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: client_applications; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE client_applications (
id integer NOT NULL,
- name character varying,
- url character varying,
- support_url character varying,
- callback_url character varying,
+ name character varying(255),
+ url character varying(255),
+ support_url character varying(255),
+ callback_url character varying(255),
key character varying(50),
secret character varying(50),
user_id integer,
--
--- Name: current_node_tags; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: current_node_tags; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE current_node_tags (
node_id bigint NOT NULL,
- k character varying DEFAULT ''::character varying NOT NULL,
- v character varying DEFAULT ''::character varying NOT NULL
+ k character varying(255) DEFAULT ''::character varying NOT NULL,
+ v character varying(255) DEFAULT ''::character varying NOT NULL
);
--
--- Name: current_nodes; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: current_nodes; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE current_nodes (
--
--- Name: current_relation_members; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: current_relation_members; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE current_relation_members (
relation_id bigint NOT NULL,
member_type nwr_enum NOT NULL,
member_id bigint NOT NULL,
- member_role character varying NOT NULL,
+ member_role character varying(255) NOT NULL,
sequence_id integer DEFAULT 0 NOT NULL
);
--
--- Name: current_relation_tags; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: current_relation_tags; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE current_relation_tags (
relation_id bigint NOT NULL,
- k character varying DEFAULT ''::character varying NOT NULL,
- v character varying DEFAULT ''::character varying NOT NULL
+ k character varying(255) DEFAULT ''::character varying NOT NULL,
+ v character varying(255) DEFAULT ''::character varying NOT NULL
);
--
--- Name: current_relations; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: current_relations; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE current_relations (
--
--- Name: current_way_nodes; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: current_way_nodes; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE current_way_nodes (
--
--- Name: current_way_tags; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: current_way_tags; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE current_way_tags (
way_id bigint NOT NULL,
- k character varying DEFAULT ''::character varying NOT NULL,
- v character varying DEFAULT ''::character varying NOT NULL
+ k character varying(255) DEFAULT ''::character varying NOT NULL,
+ v character varying(255) DEFAULT ''::character varying NOT NULL
);
--
--- Name: current_ways; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: current_ways; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE current_ways (
--
--- Name: diary_comments; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: diary_comments; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE diary_comments (
--
--- Name: diary_entries; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: diary_entries; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE diary_entries (
id bigint NOT NULL,
user_id bigint NOT NULL,
- title character varying NOT NULL,
+ title character varying(255) NOT NULL,
body text NOT NULL,
created_at timestamp without time zone NOT NULL,
updated_at timestamp without time zone NOT NULL,
latitude double precision,
longitude double precision,
- language_code character varying DEFAULT 'en'::character varying NOT NULL,
+ language_code character varying(255) DEFAULT 'en'::character varying NOT NULL,
visible boolean DEFAULT true NOT NULL,
body_format format_enum DEFAULT 'markdown'::format_enum NOT NULL
);
--
--- Name: friends; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: diary_entry_subscriptions; Type: TABLE; Schema: public; Owner: -
+--
+
+CREATE TABLE diary_entry_subscriptions (
+ user_id bigint NOT NULL,
+ diary_entry_id bigint NOT NULL
+);
+
+
+--
+-- Name: friends; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE friends (
--
--- Name: gps_points; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: gps_points; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE gps_points (
--
--- Name: gpx_file_tags; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: gpx_file_tags; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE gpx_file_tags (
gpx_id bigint DEFAULT 0 NOT NULL,
- tag character varying NOT NULL,
+ tag character varying(255) NOT NULL,
id bigint NOT NULL
);
--
--- Name: gpx_files; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: gpx_files; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE gpx_files (
id bigint NOT NULL,
user_id bigint NOT NULL,
visible boolean DEFAULT true NOT NULL,
- name character varying DEFAULT ''::character varying NOT NULL,
+ name character varying(255) DEFAULT ''::character varying NOT NULL,
size bigint,
latitude double precision,
longitude double precision,
"timestamp" timestamp without time zone NOT NULL,
- description character varying DEFAULT ''::character varying NOT NULL,
+ description character varying(255) DEFAULT ''::character varying NOT NULL,
inserted boolean NOT NULL,
visibility gpx_visibility_enum DEFAULT 'public'::gpx_visibility_enum NOT NULL
);
--
--- Name: languages; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: languages; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE languages (
- code character varying NOT NULL,
- english_name character varying NOT NULL,
- native_name character varying
+ code character varying(255) NOT NULL,
+ english_name character varying(255) NOT NULL,
+ native_name character varying(255)
);
--
--- Name: messages; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: messages; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE messages (
id bigint NOT NULL,
from_user_id bigint NOT NULL,
- title character varying NOT NULL,
+ title character varying(255) NOT NULL,
body text NOT NULL,
sent_on timestamp without time zone NOT NULL,
message_read boolean DEFAULT false NOT NULL,
--
--- Name: node_tags; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: node_tags; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE node_tags (
node_id bigint NOT NULL,
version bigint NOT NULL,
- k character varying DEFAULT ''::character varying NOT NULL,
- v character varying DEFAULT ''::character varying NOT NULL
+ k character varying(255) DEFAULT ''::character varying NOT NULL,
+ v character varying(255) DEFAULT ''::character varying NOT NULL
);
--
--- Name: nodes; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: nodes; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE nodes (
--
--- Name: note_comments; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: note_comments; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE note_comments (
- id bigint NOT NULL,
+ id integer NOT NULL,
note_id bigint NOT NULL,
visible boolean NOT NULL,
created_at timestamp without time zone NOT NULL,
--
--- Name: notes; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: notes; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE notes (
- id bigint NOT NULL,
+ id integer NOT NULL,
latitude integer NOT NULL,
longitude integer NOT NULL,
tile bigint NOT NULL,
--
--- Name: oauth_nonces; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: oauth_nonces; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE oauth_nonces (
id integer NOT NULL,
- nonce character varying,
+ nonce character varying(255),
"timestamp" integer,
created_at timestamp without time zone,
updated_at timestamp without time zone
--
--- Name: oauth_tokens; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: oauth_tokens; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE oauth_tokens (
allow_write_api boolean DEFAULT false NOT NULL,
allow_read_gpx boolean DEFAULT false NOT NULL,
allow_write_gpx boolean DEFAULT false NOT NULL,
- callback_url character varying,
+ callback_url character varying(255),
verifier character varying(20),
- scope character varying,
+ scope character varying(255),
valid_to timestamp without time zone,
allow_write_notes boolean DEFAULT false NOT NULL
);
--
--- Name: redactions; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: redactions; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE redactions (
id integer NOT NULL,
- title character varying,
+ title character varying(255),
description text,
- created_at timestamp without time zone,
- updated_at timestamp without time zone,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
user_id bigint NOT NULL,
description_format format_enum DEFAULT 'markdown'::format_enum NOT NULL
);
--
--- Name: relation_members; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: relation_members; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE relation_members (
relation_id bigint DEFAULT 0 NOT NULL,
member_type nwr_enum NOT NULL,
member_id bigint NOT NULL,
- member_role character varying NOT NULL,
+ member_role character varying(255) NOT NULL,
version bigint DEFAULT 0 NOT NULL,
sequence_id integer DEFAULT 0 NOT NULL
);
--
--- Name: relation_tags; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: relation_tags; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE relation_tags (
relation_id bigint DEFAULT 0 NOT NULL,
- k character varying DEFAULT ''::character varying NOT NULL,
- v character varying DEFAULT ''::character varying NOT NULL,
+ k character varying(255) DEFAULT ''::character varying NOT NULL,
+ v character varying(255) DEFAULT ''::character varying NOT NULL,
version bigint NOT NULL
);
--
--- Name: relations; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: relations; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE relations (
--
--- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE schema_migrations (
- version character varying NOT NULL
+ version character varying(255) NOT NULL
);
--
--- Name: user_blocks; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: user_blocks; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE user_blocks (
--
--- Name: user_preferences; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: user_preferences; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE user_preferences (
user_id bigint NOT NULL,
- k character varying NOT NULL,
- v character varying NOT NULL
+ k character varying(255) NOT NULL,
+ v character varying(255) NOT NULL
);
--
--- Name: user_roles; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: user_roles; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE user_roles (
id integer NOT NULL,
user_id bigint NOT NULL,
- role user_role_enum NOT NULL,
created_at timestamp without time zone,
updated_at timestamp without time zone,
+ role user_role_enum NOT NULL,
granter_id bigint NOT NULL
);
--
--- Name: user_tokens; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: user_tokens; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE user_tokens (
id bigint NOT NULL,
user_id bigint NOT NULL,
- token character varying NOT NULL,
+ token character varying(255) NOT NULL,
expiry timestamp without time zone NOT NULL,
referer text
);
--
--- Name: users; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: users; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE users (
- email character varying NOT NULL,
+ email character varying(255) NOT NULL,
id bigint NOT NULL,
- pass_crypt character varying NOT NULL,
+ pass_crypt character varying(255) NOT NULL,
creation_time timestamp without time zone NOT NULL,
- display_name character varying DEFAULT ''::character varying NOT NULL,
+ display_name character varying(255) DEFAULT ''::character varying NOT NULL,
data_public boolean DEFAULT false NOT NULL,
description text DEFAULT ''::text NOT NULL,
home_lat double precision,
home_lon double precision,
home_zoom smallint DEFAULT 3,
nearby integer DEFAULT 50,
- pass_salt character varying,
+ pass_salt character varying(255),
image_file_name text,
email_valid boolean DEFAULT false NOT NULL,
- new_email character varying,
- creation_ip character varying,
- languages character varying,
+ new_email character varying(255),
+ creation_ip character varying(255),
+ languages character varying(255),
status user_status_enum DEFAULT 'pending'::user_status_enum NOT NULL,
terms_agreed timestamp without time zone,
consider_pd boolean DEFAULT false NOT NULL,
- auth_uid character varying,
- preferred_editor character varying,
+ preferred_editor character varying(255),
terms_seen boolean DEFAULT false NOT NULL,
+ auth_uid character varying(255),
description_format format_enum DEFAULT 'markdown'::format_enum NOT NULL,
- image_fingerprint character varying,
+ image_fingerprint character varying(255),
changesets_count integer DEFAULT 0 NOT NULL,
traces_count integer DEFAULT 0 NOT NULL,
diary_entries_count integer DEFAULT 0 NOT NULL,
- image_use_gravatar boolean DEFAULT true NOT NULL,
- image_content_type character varying,
+ image_use_gravatar boolean DEFAULT false NOT NULL,
+ image_content_type character varying(255),
auth_provider character varying
);
--
--- Name: way_nodes; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: way_nodes; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE way_nodes (
--
--- Name: way_tags; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: way_tags; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE way_tags (
way_id bigint DEFAULT 0 NOT NULL,
- k character varying NOT NULL,
- v character varying NOT NULL,
+ k character varying(255) NOT NULL,
+ v character varying(255) NOT NULL,
version bigint NOT NULL
);
--
--- Name: ways; Type: TABLE; Schema: public; Owner: -; Tablespace:
+-- Name: ways; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE ways (
--
--- Name: acls_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: acls_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY acls
--
--- Name: changeset_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: changeset_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY changeset_comments
--
--- Name: changesets_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: changesets_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY changesets
--
--- Name: client_applications_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: client_applications_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY client_applications
--
--- Name: current_node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: current_node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY current_node_tags
--
--- Name: current_nodes_pkey1; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: current_nodes_pkey1; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY current_nodes
--
--- Name: current_relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: current_relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY current_relation_members
--
--- Name: current_relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: current_relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY current_relation_tags
--
--- Name: current_relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: current_relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY current_relations
--
--- Name: current_way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: current_way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY current_way_nodes
--
--- Name: current_way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: current_way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY current_way_tags
--
--- Name: current_ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: current_ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY current_ways
--
--- Name: diary_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: diary_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY diary_comments
--
--- Name: diary_entries_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: diary_entries_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY diary_entries
--
--- Name: friends_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: diary_entry_subscriptions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY diary_entry_subscriptions
+ ADD CONSTRAINT diary_entry_subscriptions_pkey PRIMARY KEY (user_id, diary_entry_id);
+
+
+--
+-- Name: friends_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY friends
--
--- Name: gpx_file_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: gpx_file_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY gpx_file_tags
--
--- Name: gpx_files_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: gpx_files_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY gpx_files
--
--- Name: languages_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: languages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY languages
--
--- Name: messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY messages
--
--- Name: node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY node_tags
--
--- Name: nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY nodes
--
--- Name: note_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: note_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY note_comments
--
--- Name: notes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: notes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY notes
--
--- Name: oauth_nonces_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: oauth_nonces_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY oauth_nonces
--
--- Name: oauth_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: oauth_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY oauth_tokens
--
--- Name: redactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: redactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY redactions
--
--- Name: relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY relation_members
--
--- Name: relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY relation_tags
--
--- Name: relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY relations
--
--- Name: user_blocks_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: user_blocks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY user_blocks
--
--- Name: user_preferences_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: user_preferences_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY user_preferences
--
--- Name: user_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: user_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY user_roles
--
--- Name: user_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: user_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY user_tokens
--
--- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY users
--
--- Name: way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY way_nodes
--
--- Name: way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY way_tags
--
--- Name: ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+-- Name: ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY ways
--
--- Name: acls_k_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: acls_k_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX acls_k_idx ON acls USING btree (k);
--
--- Name: changeset_tags_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: changeset_tags_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX changeset_tags_id_idx ON changeset_tags USING btree (changeset_id);
--
--- Name: changesets_bbox_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: changesets_bbox_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX changesets_bbox_idx ON changesets USING gist (min_lat, max_lat, min_lon, max_lon);
--
--- Name: changesets_closed_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: changesets_closed_at_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX changesets_closed_at_idx ON changesets USING btree (closed_at);
--
--- Name: changesets_created_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: changesets_created_at_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX changesets_created_at_idx ON changesets USING btree (created_at);
--
--- Name: changesets_user_id_created_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: changesets_user_id_created_at_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX changesets_user_id_created_at_idx ON changesets USING btree (user_id, created_at);
--
--- Name: changesets_user_id_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: changesets_user_id_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX changesets_user_id_id_idx ON changesets USING btree (user_id, id);
--
--- Name: current_nodes_tile_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: current_nodes_tile_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX current_nodes_tile_idx ON current_nodes USING btree (tile);
--
--- Name: current_nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: current_nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX current_nodes_timestamp_idx ON current_nodes USING btree ("timestamp");
--
--- Name: current_relation_members_member_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: current_relation_members_member_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX current_relation_members_member_idx ON current_relation_members USING btree (member_type, member_id);
--
--- Name: current_relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: current_relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX current_relations_timestamp_idx ON current_relations USING btree ("timestamp");
--
--- Name: current_way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: current_way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX current_way_nodes_node_idx ON current_way_nodes USING btree (node_id);
--
--- Name: current_ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: current_ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX current_ways_timestamp_idx ON current_ways USING btree ("timestamp");
--
--- Name: diary_comment_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: diary_comment_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX diary_comment_user_id_created_at_index ON diary_comments USING btree (user_id, created_at);
--
--- Name: diary_comments_entry_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: diary_comments_entry_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX diary_comments_entry_id_idx ON diary_comments USING btree (diary_entry_id, id);
--
--- Name: diary_entry_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: diary_entry_created_at_index; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX diary_entry_created_at_index ON diary_entries USING btree (created_at);
--
--- Name: diary_entry_language_code_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: diary_entry_language_code_created_at_index; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX diary_entry_language_code_created_at_index ON diary_entries USING btree (language_code, created_at);
--
--- Name: diary_entry_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: diary_entry_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX diary_entry_user_id_created_at_index ON diary_entries USING btree (user_id, created_at);
--
--- Name: friends_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: friends_user_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX friends_user_id_idx ON friends USING btree (user_id);
--
--- Name: gpx_file_tags_gpxid_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: gpx_file_tags_gpxid_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX gpx_file_tags_gpxid_idx ON gpx_file_tags USING btree (gpx_id);
--
--- Name: gpx_file_tags_tag_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: gpx_file_tags_tag_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX gpx_file_tags_tag_idx ON gpx_file_tags USING btree (tag);
--
--- Name: gpx_files_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: gpx_files_timestamp_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX gpx_files_timestamp_idx ON gpx_files USING btree ("timestamp");
--
--- Name: gpx_files_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: gpx_files_user_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX gpx_files_user_id_idx ON gpx_files USING btree (user_id);
--
--- Name: gpx_files_visible_visibility_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: gpx_files_visible_visibility_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX gpx_files_visible_visibility_idx ON gpx_files USING btree (visible, visibility);
--
--- Name: index_changeset_comments_on_created_at; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: index_changeset_comments_on_created_at; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_changeset_comments_on_created_at ON changeset_comments USING btree (created_at);
--
--- Name: index_changesets_subscribers_on_changeset_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: index_changesets_subscribers_on_changeset_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_changesets_subscribers_on_changeset_id ON changesets_subscribers USING btree (changeset_id);
--
--- Name: index_changesets_subscribers_on_subscriber_id_and_changeset_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: index_changesets_subscribers_on_subscriber_id_and_changeset_id; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX index_changesets_subscribers_on_subscriber_id_and_changeset_id ON changesets_subscribers USING btree (subscriber_id, changeset_id);
--
--- Name: index_client_applications_on_key; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: index_client_applications_on_key; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX index_client_applications_on_key ON client_applications USING btree (key);
--
--- Name: index_note_comments_on_body; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: index_diary_entry_subscriptions_on_diary_entry_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_diary_entry_subscriptions_on_diary_entry_id ON diary_entry_subscriptions USING btree (diary_entry_id);
+
+
+--
+-- Name: index_note_comments_on_body; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_note_comments_on_body ON note_comments USING gin (to_tsvector('english'::regconfig, body));
--
--- Name: index_note_comments_on_created_at; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: index_note_comments_on_created_at; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_note_comments_on_created_at ON note_comments USING btree (created_at);
--
--- Name: index_oauth_nonces_on_nonce_and_timestamp; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: index_oauth_nonces_on_nonce_and_timestamp; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX index_oauth_nonces_on_nonce_and_timestamp ON oauth_nonces USING btree (nonce, "timestamp");
--
--- Name: index_oauth_tokens_on_token; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: index_oauth_tokens_on_token; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX index_oauth_tokens_on_token ON oauth_tokens USING btree (token);
--
--- Name: index_user_blocks_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: index_user_blocks_on_user_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_user_blocks_on_user_id ON user_blocks USING btree (user_id);
--
--- Name: messages_from_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: messages_from_user_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX messages_from_user_id_idx ON messages USING btree (from_user_id);
--
--- Name: messages_to_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: messages_to_user_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX messages_to_user_id_idx ON messages USING btree (to_user_id);
--
--- Name: nodes_changeset_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: nodes_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX nodes_changeset_id_idx ON nodes USING btree (changeset_id);
--
--- Name: nodes_tile_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: nodes_tile_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX nodes_tile_idx ON nodes USING btree (tile);
--
--- Name: nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX nodes_timestamp_idx ON nodes USING btree ("timestamp");
--
--- Name: note_comments_note_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: note_comments_note_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX note_comments_note_id_idx ON note_comments USING btree (note_id);
--
--- Name: notes_created_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: notes_created_at_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX notes_created_at_idx ON notes USING btree (created_at);
--
--- Name: notes_tile_status_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: notes_tile_status_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX notes_tile_status_idx ON notes USING btree (tile, status);
--
--- Name: notes_updated_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: notes_updated_at_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX notes_updated_at_idx ON notes USING btree (updated_at);
--
--- Name: points_gpxid_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: points_gpxid_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX points_gpxid_idx ON gps_points USING btree (gpx_id);
--
--- Name: points_tile_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: points_tile_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX points_tile_idx ON gps_points USING btree (tile);
--
--- Name: relation_members_member_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: relation_members_member_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX relation_members_member_idx ON relation_members USING btree (member_type, member_id);
--
--- Name: relations_changeset_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: relations_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX relations_changeset_id_idx ON relations USING btree (changeset_id);
--
--- Name: relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX relations_timestamp_idx ON relations USING btree ("timestamp");
--
--- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (version);
--
--- Name: user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: user_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX user_id_idx ON friends USING btree (friend_user_id);
--
--- Name: user_roles_id_role_unique; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: user_roles_id_role_unique; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX user_roles_id_role_unique ON user_roles USING btree (user_id, role);
--
--- Name: user_tokens_token_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: user_tokens_token_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX user_tokens_token_idx ON user_tokens USING btree (token);
--
--- Name: user_tokens_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: user_tokens_user_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX user_tokens_user_id_idx ON user_tokens USING btree (user_id);
--
--- Name: users_auth_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: users_auth_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX users_auth_idx ON users USING btree (auth_provider, auth_uid);
--
--- Name: users_display_name_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: users_display_name_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX users_display_name_idx ON users USING btree (display_name);
--
--- Name: users_display_name_lower_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: users_display_name_lower_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX users_display_name_lower_idx ON users USING btree (lower((display_name)::text));
--
--- Name: users_email_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: users_email_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX users_email_idx ON users USING btree (email);
--
--- Name: users_email_lower_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: users_email_lower_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX users_email_lower_idx ON users USING btree (lower((email)::text));
--
--- Name: way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX way_nodes_node_idx ON way_nodes USING btree (node_id);
--
--- Name: ways_changeset_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: ways_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX ways_changeset_id_idx ON ways USING btree (changeset_id);
--
--- Name: ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
+-- Name: ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX ways_timestamp_idx ON ways USING btree ("timestamp");
ADD CONSTRAINT diary_entries_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+--
+-- Name: diary_entry_subscriptions_diary_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY diary_entry_subscriptions
+ ADD CONSTRAINT diary_entry_subscriptions_diary_entry_id_fkey FOREIGN KEY (diary_entry_id) REFERENCES diary_entries(id);
+
+
+--
+-- Name: diary_entry_subscriptions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY diary_entry_subscriptions
+ ADD CONSTRAINT diary_entry_subscriptions_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
--
-- Name: friends_friend_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
-- PostgreSQL database dump complete
--
-SET search_path TO "$user",public;
+SET search_path TO "$user", public;
INSERT INTO schema_migrations (version) VALUES ('1');
INSERT INTO schema_migrations (version) VALUES ('20150222101847');
+INSERT INTO schema_migrations (version) VALUES ('20150818224516');
+
+INSERT INTO schema_migrations (version) VALUES ('20161002153425');
+
+INSERT INTO schema_migrations (version) VALUES ('20161011010929');
+
INSERT INTO schema_migrations (version) VALUES ('21');
INSERT INTO schema_migrations (version) VALUES ('22');
providers["Google"] = "google" if defined?(GOOGLE_AUTH_ID)
providers["Facebook"] = "facebook" if defined?(FACEBOOK_AUTH_ID)
providers["Windows Live"] = "windowslive" if defined?(WINDOWSLIVE_AUTH_ID)
+ providers["GitHub"] = "github" if defined?(GITHUB_AUTH_ID)
end.freeze
end
# check the bbox is sane
if min_lon > max_lon
raise OSM::APIBadBoundingBox.new(
- "The minimum longitude must be less than the maximum longitude, but it wasn't")
+ "The minimum longitude must be less than the maximum longitude, but it wasn't"
+ )
end
if min_lat > max_lat
raise OSM::APIBadBoundingBox.new(
- "The minimum latitude must be less than the maximum latitude, but it wasn't")
+ "The minimum latitude must be less than the maximum latitude, but it wasn't"
+ )
end
if min_lon < -LON_LIMIT || min_lat < -LAT_LIMIT || max_lon > +LON_LIMIT || max_lat > +LAT_LIMIT
raise OSM::APIBadBoundingBox.new("The latitudes must be between #{-LAT_LIMIT} and #{LAT_LIMIT}," +
def from_bbox_array(bbox_array)
unless bbox_array
raise OSM::APIBadUserInput.new(
- "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat")
+ "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat"
+ )
end
# Take an array of length 4, create a bounding box with min_lon, min_lat, max_lon and
# max_lat within their respective boundaries.
1
else
q, r = @item_count.divmod(@items_per_page)
- r == 0 ? q : q + 1
+ r.zero? ? q : q + 1
end
end
@max_lon = max_lon
end
- def self.find_by_code(code)
+ def self.find(code)
countries[code]
end
ERB.new(
IO.read(
File.dirname(__FILE__) + "/../../config/daemons.yml"
- )).result).with_symbols!
+ )
+ ).result
+).with_symbols!
options[:dir_mode] = options[:dir_mode].to_sym
Daemons.run File.dirname(__FILE__) + "/gpx_import.rb", options
module ID
- LOCALES = Locale.list(Rails.root.join("vendor/assets/iD/iD/locales").entries.map { |p| p.basename.to_s[/(.*).json/] && $1 }.compact)
+ LOCALES = Locale.list(Rails.root.join("vendor/assets/iD/iD/locales").entries.map { |p| p.basename.to_s[/(.*).json/] && Regexp.last_match(1) }.compact)
end
end
def alter_primary_key(table_name, new_columns)
- execute "ALTER TABLE #{quote_table_name(table_name)} DROP CONSTRAINT #{quote_table_name(table_name + "_pkey")}"
+ execute "ALTER TABLE #{quote_table_name(table_name)} DROP CONSTRAINT #{quote_table_name(table_name + '_pkey')}"
execute "ALTER TABLE #{quote_table_name(table_name)} ADD PRIMARY KEY (#{quote_column_name(new_columns)})"
end
end
def self.ip_to_country(ip_address)
- Timer.timeout(4) do
- ipinfo = Quova::IpInfo.new(ip_address) if defined?(QUOVA_USERNAME)
-
- if ipinfo && ipinfo.status == Quova::SUCCESS
- country = ipinfo.country_code
- else
- country = http_client.get("http://api.hostip.info/country.php?ip=#{ip_address}").body
- country = "GB" if country == "UK"
- end
+ ipinfo = geoip_database.country(ip_address) if defined?(GEOIP_DATABASE)
- return country.upcase
+ if ipinfo
+ country = ipinfo.country_code2
+ else
+ country = http_client.get("http://api.hostip.info/country.php?ip=#{ip_address}").body
+ country = "GB" if country == "UK"
end
- return nil
+ return country
rescue StandardError
return nil
end
def self.ip_location(ip_address)
code = OSM.ip_to_country(ip_address)
- if code && country = Country.find_by_code(code)
+ if code && country = Country.find(code)
return { :minlon => country.min_lon, :minlat => country.min_lat, :maxlon => country.max_lon, :maxlat => country.max_lat }
end
def self.http_client=(client)
@http_client = client
end
+
+ # Return the GeoIP database handle
+ def self.geoip_database
+ @geoip_database ||= GeoIP.new(GEOIP_DATABASE) if defined?(GEOIP_DATABASE)
+ end
end
# Parse and get value
def self.getvalue(s)
case s.getbyte
- when 0 then return getdouble(s) # number
- when 1 then return s.getbyte # boolean
- when 2 then return getstring(s) # string
- when 3 then return getobject(s) # object/hash
- when 5 then return nil # null
- when 6 then return nil # undefined
- when 8 then s.read(4) # mixedArray
- return getobject(s) # |
- when 10 then return getarray(s) # array
- else return nil # error
+ when 0 then getdouble(s) # number
+ when 1 then s.getbyte # boolean
+ when 2 then getstring(s) # string
+ when 3 then getobject(s) # object/hash
+ when 5 then nil # null
+ when 6 then nil # undefined
+ when 8 then s.read(4) # mixedArray
+ getobject(s) # |
+ when 10 then getarray(s) # array
end
end
file.each_line do |line|
t = line.chomp
if t =~ %r{(\w+)/(\w+)}
- presettype = $1
- presetcategory = $2
+ presettype = Regexp.last_match(1)
+ presetcategory = Regexp.last_match(2)
presetmenus[presettype].push(presetcategory)
presetnames[presettype][presetcategory] = ["(no preset)"]
elsif t =~ /^([\w\s]+):\s?(.+)$/
- pre = $1
- kv = $2
+ pre = Regexp.last_match(1)
+ kv = Regexp.last_match(2)
presetnames[presettype][presetcategory].push(pre)
presets[pre] = {}
kv.split(",").each do |a|
- presets[pre][$1] = $2 if a =~ /^(.+)=(.*)$/
+ presets[pre][Regexp.last_match(1)] = Regexp.last_match(2) if a =~ /^(.+)=(.*)$/
end
end
end
file.each_line do |line|
next unless line.chomp =~ /(\w+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)/
- tag = $1
- colours[tag] = $2.hex if $2 != "-"
- casing[tag] = $3.hex if $3 != "-"
- areas[tag] = $4.hex if $4 != "-"
+ tag = Regexp.last_match(1)
+ colours[tag] = Regexp.last_match(2).hex if Regexp.last_match(2) != "-"
+ casing[tag] = Regexp.last_match(3).hex if Regexp.last_match(3) != "-"
+ areas[tag] = Regexp.last_match(4).hex if Regexp.last_match(4) != "-"
end
end
file.each_line do |line|
next unless line.chomp =~ /(\w+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)/
- tag = $1
- relcolours[tag] = $2.hex if $2 != "-"
- relalphas[tag] = $3.to_i if $3 != "-"
- relwidths[tag] = $4.to_i if $4 != "-"
+ tag = Regexp.last_match(1)
+ relcolours[tag] = Regexp.last_match(2).hex if Regexp.last_match(2) != "-"
+ relalphas[tag] = Regexp.last_match(3).to_i if Regexp.last_match(3) != "-"
+ relwidths[tag] = Regexp.last_match(4).to_i if Regexp.last_match(4) != "-"
end
end
file.each_line do |line|
next unless line.chomp =~ %r{^([\w:]+)/(\w+)\s+(.+)$}
- tag = $1
- type = $2
- values = $3
+ tag = Regexp.last_match(1)
+ type = Regexp.last_match(2)
+ values = Regexp.last_match(3)
autotags[type][tag] = if values == "-"
[]
else
+++ /dev/null
-##
-# Load required libraries
-require "soap/wsdlDriver"
-
-##
-# Monkey patch WSDL parser to stop it moaning
-module WSDL
- class Parser
- def warn(_msg)
- end
- end
-end
-
-##
-# Provide interface to Quova geolocation service
-module Quova
- ##
- # Access details for WSDL description
- WSDL_URL = "https://webservices.quova.com/OnDemand/GeoPoint/v1/default.asmx?WSDL".freeze
- WSDL_USER = QUOVA_USERNAME
- WSDL_PASS = QUOVA_PASSWORD
-
- ##
- # Status codes
- SUCCESS = 0
- IPV6_NO_SUPPORT = 1
- INVALID_CREDENTIALS = 2
- NOT_MAPPED = 3
- INVALID_IP_FORMAT = 4
- IP_ADDRESS_NULL = 5
- ACCESS_DENIED = 6
- QUERY_LIMIT = 7
- OUT_OF_SERVICE = 10
-
- ##
- # Create SOAP endpoint
- @soap = SOAP::WSDLDriverFactory.new(WSDL_URL).create_rpc_driver
- @soap.options["protocol.http.basic_auth"] << [WSDL_URL, WSDL_USER, WSDL_PASS]
-
- ##
- # Accessor for SOAP endpoint
- def self.soap
- @soap
- end
-
- ##
- # Class representing geolocation details for an IP address
- class IpInfo
- def initialize(ip_address)
- @ipinfo = Quova.soap.GetIpInfo(:ipAddress => ip_address)
- end
-
- def status
- @ipinfo["GetIpInfoResult"]["Response"]["Status"].to_i
- end
-
- def country_code
- @ipinfo["GetIpInfoResult"]["Location"]["Country"]["Name"]
- end
-
- def country_confidence
- @ipinfo["GetIpInfoResult"]["Location"]["Country"]["Confidence"]
- end
- end
-end
--- /dev/null
+#!/usr/bin/env ruby
+
+# require File.dirname(__FILE__) + "/../config/environment"
+
+start = 0
+User.where("image_use_gravatar AND id >=" + start.to_s).order("id").find_each do |user|
+ p "checked up to id " + user.id.to_s if (user.id % 1000).zero? # just give a rough indication where we are for restarting
+ next if user.image.present?
+ hash = Digest::MD5.hexdigest(user.email.downcase)
+ url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
+ response = OSM.http_client.get(URI.parse(url))
+ user.image_use_gravatar = response.success?
+ user.save
+ sleep(1)
+end
+
+exit 0
# try to get version 1
v1 = ways(:way_with_versions_v2)
{ latest.id => "",
- v1.way_id => v1.timestamp.strftime("%d %b %Y, %H:%M:%S")
- }.each do |id, t|
+ v1.way_id => v1.timestamp.strftime("%d %b %Y, %H:%M:%S") }.each do |id, t|
amf_content "getway_old", "/1", [id, t]
post :amf_read
assert_response :success
way_id = current_ways(:way_with_versions).id
{ "foo" => "bar",
way_id => "not a date",
- way_id => "2009-03-25 00:00:00", # <- wrong format
- way_id => "0 Jan 2009 00:00:00", # <- invalid date
- -1 => "1 Jan 2009 00:00:00" # <- invalid ID
- }.each do |id, t|
+ way_id => "2009-03-25 00:00:00", # <- wrong format
+ way_id => "0 Jan 2009 00:00:00", # <- invalid date
+ -1 => "1 Jan 2009 00:00:00" }.each do |id, t| # <- invalid
amf_content "getway_old", "/1", [id, t]
post :amf_read
assert_response :success
# try to get specific version of non-existent way
[[0, ""],
[0, "1 Jan 1970, 00:00:00"],
- [v1.way_id, (v1.timestamp - 10).strftime("%d %b %Y, %H:%M:%S")]
- ].each do |id, t|
+ [v1.way_id, (v1.timestamp - 10).strftime("%d %b %Y, %H:%M:%S")]].each do |id, t|
amf_content "getway_old", "/1", [id, t]
post :amf_read
assert_response :success
def test_getway_old_invisible
v1 = ways(:invisible_way)
# try to get deleted version
- [[v1.way_id, (v1.timestamp + 10).strftime("%d %b %Y, %H:%M:%S")]
- ].each do |id, t|
+ [[v1.way_id, (v1.timestamp + 10).strftime("%d %b %Y, %H:%M:%S")]].each do |id, t|
amf_content "getway_old", "/1", [id, t]
post :amf_read
assert_response :success
assert_equal -1, result[0]
assert_match /must be logged in/, result[1]
+ create(:user_block, :user => users(:blocked_user))
amf_content "findgpx", "/1", [1, "blocked@openstreetmap.org:test"]
post :amf_read
assert_response :success
def setup
super
- @badbigbbox = %w(-0.1,-0.1,1.1,1.1 10,10,11,11)
- @badmalformedbbox = %w(-0.1 hello
+ @badbigbbox = %w(-0.1,-0.1,1.1,1.1 10,10,11,11)
+ @badmalformedbbox = %w(-0.1 hello
10N2W10.1N2.1W)
- @badlatmixedbbox = %w(0,0.1,0.1,0 -0.1,80,0.1,70 0.24,54.34,0.25,54.33)
- @badlonmixedbbox = %w(80,-0.1,70,0.1 54.34,0.24,54.33,0.25)
+ @badlatmixedbbox = %w(0,0.1,0.1,0 -0.1,80,0.1,70 0.24,54.34,0.25,54.33)
+ @badlonmixedbbox = %w(80,-0.1,70,0.1 54.34,0.24,54.33,0.25)
# @badlatlonoutboundsbbox = %w{ 191,-0.1,193,0.1 -190.1,89.9,-190,90 }
- @goodbbox = %w(-0.1,-0.1,0.1,0.1 51.1,-0.1,51.2,0
- -0.1,%20-0.1,%200.1,%200.1 -0.1edcd,-0.1d,0.1,0.1 -0.1E,-0.1E,0.1S,0.1N S0.1,W0.1,N0.1,E0.1)
+ @goodbbox = %w(-0.1,-0.1,0.1,0.1 51.1,-0.1,51.2,0
+ -0.1,%20-0.1,%200.1,%200.1 -0.1edcd,-0.1d,0.1,0.1 -0.1E,-0.1E,0.1S,0.1N S0.1,W0.1,N0.1,E0.1)
# That last item in the goodbbox really shouldn't be there, as the API should
# reall reject it, however this is to test to see if the api changes.
end
end
def test_read_changeset_hidden_comments
+ create_list(:changeset_comment, 3)
+ create(:changeset_comment, :visible => false)
+
browse_check "changeset", changesets(:normal_user_closed_change).id, "browse/changeset"
assert_select "div.changeset-comments ul li", :count => 3
end
def test_read_note
- browse_check "note", notes(:open_note).id, "browse/note"
+ open_note = create(:note_with_comments)
+
+ browse_check "note", open_note.id, "browse/note"
end
def test_read_hidden_note
- get :note, :id => notes(:hidden_note_with_comment).id
+ hidden_note_with_comment = create(:note_with_comments, :status => "hidden")
+
+ get :note, :id => hidden_note_with_comment.id
assert_response :not_found
assert_template "browse/not_found"
assert_template :layout => "map"
- xhr :get, :note, :id => notes(:hidden_note_with_comment).id
+ xhr :get, :note, :id => hidden_note_with_comment.id
assert_response :not_found
assert_template "browse/not_found"
assert_template :layout => "xhr"
session[:user] = users(:moderator_user).id
- browse_check "note", notes(:hidden_note_with_comment).id, "browse/note"
+ browse_check "note", hidden_note_with_comment.id, "browse/note"
end
def test_read_note_hidden_comments
- browse_check "note", notes(:note_with_hidden_comment).id, "browse/note"
+ note_with_hidden_comment = create(:note_with_comments, :comments_count => 2) do |note|
+ create(:note_comment, :note => note, :visible => false)
+ end
+
+ browse_check "note", note_with_hidden_comment.id, "browse/note"
assert_select "div.note-comments ul li", :count => 1
session[:user] = users(:moderator_user).id
- browse_check "note", notes(:note_with_hidden_comment).id, "browse/note"
+ browse_check "note", note_with_hidden_comment.id, "browse/note"
assert_select "div.note-comments ul li", :count => 2
end
class ChangesetControllerTest < ActionController::TestCase
api_fixtures
- fixtures :friends, :changeset_comments, :changesets_subscribers
+ fixtures :changesets_subscribers
##
# test all routes which lead to this controller
assert_select "osm>changeset>discussion>comment", 0
changeset_id = changesets(:normal_user_closed_change).id
+ create_list(:changeset_comment, 3, :changeset_id => changeset_id)
get :read, :id => changeset_id, :include_discussion => true
assert_response :success, "cannot get closed changeset with comments"
<osmChange>
<create>
<node id='-1' lon='0' lat='0' changeset='#{cs_id}'>
- <tag k='foo' v='#{"x" * 256}'/>
+ <tag k='foo' v='#{'x' * 256}'/>
</node>
</create>
</osmChange>
["<osmChange/>",
"<osmChange></osmChange>",
"<osmChange><modify/></osmChange>",
- "<osmChange><modify></modify></osmChange>"
- ].each do |diff|
+ "<osmChange><modify></modify></osmChange>"].each do |diff|
# upload it
content diff
post :upload, :id => changesets(:public_user_first_change).id
def test_query_invalid
["abracadabra!",
"1,2,3,F",
- ";drop table users;"
- ].each do |bbox|
+ ";drop table users;"].each do |bbox|
get :query, :bbox => bbox
assert_response :bad_request, "'#{bbox}' isn't a bbox"
end
"00-00-00",
";drop table users;",
",",
- "-,-"
- ].each do |time|
+ "-,-"].each do |time|
get :query, :time => time
assert_response :bad_request, "'#{time}' isn't a valid time range"
end
["me",
"foobar",
"-1",
- "0"
- ].each do |uid|
+ "0"].each do |uid|
get :query, :user => uid
assert_response :bad_request, "'#{uid}' isn't a valid user ID"
end
# test hide comment fail
def test_hide_comment_fail
# unauthorized
- comment = changeset_comments(:normal_comment_1)
+ comment = create(:changeset_comment)
assert_equal true, comment.visible
post :hide_comment, :id => comment.id
##
# test hide comment succes
def test_hide_comment_success
- comment = changeset_comments(:normal_comment_1)
+ comment = create(:changeset_comment)
assert_equal true, comment.visible
basic_authorization(users(:moderator_user).email, "test")
# test unhide comment fail
def test_unhide_comment_fail
# unauthorized
- comment = changeset_comments(:hidden_comment)
+ comment = create(:changeset_comment, :visible => false)
assert_equal false, comment.visible
post :unhide_comment, :id => comment.id
##
# test unhide comment succes
def test_unhide_comment_success
- comment = changeset_comments(:hidden_comment)
+ comment = create(:changeset_comment, :visible => false)
assert_equal false, comment.visible
basic_authorization(users(:moderator_user).email, "test")
##
# test comments feed
def test_comments_feed
+ create_list(:changeset_comment, 3, :changeset_id => changesets(:normal_user_closed_change).id)
+
get :comments_feed, :format => "rss"
assert_response :success
assert_equal "application/rss+xml", @response.content_type
require "test_helper"
class DiaryEntryControllerTest < ActionController::TestCase
- fixtures :users, :user_roles, :diary_entries, :diary_comments, :languages, :friends
+ fixtures :users, :user_roles
include ActionView::Helpers::NumberHelper
+ def setup
+ # Create the default language for diary entries
+ create(:language, :code => "en")
+ end
+
##
# test all routes which lead to this controller
def test_routes
{ :path => "/user/username/diary/1/hidecomment/2", :method => :post },
{ :controller => "diary_entry", :action => "hidecomment", :display_name => "username", :id => "1", :comment => "2" }
)
+ assert_routing(
+ { :path => "/user/username/diary/1/subscribe", :method => :post },
+ { :controller => "diary_entry", :action => "subscribe", :display_name => "username", :id => "1" }
+ )
+ assert_routing(
+ { :path => "/user/username/diary/1/unsubscribe", :method => :post },
+ { :controller => "diary_entry", :action => "unsubscribe", :display_name => "username", :id => "1" }
+ )
end
def test_new
assert_equal new_longitude.to_f, entry.longitude
assert_equal new_language_code, entry.language_code
+ # checks if user was subscribed
+ assert_equal 1, entry.subscribers.length
+
assert_equal new_language_code, UserPreference.where(:user_id => users(:normal_user).id, :k => "diary.default_language").first.v
new_language_code = "de"
+ create(:language, :code => new_language_code)
# Now try creating a diary entry in a different language
assert_difference "DiaryEntry.count", 1 do
assert_equal new_longitude.to_f, entry.longitude
assert_equal new_language_code, entry.language_code
+ # checks if user was subscribed
+ assert_equal 1, entry.subscribers.length
+
assert_equal new_language_code, UserPreference.where(:user_id => users(:normal_user).id, :k => "diary.default_language").first.v
end
end
def test_edit
- entry = diary_entries(:normal_user_entry_1)
+ entry = create(:diary_entry, :user => users(:normal_user))
# Make sure that you are redirected to the login page when you are
# not logged in, without and with the id of the entry you want to edit
end
def test_edit_i18n
- get :edit, { :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_entry_1).id }, { :user => users(:normal_user).id }
+ diary_entry = create(:diary_entry, :language_code => "en")
+ get :edit, { :display_name => users(:normal_user).display_name, :id => diary_entry.id }, { :user => users(:normal_user).id }
assert_response :success
assert_select "span[class=translation_missing]", false, "Missing translation in edit diary entry"
end
def test_comment
- entry = diary_entries(:normal_user_entry_1)
+ entry = create(:diary_entry, :user => users(:normal_user))
# Make sure that you are denied when you are not logged in
post :comment, :display_name => entry.user.display_name, :id => entry.id
assert_select "h2", :text => "No entry with the id: 9999", :count => 1
end
+ post :subscribe, { :id => entry.id, :display_name => entry.user.display_name }, { :user => users(:normal_user).id }
+
# Now try an invalid comment with an empty body
assert_no_difference "ActionMailer::Base.deliveries.size" do
assert_no_difference "DiaryComment.count" do
- post :comment, { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "" } }, { :user => users(:public_user).id }
+ assert_no_difference "entry.subscribers.count" do
+ post :comment, { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "" } }, { :user => users(:public_user).id }
+ end
end
end
assert_response :success
assert_template :view
# Now try again with the right id
- assert_difference "ActionMailer::Base.deliveries.size", 1 do
+ assert_difference "ActionMailer::Base.deliveries.size", entry.subscribers.count do
assert_difference "DiaryComment.count", 1 do
- post :comment, { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "New comment" } }, { :user => users(:public_user).id }
+ assert_difference "entry.subscribers.count", 1 do
+ post :comment, { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "New comment" } }, { :user => users(:public_user).id }
+ end
end
end
assert_response :redirect
assert_redirected_to :action => :view, :display_name => entry.user.display_name, :id => entry.id
email = ActionMailer::Base.deliveries.first
assert_equal [users(:normal_user).email], email.to
- assert_equal "[OpenStreetMap] #{users(:public_user).display_name} commented on your diary entry", email.subject
+ assert_equal "[OpenStreetMap] #{users(:public_user).display_name} commented on a diary entry", email.subject
assert_match /New comment/, email.text_part.decoded
assert_match /New comment/, email.html_part.decoded
ActionMailer::Base.deliveries.clear
def test_comment_spammy
# Find the entry to comment on
- entry = diary_entries(:normal_user_entry_1)
+ entry = create(:diary_entry, :user => users(:normal_user))
+ post :subscribe, { :id => entry.id, :display_name => entry.user.display_name }, { :user => users(:normal_user).id }
# Generate some spammy content
spammy_text = 1.upto(50).map { |n| "http://example.com/spam#{n}" }.join(" ")
assert_redirected_to :action => :view, :display_name => entry.user.display_name, :id => entry.id
email = ActionMailer::Base.deliveries.first
assert_equal [users(:normal_user).email], email.to
- assert_equal "[OpenStreetMap] #{users(:public_user).display_name} commented on your diary entry", email.subject
+ assert_equal "[OpenStreetMap] #{users(:public_user).display_name} commented on a diary entry", email.subject
assert_match %r{http://example.com/spam}, email.text_part.decoded
assert_match %r{http://example.com/spam}, email.html_part.decoded
ActionMailer::Base.deliveries.clear
end
def test_list_all
+ diary_entry = create(:diary_entry)
+ geo_entry = create(:diary_entry, :latitude => 51.50763, :longitude => -0.10781)
+ public_entry = create(:diary_entry, :user => users(:public_user))
+
# Try a list of all diary entries
get :list
- check_diary_list :normal_user_entry_1, :normal_user_geo_entry, :public_user_entry_1
+ check_diary_list diary_entry, geo_entry, public_entry
end
def test_list_user
+ diary_entry = create(:diary_entry, :user => users(:normal_user))
+ geo_entry = create(:diary_entry, :user => users(:normal_user), :latitude => 51.50763, :longitude => -0.10781)
+ _other_entry = create(:diary_entry, :user => users(:public_user))
+
# Try a list of diary entries for a valid user
get :list, :display_name => users(:normal_user).display_name
- check_diary_list :normal_user_entry_1, :normal_user_geo_entry
+ check_diary_list diary_entry, geo_entry
# Try a list of diary entries for an invalid user
get :list, :display_name => "No Such User"
end
def test_list_friends
+ friend = create(:friend, :befriender => users(:normal_user))
+ diary_entry = create(:diary_entry, :user => friend.befriendee)
+ _other_entry = create(:diary_entry, :user => users(:second_public_user))
+
# Try a list of diary entries for your friends when not logged in
get :list, :friends => true
assert_response :redirect
# Try a list of diary entries for your friends when logged in
get :list, { :friends => true }, { :user => users(:normal_user).id }
- check_diary_list :public_user_entry_1
+ check_diary_list diary_entry
get :list, { :friends => true }, { :user => users(:public_user).id }
check_diary_list
end
def test_list_nearby
+ diary_entry = create(:diary_entry, :user => users(:public_user))
+
# Try a list of diary entries for nearby users when not logged in
get :list, :nearby => true
assert_response :redirect
# Try a list of diary entries for nearby users when logged in
get :list, { :nearby => true }, { :user => users(:german_user).id }
- check_diary_list :public_user_entry_1
+ check_diary_list diary_entry
get :list, { :nearby => true }, { :user => users(:public_user).id }
check_diary_list
end
def test_list_language
+ create(:language, :code => "de")
+ create(:language, :code => "sl")
+ diary_entry_en = create(:diary_entry, :language_code => "en")
+ diary_entry_en2 = create(:diary_entry, :language_code => "en")
+ diary_entry_de = create(:diary_entry, :language_code => "de")
+
# Try a list of diary entries in english
get :list, :language => "en"
- check_diary_list :normal_user_entry_1, :public_user_entry_1
+ check_diary_list diary_entry_en, diary_entry_en2
# Try a list of diary entries in german
get :list, :language => "de"
- check_diary_list :normal_user_geo_entry
+ check_diary_list diary_entry_de
# Try a list of diary entries in slovenian
get :list, :language => "sl"
end
def test_rss
+ create(:language, :code => "de")
+ create(:diary_entry, :language_code => "en")
+ create(:diary_entry, :language_code => "en")
+ create(:diary_entry, :language_code => "de")
+
get :rss, :format => :rss
assert_response :success, "Should be able to get a diary RSS"
assert_select "rss", :count => 1 do
end
def test_rss_language
- get :rss, :language => diary_entries(:normal_user_entry_1).language_code, :format => :rss
+ create(:language, :code => "de")
+ create(:diary_entry, :language_code => "en")
+ create(:diary_entry, :language_code => "en")
+ create(:diary_entry, :language_code => "de")
+
+ get :rss, :language => "en", :format => :rss
assert_response :success, "Should be able to get a specific language diary RSS"
assert_select "rss>channel>item", :count => 2 # , "Diary entries should be filtered by language"
end
# end
def test_rss_language_with_no_entries
+ create(:language, :code => "sl")
+ create(:diary_entry, :language_code => "en")
+
get :rss, :language => "sl", :format => :rss
assert_response :success, "Should be able to get a specific language diary RSS"
assert_select "rss>channel>item", :count => 0 # , "Diary entries should be filtered by language"
end
def test_rss_user
+ create(:diary_entry, :user => users(:normal_user))
+ create(:diary_entry, :user => users(:normal_user))
+ create(:diary_entry, :user => users(:public_user))
+
get :rss, :display_name => users(:normal_user).display_name, :format => :rss
assert_response :success, "Should be able to get a specific users diary RSS"
assert_select "rss>channel>item", :count => 2 # , "Diary entries should be filtered by user"
def test_view
# Try a normal entry that should work
- get :view, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_entry_1).id
+ diary_entry = create(:diary_entry, :user => users(:normal_user))
+ get :view, :display_name => users(:normal_user).display_name, :id => diary_entry.id
assert_response :success
assert_template :view
# Try a deleted entry
- get :view, :display_name => users(:normal_user).display_name, :id => diary_entries(:deleted_entry).id
+ diary_entry_deleted = create(:diary_entry, :user => users(:normal_user), :visible => false)
+ get :view, :display_name => users(:normal_user).display_name, :id => diary_entry_deleted.id
assert_response :not_found
# Try an entry by a suspended user
- get :view, :display_name => users(:suspended_user).display_name, :id => diary_entries(:entry_by_suspended_user).id
+ diary_entry_suspended = create(:diary_entry, :user => users(:suspended_user))
+ get :view, :display_name => users(:suspended_user).display_name, :id => diary_entry_suspended.id
assert_response :not_found
# Try an entry by a deleted user
- get :view, :display_name => users(:deleted_user).display_name, :id => diary_entries(:entry_by_deleted_user).id
+ diary_entry_deleted = create(:diary_entry, :user => users(:deleted_user))
+ get :view, :display_name => users(:deleted_user).display_name, :id => diary_entry_deleted.id
assert_response :not_found
end
def test_view_hidden_comments
# Get a diary entry that has hidden comments
- get :view, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id
+ diary_entry = create(:diary_entry)
+ visible_comment = create(:diary_comment, :diary_entry => diary_entry)
+ suspended_user_comment = create(:diary_comment, :diary_entry => diary_entry, :user => users(:suspended_user))
+ deleted_user_comment = create(:diary_comment, :diary_entry => diary_entry, :user => users(:deleted_user))
+ hidden_comment = create(:diary_comment, :diary_entry => diary_entry, :visible => false)
+
+ get :view, :display_name => users(:normal_user).display_name, :id => diary_entry.id
assert_response :success
assert_template :view
assert_select "div.comments" do
- assert_select "p#comment1", :count => 1 # visible comment
- assert_select "p#comment2", :count => 0 # comment by suspended user
- assert_select "p#comment3", :count => 0 # comment by deleted user
- assert_select "p#comment4", :count => 0 # hidden comment
+ assert_select "p#comment#{visible_comment.id}", :count => 1
+ assert_select "p#comment#{suspended_user_comment.id}", :count => 0
+ assert_select "p#comment#{deleted_user_comment.id}", :count => 0
+ assert_select "p#comment#{hidden_comment.id}", :count => 0
end
end
def test_hide
# Try without logging in
- post :hide, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_entry_1).id
+ diary_entry = create(:diary_entry)
+ post :hide, :display_name => users(:normal_user).display_name, :id => diary_entry.id
assert_response :forbidden
- assert_equal true, DiaryEntry.find(diary_entries(:normal_user_entry_1).id).visible
+ assert_equal true, DiaryEntry.find(diary_entry.id).visible
# Now try as a normal user
- post :hide, { :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_entry_1).id }, { :user => users(:normal_user).id }
+ post :hide, { :display_name => users(:normal_user).display_name, :id => diary_entry.id }, { :user => users(:normal_user).id }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_entry_1).id
- assert_equal true, DiaryEntry.find(diary_entries(:normal_user_entry_1).id).visible
+ assert_redirected_to :action => :view, :display_name => users(:normal_user).display_name, :id => diary_entry.id
+ assert_equal true, DiaryEntry.find(diary_entry.id).visible
# Finally try as an administrator
- post :hide, { :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_entry_1).id }, { :user => users(:administrator_user).id }
+ post :hide, { :display_name => users(:normal_user).display_name, :id => diary_entry.id }, { :user => users(:administrator_user).id }
assert_response :redirect
assert_redirected_to :action => :list, :display_name => users(:normal_user).display_name
- assert_equal false, DiaryEntry.find(diary_entries(:normal_user_entry_1).id).visible
+ assert_equal false, DiaryEntry.find(diary_entry.id).visible
end
def test_hidecomment
+ diary_entry = create(:diary_entry, :user => users(:normal_user))
+ diary_comment = create(:diary_comment, :diary_entry => diary_entry)
# Try without logging in
- post :hidecomment, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id, :comment => diary_comments(:comment_for_geo_post).id
+ post :hidecomment, :display_name => users(:normal_user).display_name, :id => diary_entry.id, :comment => diary_comment.id
assert_response :forbidden
- assert_equal true, DiaryComment.find(diary_comments(:comment_for_geo_post).id).visible
+ assert_equal true, DiaryComment.find(diary_comment.id).visible
# Now try as a normal user
- post :hidecomment, { :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id, :comment => diary_comments(:comment_for_geo_post).id }, { :user => users(:normal_user).id }
+ post :hidecomment, { :display_name => users(:normal_user).display_name, :id => diary_entry.id, :comment => diary_comment.id }, { :user => users(:normal_user).id }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id
- assert_equal true, DiaryComment.find(diary_comments(:comment_for_geo_post).id).visible
+ assert_redirected_to :action => :view, :display_name => users(:normal_user).display_name, :id => diary_entry.id
+ assert_equal true, DiaryComment.find(diary_comment.id).visible
# Finally try as an administrator
- post :hidecomment, { :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id, :comment => diary_comments(:comment_for_geo_post).id }, { :user => users(:administrator_user).id }
+ post :hidecomment, { :display_name => users(:normal_user).display_name, :id => diary_entry.id, :comment => diary_comment.id }, { :user => users(:administrator_user).id }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id
- assert_equal false, DiaryComment.find(diary_comments(:comment_for_geo_post).id).visible
+ assert_redirected_to :action => :view, :display_name => users(:normal_user).display_name, :id => diary_entry.id
+ assert_equal false, DiaryComment.find(diary_comment.id).visible
end
def test_comments
end
# Test a user with a comment
+ create(:diary_comment, :user => users(:public_user))
+
get :comments, :display_name => users(:public_user).display_name
assert_response :success
assert_template :comments
assert_response :not_found
end
+ def test_subscribe_success
+ diary_entry = create(:diary_entry, :user => users(:normal_user))
+
+ assert_difference "diary_entry.subscribers.count", 1 do
+ post :subscribe, { :id => diary_entry.id, :display_name => diary_entry.user.display_name }, { :user => users(:public_user).id }
+ end
+ assert_response :redirect
+ end
+
+ def test_subscribe_fail
+ diary_entry = create(:diary_entry, :user => users(:normal_user))
+
+ # not signed in
+ assert_no_difference "diary_entry.subscribers.count" do
+ post :subscribe, :id => diary_entry.id, :display_name => diary_entry.user.display_name
+ end
+ assert_response :forbidden
+
+ # bad diary id
+ post :subscribe, { :id => 999111, :display_name => "username" }, { :user => users(:public_user).id }
+ assert_response :not_found
+
+ # trying to subscribe when already subscribed
+ post :subscribe, { :id => diary_entry.id, :display_name => diary_entry.user.display_name }, { :user => users(:public_user).id }
+ assert_no_difference "diary_entry.subscribers.count" do
+ post :subscribe, { :id => diary_entry.id, :display_name => diary_entry.user.display_name }, { :user => users(:public_user).id }
+ end
+ end
+
+ def test_unsubscribe_success
+ diary_entry = create(:diary_entry, :user => users(:normal_user))
+
+ post :subscribe, { :id => diary_entry.id, :display_name => diary_entry.user.display_name }, { :user => users(:public_user).id }
+ assert_difference "diary_entry.subscribers.count", -1 do
+ post :unsubscribe, { :id => diary_entry.id, :display_name => diary_entry.user.display_name }, { :user => users(:public_user).id }
+ end
+ assert_response :redirect
+ end
+
+ def test_unsubscribe_fail
+ diary_entry = create(:diary_entry, :user => users(:normal_user))
+
+ # not signed in
+ assert_no_difference "diary_entry.subscribers.count" do
+ post :unsubscribe, :id => diary_entry.id, :display_name => diary_entry.user.display_name
+ end
+ assert_response :forbidden
+
+ # bad diary id
+ post :unsubscribe, { :id => 999111, :display_name => "username" }, { :user => users(:public_user).id }
+ assert_response :not_found
+
+ # trying to unsubscribe when not subscribed
+ assert_no_difference "diary_entry.subscribers.count" do
+ post :unsubscribe, { :id => diary_entry.id, :display_name => diary_entry.user.display_name }, { :user => users(:public_user).id }
+ end
+ end
+
private
def check_diary_list(*entries)
assert_select "div.diary_post", entries.count
entries.each do |entry|
- entry = diary_entries(entry)
assert_select "a[href=?]", "/user/#{entry.user.display_name}/diary/#{entry.id}"
end
end
"min-lat" => 51.7265723, "max-lat" => 51.7665723,
"min-lon" => -0.0390782, "max-lon" => 0.0009218,
"type" => "node", "id" => 28825933 },
- { "prefix" => "City Boundary",
+ { "prefix" => "Village",
"name" => "Broxbourne, Hertfordshire, East of England, England, United Kingdom",
"min-lat" => 51.6808751, "max-lat" => 51.7806237,
"min-lon" => -0.114204, "max-lon" => 0.0145267,
require "test_helper"
class MessageControllerTest < ActionController::TestCase
- fixtures :users, :messages
+ fixtures :users
##
# test all routes which lead to this controller
assert_match /Test message body/, e.text_part.decoded
assert_match /Test message body/, e.html_part.decoded
ActionMailer::Base.deliveries.clear
- m = Message.find(3)
+ m = Message.last
assert_equal users(:normal_user).id, m.from_user_id
assert_equal users(:public_user).id, m.to_user_id
assert_in_delta Time.now, m.sent_on, 2
##
# test the reply action
def test_reply
+ unread_message = create(:message, :unread, :sender => users(:normal_user), :recipient => users(:public_user))
+
# Check that the message reply page requires us to login
- get :reply, :message_id => messages(:unread_message).id
- assert_redirected_to login_path(:referer => reply_message_path(:message_id => messages(:unread_message).id))
+ get :reply, :message_id => unread_message.id
+ assert_redirected_to login_path(:referer => reply_message_path(:message_id => unread_message.id))
# Login as the wrong user
session[:user] = users(:second_public_user).id
# Check that we can't reply to somebody else's message
- get :reply, :message_id => messages(:unread_message).id
- assert_redirected_to login_path(:referer => reply_message_path(:message_id => messages(:unread_message).id))
+ get :reply, :message_id => unread_message.id
+ assert_redirected_to login_path(:referer => reply_message_path(:message_id => unread_message.id))
assert_equal "You are logged in as `pulibc_test2' but the message you have asked to reply to was not sent to that user. Please login as the correct user in order to reply.", flash[:notice]
# Login as the right user
session[:user] = users(:public_user).id
# Check that the message reply page loads
- get :reply, :message_id => messages(:unread_message).id
+ get :reply, :message_id => unread_message.id
assert_response :success
assert_template "new"
- assert_select "title", "OpenStreetMap | Re: test message 1"
+ assert_select "title", "OpenStreetMap | Re: #{unread_message.title}"
assert_select "form[action='#{new_message_path(:display_name => users(:normal_user).display_name)}']", :count => 1 do
- assert_select "input#message_title[value='Re: test message 1']", :count => 1
+ assert_select "input#message_title[value='Re: #{unread_message.title}']", :count => 1
assert_select "textarea#message_body", :count => 1
assert_select "input[type='submit'][value='Send']", :count => 1
end
- assert_equal true, Message.find(messages(:unread_message).id).message_read
+ assert_equal true, Message.find(unread_message.id).message_read
# Asking to reply to a message with no ID should fail
assert_raise ActionController::UrlGenerationError do
##
# test the read action
def test_read
+ unread_message = create(:message, :unread, :sender => users(:normal_user), :recipient => users(:public_user))
+
# Check that the read message page requires us to login
- get :read, :message_id => messages(:unread_message).id
- assert_redirected_to login_path(:referer => read_message_path(:message_id => messages(:unread_message).id))
+ get :read, :message_id => unread_message.id
+ assert_redirected_to login_path(:referer => read_message_path(:message_id => unread_message.id))
# Login as the wrong user
session[:user] = users(:second_public_user).id
# Check that we can't read the message
- get :read, :message_id => messages(:unread_message).id
- assert_redirected_to login_path(:referer => read_message_path(:message_id => messages(:unread_message).id))
+ get :read, :message_id => unread_message.id
+ assert_redirected_to login_path(:referer => read_message_path(:message_id => unread_message.id))
assert_equal "You are logged in as `pulibc_test2' but the message you have asked to read was not sent by or to that user. Please login as the correct user in order to read it.", flash[:notice]
# Login as the message sender
session[:user] = users(:normal_user).id
# Check that the message sender can read the message
- get :read, :message_id => messages(:unread_message).id
+ get :read, :message_id => unread_message.id
assert_response :success
assert_template "read"
- assert_equal false, Message.find(messages(:unread_message).id).message_read
+ assert_equal false, Message.find(unread_message.id).message_read
# Login as the message recipient
session[:user] = users(:public_user).id
# Check that the message recipient can read the message
- get :read, :message_id => messages(:unread_message).id
+ get :read, :message_id => unread_message.id
assert_response :success
assert_template "read"
- assert_equal true, Message.find(messages(:unread_message).id).message_read
+ assert_equal true, Message.find(unread_message.id).message_read
# Asking to read a message with no ID should fail
assert_raise ActionController::UrlGenerationError do
##
# test the inbox action
def test_inbox
+ read_message = create(:message, :read, :recipient => users(:normal_user))
# Check that the inbox page requires us to login
get :inbox, :display_name => users(:normal_user).display_name
assert_redirected_to login_path(:referer => inbox_path(:display_name => users(:normal_user).display_name))
assert_template "inbox"
assert_select "table.messages", :count => 1 do
assert_select "tr", :count => 2
- assert_select "tr#inbox-#{messages(:read_message).id}.inbox-row", :count => 1
+ assert_select "tr#inbox-#{read_message.id}.inbox-row", :count => 1
end
# Check that we can't view somebody else's inbox when logged in
##
# test the outbox action
def test_outbox
+ create(:message, :sender => users(:normal_user))
+
# Check that the outbox page requires us to login
get :outbox, :display_name => users(:normal_user).display_name
assert_redirected_to login_path(:referer => outbox_path(:display_name => users(:normal_user).display_name))
##
# test the mark action
def test_mark
+ unread_message = create(:message, :unread, :sender => users(:normal_user), :recipient => users(:public_user))
+
# Check that the marking a message requires us to login
- post :mark, :message_id => messages(:unread_message).id
+ post :mark, :message_id => unread_message.id
assert_response :forbidden
# Login as a user with no messages
session[:user] = users(:second_public_user).id
# Check that marking a message we didn't send or receive fails
- post :mark, :message_id => messages(:read_message).id
+ post :mark, :message_id => unread_message.id
assert_response :not_found
assert_template "no_such_message"
session[:user] = users(:public_user).id
# Check that the marking a message read works
- post :mark, :message_id => messages(:unread_message).id, :mark => "read"
+ post :mark, :message_id => unread_message.id, :mark => "read"
assert_redirected_to inbox_path(:display_name => users(:public_user).display_name)
- assert_equal true, Message.find(messages(:unread_message).id).message_read
+ assert_equal true, Message.find(unread_message.id).message_read
# Check that the marking a message unread works
- post :mark, :message_id => messages(:unread_message).id, :mark => "unread"
+ post :mark, :message_id => unread_message.id, :mark => "unread"
assert_redirected_to inbox_path(:display_name => users(:public_user).display_name)
- assert_equal false, Message.find(messages(:unread_message).id).message_read
+ assert_equal false, Message.find(unread_message.id).message_read
# Check that the marking a message read via XHR works
- xhr :post, :mark, :message_id => messages(:unread_message).id, :mark => "read"
+ xhr :post, :mark, :message_id => unread_message.id, :mark => "read"
assert_response :success
assert_template "mark"
- assert_equal true, Message.find(messages(:unread_message).id).message_read
+ assert_equal true, Message.find(unread_message.id).message_read
# Check that the marking a message unread via XHR works
- xhr :post, :mark, :message_id => messages(:unread_message).id, :mark => "unread"
+ xhr :post, :mark, :message_id => unread_message.id, :mark => "unread"
assert_response :success
assert_template "mark"
- assert_equal false, Message.find(messages(:unread_message).id).message_read
+ assert_equal false, Message.find(unread_message.id).message_read
# Asking to mark a message with no ID should fail
assert_raise ActionController::UrlGenerationError do
##
# test the delete action
def test_delete
+ read_message = create(:message, :read, :recipient => users(:normal_user), :sender => users(:public_user))
+ sent_message = create(:message, :unread, :recipient => users(:public_user), :sender => users(:normal_user))
+
# Check that the deleting a message requires us to login
- post :delete, :message_id => messages(:read_message).id
+ post :delete, :message_id => read_message.id
assert_response :forbidden
# Login as a user with no messages
session[:user] = users(:second_public_user).id
# Check that deleting a message we didn't send or receive fails
- post :delete, :message_id => messages(:read_message).id
+ post :delete, :message_id => read_message.id
assert_response :not_found
assert_template "no_such_message"
session[:user] = users(:normal_user).id
# Check that the deleting a received message works
- post :delete, :message_id => messages(:read_message).id
+ post :delete, :message_id => read_message.id
assert_redirected_to inbox_path(:display_name => users(:normal_user).display_name)
assert_equal "Message deleted", flash[:notice]
- m = Message.find(messages(:read_message).id)
+ m = Message.find(read_message.id)
assert_equal true, m.from_user_visible
assert_equal false, m.to_user_visible
# Check that the deleting a sent message works
- post :delete, :message_id => messages(:unread_message).id, :referer => outbox_path(:display_name => users(:normal_user).display_name)
+ post :delete, :message_id => sent_message.id, :referer => outbox_path(:display_name => users(:normal_user).display_name)
assert_redirected_to outbox_path(:display_name => users(:normal_user).display_name)
assert_equal "Message deleted", flash[:notice]
- m = Message.find(messages(:unread_message).id)
+ m = Message.find(sent_message.id)
assert_equal false, m.from_user_visible
assert_equal true, m.to_user_visible
require "test_helper"
class NotesControllerTest < ActionController::TestCase
- fixtures :users, :user_roles, :notes, :note_comments
+ fixtures :users, :user_roles
##
# test all routes which lead to this controller
end
def test_comment_success
+ open_note_with_comment = create(:note_with_comments)
assert_difference "NoteComment.count", 1 do
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :comment, :id => notes(:open_note_with_comment).id, :text => "This is an additional comment", :format => "json"
+ post :comment, :id => open_note_with_comment.id, :text => "This is an additional comment", :format => "json"
end
end
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
+ assert_equal open_note_with_comment.id, js["properties"]["id"]
assert_equal "open", js["properties"]["status"]
- assert_equal 5, js["properties"]["comments"].count
+ assert_equal 2, js["properties"]["comments"].count
assert_equal "commented", js["properties"]["comments"].last["action"]
assert_equal "This is an additional comment", js["properties"]["comments"].last["text"]
assert_nil js["properties"]["comments"].last["user"]
- get :show, :id => notes(:open_note_with_comment).id, :format => "json"
+ get :show, :id => open_note_with_comment.id, :format => "json"
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
+ assert_equal open_note_with_comment.id, js["properties"]["id"]
assert_equal "open", js["properties"]["status"]
- assert_equal 5, js["properties"]["comments"].count
+ assert_equal 2, js["properties"]["comments"].count
assert_equal "commented", js["properties"]["comments"].last["action"]
assert_equal "This is an additional comment", js["properties"]["comments"].last["text"]
assert_nil js["properties"]["comments"].last["user"]
+ # Ensure that emails are sent to users
+ note_with_comments_by_users = create(:note) do |note|
+ create(:note_comment, :note => note, :author => users(:normal_user))
+ create(:note_comment, :note => note, :author => users(:second_public_user))
+ end
assert_difference "NoteComment.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 2 do
- post :comment, :id => notes(:note_with_comments_by_users).id, :text => "This is an additional comment", :format => "json"
+ post :comment, :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json"
end
end
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:note_with_comments_by_users).id, js["properties"]["id"]
+ assert_equal note_with_comments_by_users.id, js["properties"]["id"]
assert_equal "open", js["properties"]["status"]
assert_equal 3, js["properties"]["comments"].count
assert_equal "commented", js["properties"]["comments"].last["action"]
assert_equal 1, email.to.length
assert_equal "[OpenStreetMap] An anonymous user has commented on a note you are interested in", email.subject
- get :show, :id => notes(:note_with_comments_by_users).id, :format => "json"
+ get :show, :id => note_with_comments_by_users.id, :format => "json"
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:note_with_comments_by_users).id, js["properties"]["id"]
+ assert_equal note_with_comments_by_users.id, js["properties"]["id"]
assert_equal "open", js["properties"]["status"]
assert_equal 3, js["properties"]["comments"].count
assert_equal "commented", js["properties"]["comments"].last["action"]
assert_difference "NoteComment.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 2 do
- post :comment, :id => notes(:note_with_comments_by_users).id, :text => "This is an additional comment", :format => "json"
+ post :comment, :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json"
end
end
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:note_with_comments_by_users).id, js["properties"]["id"]
+ assert_equal note_with_comments_by_users.id, js["properties"]["id"]
assert_equal "open", js["properties"]["status"]
assert_equal 4, js["properties"]["comments"].count
assert_equal "commented", js["properties"]["comments"].last["action"]
assert_equal 1, email.to.length
assert_equal "[OpenStreetMap] test2 has commented on a note you are interested in", email.subject
- get :show, :id => notes(:note_with_comments_by_users).id, :format => "json"
+ get :show, :id => note_with_comments_by_users.id, :format => "json"
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:note_with_comments_by_users).id, js["properties"]["id"]
+ assert_equal note_with_comments_by_users.id, js["properties"]["id"]
assert_equal "open", js["properties"]["status"]
assert_equal 4, js["properties"]["comments"].count
assert_equal "commented", js["properties"]["comments"].last["action"]
end
def test_comment_fail
+ open_note_with_comment = create(:note_with_comments)
+
assert_no_difference "NoteComment.count" do
post :comment, :text => "This is an additional comment"
end
assert_response :bad_request
assert_no_difference "NoteComment.count" do
- post :comment, :id => notes(:open_note_with_comment).id
+ post :comment, :id => open_note_with_comment.id
end
assert_response :bad_request
assert_no_difference "NoteComment.count" do
- post :comment, :id => notes(:open_note_with_comment).id, :text => ""
+ post :comment, :id => open_note_with_comment.id, :text => ""
end
assert_response :bad_request
end
assert_response :not_found
+ hidden_note_with_comment = create(:note_with_comments, :status => "hidden")
+
assert_no_difference "NoteComment.count" do
- post :comment, :id => notes(:hidden_note_with_comment).id, :text => "This is an additional comment"
+ post :comment, :id => hidden_note_with_comment.id, :text => "This is an additional comment"
end
assert_response :gone
+ closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now)
+
assert_no_difference "NoteComment.count" do
- post :comment, :id => notes(:closed_note_with_comment).id, :text => "This is an additional comment"
+ post :comment, :id => closed_note_with_comment.id, :text => "This is an additional comment"
end
assert_response :conflict
end
def test_close_success
- post :close, :id => notes(:open_note_with_comment).id, :text => "This is a close comment", :format => "json"
+ open_note_with_comment = create(:note_with_comments)
+
+ post :close, :id => open_note_with_comment.id, :text => "This is a close comment", :format => "json"
assert_response :unauthorized
basic_authorization(users(:public_user).email, "test")
- post :close, :id => notes(:open_note_with_comment).id, :text => "This is a close comment", :format => "json"
+ post :close, :id => open_note_with_comment.id, :text => "This is a close comment", :format => "json"
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
+ assert_equal open_note_with_comment.id, js["properties"]["id"]
assert_equal "closed", js["properties"]["status"]
- assert_equal 5, js["properties"]["comments"].count
+ assert_equal 2, js["properties"]["comments"].count
assert_equal "closed", js["properties"]["comments"].last["action"]
assert_equal "This is a close comment", js["properties"]["comments"].last["text"]
assert_equal "test2", js["properties"]["comments"].last["user"]
- get :show, :id => notes(:open_note_with_comment).id, :format => "json"
+ get :show, :id => open_note_with_comment.id, :format => "json"
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
+ assert_equal open_note_with_comment.id, js["properties"]["id"]
assert_equal "closed", js["properties"]["status"]
- assert_equal 5, js["properties"]["comments"].count
+ assert_equal 2, js["properties"]["comments"].count
assert_equal "closed", js["properties"]["comments"].last["action"]
assert_equal "This is a close comment", js["properties"]["comments"].last["text"]
assert_equal "test2", js["properties"]["comments"].last["user"]
post :close, :id => 12345
assert_response :not_found
- post :close, :id => notes(:hidden_note_with_comment).id
+ hidden_note_with_comment = create(:note_with_comments, :status => "hidden")
+
+ post :close, :id => hidden_note_with_comment.id
assert_response :gone
- post :close, :id => notes(:closed_note_with_comment).id
+ closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now)
+
+ post :close, :id => closed_note_with_comment.id
assert_response :conflict
end
def test_reopen_success
- post :reopen, :id => notes(:closed_note_with_comment).id, :text => "This is a reopen comment", :format => "json"
+ closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now)
+
+ post :reopen, :id => closed_note_with_comment.id, :text => "This is a reopen comment", :format => "json"
assert_response :unauthorized
basic_authorization(users(:public_user).email, "test")
- post :reopen, :id => notes(:closed_note_with_comment).id, :text => "This is a reopen comment", :format => "json"
+ post :reopen, :id => closed_note_with_comment.id, :text => "This is a reopen comment", :format => "json"
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:closed_note_with_comment).id, js["properties"]["id"]
+ assert_equal closed_note_with_comment.id, js["properties"]["id"]
assert_equal "open", js["properties"]["status"]
assert_equal 2, js["properties"]["comments"].count
assert_equal "reopened", js["properties"]["comments"].last["action"]
assert_equal "This is a reopen comment", js["properties"]["comments"].last["text"]
assert_equal "test2", js["properties"]["comments"].last["user"]
- get :show, :id => notes(:closed_note_with_comment).id, :format => "json"
+ get :show, :id => closed_note_with_comment.id, :format => "json"
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:closed_note_with_comment).id, js["properties"]["id"]
+ assert_equal closed_note_with_comment.id, js["properties"]["id"]
assert_equal "open", js["properties"]["status"]
assert_equal 2, js["properties"]["comments"].count
assert_equal "reopened", js["properties"]["comments"].last["action"]
end
def test_reopen_fail
- post :reopen, :id => notes(:hidden_note_with_comment).id
+ hidden_note_with_comment = create(:note_with_comments, :status => "hidden")
+
+ post :reopen, :id => hidden_note_with_comment.id
assert_response :unauthorized
basic_authorization(users(:public_user).email, "test")
post :reopen, :id => 12345
assert_response :not_found
- post :reopen, :id => notes(:hidden_note_with_comment).id
+ post :reopen, :id => hidden_note_with_comment.id
assert_response :gone
- post :reopen, :id => notes(:open_note_with_comment).id
+ open_note_with_comment = create(:note_with_comments)
+
+ post :reopen, :id => open_note_with_comment.id
assert_response :conflict
end
def test_show_success
- get :show, :id => notes(:open_note).id, :format => "xml"
+ open_note = create(:note_with_comments)
+
+ get :show, :id => open_note.id, :format => "xml"
assert_response :success
assert_equal "application/xml", @response.content_type
assert_select "osm", :count => 1 do
- assert_select "note[lat='#{notes(:open_note).lat}'][lon='#{notes(:open_note).lon}']", :count => 1 do
- assert_select "id", notes(:open_note).id
- assert_select "url", note_url(notes(:open_note), :format => "xml")
- assert_select "comment_url", comment_note_url(notes(:open_note), :format => "xml")
- assert_select "close_url", close_note_url(notes(:open_note), :format => "xml")
- assert_select "date_created", notes(:open_note).created_at.to_s
- assert_select "status", notes(:open_note).status
+ assert_select "note[lat='#{open_note.lat}'][lon='#{open_note.lon}']", :count => 1 do
+ assert_select "id", open_note.id.to_s
+ assert_select "url", note_url(open_note, :format => "xml")
+ assert_select "comment_url", comment_note_url(open_note, :format => "xml")
+ assert_select "close_url", close_note_url(open_note, :format => "xml")
+ assert_select "date_created", open_note.created_at.to_s
+ assert_select "status", open_note.status
assert_select "comments", :count => 1 do
assert_select "comment", :count => 1
end
end
end
- get :show, :id => notes(:open_note).id, :format => "rss"
+ get :show, :id => open_note.id, :format => "rss"
assert_response :success
assert_equal "application/rss+xml", @response.content_type
assert_select "rss", :count => 1 do
assert_select "channel", :count => 1 do
assert_select "item", :count => 1 do
- assert_select "link", browse_note_url(notes(:open_note))
- assert_select "guid", note_url(notes(:open_note))
- assert_select "pubDate", notes(:open_note).created_at.to_s(:rfc822)
- # assert_select "geo:lat", notes(:open_note).lat.to_s
- # assert_select "geo:long", notes(:open_note).lon
- # assert_select "georss:point", "#{notes(:open_note).lon} #{notes(:open_note).lon}"
+ assert_select "link", browse_note_url(open_note)
+ assert_select "guid", note_url(open_note)
+ assert_select "pubDate", open_note.created_at.to_s(:rfc822)
+ # assert_select "geo:lat", open_note.lat.to_s
+ # assert_select "geo:long", open_note.lon
+ # assert_select "georss:point", "#{open_note.lon} #{open_note.lon}"
end
end
end
- get :show, :id => notes(:open_note).id, :format => "json"
+ get :show, :id => open_note.id, :format => "json"
assert_response :success
assert_equal "application/json", @response.content_type
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
assert_equal "Point", js["geometry"]["type"]
- assert_equal notes(:open_note).lat, js["geometry"]["coordinates"][0]
- assert_equal notes(:open_note).lon, js["geometry"]["coordinates"][1]
- assert_equal notes(:open_note).id, js["properties"]["id"]
- assert_equal note_url(notes(:open_note), :format => "json"), js["properties"]["url"]
- assert_equal comment_note_url(notes(:open_note), :format => "json"), js["properties"]["comment_url"]
- assert_equal close_note_url(notes(:open_note), :format => "json"), js["properties"]["close_url"]
- assert_equal notes(:open_note).created_at, js["properties"]["date_created"]
- assert_equal notes(:open_note).status, js["properties"]["status"]
+ assert_equal open_note.lat, js["geometry"]["coordinates"][0]
+ assert_equal open_note.lon, js["geometry"]["coordinates"][1]
+ assert_equal open_note.id, js["properties"]["id"]
+ assert_equal note_url(open_note, :format => "json"), js["properties"]["url"]
+ assert_equal comment_note_url(open_note, :format => "json"), js["properties"]["comment_url"]
+ assert_equal close_note_url(open_note, :format => "json"), js["properties"]["close_url"]
+ assert_equal open_note.created_at.to_s, js["properties"]["date_created"]
+ assert_equal open_note.status, js["properties"]["status"]
- get :show, :id => notes(:open_note).id, :format => "gpx"
+ get :show, :id => open_note.id, :format => "gpx"
assert_response :success
assert_equal "application/gpx+xml", @response.content_type
assert_select "gpx", :count => 1 do
- assert_select "wpt[lat='#{notes(:open_note).lat}'][lon='#{notes(:open_note).lon}']", :count => 1 do
+ assert_select "wpt[lat='#{open_note.lat}'][lon='#{open_note.lon}']", :count => 1 do
assert_select "time", :count => 1
- assert_select "name", "Note: #{notes(:open_note).id}"
+ assert_select "name", "Note: #{open_note.id}"
assert_select "desc", :count => 1
- assert_select "link[href='http://www.openstreetmap.org/note/#{notes(:open_note).id}']", :count => 1
+ assert_select "link[href='http://www.openstreetmap.org/note/#{open_note.id}']", :count => 1
assert_select "extensions", :count => 1 do
- assert_select "id", notes(:open_note).id
- assert_select "url", note_url(notes(:open_note), :format => "gpx")
- assert_select "comment_url", comment_note_url(notes(:open_note), :format => "gpx")
- assert_select "close_url", close_note_url(notes(:open_note), :format => "gpx")
+ assert_select "id", open_note.id.to_s
+ assert_select "url", note_url(open_note, :format => "gpx")
+ assert_select "comment_url", comment_note_url(open_note, :format => "gpx")
+ assert_select "close_url", close_note_url(open_note, :format => "gpx")
end
end
end
end
def test_show_hidden_comment
- get :show, :id => notes(:note_with_hidden_comment).id, :format => "json"
+ note_with_hidden_comment = create(:note) do |note|
+ create(:note_comment, :note => note, :body => "Valid comment for hidden note")
+ create(:note_comment, :note => note, :visible => false)
+ create(:note_comment, :note => note, :body => "Another valid comment for hidden note")
+ end
+
+ get :show, :id => note_with_hidden_comment.id, :format => "json"
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:note_with_hidden_comment).id, js["properties"]["id"]
+ assert_equal note_with_hidden_comment.id, js["properties"]["id"]
assert_equal 2, js["properties"]["comments"].count
- assert_equal "Valid comment for note 5", js["properties"]["comments"][0]["text"]
- assert_equal "Another valid comment for note 5", js["properties"]["comments"][1]["text"]
+ assert_equal "Valid comment for hidden note", js["properties"]["comments"][0]["text"]
+ assert_equal "Another valid comment for hidden note", js["properties"]["comments"][1]["text"]
end
def test_show_fail
get :show, :id => 12345
assert_response :not_found
- get :show, :id => notes(:hidden_note_with_comment).id
+ get :show, :id => create(:note, :status => "hidden").id
assert_response :gone
end
def test_destroy_success
- delete :destroy, :id => notes(:open_note_with_comment).id, :text => "This is a hide comment", :format => "json"
+ open_note_with_comment = create(:note_with_comments)
+
+ delete :destroy, :id => open_note_with_comment.id, :text => "This is a hide comment", :format => "json"
assert_response :unauthorized
basic_authorization(users(:public_user).email, "test")
- delete :destroy, :id => notes(:open_note_with_comment).id, :text => "This is a hide comment", :format => "json"
+ delete :destroy, :id => open_note_with_comment.id, :text => "This is a hide comment", :format => "json"
assert_response :forbidden
basic_authorization(users(:moderator_user).email, "test")
- delete :destroy, :id => notes(:open_note_with_comment).id, :text => "This is a hide comment", :format => "json"
+ delete :destroy, :id => open_note_with_comment.id, :text => "This is a hide comment", :format => "json"
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "Feature", js["type"]
- assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
+ assert_equal open_note_with_comment.id, js["properties"]["id"]
assert_equal "hidden", js["properties"]["status"]
- assert_equal 5, js["properties"]["comments"].count
+ assert_equal 2, js["properties"]["comments"].count
assert_equal "hidden", js["properties"]["comments"].last["action"]
assert_equal "This is a hide comment", js["properties"]["comments"].last["text"]
assert_equal "moderator", js["properties"]["comments"].last["user"]
- get :show, :id => notes(:open_note_with_comment).id, :format => "json"
+ get :show, :id => open_note_with_comment.id, :format => "json"
assert_response :gone
end
delete :destroy, :id => 12345, :format => "json"
assert_response :not_found
- delete :destroy, :id => notes(:hidden_note_with_comment).id, :format => "json"
+ hidden_note_with_comment = create(:note_with_comments, :status => "hidden")
+
+ delete :destroy, :id => hidden_note_with_comment.id, :format => "json"
assert_response :gone
end
def test_index_success
+ position = (1.1 * GeoRecord::SCALE).to_i
+ create(:note_with_comments, :latitude => position, :longitude => position)
+ create(:note_with_comments, :latitude => position, :longitude => position)
+
get :index, :bbox => "1,1,1.2,1.2", :format => "rss"
assert_response :success
assert_equal "application/rss+xml", @response.content_type
end
def test_index_limit
+ position = (1.1 * GeoRecord::SCALE).to_i
+ create(:note_with_comments, :latitude => position, :longitude => position)
+ create(:note_with_comments, :latitude => position, :longitude => position)
+
get :index, :bbox => "1,1,1.2,1.2", :limit => 1, :format => "rss"
assert_response :success
assert_equal "application/rss+xml", @response.content_type
end
def test_index_closed
+ create(:note_with_comments, :status => "closed", :closed_at => Time.now - 5.days)
+ create(:note_with_comments, :status => "closed", :closed_at => Time.now - 100.days)
+ create(:note_with_comments, :status => "hidden")
+ create(:note_with_comments)
+
+ # Open notes + closed in last 7 days
get :index, :bbox => "1,1,1.7,1.7", :closed => "7", :format => "json"
assert_response :success
assert_equal "application/json", @response.content_type
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "FeatureCollection", js["type"]
- assert_equal 4, js["features"].count
+ assert_equal 2, js["features"].count
+ # Only open notes
get :index, :bbox => "1,1,1.7,1.7", :closed => "0", :format => "json"
assert_response :success
assert_equal "application/json", @response.content_type
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "FeatureCollection", js["type"]
- assert_equal 4, js["features"].count
+ assert_equal 1, js["features"].count
+ # Open notes + all closed notes
get :index, :bbox => "1,1,1.7,1.7", :closed => "-1", :format => "json"
assert_response :success
assert_equal "application/json", @response.content_type
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "FeatureCollection", js["type"]
- assert_equal 6, js["features"].count
+ assert_equal 3, js["features"].count
end
def test_index_bad_params
end
def test_search_success
- get :search, :q => "note 1", :format => "xml"
+ create(:note_with_comments)
+
+ get :search, :q => "note comment", :format => "xml"
assert_response :success
assert_equal "application/xml", @response.content_type
assert_select "osm", :count => 1 do
assert_select "note", :count => 1
end
- get :search, :q => "note 1", :format => "json"
+ get :search, :q => "note comment", :format => "json"
assert_response :success
assert_equal "application/json", @response.content_type
js = ActiveSupport::JSON.decode(@response.body)
assert_equal "FeatureCollection", js["type"]
assert_equal 1, js["features"].count
- get :search, :q => "note 1", :format => "rss"
+ get :search, :q => "note comment", :format => "rss"
assert_response :success
assert_equal "application/rss+xml", @response.content_type
assert_select "rss", :count => 1 do
end
end
- get :search, :q => "note 1", :format => "gpx"
+ get :search, :q => "note comment", :format => "gpx"
assert_response :success
assert_equal "application/gpx+xml", @response.content_type
assert_select "gpx", :count => 1 do
end
def test_search_no_match
+ create(:note_with_comments)
+
get :search, :q => "no match", :format => "xml"
assert_response :success
assert_equal "application/xml", @response.content_type
end
def test_feed_success
+ position = (1.1 * GeoRecord::SCALE).to_i
+ create(:note_with_comments, :latitude => position, :longitude => position)
+ create(:note_with_comments, :latitude => position, :longitude => position)
+ position = (1.5 * GeoRecord::SCALE).to_i
+ create(:note_with_comments, :latitude => position, :longitude => position)
+ create(:note_with_comments, :latitude => position, :longitude => position)
+
get :feed, :format => "rss"
assert_response :success
assert_equal "application/rss+xml", @response.content_type
assert_select "rss", :count => 1 do
assert_select "channel", :count => 1 do
- assert_select "item", :count => 10
+ assert_select "item", :count => 4
end
end
assert_equal "application/rss+xml", @response.content_type
assert_select "rss", :count => 1 do
assert_select "channel", :count => 1 do
- assert_select "item", :count => 5
+ assert_select "item", :count => 2
end
end
end
end
def test_mine_success
+ create(:note) do |note|
+ create(:note_comment, :note => note, :author => users(:normal_user))
+ end
+ create(:note) do |note|
+ create(:note_comment, :note => note, :author => users(:second_public_user))
+ end
+ create(:note, :status => "hidden") do |note|
+ create(:note_comment, :note => note, :author => users(:second_public_user))
+ end
+
+ # Note that the table rows include a header row
get :mine, :display_name => "test"
assert_response :success
assert_select "table.note_list tr", :count => 2
get :mine, :display_name => "pulibc_test2"
assert_response :success
- assert_select "table.note_list tr", :count => 3
+ assert_select "table.note_list tr", :count => 2
get :mine, :display_name => "non-existent"
assert_response :not_found
get :mine, :display_name => "pulibc_test2"
assert_response :success
- assert_select "table.note_list tr", :count => 4
+ assert_select "table.note_list tr", :count => 3
get :mine, :display_name => "non-existent"
assert_response :not_found
}, { :user => user }
end
assert_response :redirect
- assert_redirected_to oauth_client_path(:id => ClientApplication.find_by_name("Test Application").id)
+ assert_redirected_to oauth_client_path(:id => ClientApplication.find_by(:name => "Test Application").id)
end
def test_show
post :create, :redaction => { :title => "Foo", :description => "Description here." }
assert_response :redirect
- assert_redirected_to(redaction_path(Redaction.find_by_title("Foo")))
+ assert_redirected_to(redaction_path(Redaction.find_by(:title => "Foo")))
end
def test_create_moderator_invalid
[current_nodes(:used_node_1),
current_nodes(:used_node_2),
current_ways(:used_way),
- current_ways(:way_with_versions)
- ].each_with_index do |element, _version|
+ current_ways(:way_with_versions)].each_with_index do |element, _version|
bbox = element.bbox.to_unscaled
check_changeset_modify(bbox) do |changeset_id|
relation_xml = Relation.find(relation_id).to_xml
# Test editing a specific note
def test_edit_with_note
user = users(:public_user)
- note = notes(:open_note)
+ note = create(:note) do |n|
+ n.comments.create(:author_id => user.id)
+ end
get :edit, { :note => note.id }, { :user => user.id }
assert_response :success
require "test_helper"
class TraceControllerTest < ActionController::TestCase
- fixtures :users, :user_preferences, :gpx_files
+ fixtures :users, :gpx_files
set_fixture_class :gpx_files => Trace
def setup
assert_redirected_to :controller => :user, :action => :login, :referer => trace_create_path
# Now authenticated as a user with gps.trace.visibility set
+ create(:user_preference, :user => users(:public_user), :k => "gps.trace.visibility", :v => "identifiable")
get :create, {}, { :user => users(:public_user).id }
assert_response :success
assert_template :create
assert_select "select#trace_visibility option[value=identifiable][selected]", 1
# Now authenticated as a user with gps.trace.public set
+ create(:user_preference, :user => users(:second_public_user), :k => "gps.trace.public", :v => "default")
get :create, {}, { :user => users(:second_public_user).id }
assert_response :success
assert_template :create
assert_response :forbidden
# Now authenticated
+ create(:user_preference, :user => users(:public_user), :k => "gps.trace.visibility", :v => "identifiable")
assert_not_equal "trackable", users(:public_user).preferences.where(:k => "gps.trace.visibility").first.v
post :create, { :trace => { :gpx_file => file, :description => "New Trace", :tagstring => "new,trace", :visibility => "trackable" } }, { :user => users(:public_user).id }
assert_response :redirect
assert_response :unauthorized
# Now authenticated
+ create(:user_preference, :user => users(:public_user), :k => "gps.trace.visibility", :v => "identifiable")
assert_not_equal "trackable", users(:public_user).preferences.where(:k => "gps.trace.visibility").first.v
basic_authorization(users(:public_user).display_name, "test")
post :api_create, :file => file, :description => "New Trace", :tags => "new,trace", :visibility => "trackable"
require "test_helper"
class UserBlocksControllerTest < ActionController::TestCase
- fixtures :users, :user_roles, :user_blocks
+ fixtures :users, :user_roles
##
# test all routes which lead to this controller
##
# test the index action
def test_index
- # The list of blocks should load
+ active_block = create(:user_block)
+ expired_block = create(:user_block, :expired)
+ revoked_block = create(:user_block, :revoked)
+
get :index
assert_response :success
assert_select "table#block_list", :count => 1 do
assert_select "tr", 4
- assert_select "a[href='#{user_block_path(user_blocks(:active_block))}']", 1
- assert_select "a[href='#{user_block_path(user_blocks(:expired_block))}']", 1
- assert_select "a[href='#{user_block_path(user_blocks(:revoked_block))}']", 1
+ assert_select "a[href='#{user_block_path(active_block)}']", 1
+ assert_select "a[href='#{user_block_path(expired_block)}']", 1
+ assert_select "a[href='#{user_block_path(revoked_block)}']", 1
end
end
##
# test the show action
def test_show
+ active_block = create(:user_block, :needs_view)
+ expired_block = create(:user_block, :expired)
+ revoked_block = create(:user_block, :revoked)
+
# Viewing a block should fail when no ID is given
assert_raise ActionController::UrlGenerationError do
get :show
assert_select "p", "Sorry, the user block with ID 99999 could not be found."
# Viewing an expired block should work
- get :show, :id => user_blocks(:expired_block)
+ get :show, :id => expired_block.id
assert_response :success
# Viewing a revoked block should work
- get :show, :id => user_blocks(:revoked_block)
+ get :show, :id => revoked_block.id
assert_response :success
# Viewing an active block should work, but shouldn't mark it as seen
- get :show, :id => user_blocks(:active_block)
+ get :show, :id => active_block.id
assert_response :success
- assert_equal true, UserBlock.find(user_blocks(:active_block).id).needs_view
+ assert_equal true, UserBlock.find(active_block.id).needs_view
# Login as the blocked user
- session[:user] = users(:blocked_user).id
+ session[:user] = active_block.user.id
# Now viewing it should mark it as seen
- get :show, :id => user_blocks(:active_block)
+ get :show, :id => active_block.id
assert_response :success
- assert_equal false, UserBlock.find(user_blocks(:active_block).id).needs_view
+ assert_equal false, UserBlock.find(active_block.id).needs_view
end
##
##
# test the edit action
def test_edit
+ active_block = create(:user_block)
+
# Check that the block edit page requires us to login
- get :edit, :id => user_blocks(:active_block).id
- assert_redirected_to login_path(:referer => edit_user_block_path(:id => user_blocks(:active_block).id))
+ get :edit, :id => active_block.id
+ assert_redirected_to login_path(:referer => edit_user_block_path(:id => active_block.id))
# Login as a normal user
session[:user] = users(:public_user).id
# Check that normal users can't load the block edit page
- get :edit, :id => user_blocks(:active_block).id
+ get :edit, :id => active_block.id
assert_redirected_to user_blocks_path
assert_equal "You need to be a moderator to perform that action.", flash[:error]
session[:user] = users(:moderator_user).id
# Check that the block edit page loads for moderators
- get :edit, :id => user_blocks(:active_block).id
+ get :edit, :id => active_block.id
assert_response :success
- assert_select "form#edit_user_block_#{user_blocks(:active_block).id}", :count => 1 do
+ assert_select "form#edit_user_block_#{active_block.id}", :count => 1 do
assert_select "textarea#user_block_reason", :count => 1
assert_select "select#user_block_period", :count => 1
assert_select "input#user_block_needs_view[type='checkbox']", :count => 1
##
# test the update action
def test_update
+ active_block = create(:user_block, :creator => users(:moderator_user))
+
# Not logged in yet, so updating a block should fail
- put :update, :id => user_blocks(:active_block).id
+ put :update, :id => active_block.id
assert_response :forbidden
# Login as a normal user
session[:user] = users(:public_user).id
# Check that normal users can't update blocks
- put :update, :id => user_blocks(:active_block).id
+ put :update, :id => active_block.id
assert_response :forbidden
# Login as the wrong moderator
# Check that only the person who created a block can update it
assert_no_difference "UserBlock.count" do
put :update,
- :id => user_blocks(:active_block).id,
+ :id => active_block.id,
:user_block_period => "12",
:user_block => { :needs_view => true, :reason => "Vandalism" }
end
- assert_redirected_to edit_user_block_path(:id => user_blocks(:active_block).id)
+ assert_redirected_to edit_user_block_path(:id => active_block.id)
assert_equal "Only the moderator who created this block can edit it.", flash[:error]
# Login as the correct moderator
# A bogus block period should result in an error
assert_no_difference "UserBlock.count" do
put :update,
- :id => user_blocks(:active_block).id,
+ :id => active_block.id,
:user_block_period => "99"
end
- assert_redirected_to edit_user_block_path(:id => user_blocks(:active_block).id)
+ assert_redirected_to edit_user_block_path(:id => active_block.id)
assert_equal "The blocking period must be one of the values selectable in the drop-down list.", flash[:error]
# Check that updating a block works
assert_no_difference "UserBlock.count" do
put :update,
- :id => user_blocks(:active_block).id,
+ :id => active_block.id,
:user_block_period => "12",
:user_block => { :needs_view => true, :reason => "Vandalism" }
end
- assert_redirected_to user_block_path(:id => user_blocks(:active_block).id)
+ assert_redirected_to user_block_path(:id => active_block.id)
assert_equal "Block updated.", flash[:notice]
- b = UserBlock.find(user_blocks(:active_block).id)
+ b = UserBlock.find(active_block.id)
assert_in_delta Time.now, b.updated_at, 1
assert_equal true, b.needs_view
assert_equal "Vandalism", b.reason
##
# test the revoke action
def test_revoke
+ active_block = create(:user_block)
+
# Check that the block revoke page requires us to login
- get :revoke, :id => user_blocks(:active_block).id
- assert_redirected_to login_path(:referer => revoke_user_block_path(:id => user_blocks(:active_block).id))
+ get :revoke, :id => active_block.id
+ assert_redirected_to login_path(:referer => revoke_user_block_path(:id => active_block.id))
# Login as a normal user
session[:user] = users(:public_user).id
# Check that normal users can't load the block revoke page
- get :revoke, :id => user_blocks(:active_block).id
+ get :revoke, :id => active_block.id
assert_redirected_to user_blocks_path
assert_equal "You need to be a moderator to perform that action.", flash[:error]
session[:user] = users(:moderator_user).id
# Check that the block revoke page loads for moderators
- get :revoke, :id => user_blocks(:active_block).id
+ get :revoke, :id => active_block.id
assert_response :success
assert_template "revoke"
assert_select "form", :count => 1 do
end
# Check that revoking a block works
- post :revoke, :id => user_blocks(:active_block).id, :confirm => true
- assert_redirected_to user_block_path(:id => user_blocks(:active_block).id)
- b = UserBlock.find(user_blocks(:active_block).id)
+ post :revoke, :id => active_block.id, :confirm => true
+ assert_redirected_to user_block_path(:id => active_block.id)
+ b = UserBlock.find(active_block.id)
assert_in_delta Time.now, b.ends_at, 1
# We should get an error if no block ID is specified
##
# test the blocks_on action
def test_blocks_on
+ active_block = create(:user_block, :user => users(:blocked_user))
+ revoked_block = create(:user_block, :revoked, :user => users(:blocked_user))
+ expired_block = create(:user_block, :expired, :user => users(:unblocked_user))
+
# Asking for a list of blocks with no user name should fail
assert_raise ActionController::UrlGenerationError do
get :blocks_on
assert_response :success
assert_select "table#block_list", :count => 1 do
assert_select "tr", 3
- assert_select "a[href='#{user_block_path(user_blocks(:active_block))}']", 1
- assert_select "a[href='#{user_block_path(user_blocks(:revoked_block))}']", 1
+ assert_select "a[href='#{user_block_path(active_block)}']", 1
+ assert_select "a[href='#{user_block_path(revoked_block)}']", 1
end
# Check the list of blocks for a user that has previously been blocked
assert_response :success
assert_select "table#block_list", :count => 1 do
assert_select "tr", 2
- assert_select "a[href='#{user_block_path(user_blocks(:expired_block))}']", 1
+ assert_select "a[href='#{user_block_path(expired_block)}']", 1
end
end
##
# test the blocks_by action
def test_blocks_by
+ active_block = create(:user_block, :creator => users(:moderator_user))
+ expired_block = create(:user_block, :expired, :creator => users(:second_moderator_user))
+ revoked_block = create(:user_block, :revoked, :creator => users(:second_moderator_user))
+
# Asking for a list of blocks with no user name should fail
assert_raise ActionController::UrlGenerationError do
get :blocks_by
assert_response :success
assert_select "table#block_list", :count => 1 do
assert_select "tr", 2
- assert_select "a[href='#{user_block_path(user_blocks(:active_block))}']", 1
+ assert_select "a[href='#{user_block_path(active_block)}']", 1
end
# Check the list of blocks given by a different moderator
assert_response :success
assert_select "table#block_list", :count => 1 do
assert_select "tr", 3
- assert_select "a[href='#{user_block_path(user_blocks(:expired_block))}']", 1
- assert_select "a[href='#{user_block_path(user_blocks(:revoked_block))}']", 1
+ assert_select "a[href='#{user_block_path(expired_block)}']", 1
+ assert_select "a[href='#{user_block_path(revoked_block)}']", 1
end
# Check the list of blocks (not) given by a normal user
class UserControllerTest < ActionController::TestCase
api_fixtures
- fixtures :messages, :friends
##
# test all routes which lead to this controller
assert_match /confirmation code has expired or does not exist/, flash[:error]
end
+ ##
+ # test if testing for a gravatar works
+ # this happens when the email is actually changed
+ # which is triggered by the confirmation mail
+ def test_gravatar_auto_enable
+ with_http_stubs "gravatar" do
+ # switch to email that has a gravatar
+ user = users(:first_gravatar_user)
+ confirm_string = user.tokens.create.token
+ # precondition gravatar should be turned off
+ assert !user.image_use_gravatar
+ post :confirm_email, :confirm_string => confirm_string
+ assert_response :redirect
+ assert_redirected_to :action => :account, :display_name => user.display_name
+ assert_match /Confirmed your change of email address/, flash[:notice]
+ # gravatar use should now be enabled
+ assert User.find(users(:first_gravatar_user).id).image_use_gravatar
+ end
+ end
+
+ def test_gravatar_auto_disable
+ with_http_stubs "gravatar" do
+ # switch to email without a gravatar
+ user = users(:second_gravatar_user)
+ confirm_string = user.tokens.create.token
+ # precondition gravatar should be turned on
+ assert user.image_use_gravatar
+ post :confirm_email, :confirm_string => confirm_string
+ assert_response :redirect
+ assert_redirected_to :action => :account, :display_name => user.display_name
+ assert_match /Confirmed your change of email address/, flash[:notice]
+ # gravatar use should now be disabled
+ assert !User.find(users(:second_gravatar_user).id).image_use_gravatar
+ end
+ end
+
def test_terms_new_user
get :terms, {}, { :new_user => User.new }
assert_response :success
end
# Test a user who has been blocked
+ create(:user_block, :user => users(:blocked_user))
get :view, :display_name => "blocked"
assert_response :success
assert_select "div#userinformation" do
end
# Test a moderator who has applied blocks
+ create(:user_block, :creator => users(:moderator_user))
get :view, :display_name => "moderator"
assert_response :success
assert_select "div#userinformation" do
assert_select "contributor-terms", :count => 1 do
assert_select "[agreed='true']"
end
- assert_select "img", :count => 1
+ assert_select "img", :count => 0
assert_select "roles", :count => 1 do
assert_select "role", :count => 0
end
end
def test_api_details
+ create(:message, :read, :recipient => users(:normal_user))
+
# check that nothing is returned when not logged in
get :api_details
assert_response :unauthorized
assert_select "contributor-terms", :count => 1 do
assert_select "[agreed='true'][pd='false']"
end
- assert_select "img", :count => 1
+ assert_select "img", :count => 0
assert_select "roles", :count => 1 do
assert_select "role", :count => 0
end
# Get users to work with
user = users(:normal_user)
friend = users(:public_user)
+ create(:friend, :befriender => user, :befriendee => friend)
# Check that the users are friends
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
# Get users to work with
user = users(:normal_user)
friend = users(:public_user)
+ create(:friend, :user_id => user.id, :friend_user_id => friend.id)
# Check that the users are friends
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
get :list, :page => 3
assert_response :success
assert_template :list
- assert_select "table#user_list tr", :count => 22
+ assert_select "table#user_list tr", :count => 25
end
def test_list_post_confirm
require "test_helper"
class UserPreferenceControllerTest < ActionController::TestCase
- fixtures :users, :user_preferences
+ fixtures :users
##
# test all routes which lead to this controller
end
# authenticate as a user with preferences
+ user_preference = create(:user_preference, :user => users(:normal_user))
+ user_preference2 = create(:user_preference, :user => users(:normal_user))
basic_authorization("test@openstreetmap.org", "test")
# try the read again
assert_select "osm" do
assert_select "preferences", :count => 1 do
assert_select "preference", :count => 2
- assert_select "preference[k=\"#{user_preferences(:a).k}\"][v=\"#{user_preferences(:a).v}\"]", :count => 1
- assert_select "preference[k=\"#{user_preferences(:two).k}\"][v=\"#{user_preferences(:two).v}\"]", :count => 1
+ assert_select "preference[k=\"#{user_preference.k}\"][v=\"#{user_preference.v}\"]", :count => 1
+ assert_select "preference[k=\"#{user_preference2.k}\"][v=\"#{user_preference2.v}\"]", :count => 1
end
end
end
##
# test read_one action
def test_read_one
+ create(:user_preference, :user => users(:normal_user), :k => "key", :v => "value")
+
# try a read without auth
get :read_one, :preference_key => "key"
assert_response :unauthorized, "should be authenticated"
##
# test update action
def test_update
+ create(:user_preference, :user => users(:normal_user), :k => "key", :v => "value")
+ create(:user_preference, :user => users(:normal_user), :k => "some_key", :v => "some_value")
+
# try a put without auth
assert_no_difference "UserPreference.count" do
content "<osm><preferences><preference k='key' v='new_value'/><preference k='new_key' v='value'/></preferences></osm>"
put :update
end
assert_response :unauthorized, "should be authenticated"
- assert_equal "value", UserPreference.find([1, "key"]).v
- assert_equal "some_value", UserPreference.find([1, "some_key"]).v
+ assert_equal "value", UserPreference.find([users(:normal_user).id, "key"]).v
+ assert_equal "some_value", UserPreference.find([users(:normal_user).id, "some_key"]).v
assert_raises ActiveRecord::RecordNotFound do
- UserPreference.find([1, "new_key"])
+ UserPreference.find([users(:normal_user).id, "new_key"])
end
# authenticate as a user with preferences
assert_response :success
assert_equal "text/plain", @response.content_type
assert_equal "", @response.body
- assert_equal "new_value", UserPreference.find([1, "key"]).v
- assert_equal "value", UserPreference.find([1, "new_key"]).v
+ assert_equal "new_value", UserPreference.find([users(:normal_user).id, "key"]).v
+ assert_equal "value", UserPreference.find([users(:normal_user).id, "new_key"]).v
assert_raises ActiveRecord::RecordNotFound do
- UserPreference.find([1, "some_key"])
+ UserPreference.find([users(:normal_user).id, "some_key"])
end
# try a put with duplicate keys
assert_response :bad_request
assert_equal "text/plain", @response.content_type
assert_equal "Duplicate preferences with key key", @response.body
- assert_equal "new_value", UserPreference.find([1, "key"]).v
+ assert_equal "new_value", UserPreference.find([users(:normal_user).id, "key"]).v
# try a put with invalid content
assert_no_difference "UserPreference.count" do
end
assert_response :unauthorized, "should be authenticated"
assert_raises ActiveRecord::RecordNotFound do
- UserPreference.find([1, "new_key"])
+ UserPreference.find([users(:normal_user).id, "new_key"])
end
# authenticate as a user with preferences
assert_response :success
assert_equal "text/plain", @response.content_type
assert_equal "", @response.body
- assert_equal "new_value", UserPreference.find([1, "new_key"]).v
+ assert_equal "new_value", UserPreference.find([users(:normal_user).id, "new_key"]).v
# try changing the value of a preference
assert_no_difference "UserPreference.count" do
assert_response :success
assert_equal "text/plain", @response.content_type
assert_equal "", @response.body
- assert_equal "newer_value", UserPreference.find([1, "new_key"]).v
+ assert_equal "newer_value", UserPreference.find([users(:normal_user).id, "new_key"]).v
end
##
# test delete_one action
def test_delete_one
+ create(:user_preference, :user => users(:normal_user), :k => "key", :v => "value")
+
# try a delete without auth
assert_no_difference "UserPreference.count" do
delete :delete_one, :preference_key => "key"
end
assert_response :unauthorized, "should be authenticated"
- assert_equal "value", UserPreference.find([1, "key"]).v
+ assert_equal "value", UserPreference.find([users(:normal_user).id, "key"]).v
# authenticate as a user with preferences
basic_authorization("test@openstreetmap.org", "test")
assert_equal "text/plain", @response.content_type
assert_equal "", @response.body
assert_raises ActiveRecord::RecordNotFound do
- UserPreference.find([1, "key"])
+ UserPreference.find([users(:normal_user).id, "key"])
end
# try the delete again for the same key
end
assert_response :not_found
assert_raises ActiveRecord::RecordNotFound do
- UserPreference.find([1, "key"])
+ UserPreference.find([users(:normal_user).id, "key"])
end
end
end
# check that the set of IDs match expectations
expected_way_ids = [current_ways(:visible_way).id,
- current_ways(:used_way).id
- ]
+ current_ways(:used_way).id]
found_way_ids = ways_xml.find("//osm/way").collect { |w| w["id"].to_i }
assert_equal expected_way_ids.sort, found_way_ids.sort,
"expected ways for node #{current_nodes(:used_node_1).id} did not match found"
--- /dev/null
+FactoryGirl.define do
+ factory :acl do
+ sequence(:k) { |n| "Key #{n}" }
+ end
+end
--- /dev/null
+FactoryGirl.define do
+ factory :changeset_comment do
+ sequence(:body) { |n| "Changeset comment #{n}" }
+ visible true
+
+ # FIXME: needs changeset factory
+ changeset_id 3
+
+ # FIXME: needs user factory
+ author_id 1
+ end
+end
--- /dev/null
+FactoryGirl.define do
+ factory :diary_comment do
+ sequence(:body) { |n| "This is diary comment #{n}" }
+
+ diary_entry
+
+ # Fixme requires User Factory
+ user_id 1
+ end
+end
--- /dev/null
+FactoryGirl.define do
+ factory :diary_entry do
+ sequence(:title) { |n| "Diary entry #{n}" }
+ sequence(:body) { |n| "This is diary entry #{n}" }
+
+ # Fixme requires User Factory
+ user_id 1
+ end
+end
--- /dev/null
+FactoryGirl.define do
+ factory :friend do
+ # Fixme requires User Factory
+ user_id 1
+ friend_user_id 2
+ end
+end
--- /dev/null
+FactoryGirl.define do
+ factory :language do
+ code "en"
+ english_name "English"
+ native_name "English"
+ end
+end
--- /dev/null
+FactoryGirl.define do
+ factory :message do
+ sequence(:title) { |n| "Message #{n}" }
+ sequence(:body) { |n| "Body text for message #{n}" }
+ sent_on Time.now
+
+ # FIXME: needs user factory
+ from_user_id 1
+
+ # FIXME: needs user factory
+ to_user_id 2
+
+ trait :unread do
+ message_read false
+ end
+
+ trait :read do
+ message_read true
+ end
+ end
+end
--- /dev/null
+FactoryGirl.define do
+ factory :note_comment do
+ sequence(:body) { |n| "This is note comment #{n}" }
+ visible true
+ event "opened"
+ note
+ end
+end
--- /dev/null
+FactoryGirl.define do
+ factory :note do
+ latitude 1 * GeoRecord::SCALE
+ longitude 1 * GeoRecord::SCALE
+ # tile QuadTile.tile_for_point(1,1)
+
+ factory :note_with_comments do
+ transient do
+ comments_count 1
+ end
+
+ after(:create) do |note, evaluator|
+ create_list(:note_comment, evaluator.comments_count, :note => note)
+ end
+ end
+ end
+end
--- /dev/null
+FactoryGirl.define do
+ factory :user_block do
+ sequence(:reason) { |n| "User Block #{n}" }
+ ends_at Time.now + 1.day
+
+ # FIXME: requires User factory
+ user_id 13
+
+ # FIXME: requires User factory
+ creator_id 15
+
+ trait :needs_view do
+ needs_view true
+ end
+
+ trait :expired do
+ ends_at Time.now - 1.day
+ end
+
+ trait :revoked do
+ # FIXME: requires User factory
+ revoker_id 5
+ end
+ end
+end
--- /dev/null
+FactoryGirl.define do
+ factory :user_preference do
+ sequence(:k) { |n| "Key #{n}" }
+ sequence(:v) { |n| "Value #{n}" }
+
+ # FIXME: needs user factory
+ user_id 1
+ end
+end
+++ /dev/null
-# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
-
-one:
- address: 1
- netmask: 1
- k: MyText
- v: MyText
-
-two:
- address: 1
- netmask: 1
- k: MyText
- v: MyText
+++ /dev/null
-normal_comment_1:
- id: 1
- changeset_id: 3
- created_at: 2007-01-01 00:00:00
- author_id: 1
- body: 'A comment from a logged-in user'
- visible: true
-
-normal_comment_2:
- id: 2
- changeset_id: 3
- created_at: 2007-02-01 00:00:00
- author_id: 4
- body: 'A comment from another logged-in user'
- visible: true
-
-normal_comment_3:
- id: 4
- changeset_id: 3
- created_at: 2007-02-01 00:00:00
- author_id: 4
- body: 'A comment from another logged-in user'
- visible: true
-
-hidden_comment:
- id: 3
- changeset_id: 3
- created_at: 2007-02-01 00:00:00
- author_id: 4
- body: 'A non-visible comment'
- visible: false
\ No newline at end of file
+++ /dev/null
-# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
-
-gb:
- code: gb
- min_lat: 49.9061889648438
- max_lat: 60.8458099365234
- min_lon: -8.62355613708496
- max_lon: 1.75900018215179
-
-de:
- code: de
- min_lat: 47.2757720947266
- max_lat: 55.0556411743164
- min_lon: 5.865638256073
- max_lon: 15.0398902893066
+++ /dev/null
-comment_for_geo_post:
- id: 1
- diary_entry_id: 2
- user_id: 2
- body: Some comment text
- created_at: "2008-11-08 09:45:34"
- updated_at: "2008-11-08 10:34:34"
- visible: true
-
-comment_by_suspended_user:
- id: 2
- diary_entry_id: 2
- user_id: 10
- body: Some comment text
- created_at: "2008-11-08 09:45:34"
- updated_at: "2008-11-08 10:34:34"
- visible: true
-
-comment_by_deleted_user:
- id: 3
- diary_entry_id: 2
- user_id: 11
- body: Some comment text
- created_at: "2008-11-08 09:45:34"
- updated_at: "2008-11-08 10:34:34"
- visible: true
-
-hidden_comment:
- id: 4
- diary_entry_id: 2
- user_id: 2
- body: Some comment text
- created_at: "2008-11-08 09:45:34"
- updated_at: "2008-11-08 10:34:34"
- visible: false
+++ /dev/null
-normal_user_entry_1:
- id: 1
- user_id: 1
- title: Diary Entry 1
- body: This is the body of diary entry 1.
- created_at: "2008-11-07 17:43:34"
- updated_at: "2008-11-07 17:43:34"
- latitude:
- longitude:
- language_code: en
- visible: true
-
-normal_user_geo_entry:
- id: 2
- user_id: 1
- title: Geo Entry 1
- body: This is the body of a geo diary entry in London.
- created_at: "2008-11-07 17:47:34"
- updated_at: "2008-11-07 17:47:34"
- latitude: 51.50763
- longitude: -0.10781
- language_code: de
- visible: true
-
-deleted_entry:
- id: 3
- user_id: 1
- title: Deleted Entry 1
- body: This is the body of a deleted diary entry.
- created_at: "2008-11-07 17:43:34"
- updated_at: "2008-11-07 17:43:34"
- latitude:
- longitude:
- language_code: en
- visible: false
-
-entry_by_suspended_user:
- id: 4
- user_id: 10
- title: Entry by suspended user
- body: This is the body of a diary entry by a suspended user.
- created_at: "2008-11-07 17:43:34"
- updated_at: "2008-11-07 17:43:34"
- latitude:
- longitude:
- language_code: en
- visible: true
-
-entry_by_deleted_user:
- id: 5
- user_id: 11
- title: Entry by deleted user
- body: This is the body of a diary entry by a deleted user.
- created_at: "2008-11-07 17:43:34"
- updated_at: "2008-11-07 17:43:34"
- latitude:
- longitude:
- language_code: en
- visible: true
-
-public_user_entry_1:
- id: 6
- user_id: 2
- title: Public User Diary Entry 1
- body: This is the body of diary entry 1.
- created_at: "2008-11-07 17:43:34"
- updated_at: "2008-11-07 17:43:34"
- latitude:
- longitude:
- language_code: en
- visible: true
+++ /dev/null
-normal_user_with_second_user:
- id: 1
- user_id: 1
- friend_user_id: 2
+++ /dev/null
-# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
-
-en:
- code: en
- english_name: English
- native_name: English
-
-de:
- code: de
- english_name: German
- native_name: Deutsch
-
-sl:
- code: sl
- english_name: Slovenian
- native_name: slovenščina
+++ /dev/null
-unread_message:
- id: 1
- from_user_id: 1
- title: test message 1
- body: some body text
- sent_on: "2008-05-01 12:34:56"
- message_read: false
- to_user_id: 2
- from_user_visible: true
- to_user_visible: true
-
-read_message:
- id: 2
- from_user_id: 2
- title: test message 2
- body: some body test
- sent_on: "2008-05-02 12:45:23"
- message_read: true
- to_user_id: 1
- from_user_visible: true
- to_user_visible: true
+++ /dev/null
-t1:
- id: 1
- note_id: 1
- visible: true
- event: opened
- created_at: 2007-01-01 00:00:00
- author_ip: '192.168.1.1'
- body: 'This is the initial description of the note 1'
-
-t2:
- id: 2
- note_id: 2
- visible: true
- event: opened
- created_at: 2007-01-01 00:00:00
- author_ip: '192.168.1.1'
- body: 'This is the initial description of the note 2'
-
-t3:
- id: 3
- note_id: 2
- visible: true
- event: opened
- created_at: 2007-02-01 00:00:00
- author_ip: '192.168.1.1'
- body: 'This is an additional comment for note 2'
-
-t4:
- id: 4
- note_id: 3
- visible: true
- event: opened
- created_at: 2007-01-01 00:00:00
- author_ip: '192.168.1.1'
- body: 'This is the initial comment for note 3'
-
-t5:
- id: 5
- note_id: 4
- visible: true
- event: opened
- created_at: 2007-01-01 00:00:00
- author_ip: '192.168.1.1'
- body: 'Spam for note 4'
-
-t6:
- id: 6
- note_id: 5
- visible: true
- event: opened
- created_at: 2007-01-01 00:00:00
- author_ip: '192.168.1.1'
- body: 'Valid comment for note 5'
-
-t7:
- id: 7
- note_id: 5
- visible: false
- event: commented
- created_at: 2007-02-01 00:00:00
- author_ip: '192.168.1.1'
- body: 'Spam for note 5'
-
-t8:
- id: 8
- note_id: 5
- visible: true
- event: commented
- created_at: 2007-02-01 00:00:00
- author_ip: '192.168.1.1'
- body: 'Another valid comment for note 5'
-
-t9:
- id: 9
- note_id: 6
- visible: true
- event: opened
- created_at: 2007-01-01 00:00:00
- author_id: 1
- body: 'This is a note with from a logged-in user'
-
-t10:
- id: 10
- note_id: 6
- visible: true
- event: commented
- created_at: 2007-02-01 00:00:00
- author_id: 4
- body: 'A comment from another logged-in user'
-
-t11:
- id: 11
- note_id: 7
- visible: true
- event: opened
- created_at: 2007-01-01 00:00:00
- author_ip: '192.168.1.1'
- body: 'Initial note description'
-
-t12:
- id: 12
- note_id: 7
- visible: true
- event: commented
- created_at: 2007-02-01 00:00:00
- author_ip: '192.168.1.1'
- body: 'A comment description'
-
-t13:
- id: 13
- note_id: 7
- visible: true
- event: closed
- created_at: 2007-03-01 00:00:00
- author_id: 4
-
-t14:
- id: 14
- note_id: 8
- visible: true
- event: commented
- created_at: 2007-02-01 00:00:00
- author_id: 4
- body: 'A comment description'
-
-t15:
- id: 15
- note_id: 2
- visible: true
- event: opened
- created_at: 2007-01-01 00:00:00
- author_id: 10
- body: 'This is a note with from a suspended user'
-
-t16:
- id: 16
- note_id: 2
- visible: true
- event: opened
- created_at: 2007-01-01 00:00:00
- author_id: 11
- body: 'This is a note with from a deleted user'
+++ /dev/null
-# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
-<% SCALE = 10000000 unless defined?(SCALE) %>
-
-open_note:
- id: 1
- latitude: <%= 1*SCALE %>
- longitude: <%= 1*SCALE %>
- status: open
- tile: <%= QuadTile.tile_for_point(1,1) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-01-01 00:00:00
-
-open_note_with_comment:
- id: 2
- latitude: <%= 1.1*SCALE %>
- longitude: <%= 1.1*SCALE %>
- status: open
- tile: <%= QuadTile.tile_for_point(1.1,1.1) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-02-01 00:00:00
-
-closed_note_with_comment:
- id: 3
- latitude: <%= 1.2*SCALE %>
- longitude: <%= 1.2*SCALE %>
- status: closed
- tile: <%= QuadTile.tile_for_point(1.2,1.2) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-03-01 00:00:00
- closed_at: 2007-03-01 00:00:00
-
-hidden_note_with_comment:
- id: 4
- latitude: <%= 1.3*SCALE %>
- longitude: <%= 1.3*SCALE %>
- status: hidden
- tile: <%= QuadTile.tile_for_point(1.3,1.3) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-03-01 00:00:00
-
-note_with_hidden_comment:
- id: 5
- latitude: <%= 1.4*SCALE %>
- longitude: <%= 1.4*SCALE %>
- status: open
- tile: <%= QuadTile.tile_for_point(1.4,1.4) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-03-01 00:00:00
-
-note_with_comments_by_users:
- id: 6
- latitude: <%= 1.5*SCALE %>
- longitude: <%= 1.5*SCALE %>
- status: open
- tile: <%= QuadTile.tile_for_point(1.5,1.5) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-03-01 00:00:00
-
-note_closed_by_user:
- id: 7
- latitude: <%= 1.6*SCALE %>
- longitude: <%= 1.6*SCALE %>
- status: closed
- tile: <%= QuadTile.tile_for_point(1.6,1.6) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-03-01 00:00:00
- closed_at: 2007-03-01 00:00:00
-
-hidden_note_with_comment:
- id: 4
- latitude: <%= 1.3*SCALE %>
- longitude: <%= 1.3*SCALE %>
- status: hidden
- tile: <%= QuadTile.tile_for_point(1.3,1.3) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-03-01 00:00:00
-
-note_with_hidden_comment:
- id: 5
- latitude: <%= 1.4*SCALE %>
- longitude: <%= 1.4*SCALE %>
- status: open
- tile: <%= QuadTile.tile_for_point(1.4,1.4) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-03-01 00:00:00
-
-note_with_comments_by_users:
- id: 6
- latitude: <%= 1.5*SCALE %>
- longitude: <%= 1.5*SCALE %>
- status: open
- tile: <%= QuadTile.tile_for_point(1.5,1.5) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-03-01 00:00:00
-
-note_closed_by_user:
- id: 7
- latitude: <%= 1.6*SCALE %>
- longitude: <%= 1.6*SCALE %>
- status: closed
- tile: <%= QuadTile.tile_for_point(1.6,1.6) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-03-01 00:00:00
- closed_at: 2007-03-01 00:00:00
-
-hidden_note_with_comment_by_user:
- id: 8
- latitude: <%= 1.3*SCALE %>
- longitude: <%= 1.3*SCALE %>
- status: hidden
- tile: <%= QuadTile.tile_for_point(1.3,1.3) %>
- created_at: 2007-01-01 00:00:00
- updated_at: 2007-03-01 00:00:00
+++ /dev/null
-active_block:
- id: 1
- user_id: 13
- creator_id: 5
- reason: "Active block"
- reason_format: "markdown"
- ends_at: "2032-05-01 11:22:33"
- needs_view: true
- revoker_id:
-
-expired_block:
- id: 2
- user_id: 14
- creator_id: 15
- reason: "Expired block"
- reason_format: "markdown"
- ends_at: "2012-05-01 11:22:33"
- needs_view: false
- revoker_id:
-
-revoked_block:
- id: 3
- user_id: 13
- creator_id: 15
- reason: "Revoked block"
- reason_format: "markdown"
- ends_at: "2012-05-01 11:22:33"
- needs_view: false
- revoker_id: 1
+++ /dev/null
-# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
-
-a:
- user_id: 1
- k: "key"
- v: "value"
-
-two:
- user_id: 1
- k: "some_key"
- v: "some_value"
-
-u2_trace:
- user_id: 2
- k: "gps.trace.visibility"
- v: "identifiable"
-
-u3_trace:
- user_id: 4
- k: "gps.trace.public"
- v: "default"
status: suspended
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
creation_time: "2007-01-01 00:00:00"
- display_name: suspended
+ display_name: suspended user
data_public: true
description: test
terms_agreed: "2010-01-01 11:22:33"
terms_agreed: "2010-01-01 11:22:33"
terms_seen: true
languages: en
+
+github_user:
+ id: 22
+ email: github-user@example.com
+ status: active
+ pass_crypt: <%= Digest::MD5.hexdigest('test') %>
+ creation_time: "2008-05-01 01:23:45"
+ display_name: githubuser
+ data_public: true
+ auth_provider: github
+ auth_uid: 123456789
+ terms_agreed: "2010-01-01 11:22:33"
+ terms_seen: true
+ languages: en
+
+first_gravatar_user:
+ id: 23
+ email: g1@OpenStreetMap.org
+ new_email: new_g1@OpenStreetMap.org
+ status: active
+ pass_crypt: <%= Digest::MD5.hexdigest('test') %>
+ creation_time: "2008-05-01 01:23:45"
+ display_name: gravatar1
+ data_public: true
+ description: some test description
+ terms_agreed: "2010-01-01 11:22:33"
+ terms_seen: true
+ creation_ip: "1.2.3.4"
+
+second_gravatar_user:
+ id: 24
+ email: g2@OpenStreetMap.org
+ new_email: new_g2@OpenStreetMap.org
+ image_use_gravatar: true
+ status: active
+ pass_crypt: <%= Digest::MD5.hexdigest('test') %>
+ creation_time: "2008-05-01 01:23:45"
+ display_name: gravatar2
+ data_public: true
+ description: some test description
+ terms_agreed: "2010-01-01 11:22:33"
+ terms_seen: true
+ creation_ip: "1.2.3.4"
html = format_value("wikidata", "Q42")
assert_dom_equal "<a title=\"The Q42 item on Wikidata\" href=\"//www.wikidata.org/wiki/Q42?uselang=en\">Q42</a>", html
+
+ html = format_value("operator:wikidata", "Q12;Q98")
+ assert_dom_equal "<a title=\"The Q12 item on Wikidata\" href=\"//www.wikidata.org/wiki/Q12?uselang=en\">Q12</a>;<a title=\"The Q98 item on Wikidata\" href=\"//www.wikidata.org/wiki/Q98?uselang=en\">Q98</a>", html
end
def test_icon_tags
assert_equal "http://wiki.openstreetmap.org/wiki/Tag:highway=primary?uselang=tr", link
end
- def test_wikidata_link
- link = wikidata_link("foo", "Test")
- assert_nil link
+ def test_wikidata_links
+ ### Non-prefixed wikidata-tag (only one value allowed)
- link = wikidata_link("wikidata", "http://www.wikidata.org/wiki/Q1")
- assert_nil link
+ # Non-wikidata tag
+ links = wikidata_links("foo", "Test")
+ assert_nil links
- link = wikidata_link("wikidata", "en:Q1")
- assert_nil link
+ # No URLs allowed
+ links = wikidata_links("wikidata", "http://www.wikidata.org/wiki/Q1")
+ assert_nil links
- link = wikidata_link("wikidata", "1")
- assert_nil link
+ # No language-prefixes (as wikidata is multilanguage)
+ links = wikidata_links("wikidata", "en:Q1")
+ assert_nil links
- link = wikidata_link("wikidata", "Q0123")
- assert_nil link
+ # Needs a leading Q
+ links = wikidata_links("wikidata", "1")
+ assert_nil links
+
+ # No leading zeros allowed
+ links = wikidata_links("wikidata", "Q0123")
+ assert_nil links
- link = wikidata_link("wikidata", "Q42")
- assert_equal "//www.wikidata.org/wiki/Q42?uselang=en", link[:url]
- assert_equal "Q42", link[:title]
+ # A valid value
+ links = wikidata_links("wikidata", "Q42")
+ assert_equal 1, links.length
+ assert_equal "//www.wikidata.org/wiki/Q42?uselang=en", links[0][:url]
+ assert_equal "Q42", links[0][:title]
+ # the language of the wikidata-page should match the current locale
I18n.locale = "zh-CN"
+ links = wikidata_links("wikidata", "Q1234")
+ assert_equal 1, links.length
+ assert_equal "//www.wikidata.org/wiki/Q1234?uselang=zh-CN", links[0][:url]
+ assert_equal "Q1234", links[0][:title]
+ I18n.locale = "en"
+
+ ### Prefixed wikidata-tags
+
+ # Not anything is accepted as prefix (only limited set)
+ links = wikidata_links("anything:wikidata", "Q13")
+ assert_nil links
+
+ # This for example is an allowed key
+ links = wikidata_links("operator:wikidata", "Q24")
+ assert_equal "//www.wikidata.org/wiki/Q24?uselang=en", links[0][:url]
+ assert_equal "Q24", links[0][:title]
+
+ # Another allowed key, this time with multiple values and I18n
+ I18n.locale = "dsb"
+ links = wikidata_links("brand:wikidata", "Q936;Q2013;Q1568346")
+ assert_equal 3, links.length
+ assert_equal "//www.wikidata.org/wiki/Q936?uselang=dsb", links[0][:url]
+ assert_equal "Q936", links[0][:title]
+ assert_equal "//www.wikidata.org/wiki/Q2013?uselang=dsb", links[1][:url]
+ assert_equal "Q2013", links[1][:title]
+ assert_equal "//www.wikidata.org/wiki/Q1568346?uselang=dsb", links[2][:url]
+ assert_equal "Q1568346", links[2][:title]
+ I18n.locale = "en"
- link = wikidata_link("wikidata", "Q1234")
- assert_equal "//www.wikidata.org/wiki/Q1234?uselang=zh-CN", link[:url]
- assert_equal "Q1234", link[:title]
+ # and now with whitespaces...
+ links = wikidata_links("subject:wikidata", "Q6542248 ;\tQ180\n ;\rQ364\t\n\r ;\nQ4006")
+ assert_equal 4, links.length
+ assert_equal "//www.wikidata.org/wiki/Q6542248?uselang=en", links[0][:url]
+ assert_equal "Q6542248 ", links[0][:title]
+ assert_equal "//www.wikidata.org/wiki/Q180?uselang=en", links[1][:url]
+ assert_equal "\tQ180\n ", links[1][:title]
+ assert_equal "//www.wikidata.org/wiki/Q364?uselang=en", links[2][:url]
+ assert_equal "\rQ364\t\n\r ", links[2][:title]
+ assert_equal "//www.wikidata.org/wiki/Q4006?uselang=en", links[3][:url]
+ assert_equal "\nQ4006", links[3][:title]
end
def test_wikipedia_link
-/?geoit=XML&postal=A1B+2C3: |
- <?xml version="1.0" encoding="UTF-8"?>
- <geodata>
- <latt>47.172520</latt>
- <longt>-55.440515</longt>
- <postal>A1B2C3</postal>
- <standard>
- <stnumber>1</stnumber>
- <staddress/>
- <city>ST. JOHN&'S</city>
- <prov>NL</prov>
- <confidence>0.9</confidence>
- </standard>
- </geodata>
+/?geoit=XML&postal=A1B+2C3:
+ code: 200
+ body: |
+ <?xml version="1.0" encoding="UTF-8"?>
+ <geodata>
+ <latt>47.172520</latt>
+ <longt>-55.440515</longt>
+ <postal>A1B2C3</postal>
+ <standard>
+ <stnumber>1</stnumber>
+ <staddress/>
+ <city>ST. JOHN&'S</city>
+ <prov>NL</prov>
+ <confidence>0.9</confidence>
+ </standard>
+ </geodata>
-/?geoit=XML&postal=k1a+0b1: |
- <?xml version="1.0" encoding="UTF-8"?>
- <geodata>
- <latt>45.375437</latt>
- <longt>-75.691041</longt>
- <postal>K1A0B1</postal>
- <standard>
- <stnumber>1</stnumber>
- <staddress/>
- <city>OTTAWA</city>
- <prov>ON</prov>
- <confidence>0.9</confidence>
- </standard>
- </geodata>
-
-/?geoit=XML&postal=Q0Q+0Q0: |
- <?xml version="1.0" encoding="UTF-8"?>
- <geodata>
- <error>
- <code>008</code>
- <description>Your request did not produce any results. Check your spelling and try again.</description>
- </error>
- <latt/>
- <longt>-</longt>
- <postal>Q0Q0Q0</postal>
- <standard>
- <stnumber>1</stnumber>
- <staddress/>
- <city/>
- <prov/>
- <confidence>0.9</confidence>
- </standard>
- </geodata>
+/?geoit=XML&postal=k1a+0b1:
+ code: 200
+ body: |
+ <?xml version="1.0" encoding="UTF-8"?>
+ <geodata>
+ <latt>45.375437</latt>
+ <longt>-75.691041</longt>
+ <postal>K1A0B1</postal>
+ <standard>
+ <stnumber>1</stnumber>
+ <staddress/>
+ <city>OTTAWA</city>
+ <prov>ON</prov>
+ <confidence>0.9</confidence>
+ </standard>
+ </geodata>
+
+/?geoit=XML&postal=Q0Q+0Q0:
+ code: 200
+ body: |
+ <?xml version="1.0" encoding="UTF-8"?>
+ <geodata>
+ <error>
+ <code>008</code>
+ <description>Your request did not produce any results. Check your spelling and try again.</description>
+ </error>
+ <latt/>
+ <longt>-</longt>
+ <postal>Q0Q0Q0</postal>
+ <standard>
+ <stnumber>1</stnumber>
+ <staddress/>
+ <city/>
+ <prov/>
+ <confidence>0.9</confidence>
+ </standard>
+ </geodata>
-/service/csv?zip=90210: "34.088808, -118.40612, Beverly Hills, CA, 90210"
-/service/csv?zip=00000: "1: couldn't find this zip code: 00000! sorry"
+/service/csv?zip=90210:
+ code: 200
+ body: "34.088808, -118.40612, Beverly Hills, CA, 90210"
+/service/csv?zip=00000:
+ code: 200
+ body: "1: couldn't find this zip code: 00000! sorry"
-/search?lang=en&maxRows=20&q=Hoddesdon&username=dummy: |
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <geonames style="MEDIUM">
- <totalResultsCount>1</totalResultsCount>
- <geoname>
- <toponymName>Hoddesdon</toponymName>
- <name>Hoddesdon</name>
- <lat>51.76148</lat>
- <lng>-0.01144</lng>
- <geonameId>2646807</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>P</fcl>
- <fcode>PPL</fcode>
- </geoname>
- </geonames>
-
-/search?lang=en&maxRows=20&q=Broxbourne&username=dummy: |
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <geonames style="MEDIUM">
- <totalResultsCount>17</totalResultsCount>
- <geoname>
- <toponymName>Broxbourne</toponymName>
- <name>Broxbourne</name>
- <lat>51.74712</lat>
- <lng>-0.01923</lng>
- <geonameId>2654481</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>P</fcl>
- <fcode>PPL</fcode>
- </geoname>
- <geoname>
- <toponymName>Broxbourne District</toponymName>
- <name>Broxbourne District</name>
- <lat>51.73026</lat>
- <lng>-0.04821</lng>
- <geonameId>7290563</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>A</fcl>
- <fcode>ADM3</fcode>
- </geoname>
- <geoname>
- <toponymName>Cheshunt</toponymName>
- <name>Cheshunt</name>
- <lat>51.70791</lat>
- <lng>-0.03739</lng>
- <geonameId>2653232</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>P</fcl>
- <fcode>PPL</fcode>
- </geoname>
- <geoname>
- <toponymName>Hoddesdon</toponymName>
- <name>Hoddesdon</name>
- <lat>51.76148</lat>
- <lng>-0.01144</lng>
- <geonameId>2646807</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>P</fcl>
- <fcode>PPL</fcode>
- </geoname>
- <geoname>
- <toponymName>Waltham Cross</toponymName>
- <name>Waltham Cross</name>
- <lat>51.68905</lat>
- <lng>-0.0333</lng>
- <geonameId>2634842</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>P</fcl>
- <fcode>PPL</fcode>
- </geoname>
- <geoname>
- <toponymName>Goffs Oak</toponymName>
- <name>Goffs Oak</name>
- <lat>51.71015</lat>
- <lng>-0.0872</lng>
- <geonameId>2648362</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>P</fcl>
- <fcode>PPL</fcode>
- </geoname>
- <geoname>
- <toponymName>Wormley</toponymName>
- <name>Wormley</name>
- <lat>51.7324</lat>
- <lng>-0.0242</lng>
- <geonameId>2633535</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>P</fcl>
- <fcode>PPL</fcode>
- </geoname>
- <geoname>
- <toponymName>Broxbourne</toponymName>
- <name>Broxbourne</name>
- <lat>-27.50314</lat>
- <lng>151.378</lng>
- <geonameId>8792801</geonameId>
- <countryCode>AU</countryCode>
- <countryName>Australia</countryName>
- <fcl>S</fcl>
- <fcode>HMSD</fcode>
- </geoname>
- <geoname>
- <toponymName>Lee Valley White Water Centre</toponymName>
- <name>Lee Valley White Water Centre</name>
- <lat>51.68814</lat>
- <lng>-0.01682</lng>
- <geonameId>7670551</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>S</fcl>
- <fcode>FCL</fcode>
- </geoname>
- <geoname>
- <toponymName>Cheshunt Railway Station</toponymName>
- <name>Cheshunt Railway Station</name>
- <lat>51.703</lat>
- <lng>-0.024</lng>
- <geonameId>6952282</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>S</fcl>
- <fcode>RSTN</fcode>
- </geoname>
- <geoname>
- <toponymName>Theobalds Grove Railway Station</toponymName>
- <name>Theobalds Grove Railway Station</name>
- <lat>51.692</lat>
- <lng>-0.035</lng>
- <geonameId>6953715</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>S</fcl>
- <fcode>RSTN</fcode>
- </geoname>
- <geoname>
- <toponymName>Waltham Cross Railway Station</toponymName>
- <name>Waltham Cross Railway Station</name>
- <lat>51.685</lat>
- <lng>-0.027</lng>
- <geonameId>6953801</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>S</fcl>
- <fcode>RSTN</fcode>
- </geoname>
- <geoname>
- <toponymName>Rye House Station</toponymName>
- <name>Rye House Station</name>
- <lat>51.76938</lat>
- <lng>0.00562</lng>
- <geonameId>6691700</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>S</fcl>
- <fcode>RSTN</fcode>
- </geoname>
- <geoname>
- <toponymName>Broxbourne Station</toponymName>
- <name>Broxbourne Station</name>
- <lat>51.74697</lat>
- <lng>-0.01105</lng>
- <geonameId>6691701</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>S</fcl>
- <fcode>RSTN</fcode>
- </geoname>
- <geoname>
- <toponymName>Broxbornebury Park</toponymName>
- <name>Broxbornebury Park</name>
- <lat>51.75252</lat>
- <lng>-0.03839</lng>
- <geonameId>6286417</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>S</fcl>
- <fcode>CSTL</fcode>
- </geoname>
- <geoname>
- <toponymName>Marriott Cheshunt</toponymName>
- <name>Marriott Cheshunt</name>
- <lat>51.7208</lat>
- <lng>-0.0324</lng>
- <geonameId>6512481</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>S</fcl>
- <fcode>HTL</fcode>
- </geoname>
- <geoname>
- <toponymName>Cheshunt Community Hospital</toponymName>
- <name>Cheshunt Community Hospital</name>
- <lat>51.68396</lat>
- <lng>-0.03951</lng>
- <geonameId>6289233</geonameId>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <fcl>S</fcl>
- <fcode>HSP</fcode>
- </geoname>
- </geonames>
-
-/countrySubdivision?lang=en&lat=51.7632&lng=-0.0076&username=dummy: |
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <geonames>
- <countrySubdivision>
- <countryCode>GB</countryCode>
- <countryName>United Kingdom</countryName>
- <adminCode1>ENG</adminCode1>
- <adminName1>England</adminName1>
- <code type="ISO3166-2">ENG</code>
- <distance>0.0</distance>
- </countrySubdivision>
- </geonames>
+/search?lang=en&maxRows=20&q=Hoddesdon&username=dummy:
+ code: 200
+ body: |
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ <geonames style="MEDIUM">
+ <totalResultsCount>1</totalResultsCount>
+ <geoname>
+ <toponymName>Hoddesdon</toponymName>
+ <name>Hoddesdon</name>
+ <lat>51.76148</lat>
+ <lng>-0.01144</lng>
+ <geonameId>2646807</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>P</fcl>
+ <fcode>PPL</fcode>
+ </geoname>
+ </geonames>
+
+/search?lang=en&maxRows=20&q=Broxbourne&username=dummy:
+ code: 200
+ body: |
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ <geonames style="MEDIUM">
+ <totalResultsCount>17</totalResultsCount>
+ <geoname>
+ <toponymName>Broxbourne</toponymName>
+ <name>Broxbourne</name>
+ <lat>51.74712</lat>
+ <lng>-0.01923</lng>
+ <geonameId>2654481</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>P</fcl>
+ <fcode>PPL</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Broxbourne District</toponymName>
+ <name>Broxbourne District</name>
+ <lat>51.73026</lat>
+ <lng>-0.04821</lng>
+ <geonameId>7290563</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>A</fcl>
+ <fcode>ADM3</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Cheshunt</toponymName>
+ <name>Cheshunt</name>
+ <lat>51.70791</lat>
+ <lng>-0.03739</lng>
+ <geonameId>2653232</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>P</fcl>
+ <fcode>PPL</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Hoddesdon</toponymName>
+ <name>Hoddesdon</name>
+ <lat>51.76148</lat>
+ <lng>-0.01144</lng>
+ <geonameId>2646807</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>P</fcl>
+ <fcode>PPL</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Waltham Cross</toponymName>
+ <name>Waltham Cross</name>
+ <lat>51.68905</lat>
+ <lng>-0.0333</lng>
+ <geonameId>2634842</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>P</fcl>
+ <fcode>PPL</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Goffs Oak</toponymName>
+ <name>Goffs Oak</name>
+ <lat>51.71015</lat>
+ <lng>-0.0872</lng>
+ <geonameId>2648362</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>P</fcl>
+ <fcode>PPL</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Wormley</toponymName>
+ <name>Wormley</name>
+ <lat>51.7324</lat>
+ <lng>-0.0242</lng>
+ <geonameId>2633535</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>P</fcl>
+ <fcode>PPL</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Broxbourne</toponymName>
+ <name>Broxbourne</name>
+ <lat>-27.50314</lat>
+ <lng>151.378</lng>
+ <geonameId>8792801</geonameId>
+ <countryCode>AU</countryCode>
+ <countryName>Australia</countryName>
+ <fcl>S</fcl>
+ <fcode>HMSD</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Lee Valley White Water Centre</toponymName>
+ <name>Lee Valley White Water Centre</name>
+ <lat>51.68814</lat>
+ <lng>-0.01682</lng>
+ <geonameId>7670551</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>S</fcl>
+ <fcode>FCL</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Cheshunt Railway Station</toponymName>
+ <name>Cheshunt Railway Station</name>
+ <lat>51.703</lat>
+ <lng>-0.024</lng>
+ <geonameId>6952282</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>S</fcl>
+ <fcode>RSTN</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Theobalds Grove Railway Station</toponymName>
+ <name>Theobalds Grove Railway Station</name>
+ <lat>51.692</lat>
+ <lng>-0.035</lng>
+ <geonameId>6953715</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>S</fcl>
+ <fcode>RSTN</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Waltham Cross Railway Station</toponymName>
+ <name>Waltham Cross Railway Station</name>
+ <lat>51.685</lat>
+ <lng>-0.027</lng>
+ <geonameId>6953801</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>S</fcl>
+ <fcode>RSTN</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Rye House Station</toponymName>
+ <name>Rye House Station</name>
+ <lat>51.76938</lat>
+ <lng>0.00562</lng>
+ <geonameId>6691700</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>S</fcl>
+ <fcode>RSTN</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Broxbourne Station</toponymName>
+ <name>Broxbourne Station</name>
+ <lat>51.74697</lat>
+ <lng>-0.01105</lng>
+ <geonameId>6691701</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>S</fcl>
+ <fcode>RSTN</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Broxbornebury Park</toponymName>
+ <name>Broxbornebury Park</name>
+ <lat>51.75252</lat>
+ <lng>-0.03839</lng>
+ <geonameId>6286417</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>S</fcl>
+ <fcode>CSTL</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Marriott Cheshunt</toponymName>
+ <name>Marriott Cheshunt</name>
+ <lat>51.7208</lat>
+ <lng>-0.0324</lng>
+ <geonameId>6512481</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>S</fcl>
+ <fcode>HTL</fcode>
+ </geoname>
+ <geoname>
+ <toponymName>Cheshunt Community Hospital</toponymName>
+ <name>Cheshunt Community Hospital</name>
+ <lat>51.68396</lat>
+ <lng>-0.03951</lng>
+ <geonameId>6289233</geonameId>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <fcl>S</fcl>
+ <fcode>HSP</fcode>
+ </geoname>
+ </geonames>
+
+/countrySubdivision?lang=en&lat=51.7632&lng=-0.0076&username=dummy:
+ code: 200
+ body: |
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ <geonames>
+ <countrySubdivision>
+ <countryCode>GB</countryCode>
+ <countryName>United Kingdom</countryName>
+ <adminCode1>ENG</adminCode1>
+ <adminName1>England</adminName1>
+ <code type="ISO3166-2">ENG</code>
+ <distance>0.0</distance>
+ </countrySubdivision>
+ </geonames>
--- /dev/null
+/avatar/842bc90353fac655450e62223e4e105d?d=404 :
+ code: 404
+ body: Ignored, test for new_g2@openstreetmap.org
+
+/avatar/d2e95ef0ac6933916bf42ff1ee4eca4b?d=404 :
+ code: 200
+ body: Ignored, test for new_g1@openstreetmap.org
-/search?accept-language=&format=xml&q=Hoddesdon&viewbox=-0.559%2C51.766%2C0.836%2C51.217: |
- <?xml version="1.0" encoding="UTF-8" ?>
- <searchresults timestamp='Sun, 01 Mar 15 20:02:29 +0000' attribution='Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright' querystring='Hoddesdon' viewbox='-0.559,51.766,0.836,51.217' polygon='false' exclude_place_ids='110741' more_url='http://nominatim.openstreetmap.org/search?format=xml&exclude_place_ids=110741&viewbox=-0.559%2C51.766%2C0.836%2C51.217&q=Hoddesdon'>
- <place place_id='110741' osm_type='node' osm_id='18007599' place_rank='18' boundingbox="51.7216709,51.8016709,-0.0512898,0.0287102" lat='51.7616709' lon='-0.0112898' display_name='Hoddesdon, Hertfordshire, East of England, England, United Kingdom' class='place' type='town' importance='0.50547792382382' icon='http://nominatim.openstreetmap.org/images/mapicons/poi_place_town.p.20.png'/>
- </searchresults>
-
-/search?accept-language=&format=xml&q=Broxbourne&viewbox=-0.559%2C51.766%2C0.836%2C51.217: |
- <?xml version="1.0" encoding="UTF-8" ?>
- <searchresults timestamp='Sun, 01 Mar 15 20:42:25 +0000' attribution='Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright' querystring='Broxbourne' viewbox='-0.559,51.766,0.836,51.217' polygon='false' exclude_place_ids='150696,127984131,109724' more_url='http://nominatim.openstreetmap.org/search?format=xml&exclude_place_ids=150696,127984131,109724&viewbox=-0.559%2C51.766%2C0.836%2C51.217&q=Broxbourne'>
- <place place_id='150696' osm_type='node' osm_id='28825933' place_rank='20' boundingbox="51.7265723,51.7665723,-0.0390782,0.0009218" lat='51.7465723' lon='-0.0190782' display_name='Broxbourne, Hertfordshire, East of England, England, United Kingdom' class='place' type='suburb' importance='0.52141385408531' icon='http://nominatim.openstreetmap.org/images/mapicons/poi_place_village.p.20.png'/>
- <place place_id='127984131' osm_type='relation' osm_id='2677978' place_rank='16' boundingbox="51.6808751,51.7806237,-0.114204,0.0145267" lat='51.73083995' lon='-0.0579457295222991' display_name='Broxbourne, Hertfordshire, East of England, England, United Kingdom' class='boundary' type='administrative' importance='0.46' icon='http://nominatim.openstreetmap.org/images/mapicons/poi_boundary_administrative.p.20.png'/>
- <place place_id='109724' osm_type='node' osm_id='17044599' place_rank='30' boundingbox="51.7418469,51.7518469,-0.0156773,-0.0056773" lat='51.7468469' lon='-0.0106773' display_name='Broxbourne, Stafford Drive, Broxbourne, Hertfordshire, East of England, England, United Kingdom' class='railway' type='station' importance='0.111' icon='http://nominatim.openstreetmap.org/images/mapicons/transport_train_station2.p.20.png'/>
- </searchresults>
-
-/reverse?accept-language=&lat=51.7632&lon=-0.0076&zoom=15: |
- <?xml version="1.0" encoding="UTF-8"?>
- <reversegeocode timestamp="Sun, 01 Mar 15 22:49:45 +0000" attribution="Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright" querystring="accept-language=&lat=51.7632&lon=-0.0076&zoom=15">
- <result place_id="150696" osm_type="node" osm_id="28825933" ref="Broxbourne" lat="51.7465723" lon="-0.0190782">Broxbourne, Hertfordshire, East of England, England, United Kingdom</result>
- <addressparts>
- <suburb>Broxbourne</suburb>
- <city>Broxbourne</city>
- <county>Hertfordshire</county>
- <state_district>East of England</state_district>
- <state>England</state>
- <country>United Kingdom</country>
- <country_code>gb</country_code>
- </addressparts>
- </reversegeocode>
-
-/reverse?accept-language=&lat=51.7632&lon=-0.0076&zoom=17: |
- <?xml version="1.0" encoding="UTF-8"?>
- <reversegeocode timestamp="Sun, 01 Mar 15 22:58:16 +0000" attribution="Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright" querystring="accept-language=&lat=51.7632&lon=-0.0076&zoom=17">
- <result place_id="46484711" osm_type="way" osm_id="3489841" ref="A1170" lat="51.7634883" lon="-0.0088373">Dinant Link Road, Broxbourne, Hertfordshire, East of England, England, EN11 8HX, United Kingdom</result>
- <addressparts>
- <road>Dinant Link Road</road>
- <suburb>Broxbourne</suburb>
- <city>Broxbourne</city>
- <county>Hertfordshire</county>
- <state_district>East of England</state_district>
- <state>England</state>
- <postcode>EN11 8HX</postcode>
- <country>United Kingdom</country>
- <country_code>gb</country_code>
- </addressparts>
- </reversegeocode>
+/search?accept-language=&format=xml&q=Hoddesdon&viewbox=-0.559%2C51.766%2C0.836%2C51.217:
+ code: 200
+ body: |
+ <?xml version="1.0" encoding="UTF-8" ?>
+ <searchresults timestamp='Sun, 01 Mar 15 20:02:29 +0000' attribution='Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright' querystring='Hoddesdon' viewbox='-0.559,51.766,0.836,51.217' polygon='false' exclude_place_ids='110741' more_url='http://nominatim.openstreetmap.org/search?format=xml&exclude_place_ids=110741&viewbox=-0.559%2C51.766%2C0.836%2C51.217&q=Hoddesdon'>
+ <place place_id='110741' osm_type='node' osm_id='18007599' place_rank='18' boundingbox="51.7216709,51.8016709,-0.0512898,0.0287102" lat='51.7616709' lon='-0.0112898' display_name='Hoddesdon, Hertfordshire, East of England, England, United Kingdom' class='place' type='town' importance='0.50547792382382' icon='http://nominatim.openstreetmap.org/images/mapicons/poi_place_town.p.20.png'/>
+ </searchresults>
+
+/search?accept-language=&format=xml&extratags=1&q=Broxbourne&viewbox=-0.559%2C51.766%2C0.836%2C51.217:
+ code: 200
+ body: |
+ <?xml version="1.0" encoding="UTF-8" ?>
+ <searchresults timestamp='Sun, 01 Mar 15 20:42:25 +0000' attribution='Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright' querystring='Broxbourne' viewbox='-0.559,51.766,0.836,51.217' polygon='false' exclude_place_ids='150696,127984131,109724' more_url='http://nominatim.openstreetmap.org/search?format=xml&exclude_place_ids=150696,127984131,109724&viewbox=-0.559%2C51.766%2C0.836%2C51.217&q=Broxbourne'>
+ <place place_id='150696' osm_type='node' osm_id='28825933' place_rank='20' boundingbox="51.7265723,51.7665723,-0.0390782,0.0009218" lat='51.7465723' lon='-0.0190782' display_name='Broxbourne, Hertfordshire, East of England, England, United Kingdom' class='place' type='suburb' importance='0.52141385408531' icon='http://nominatim.openstreetmap.org/images/mapicons/poi_place_village.p.20.png'><extratags><tag key="wikipedia" value="en:Broxbourne"/></extratags></place>
+ <place place_id='127984131' osm_type='relation' osm_id='2677978' place_rank='16' boundingbox="51.6808751,51.7806237,-0.114204,0.0145267" lat='51.73083995' lon='-0.0579457295222991' display_name='Broxbourne, Hertfordshire, East of England, England, United Kingdom' class='boundary' type='administrative' importance='0.46' icon='http://nominatim.openstreetmap.org/images/mapicons/poi_boundary_administrative.p.20.png'><extratags><tag key="place" value="village"/></extratags></place>
+ <place place_id='109724' osm_type='node' osm_id='17044599' place_rank='30' boundingbox="51.7418469,51.7518469,-0.0156773,-0.0056773" lat='51.7468469' lon='-0.0106773' display_name='Broxbourne, Stafford Drive, Broxbourne, Hertfordshire, East of England, England, United Kingdom' class='railway' type='station' importance='0.111' icon='http://nominatim.openstreetmap.org/images/mapicons/transport_train_station2.p.20.png'><extratags></extratags></place>
+ </searchresults>
+
+/reverse?accept-language=&lat=51.7632&lon=-0.0076&zoom=15:
+ code: 200
+ body: |
+ <?xml version="1.0" encoding="UTF-8"?>
+ <reversegeocode timestamp="Sun, 01 Mar 15 22:49:45 +0000" attribution="Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright" querystring="accept-language=&lat=51.7632&lon=-0.0076&zoom=15">
+ <result place_id="150696" osm_type="node" osm_id="28825933" ref="Broxbourne" lat="51.7465723" lon="-0.0190782">Broxbourne, Hertfordshire, East of England, England, United Kingdom</result>
+ <addressparts>
+ <suburb>Broxbourne</suburb>
+ <city>Broxbourne</city>
+ <county>Hertfordshire</county>
+ <state_district>East of England</state_district>
+ <state>England</state>
+ <country>United Kingdom</country>
+ <country_code>gb</country_code>
+ </addressparts>
+ </reversegeocode>
+
+/reverse?accept-language=&lat=51.7632&lon=-0.0076&zoom=17:
+ code: 200
+ body: |
+ <?xml version="1.0" encoding="UTF-8"?>
+ <reversegeocode timestamp="Sun, 01 Mar 15 22:58:16 +0000" attribution="Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright" querystring="accept-language=&lat=51.7632&lon=-0.0076&zoom=17">
+ <result place_id="46484711" osm_type="way" osm_id="3489841" ref="A1170" lat="51.7634883" lon="-0.0088373">Dinant Link Road, Broxbourne, Hertfordshire, East of England, England, EN11 8HX, United Kingdom</result>
+ <addressparts>
+ <road>Dinant Link Road</road>
+ <suburb>Broxbourne</suburb>
+ <city>Broxbourne</city>
+ <county>Hertfordshire</county>
+ <state_district>East of England</state_district>
+ <state>England</state>
+ <postcode>EN11 8HX</postcode>
+ <country>United Kingdom</country>
+ <country_code>gb</country_code>
+ </addressparts>
+ </reversegeocode>
-/cgi/geocoder.fcgi?format=text&postcode=CV4+7AL: |
- # Easting,Northing,Matched Postcode,Latitude,Longitude
- 429926,276058,'CV4 7AL',52.381748701968,-1.56176420939232
+/cgi/geocoder.fcgi?format=text&postcode=CV4+7AL:
+ code: 200
+ body: |
+ # Easting,Northing,Matched Postcode,Latitude,Longitude
+ 429926,276058,'CV4 7AL',52.381748701968,-1.56176420939232
-/cgi/geocoder.fcgi?format=text&postcode=XX9+9XX: |
- Error: Postcode area 'XX' not found, postcode probably invalid
+/cgi/geocoder.fcgi?format=text&postcode=XX9+9XX:
+ code: 200
+ body: |
+ Error: Postcode area 'XX' not found, postcode probably invalid
post "/oauth/revoke", :token => token.token
assert_redirected_to oauth_clients_url(token.user.display_name)
- token = OauthToken.find_by_token(token.token)
+ token = OauthToken.find_by(:token => token.token)
assert_not_nil token.invalidated_at
signed_get "/api/0.6/user/preferences", :consumer => client, :token => token
post "/oauth/revoke", :token => token.token
assert_redirected_to oauth_clients_url(token.user.display_name)
- token = OauthToken.find_by_token(token.token)
+ token = OauthToken.find_by(:token => token.token)
assert_not_nil token.invalidated_at
signed_get "/api/0.6/gpx/2", :consumer => client, :token => token
post "/oauth/revoke", :token => token.token
assert_redirected_to oauth_clients_url(token.user.display_name)
- token = OauthToken.find_by_token(token.token)
+ token = OauthToken.find_by(:token => token.token)
assert_not_nil token.invalidated_at
signed_get "/api/0.6/user/preferences", :consumer => client, :token => token
post "/oauth/revoke", :token => token.token
assert_redirected_to oauth_clients_url(token.user.display_name)
- token = OauthToken.find_by_token(token.token)
+ token = OauthToken.find_by(:token => token.token)
assert_not_nil token.invalidated_at
signed_get "/api/0.6/gpx/2", :consumer => client, :token => token
def parse_token(response)
params = CGI.parse(response.body)
- token = OauthToken.find_by_token(params["oauth_token"].first)
+ token = OauthToken.find_by(:token => params["oauth_token"].first)
assert_equal token.secret, params["oauth_token_secret"].first
token
require "test_helper"
class UserBlocksTest < ActionDispatch::IntegrationTest
- fixtures :users, :user_blocks, :user_roles
+ fixtures :users, :user_roles
def auth_header(user, pass)
{ "HTTP_AUTHORIZATION" => format("Basic %s", Base64.encode64("#{user}:#{pass}")) }
require "test_helper"
class UserChangesetCommentsTest < ActionDispatch::IntegrationTest
- fixtures :users, :changesets, :changeset_comments
+ fixtures :users, :changesets
# Test 'log in to comment' message for nonlogged in user
def test_log_in_message
OmniAuth.config.mock_auth[:google] = nil
OmniAuth.config.mock_auth[:facebook] = nil
OmniAuth.config.mock_auth[:windowslive] = nil
+ OmniAuth.config.mock_auth[:github] = nil
OmniAuth.config.test_mode = false
end
assert_response :success
assert_template "site/welcome"
end
+
+ def test_user_create_github_success
+ OmniAuth.config.add_mock(:github, :uid => "123454321")
+
+ new_email = "newtester-github@osm.org"
+ display_name = "new_tester-github"
+ password = "testtest"
+ assert_difference("User.count") do
+ assert_difference("ActionMailer::Base.deliveries.size", 1) do
+ post "/user/new",
+ :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :pass_crypt => "", :pass_crypt_confirmation => "" }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "github", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password }
+ assert_response :redirect
+ follow_redirect!
+ end
+ end
+
+ # Check the page
+ assert_response :success
+ assert_template "user/confirm"
+
+ ActionMailer::Base.deliveries.clear
+ end
+
+ def test_user_create_github_failure
+ OmniAuth.config.mock_auth[:github] = :connection_failed
+
+ new_email = "newtester-github2@osm.org"
+ display_name = "new_tester-github2"
+ assert_difference("User.count", 0) do
+ assert_difference("ActionMailer::Base.deliveries.size", 0) do
+ post "/user/new",
+ :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :pass_crypt => "", :pass_crypt_confirmation => "" }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "github", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_failure_path(:strategy => "github", :message => "connection_failed", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "user/new"
+ end
+ end
+
+ ActionMailer::Base.deliveries.clear
+ end
+
+ def test_user_create_github_redirect
+ OmniAuth.config.add_mock(:github, :uid => "123454321")
+
+ new_email = "redirect_tester_github@osm.org"
+ display_name = "redirect_tester_github"
+ # nothing special about this page, just need a protected page to redirect back to.
+ referer = "/traces/mine"
+ assert_difference("User.count") do
+ assert_difference("ActionMailer::Base.deliveries.size", 1) do
+ post "/user/new",
+ :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "github", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post_via_redirect "/user/save",
+ :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" }
+ end
+ end
+
+ # Check the e-mail
+ register_email = ActionMailer::Base.deliveries.first
+
+ assert_equal register_email.to[0], new_email
+ # Check that the confirm account url is correct
+ confirm_regex = Regexp.new("/user/redirect_tester_github/confirm\\?confirm_string=([a-zA-Z0-9]*)")
+ register_email.parts.each do |part|
+ assert_match confirm_regex, part.body.to_s
+ end
+ confirm_string = register_email.parts[0].body.match(confirm_regex)[1]
+
+ # Check the page
+ assert_response :success
+ assert_template "user/confirm"
+
+ ActionMailer::Base.deliveries.clear
+
+ # Go to the confirmation page
+ get "/user/#{display_name}/confirm", :confirm_string => confirm_string
+ assert_response :success
+ assert_template "user/confirm"
+
+ post "/user/#{display_name}/confirm", :confirm_string => confirm_string
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "site/welcome"
+ end
end
require "test_helper"
class UserDiariesTest < ActionDispatch::IntegrationTest
- fixtures :users, :diary_entries
+ fixtures :users
# Test the creation of a diary entry, making sure that you are redirected to
# login page when not logged in
require "test_helper"
class UserLoginTest < ActionDispatch::IntegrationTest
- fixtures :users, :user_blocks
+ fixtures :users
def setup
OmniAuth.config.test_mode = true
OmniAuth.config.mock_auth[:google] = nil
OmniAuth.config.mock_auth[:facebook] = nil
OmniAuth.config.mock_auth[:windowslive] = nil
+ OmniAuth.config.mock_auth[:github] = nil
OmniAuth.config.test_mode = false
end
def test_login_email_password_blocked
user = users(:blocked_user)
+ create(:user_block, :needs_view, :user => user)
try_password_login user.email, "test"
def test_login_email_password_blocked_upcase
user = users(:blocked_user)
+ create(:user_block, :needs_view, :user => user)
try_password_login user.email.upcase, "test"
def test_login_email_password_blocked_titlecase
user = users(:blocked_user)
+ create(:user_block, :needs_view, :user => user)
try_password_login user.email.titlecase, "test"
def test_login_username_password_blocked
user = users(:blocked_user)
+ create(:user_block, :needs_view, :user => user)
try_password_login user.display_name.upcase, "test"
def test_login_username_password_blocked_upcase
user = users(:blocked_user)
+ create(:user_block, :needs_view, :user => user)
try_password_login user.display_name, "test"
def test_login_username_password_blocked_titlecase
user = users(:blocked_user)
+ create(:user_block, :needs_view, :user => user)
try_password_login user.display_name.titlecase, "test"
assert_template "changeset/history"
assert_select "span.username", "openIDuser"
- user = User.find_by_display_name("openIDuser")
+ user = User.find_by(:display_name => "openIDuser")
assert_equal "google", user.auth_provider
assert_equal "987654321", user.auth_uid
end
assert_select "span.username", false
end
+ def test_login_github_success
+ OmniAuth.config.add_mock(:github, :uid => "123456789")
+
+ get "/login", :referer => "/history"
+ assert_response :redirect
+ assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ follow_redirect!
+ assert_response :success
+ assert_template "user/login"
+ get auth_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "changeset/history"
+ assert_select "span.username", "githubuser"
+ end
+
+ def test_login_github_connection_failed
+ OmniAuth.config.mock_auth[:github] = :connection_failed
+
+ get "/login", :referer => "/history"
+ assert_response :redirect
+ assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ follow_redirect!
+ assert_response :success
+ assert_template "user/login"
+ get auth_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_failure_path(:strategy => "github", :message => "connection_failed", :origin => "/login?referer=%2Fhistory")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "login"
+ assert_select "div.flash.error", "Connection to authentication provider failed"
+ assert_select "span.username", false
+ end
+
+ def test_login_github_invalid_credentials
+ OmniAuth.config.mock_auth[:github] = :invalid_credentials
+
+ get "/login", :referer => "/history"
+ assert_response :redirect
+ assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ follow_redirect!
+ assert_response :success
+ assert_template "user/login"
+ get auth_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_failure_path(:strategy => "github", :message => "invalid_credentials", :origin => "/login?referer=%2Fhistory")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "login"
+ assert_select "div.flash.error", "Invalid authentication credentials"
+ assert_select "span.username", false
+ end
+
+ def test_login_github_unknown
+ OmniAuth.config.add_mock(:github, :uid => "987654321")
+
+ get "/login", :referer => "/history"
+ assert_response :redirect
+ assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ follow_redirect!
+ assert_response :success
+ assert_template "user/login"
+ get auth_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "user/new"
+ assert_select "span.username", false
+ end
+
private
def try_password_login(username, password, remember_me = nil)
@bad_positive_boundary_bbox = %w(181,91,0,0 0,0,181,91)
@bad_negative_boundary_bbox = %w(-181,-91,0,0 0,0,-181,-91)
- @bad_big_bbox = %w(-0.1,-0.1,1.1,1.1 10,10,11,11)
- @bad_malformed_bbox = %w(-0.1 hello 10N2W10.1N2.1W)
- @bad_lat_mixed_bbox = %w(0,0.1,0.1,0 -0.1,80,0.1,70 0.24,54.34,0.25,54.33)
- @bad_lon_mixed_bbox = %w(80,-0.1,70,0.1 54.34,0.24,54.33,0.25)
+ @bad_big_bbox = %w(-0.1,-0.1,1.1,1.1 10,10,11,11)
+ @bad_malformed_bbox = %w(-0.1 hello 10N2W10.1N2.1W)
+ @bad_lat_mixed_bbox = %w(0,0.1,0.1,0 -0.1,80,0.1,70 0.24,54.34,0.25,54.33)
+ @bad_lon_mixed_bbox = %w(80,-0.1,70,0.1 54.34,0.24,54.33,0.25)
@bad_limit_bbox = %w(-180.1,-90,180,90 -180,-90.1,180,90 -180,-90,180.1,90 -180,-90,180,90.1)
- @good_bbox = %w(-0.1,-0.1,0.1,0.1 51.1,-0.1,51.2,0 -0.1,%20-0.1,%200.1,%200.1
- -0.1edcd,-0.1d,0.1,0.1 -0.1E,-0.1E,0.1S,0.1N S0.1,W0.1,N0.1,E0.1)
+ @good_bbox = %w(-0.1,-0.1,0.1,0.1 51.1,-0.1,51.2,0 -0.1,%20-0.1,%200.1,%200.1
+ -0.1edcd,-0.1d,0.1,0.1 -0.1E,-0.1E,0.1S,0.1N S0.1,W0.1,N0.1,E0.1)
@expand_min_lon_array = %w(2,10,10,10 1,10,10,10 0,10,10,10 -1,10,10,10 -2,10,10,10 -8,10,10,10)
@expand_min_lat_array = %w(10,2,10,10 10,1,10,10 10,0,10,10 10,-1,10,10 10,-2,10,10 10,-8,10,10)
class CountryTest < ActiveSupport::TestCase
def test_gb
- gb = Country.find_by_code("GB")
+ gb = Country.find("GB")
assert_not_nil gb
assert_equal "GB", gb.code
assert_equal -8.623555, gb.min_lon
end
def test_au
- au = Country.find_by_code("AU")
+ au = Country.find("AU")
assert_not_nil au
assert_equal "AU", au.code
assert_equal 112.911057, au.min_lon
end
def test_xx
- xx = Country.find_by_code("XX")
+ xx = Country.find("XX")
assert_nil xx
end
end
default_value.each do |_subkey, subvalue|
subvalue.scan(/%\{(\w+)\}/) do
- variables.push($1)
+ variables.push(Regexp.last_match(1))
end
end
else
default_value.scan(/%\{(\w+)\}/) do
- variables.push($1)
+ variables.push(Regexp.last_match(1))
end
end
next if subvalue.nil?
subvalue.scan(/%\{(\w+)\}/) do
- assert variables.include?($1), "#{key}.#{subkey} uses unknown interpolation variable #{$1}"
+ assert variables.include?(Regexp.last_match(1)), "#{key}.#{subkey} uses unknown interpolation variable #{Regexp.last_match(1)}"
end
end
else
assert value.is_a?(String), "#{key} is not a string"
value.scan(/%\{(\w+)\}/) do
- assert variables.include?($1), "#{key} uses unknown interpolation variable #{$1}"
+ assert variables.include?(Regexp.last_match(1)), "#{key} uses unknown interpolation variable #{Regexp.last_match(1)}"
end
end
end
def test_preferred
assert_equal "en-GB", Locale.available.preferred(Locale.list("en-GB", "en")).to_s
assert_equal "en", Locale.available.preferred(Locale.list("en")).to_s
- assert_equal "fr", Locale.available.preferred(Locale.list("fr-FR", "fr", "en")).to_s
+ assert_equal "fr", Locale.available.preferred(Locale.list("fr-GB", "fr", "en")).to_s
assert_equal "fr", Locale.available.preferred(Locale.list("fr", "en")).to_s
assert_equal "de", Locale.available.preferred(Locale.list("zh-Hant", "de")).to_s
assert_equal "zh-TW", Locale.available.preferred(Locale.list("zh-Hant-TW", "de")).to_s
require "test_helper"
class AclTest < ActiveSupport::TestCase
- # Replace this with your real tests.
- def test_truth
- assert true
+ def test_k_required
+ acl = create(:acl)
+ assert acl.valid?
+ acl.k = nil
+ assert !acl.valid?
+ end
+
+ def test_no_account_creation_by_subnet
+ assert !Acl.no_account_creation("192.168.1.1")
+ create(:acl, :address => "192.168.0.0/16", :k => "no_account_creation")
+ assert Acl.no_account_creation("192.168.1.1")
+ end
+
+ def test_no_account_creation_by_domain
+ assert !Acl.no_account_creation("192.168.1.1", "example.com")
+ create(:acl, :domain => "example.com", :k => "no_account_creation")
+ assert Acl.no_account_creation("192.168.1.1", "example.com")
end
end
require "test_helper"
class ChangesetCommentTest < ActiveSupport::TestCase
- fixtures :changesets, :changeset_comments
-
- def test_changeset_comment_count
- assert_equal 4, ChangesetComment.count
- end
+ fixtures :changesets
# validations
def test_does_not_accept_invalid_author
- comment = changeset_comments(:normal_comment_1)
+ comment = create(:changeset_comment)
comment.author = nil
assert !comment.valid?
end
def test_does_not_accept_invalid_changeset
- comment = changeset_comments(:normal_comment_1)
+ comment = create(:changeset_comment)
comment.changeset = nil
assert !comment.valid?
end
def test_does_not_accept_empty_visible
- comment = changeset_comments(:normal_comment_1)
+ comment = create(:changeset_comment)
comment.visible = nil
assert !comment.valid?
end
def test_comments_of_changeset_count
+ create_list(:changeset_comment, 3, :changeset_id => changesets(:normal_user_closed_change).id)
assert_equal 3, Changeset.find(changesets(:normal_user_closed_change).id).comments.count
end
"foo\ufffebar", "foo\uffffbar"]
ok.each do |body|
- changeset_comment = changeset_comments(:normal_comment_1)
+ changeset_comment = create(:changeset_comment)
changeset_comment.body = body
assert changeset_comment.valid?, "#{body} is invalid, when it should be"
end
bad.each do |body|
- changeset_comment = changeset_comments(:normal_comment_1)
+ changeset_comment = create(:changeset_comment)
changeset_comment.body = body
assert !changeset_comment.valid?, "#{body} is valid when it shouldn't be"
end
require "test_helper"
class DiaryCommentTest < ActiveSupport::TestCase
- api_fixtures
- fixtures :diary_comments
+ fixtures :users
- def test_diary_comment_count
- assert_equal 4, DiaryComment.count
+ def setup
+ # Create the default language for diary entries
+ create(:language, :code => "en")
+ end
+
+ test "body must be present" do
+ comment = build(:diary_comment, :body => "")
+ assert_not comment.valid?
+ assert_not_nil comment.errors[:body], "no validation error for missing body"
end
end
require "test_helper"
class DiaryEntryTest < ActiveSupport::TestCase
- api_fixtures
- fixtures :diary_entries, :diary_comments, :languages
+ fixtures :users
- def test_diary_entry_count
- assert_equal 6, DiaryEntry.count
+ def setup
+ # Create the default language for diary entries
+ create(:language, :code => "en")
end
def test_diary_entry_validations
end
def test_diary_entry_visible
- assert_equal 5, DiaryEntry.visible.count
+ visible = create(:diary_entry)
+ hidden = create(:diary_entry, :visible => false)
+ assert_includes DiaryEntry.visible, visible
assert_raise ActiveRecord::RecordNotFound do
- DiaryEntry.visible.find(diary_entries(:deleted_entry).id)
+ DiaryEntry.visible.find(hidden.id)
end
end
def test_diary_entry_comments
- assert_equal 0, diary_entries(:normal_user_entry_1).comments.count
- assert_equal 4, diary_entries(:normal_user_geo_entry).comments.count
+ diary = create(:diary_entry)
+ assert_equal(0, diary.comments.count)
+ create(:diary_comment, :diary_entry => diary)
+ assert_equal(1, diary.comments.count)
end
def test_diary_entry_visible_comments
- assert_equal 0, diary_entries(:normal_user_entry_1).visible_comments.count
- assert_equal 1, diary_entries(:normal_user_geo_entry).visible_comments.count
+ diary = create(:diary_entry)
+ create(:diary_comment, :diary_entry => diary)
+ create(:diary_comment, :diary_entry => diary, :visible => false)
+ assert_equal 1, diary.visible_comments.count
+ assert_equal 2, diary.comments.count
end
private
def diary_entry_valid(attrs, result = true)
- entry = DiaryEntry.new(diary_entries(:normal_user_entry_1).attributes)
- entry.assign_attributes(attrs)
+ entry = build(:diary_entry, attrs)
assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
end
end
class FriendTest < ActiveSupport::TestCase
api_fixtures
- fixtures :friends
def test_friend_count
+ create(:friend)
assert_equal 1, Friend.count
end
end
require "test_helper"
class LanguageTest < ActiveSupport::TestCase
- fixtures :languages
-
- def test_language_count
- assert_equal 3, Language.count
- end
-
def test_name
- assert_equal "English (English)", languages(:en).name
- assert_equal "German (Deutsch)", languages(:de).name
- assert_equal "Slovenian (slovenščina)", languages(:sl).name
+ create(:language, :code => "sl", :english_name => "Slovenian", :native_name => "slovenščina")
+ assert_equal "Slovenian (slovenščina)", Language.find("sl").name
end
def test_load
- assert_equal 3, Language.count
+ assert_equal 0, Language.count
assert_raise ActiveRecord::RecordNotFound do
Language.find("zh")
end
class MessageTest < ActiveSupport::TestCase
api_fixtures
- fixtures :messages
EURO = "\xe2\x82\xac".freeze # euro symbol
- # This needs to be updated when new fixtures are added
- # or removed.
- def test_check_message_count
- assert_equal 2, Message.count
- end
-
def test_check_empty_message_fails
message = Message.new
assert !message.valid?
end
def test_validating_msgs
- message = messages(:unread_message)
+ message = create(:message, :unread)
assert message.valid?
- message = messages(:read_message)
+ message = create(:message, :read)
assert message.valid?
end
def test_invalid_send_recipient
- message = messages(:unread_message)
+ message = create(:message, :unread)
message.sender = nil
message.recipient = nil
assert !message.valid?
"\xC2\xC2", # 2-byte multibyte identifier, followed by another one
"\x4a\x82", # plain ASCII, followed by multibyte continuation
"\x82\x82", # multibyte continuations without multibyte identifier
- "\xe1\x82\x4a", # three-byte identifier, contination and (incorrectly) plain ASCII
- ]
+ "\xe1\x82\x4a"] # three-byte identifier, contination and (incorrectly) plain ASCII
invalid_sequences.each do |char|
begin
# create a message and save to the database
private
def make_message(char, count)
- message = messages(:unread_message)
+ message = build(:message, :unread)
message.title = char * count
message
end
require "test_helper"
class NoteCommentTest < ActiveSupport::TestCase
- fixtures :users, :notes, :note_comments
+ fixtures :users
def test_event_valid
ok = %w(opened closed reopened commented hidden)
bad = %w(expropriated fubared)
ok.each do |event|
- note_comment = note_comments(:t1)
+ note_comment = create(:note_comment)
note_comment.event = event
assert note_comment.valid?, "#{event} is invalid, when it should be"
end
bad.each do |event|
- note_comment = note_comments(:t1)
+ note_comment = create(:note_comment)
note_comment.event = event
assert !note_comment.valid?, "#{event} is valid when it shouldn't be"
end
"foo\ufffebar", "foo\uffffbar"]
ok.each do |body|
- note_comment = note_comments(:t1)
+ note_comment = create(:note_comment)
note_comment.body = body
assert note_comment.valid?, "#{body} is invalid, when it should be"
end
bad.each do |body|
- note_comment = note_comments(:t1)
+ note_comment = create(:note_comment)
note_comment.body = body
assert !note_comment.valid?, "#{body} is valid when it shouldn't be"
end
require "test_helper"
class NoteTest < ActiveSupport::TestCase
- fixtures :users, :notes, :note_comments
+ fixtures :users
def test_status_valid
ok = %w(open closed hidden)
bad = %w(expropriated fubared)
ok.each do |status|
- note = notes(:open_note)
+ note = create(:note)
note.status = status
assert note.valid?, "#{status} is invalid, when it should be"
end
bad.each do |status|
- note = notes(:open_note)
+ note = create(:note)
note.status = status
assert !note.valid?, "#{status} is valid when it shouldn't be"
end
end
def test_close
- note = notes(:open_note)
+ note = create(:note)
assert_equal "open", note.status
assert_nil note.closed_at
note.close
end
def test_reopen
- note = notes(:closed_note_with_comment)
+ note = create(:note, :status => "closed", :closed_at => Time.now)
assert_equal "closed", note.status
assert_not_nil note.closed_at
note.reopen
end
def test_visible?
- assert_equal true, notes(:open_note).visible?
- assert_equal true, notes(:note_with_hidden_comment).visible?
- assert_equal false, notes(:hidden_note_with_comment).visible?
+ assert_equal true, create(:note, :status => "open").visible?
+ assert_equal true, create(:note, :status => "closed").visible?
+ assert_equal false, create(:note, :status => "hidden").visible?
end
def test_closed?
- assert_equal true, notes(:closed_note_with_comment).closed?
- assert_equal false, notes(:open_note).closed?
+ assert_equal true, create(:note, :status => "closed", :closed_at => Time.now).closed?
+ assert_equal false, create(:note, :status => "open", :closed_at => nil).closed?
end
def test_author
- assert_nil notes(:open_note).author
- assert_equal users(:normal_user), notes(:note_with_comments_by_users).author
+ comment = create(:note_comment)
+ assert_nil comment.note.author
+
+ comment = create(:note_comment, :author => users(:normal_user))
+ assert_equal users(:normal_user), comment.note.author
end
def test_author_ip
- assert_equal IPAddr.new("192.168.1.1"), notes(:open_note).author_ip
- assert_nil notes(:note_with_comments_by_users).author_ip
+ comment = create(:note_comment)
+ assert_nil comment.note.author_ip
+
+ comment = create(:note_comment, :author_ip => IPAddr.new("192.168.1.1"))
+ assert_equal IPAddr.new("192.168.1.1"), comment.note.author_ip
end
end
class UserPreferenceTest < ActiveSupport::TestCase
api_fixtures
- fixtures :user_preferences
-
- # This checks to make sure that there are two user preferences
- # stored in the test database.
- # This test needs to be updated for every addition/deletion from
- # the fixture file
- def test_check_count
- assert_equal 4, UserPreference.count
- end
# Checks that you cannot add a new preference, that is a duplicate
def test_add_duplicate_preference
- up = user_preferences(:a)
+ up = create(:user_preference)
new_up = UserPreference.new
new_up.user = users(:normal_user)
new_up.k = up.k
include Rails::Dom::Testing::Assertions::SelectorAssertions
api_fixtures
- fixtures :friends, :languages, :user_roles
+ fixtures :user_roles
def test_invalid_with_empty_attributes
user = User.new
end
def test_friend_with
+ create(:friend, :befriender => users(:normal_user), :befriendee => users(:public_user))
assert users(:normal_user).is_friends_with?(users(:public_user))
assert !users(:normal_user).is_friends_with?(users(:inactive_user))
assert !users(:public_user).is_friends_with?(users(:normal_user))
def test_friends_with
# normal user is a friend of second user
- # it should be a one way friend accossitation
- assert_equal 1, Friend.count
+ # it should be a one way friend associatation
norm = users(:normal_user)
sec = users(:public_user)
- # friend = Friend.new
- # friend.befriender = norm
- # friend.befriendee = sec
- # friend.save
+ create(:friend, :befriender => norm, :befriendee => sec)
+ assert_equal 1, Friend.count
assert_equal [sec], norm.friend_users
assert_equal 1, norm.friend_users.size
assert_equal 1, Friend.count
end
def test_visible
- assert_equal 19, User.visible.count
+ assert_equal 22, User.visible.count
assert_raise ActiveRecord::RecordNotFound do
User.visible.find(users(:suspended_user).id)
end
end
def test_active
- assert_equal 18, User.active.count
+ assert_equal 21, User.active.count
assert_raise ActiveRecord::RecordNotFound do
User.active.find(users(:inactive_user).id)
end
end
def test_identifiable
- assert_equal 20, User.identifiable.count
+ assert_equal 23, User.identifiable.count
assert_raise ActiveRecord::RecordNotFound do
User.identifiable.find(users(:normal_user).id)
end
end
def test_languages
+ create(:language, :code => "en")
+ create(:language, :code => "de")
+ create(:language, :code => "sl")
+
user = users(:normal_user)
assert_equal ["en"], user.languages
user.languages = %w(de fr en)
module ActiveSupport
class TestCase
+ include FactoryGirl::Syntax::Methods
+
# Load standard fixtures needed to test API methods
def self.api_fixtures
# print "setting up the api_fixtures"
- fixtures :users, :user_roles, :user_blocks
- fixtures :changesets, :changeset_tags, :changeset_comments
+ fixtures :users, :user_roles
+ fixtures :changesets, :changeset_tags
fixtures :current_nodes, :nodes
set_fixture_class :current_nodes => Node
fixtures :client_applications
fixtures :redactions
-
- fixtures :notes, :note_comments
end
##
OSM.http_client = Faraday.new do |builder|
builder.adapter :test do |stub|
- stubs.each do |url, body|
- stub.get(url) { |_env| [200, {}, body] }
+ stubs.each do |url, response|
+ stub.get(url) { |_env| [response["code"], {}, response["body"]] }
end
end
end
.cf:after {
clear: both;
}
-/* tiles */
-img.tile {
- position:absolute;
- transform-origin:0 0;
- -ms-transform-origin:0 0;
- -webkit-transform-origin:0 0;
- -moz-transform-origin:0 0;
- -o-transform-origin:0 0;
-
- opacity: 0;
-
- -webkit-transition: opacity 200ms linear;
- transition: opacity 200ms linear;
- -moz-transition: opacity 200ms linear;
-}
-
-img.tile-loaded {
- opacity: 1;
-}
-img.tile-removing {
- opacity: 0;
-}
use { pointer-events: none; }
stroke: #58a9ed;
}
+.preset-icon .icon.tag-route-horse,
.preset-icon .icon.highway-bridleway {
color: #e06d5f;
fill: #fff;
input[type=tel],
input[type=email] {
background-color: white;
+ color: #333;
border:1px solid #ccc;
padding:5px 10px;
height:30px;
display: block;
position: absolute;
top: 5px;
- background: rgba(255, 255, 255, .5);
+ background: #fff;
+ border-color: #fff;
+ opacity: 0.5;
color: #333;
padding: 10px;
height: 30px;
bottom: 0;
border-top: 6px solid transparent;
border-bottom: 6px solid transparent;
- border-right: 6px solid rgba(255,255,255,.5);
+ border-right-width: 6px;
+ border-right-style: solid;
+ border-right-color: inherit;
}
/* Icons */
bottom: 0;
}
-.mapillary-image {
- position: absolute;
- bottom: 30px;
- width: 330px;
- height: 250px;
- padding: 5px;
- background-color: #fff;
-}
-
-.mapillary-image a {
- display: block;
- position: absolute;
- height: auto;
- background-color: rgba(0,0,0,.5);
- bottom: 0;
- padding: 5px 10px;
-}
-
-.mapillary-image img {
- width: 100%;
- height: auto;
- display: block;
-}
-
-.mapillary-image.hidden {
- visibility: hidden;
-}
-.mapillary-image.temp button {
- display: none;
-}
-.mapillary-image button {
- border-radius: 0;
- padding: 5px;
- position: absolute;
- right: 0;
- top: 0;
-}
.feature-list-pane .inspector-body {
top: 120px;
background-color: #ececec;
}
-.layer-list li.active {
+.layer-list li.active,
+.layer-list li.switch {
background: #E8EBFF;
}
right: -10px;
}
+.nudge-surface {
+ position: absolute;
+ z-index: 5000;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ background-color: transparent;
+ cursor: move;
+}
+
.background-control .nudge.right::after {
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
float:right;
margin-left: 20px;
margin-bottom: 20px;
- padding-left: 5px
+ padding-left: 5px;
}
.help-wrap .toc li a,
border-radius: 4px;
}
+
+/* Tiles
+------------------------------------------------------- */
+
+img.tile {
+ position:absolute;
+ transform-origin:0 0;
+ -ms-transform-origin:0 0;
+ -webkit-transform-origin:0 0;
+ -moz-transform-origin:0 0;
+ -o-transform-origin:0 0;
+
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+
+ opacity: 0;
+
+ -webkit-transition: opacity 200ms linear;
+ transition: opacity 200ms linear;
+ -moz-transition: opacity 200ms linear;
+}
+
+.tile-label-debug {
+ background: rgba(0, 0, 0, 0.7);
+ color: #fff;
+ position: absolute;
+ text-align: center;
+ width: 128px;
+ border-radius: 3px;
+ z-index: 2;
+
+ transform-origin:0 0;
+ -ms-transform-origin:0 0;
+ -webkit-transform-origin:0 0;
+ -moz-transform-origin:0 0;
+ -o-transform-origin:0 0;
+
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+img.tile-debug {
+ border: 1px solid red;
+}
+
+img.tile-loaded {
+ opacity: 1;
+}
+
+img.tile-removing {
+ opacity: 0;
+}
+
+
/* Map
------------------------------------------------------- */
-webkit-transform-origin:0 0;
-moz-transform-origin:0 0;
-o-transform-origin:0 0;
+
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
/* Map-In-Map
------------------------------------------------------- */
-
.map-in-map {
position: absolute;
overflow: hidden;
-webkit-transform-origin:0 0;
-moz-transform-origin:0 0;
-o-transform-origin:0 0;
+
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}
-.map-in-map-svg,
-.map-in-map-gpx {
+.map-in-map-viewport,
+.map-in-map-data {
top: 0;
left: 0;
overflow: hidden;
width: 100%;
}
-.map-in-map-svg {
+.map-in-map-viewport {
position: absolute;
}
-.map-in-map-gpx {
+.map-in-map-data {
position: relative;
z-index: 10;
}
-.bbox,
.map-in-map-bbox {
fill: none;
stroke: rgba(255, 255, 0, 0.75);
stroke-width: 5;
}
+
+/* Debug
+------------------------------------------------------- */
+.debug {
+ stroke: currentColor;
+ fill: none;
+ stroke-width: 2;
+}
+.map-in-map-data .debug {
+ stroke-width: 1;
+}
+
+.red { color: rgba(255, 0, 0, 0.75); }
+.green { color: rgba(0, 255, 0, 0.75); }
+.blue { color: rgba(0, 0, 255, 0.75); }
+.yellow { color: rgba(255, 255, 0, 0.75); }
+.cyan { color: rgba(0, 255, 255, 0.75); }
+.magenta { color: rgba(255, 0, 255, 0.75); }
+.orange { color: rgba(255, 153, 0, 0.75); }
+.pink { color: rgba(255, 0, 153, 0.75); }
+.purple { color: rgba(153, 0, 255, 0.75); }
+
+.debug-legend {
+ position: absolute;
+ top: 70px;
+ right: 80px;
+ padding: 5px;
+ border-radius: 4px;
+ pointer-events: none;
+}
+
+.debug-legend-item {
+ padding-right: 5px;
+}
+.debug-legend-item:before {
+ content: "\25A0";
+ padding: 0 5px;
+}
+
/* Info Box
------------------------------------------------------- */
.infobox {
max-height: 30px;
float: left;
clear: left;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
}
#info-block {
width: 100%;
}
+#scale:hover {
+ cursor: pointer;
+}
+
#scale text {
font: 12px sans-serif;
stroke: none;
background: rgba(0, 0, 0, 0) url(<%= asset_path("iD/img/iD-sprite.svg") %>) no-repeat -300px -460px;
margin: auto;
}
+
+/* Mapillary
+------------------------------------------------------- */
+.mapillary-wrap {
+ position: absolute;
+ bottom: 30px;
+ width: 330px;
+ height: 250px;
+ padding: 5px;
+ background-color: #fff;
+}
+
+.mapillary-wrap.hidden {
+ visibility: hidden;
+}
+
+.mapillary-wrap .uil-ripple-css {
+ top: -9px;
+ left: -15px;
+}
+
+.mapillary-wrap .uil-ripple-css div {
+ top: 38px;
+}
+
+.mapillary-wrap button.thumb-hide {
+ border-radius: 0;
+ padding: 5px;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 500;
+}
+
+.mly-wrapper {
+ visibility: hidden;
+}
+
+.mly-wrapper.active {
+ visibility: visible;
+}
}
function zoomended(dispatch) {
- if (!--zooming) dispatch({type: "zoomend"});
- center0 = null;
+ if (!--zooming) dispatch({type: "zoomend"}), center0 = null;
}
function mousedowned() {
function mousewheeled() {
var dispatch = event.of(this, arguments);
if (mousewheelTimer) clearTimeout(mousewheelTimer);
- else translate0 = location(center0 = center || d3.mouse(this)), d3_selection_interrupt.call(this), zoomstarted(dispatch);
+ else d3_selection_interrupt.call(this), translate0 = location(center0 = center || d3.mouse(this)), zoomstarted(dispatch);
mousewheelTimer = setTimeout(function() { mousewheelTimer = null; zoomended(dispatch); }, 50);
d3_eventPreventDefault();
scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);
function change() {
fetch(value(), function() {
- autocomplete();
+ if (input.property('selectionEnd') === input.property('value').length) {
+ autocomplete();
+ }
render();
});
}
if (event[p] != binding.event[p])
return false;
}
-
- return (!binding.capture) === (event.eventPhase !== Event.CAPTURING_PHASE);
+ return true;
}
- function capture() {
+ function testBindings(isCapturing) {
for (var i = 0; i < bindings.length; i++) {
var binding = bindings[i];
- if (matches(binding, d3.event)) {
+
+ if (!!binding.capture === isCapturing && matches(binding, d3.event)) {
binding.callback();
}
}
}
+ function capture() {
+ testBindings(true);
+ }
+
function bubble() {
var tagName = d3.select(d3.event.target).node().tagName;
if (tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA') {
return;
}
- capture();
+ testBindings(false);
}
function keybinding(selection) {
}
keybinding.off = function(selection) {
+ bindings = [];
selection = selection || d3.select(document);
selection.on('keydown.capture' + namespace, null);
selection.on('keydown.bubble' + namespace, null);
'+': 107, 'plus': 107,
// Num-Subtract, or -
'-': 109, subtract: 109,
- // Firefox Minus
+ // Firefox Plus
'ffplus': 171,
// Firefox Minus
'ffminus': 173,
// we got our Document instance! try: alert((new XMLSerializer()).serializeToString(newDoc));
/**
* @license
- * lodash 3.9.3 (Custom Build) <https://lodash.com/>
- * Build: `lodash --development --output js/lib/lodash.js include="any,assign,bind,chunk,clone,compact,contains,debounce,difference,each,every,extend,filter,find,first,forEach,forOwn,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,pairs,pluck,reject,some,throttle,union,uniq,unique,values,without,flatten,value,chain,cloneDeep,merge,pick,reduce" exports="global,node"`
- * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * lodash (Custom Build) <https://lodash.com/>
+ * Build: `lodash --development --output js/lib/lodash.js include="includes,toPairs,assign,bind,chunk,clone,compact,debounce,difference,each,every,extend,filter,find,first,forEach,forOwn,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,reject,some,throttle,union,uniq,values,without,flatten,value,chain,cloneDeep,merge,pick,reduce" exports="global,node"`
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
+ * Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- * Available under MIT license <https://lodash.com/license>
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/
;(function() {
var undefined;
/** Used as the semantic version number. */
- var VERSION = '3.9.3';
+ var VERSION = '4.12.0';
+
+ /** Used as the size to enable large array optimizations. */
+ var LARGE_ARRAY_SIZE = 200;
+
+ /** Used as the `TypeError` message for "Functions" methods. */
+ var FUNC_ERROR_TEXT = 'Expected a function';
+
+ /** Used to stand-in for `undefined` hash values. */
+ var HASH_UNDEFINED = '__lodash_hash_undefined__';
+
+ /** Used as the internal argument placeholder. */
+ var PLACEHOLDER = '__lodash_placeholder__';
/** Used to compose bitmasks for wrapper metadata. */
var BIND_FLAG = 1,
PARTIAL_FLAG = 32,
PARTIAL_RIGHT_FLAG = 64,
ARY_FLAG = 128,
- REARG_FLAG = 256;
+ REARG_FLAG = 256,
+ FLIP_FLAG = 512;
+
+ /** Used to compose bitmasks for comparison styles. */
+ var UNORDERED_COMPARE_FLAG = 1,
+ PARTIAL_COMPARE_FLAG = 2;
- /** Used to detect when a function becomes hot. */
+ /** Used to detect hot functions by number of calls within a span of milliseconds. */
var HOT_COUNT = 150,
HOT_SPAN = 16;
/** Used to indicate the type of lazy iteratees. */
- var LAZY_DROP_WHILE_FLAG = 0,
- LAZY_FILTER_FLAG = 1,
- LAZY_MAP_FLAG = 2;
+ var LAZY_FILTER_FLAG = 1,
+ LAZY_MAP_FLAG = 2,
+ LAZY_WHILE_FLAG = 3;
- /** Used as the `TypeError` message for "Functions" methods. */
- var FUNC_ERROR_TEXT = 'Expected a function';
+ /** Used as references for various `Number` constants. */
+ var INFINITY = 1 / 0,
+ MAX_SAFE_INTEGER = 9007199254740991,
+ MAX_INTEGER = 1.7976931348623157e+308,
+ NAN = 0 / 0;
- /** Used as the internal argument placeholder. */
- var PLACEHOLDER = '__lodash_placeholder__';
+ /** Used as references for the maximum length and index of an array. */
+ var MAX_ARRAY_LENGTH = 4294967295;
/** `Object#toString` result references. */
var argsTag = '[object Arguments]',
dateTag = '[object Date]',
errorTag = '[object Error]',
funcTag = '[object Function]',
+ genTag = '[object GeneratorFunction]',
mapTag = '[object Map]',
numberTag = '[object Number]',
objectTag = '[object Object]',
+ promiseTag = '[object Promise]',
regexpTag = '[object RegExp]',
setTag = '[object Set]',
stringTag = '[object String]',
+ symbolTag = '[object Symbol]',
weakMapTag = '[object WeakMap]';
var arrayBufferTag = '[object ArrayBuffer]',
+ dataViewTag = '[object DataView]',
float32Tag = '[object Float32Array]',
float64Tag = '[object Float64Array]',
int8Tag = '[object Int8Array]',
uint32Tag = '[object Uint32Array]';
/** Used to match property names within property paths. */
- var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,
+ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
reIsPlainProp = /^\w*$/,
- rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
+ rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g;
/**
- * Used to match `RegExp` [special characters](http://www.regular-expressions.info/characters.html#special).
- * In addition to special characters the forward slash is escaped to allow for
- * easier `eval` use and `Function` compilation.
+ * Used to match `RegExp`
+ * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).
*/
- var reRegExpChars = /[.*+?^${}()|[\]\/\\]/g,
- reHasRegExpChars = RegExp(reRegExpChars.source);
+ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
+
+ /** Used to match leading and trailing whitespace. */
+ var reTrim = /^\s+|\s+$/g;
/** Used to match backslashes in property paths. */
var reEscapeChar = /\\(\\)?/g;
/** Used to match `RegExp` flags from their coerced string values. */
var reFlags = /\w*$/;
- /** Used to detect host constructors (Safari > 5). */
+ /** Used to detect bad signed hexadecimal string values. */
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+
+ /** Used to detect binary string values. */
+ var reIsBinary = /^0b[01]+$/i;
+
+ /** Used to detect host constructors (Safari). */
var reIsHostCtor = /^\[object .+?Constructor\]$/;
- /** Used to detect unsigned integer values. */
- var reIsUint = /^\d+$/;
+ /** Used to detect octal string values. */
+ var reIsOctal = /^0o[0-7]+$/i;
- /** Used to fix the JScript `[[DontEnum]]` bug. */
- var shadowProps = [
- 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable',
- 'toLocaleString', 'toString', 'valueOf'
- ];
+ /** Used to detect unsigned integer values. */
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
+
+ /** Used to compose unicode character classes. */
+ var rsAstralRange = '\\ud800-\\udfff',
+ rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
+ rsComboSymbolsRange = '\\u20d0-\\u20f0',
+ rsVarRange = '\\ufe0e\\ufe0f';
+
+ /** Used to compose unicode capture groups. */
+ var rsAstral = '[' + rsAstralRange + ']',
+ rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',
+ rsFitz = '\\ud83c[\\udffb-\\udfff]',
+ rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
+ rsNonAstral = '[^' + rsAstralRange + ']',
+ rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
+ rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
+ rsZWJ = '\\u200d';
+
+ /** Used to compose unicode regexes. */
+ var reOptMod = rsModifier + '?',
+ rsOptVar = '[' + rsVarRange + ']?',
+ rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
+ rsSeq = rsOptVar + reOptMod + rsOptJoin,
+ rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
+
+ /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
+ var reComplexSymbol = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
/** Used to identify `toStringTag` values of typed arrays. */
var typedArrayTags = {};
typedArrayTags[uint32Tag] = true;
typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
- typedArrayTags[dateTag] = typedArrayTags[errorTag] =
- typedArrayTags[funcTag] = typedArrayTags[mapTag] =
- typedArrayTags[numberTag] = typedArrayTags[objectTag] =
- typedArrayTags[regexpTag] = typedArrayTags[setTag] =
- typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+ typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
+ typedArrayTags[errorTag] = typedArrayTags[funcTag] =
+ typedArrayTags[mapTag] = typedArrayTags[numberTag] =
+ typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
+ typedArrayTags[setTag] = typedArrayTags[stringTag] =
+ typedArrayTags[weakMapTag] = false;
/** Used to identify `toStringTag` values supported by `_.clone`. */
var cloneableTags = {};
cloneableTags[argsTag] = cloneableTags[arrayTag] =
- cloneableTags[arrayBufferTag] = cloneableTags[boolTag] =
- cloneableTags[dateTag] = cloneableTags[float32Tag] =
- cloneableTags[float64Tag] = cloneableTags[int8Tag] =
- cloneableTags[int16Tag] = cloneableTags[int32Tag] =
+ cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
+ cloneableTags[boolTag] = cloneableTags[dateTag] =
+ cloneableTags[float32Tag] = cloneableTags[float64Tag] =
+ cloneableTags[int8Tag] = cloneableTags[int16Tag] =
+ cloneableTags[int32Tag] = cloneableTags[mapTag] =
cloneableTags[numberTag] = cloneableTags[objectTag] =
- cloneableTags[regexpTag] = cloneableTags[stringTag] =
+ cloneableTags[regexpTag] = cloneableTags[setTag] =
+ cloneableTags[stringTag] = cloneableTags[symbolTag] =
cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
cloneableTags[errorTag] = cloneableTags[funcTag] =
- cloneableTags[mapTag] = cloneableTags[setTag] =
cloneableTags[weakMapTag] = false;
- /** Used as an internal `_.debounce` options object by `_.throttle`. */
- var debounceOptions = {
- 'leading': false,
- 'maxWait': 0,
- 'trailing': false
- };
-
/** Used to determine if values are of the language type `Object`. */
var objectTypes = {
'function': true,
'object': true
};
+ /** Built-in method references without a dependency on `root`. */
+ var freeParseInt = parseInt;
+
/** Detect free variable `exports`. */
- var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
+ var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
+ ? exports
+ : undefined;
/** Detect free variable `module`. */
- var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
+ var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
+ ? module
+ : undefined;
+
+ /** Detect the popular CommonJS extension `module.exports`. */
+ var moduleExports = (freeModule && freeModule.exports === freeExports)
+ ? freeExports
+ : undefined;
/** Detect free variable `global` from Node.js. */
- var freeGlobal = freeExports && freeModule && typeof global == 'object' && global && global.Object && global;
+ var freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);
/** Detect free variable `self`. */
- var freeSelf = objectTypes[typeof self] && self && self.Object && self;
+ var freeSelf = checkGlobal(objectTypes[typeof self] && self);
/** Detect free variable `window`. */
- var freeWindow = objectTypes[typeof window] && window && window.Object && window;
+ var freeWindow = checkGlobal(objectTypes[typeof window] && window);
- /** Detect the popular CommonJS extension `module.exports`. */
- var moduleExports = freeModule && freeModule.exports === freeExports && freeExports;
+ /** Detect `this` as the global object. */
+ var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
/**
* Used as a reference to the global object.
* The `this` value is used if it's the global object to avoid Greasemonkey's
* restricted `window` object, otherwise the `window` object is used.
*/
- var root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;
+ var root = freeGlobal ||
+ ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||
+ freeSelf || thisGlobal || Function('return this')();
/*--------------------------------------------------------------------------*/
+ /**
+ * Adds the key-value `pair` to `map`.
+ *
+ * @private
+ * @param {Object} map The map to modify.
+ * @param {Array} pair The key-value pair to add.
+ * @returns {Object} Returns `map`.
+ */
+ function addMapEntry(map, pair) {
+ // Don't return `Map#set` because it doesn't return the map instance in IE 11.
+ map.set(pair[0], pair[1]);
+ return map;
+ }
+
+ /**
+ * Adds `value` to `set`.
+ *
+ * @private
+ * @param {Object} set The set to modify.
+ * @param {*} value The value to add.
+ * @returns {Object} Returns `set`.
+ */
+ function addSetEntry(set, value) {
+ set.add(value);
+ return set;
+ }
+
+ /**
+ * A faster alternative to `Function#apply`, this function invokes `func`
+ * with the `this` binding of `thisArg` and the arguments of `args`.
+ *
+ * @private
+ * @param {Function} func The function to invoke.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {Array} args The arguments to invoke `func` with.
+ * @returns {*} Returns the result of `func`.
+ */
+ function apply(func, thisArg, args) {
+ var length = args.length;
+ switch (length) {
+ case 0: return func.call(thisArg);
+ case 1: return func.call(thisArg, args[0]);
+ case 2: return func.call(thisArg, args[0], args[1]);
+ case 3: return func.call(thisArg, args[0], args[1], args[2]);
+ }
+ return func.apply(thisArg, args);
+ }
+
+ /**
+ * A specialized version of `baseAggregator` for arrays.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} setter The function to set `accumulator` values.
+ * @param {Function} iteratee The iteratee to transform keys.
+ * @param {Object} accumulator The initial aggregated object.
+ * @returns {Function} Returns `accumulator`.
+ */
+ function arrayAggregator(array, setter, iteratee, accumulator) {
+ var index = -1,
+ length = array.length;
+
+ while (++index < length) {
+ var value = array[index];
+ setter(accumulator, value, iteratee(value), array);
+ }
+ return accumulator;
+ }
+
+ /**
+ * A specialized version of `_.forEach` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns `array`.
+ */
+ function arrayEach(array, iteratee) {
+ var index = -1,
+ length = array.length;
+
+ while (++index < length) {
+ if (iteratee(array[index], index, array) === false) {
+ break;
+ }
+ }
+ return array;
+ }
+
+ /**
+ * A specialized version of `_.every` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
+ * else `false`.
+ */
+ function arrayEvery(array, predicate) {
+ var index = -1,
+ length = array.length;
+
+ while (++index < length) {
+ if (!predicate(array[index], index, array)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * A specialized version of `_.filter` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Array} Returns the new filtered array.
+ */
+ function arrayFilter(array, predicate) {
+ var index = -1,
+ length = array.length,
+ resIndex = 0,
+ result = [];
+
+ while (++index < length) {
+ var value = array[index];
+ if (predicate(value, index, array)) {
+ result[resIndex++] = value;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * A specialized version of `_.includes` for arrays without support for
+ * specifying an index to search from.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {*} target The value to search for.
+ * @returns {boolean} Returns `true` if `target` is found, else `false`.
+ */
+ function arrayIncludes(array, value) {
+ return !!array.length && baseIndexOf(array, value, 0) > -1;
+ }
+
+ /**
+ * This function is like `arrayIncludes` except that it accepts a comparator.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {*} target The value to search for.
+ * @param {Function} comparator The comparator invoked per element.
+ * @returns {boolean} Returns `true` if `target` is found, else `false`.
+ */
+ function arrayIncludesWith(array, value, comparator) {
+ var index = -1,
+ length = array.length;
+
+ while (++index < length) {
+ if (comparator(value, array[index])) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * A specialized version of `_.map` for arrays without support for iteratee
+ * shorthands.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the new mapped array.
+ */
+ function arrayMap(array, iteratee) {
+ var index = -1,
+ length = array.length,
+ result = Array(length);
+
+ while (++index < length) {
+ result[index] = iteratee(array[index], index, array);
+ }
+ return result;
+ }
+
+ /**
+ * Appends the elements of `values` to `array`.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {Array} values The values to append.
+ * @returns {Array} Returns `array`.
+ */
+ function arrayPush(array, values) {
+ var index = -1,
+ length = values.length,
+ offset = array.length;
+
+ while (++index < length) {
+ array[offset + index] = values[index];
+ }
+ return array;
+ }
+
+ /**
+ * A specialized version of `_.reduce` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {boolean} [initAccum] Specify using the first element of `array` as
+ * the initial value.
+ * @returns {*} Returns the accumulated value.
+ */
+ function arrayReduce(array, iteratee, accumulator, initAccum) {
+ var index = -1,
+ length = array.length;
+
+ if (initAccum && length) {
+ accumulator = array[++index];
+ }
+ while (++index < length) {
+ accumulator = iteratee(accumulator, array[index], index, array);
+ }
+ return accumulator;
+ }
+
+ /**
+ * A specialized version of `_.some` for arrays without support for iteratee
+ * shorthands.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ */
+ function arraySome(array, predicate) {
+ var index = -1,
+ length = array.length;
+
+ while (++index < length) {
+ if (predicate(array[index], index, array)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * The base implementation of methods like `_.find` and `_.findKey`, without
+ * support for iteratee shorthands, which iterates over `collection` using
+ * `eachFunc`.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to search.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {Function} eachFunc The function to iterate over `collection`.
+ * @param {boolean} [retKey] Specify returning the key of the found element
+ * instead of the element itself.
+ * @returns {*} Returns the found element or its key, else `undefined`.
+ */
+ function baseFind(collection, predicate, eachFunc, retKey) {
+ var result;
+ eachFunc(collection, function(value, key, collection) {
+ if (predicate(value, key, collection)) {
+ result = retKey ? key : value;
+ return false;
+ }
+ });
+ return result;
+ }
+
/**
* The base implementation of `_.findIndex` and `_.findLastIndex` without
- * support for callback shorthands and `this` binding.
+ * support for iteratee shorthands.
*
* @private
* @param {Array} array The array to search.
}
/**
- * The base implementation of `_.indexOf` without support for binary searches.
+ * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
*
* @private
* @param {Array} array The array to search.
}
/**
- * The base implementation of `_.isFunction` without support for environments
- * with incorrect `typeof` results.
+ * The base implementation of `_.reduce` and `_.reduceRight`, without support
+ * for iteratee shorthands, which iterates over `collection` using `eachFunc`.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} accumulator The initial value.
+ * @param {boolean} initAccum Specify using the first or last element of
+ * `collection` as the initial value.
+ * @param {Function} eachFunc The function to iterate over `collection`.
+ * @returns {*} Returns the accumulated value.
+ */
+ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
+ eachFunc(collection, function(value, index, collection) {
+ accumulator = initAccum
+ ? (initAccum = false, value)
+ : iteratee(accumulator, value, index, collection);
+ });
+ return accumulator;
+ }
+
+ /**
+ * The base implementation of `_.times` without support for iteratee shorthands
+ * or max array length checks.
+ *
+ * @private
+ * @param {number} n The number of times to invoke `iteratee`.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the array of results.
+ */
+ function baseTimes(n, iteratee) {
+ var index = -1,
+ result = Array(n);
+
+ while (++index < n) {
+ result[index] = iteratee(index);
+ }
+ return result;
+ }
+
+ /**
+ * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array
+ * of key-value pairs for `object` corresponding to the property names of `props`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array} props The property names to get values for.
+ * @returns {Object} Returns the key-value pairs.
+ */
+ function baseToPairs(object, props) {
+ return arrayMap(props, function(key) {
+ return [key, object[key]];
+ });
+ }
+
+ /**
+ * The base implementation of `_.unary` without support for storing wrapper metadata.
+ *
+ * @private
+ * @param {Function} func The function to cap arguments for.
+ * @returns {Function} Returns the new capped function.
+ */
+ function baseUnary(func) {
+ return function(value) {
+ return func(value);
+ };
+ }
+
+ /**
+ * The base implementation of `_.values` and `_.valuesIn` which creates an
+ * array of `object` property values corresponding to the property names
+ * of `props`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array} props The property names to get values for.
+ * @returns {Object} Returns the array of property values.
+ */
+ function baseValues(object, props) {
+ return arrayMap(props, function(key) {
+ return object[key];
+ });
+ }
+
+ /**
+ * Checks if a cache value for `key` exists.
+ *
+ * @private
+ * @param {Object} cache The cache to query.
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function cacheHas(cache, key) {
+ return cache.has(key);
+ }
+
+ /**
+ * Checks if `value` is a global object.
*
* @private
* @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @returns {null|Object} Returns `value` if it's a global object, else `null`.
*/
- function baseIsFunction(value) {
- // Avoid a Chakra JIT bug in compatibility modes of IE 11.
- // See https://github.com/jashkenas/underscore/issues/1621 for more details.
- return typeof value == 'function' || false;
+ function checkGlobal(value) {
+ return (value && value.Object === Object) ? value : null;
}
/**
- * Converts `value` to a string if it's not one. An empty string is returned
- * for `null` or `undefined` values.
+ * Gets the number of `placeholder` occurrences in `array`.
*
* @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
+ * @param {Array} array The array to inspect.
+ * @param {*} placeholder The placeholder to search for.
+ * @returns {number} Returns the placeholder count.
*/
- function baseToString(value) {
- if (typeof value == 'string') {
- return value;
+ function countHolders(array, placeholder) {
+ var length = array.length,
+ result = 0;
+
+ while (length--) {
+ if (array[length] === placeholder) {
+ result++;
+ }
}
- return value == null ? '' : (value + '');
+ return result;
}
/**
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a host object, else `false`.
*/
- var isHostObject = (function() {
- try {
- Object({ 'toString': 0 } + '');
- } catch(e) {
- return function() { return false; };
+ function isHostObject(value) {
+ // Many host objects are `Object` objects that can coerce to strings
+ // despite having improperly defined `toString` methods.
+ var result = false;
+ if (value != null && typeof value.toString != 'function') {
+ try {
+ result = !!(value + '');
+ } catch (e) {}
}
- return function(value) {
- // IE < 9 presents many host objects as `Object` objects that can coerce
- // to strings despite having improperly defined `toString` methods.
- return typeof value.toString != 'function' && typeof (value + '') == 'string';
- };
- }());
+ return result;
+ }
/**
- * Checks if `value` is object-like.
+ * Converts `iterator` to an array.
*
* @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ * @param {Object} iterator The iterator to convert.
+ * @returns {Array} Returns the converted array.
*/
- function isObjectLike(value) {
- return !!value && typeof value == 'object';
+ function iteratorToArray(iterator) {
+ var data,
+ result = [];
+
+ while (!(data = iterator.next()).done) {
+ result.push(data.value);
+ }
+ return result;
+ }
+
+ /**
+ * Converts `map` to its key-value pairs.
+ *
+ * @private
+ * @param {Object} map The map to convert.
+ * @returns {Array} Returns the key-value pairs.
+ */
+ function mapToArray(map) {
+ var index = -1,
+ result = Array(map.size);
+
+ map.forEach(function(value, key) {
+ result[++index] = [key, value];
+ });
+ return result;
}
/**
function replaceHolders(array, placeholder) {
var index = -1,
length = array.length,
- resIndex = -1,
+ resIndex = 0,
result = [];
while (++index < length) {
- if (array[index] === placeholder) {
+ var value = array[index];
+ if (value === placeholder || value === PLACEHOLDER) {
array[index] = PLACEHOLDER;
- result[++resIndex] = index;
+ result[resIndex++] = index;
}
}
return result;
}
/**
- * An implementation of `_.uniq` optimized for sorted arrays without support
- * for callback shorthands and `this` binding.
+ * Converts `set` to an array of its values.
*
* @private
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee] The function invoked per iteration.
- * @returns {Array} Returns the new duplicate-value-free array.
+ * @param {Object} set The set to convert.
+ * @returns {Array} Returns the values.
*/
- function sortedUniq(array, iteratee) {
- var seen,
- index = -1,
- length = array.length,
- resIndex = -1,
- result = [];
+ function setToArray(set) {
+ var index = -1,
+ result = Array(set.size);
- while (++index < length) {
- var value = array[index],
- computed = iteratee ? iteratee(value, index, array) : value;
+ set.forEach(function(value) {
+ result[++index] = value;
+ });
+ return result;
+ }
- if (!index || seen !== computed) {
- seen = computed;
- result[++resIndex] = value;
- }
- }
+ /**
+ * Converts `set` to its value-value pairs.
+ *
+ * @private
+ * @param {Object} set The set to convert.
+ * @returns {Array} Returns the value-value pairs.
+ */
+ function setToPairs(set) {
+ var index = -1,
+ result = Array(set.size);
+
+ set.forEach(function(value) {
+ result[++index] = [value, value];
+ });
return result;
}
+ /**
+ * Converts `string` to an array.
+ *
+ * @private
+ * @param {string} string The string to convert.
+ * @returns {Array} Returns the converted array.
+ */
+ function stringToArray(string) {
+ return string.match(reComplexSymbol);
+ }
+
/*--------------------------------------------------------------------------*/
- /** Used for native method references. */
+ /** Used for built-in method references. */
var arrayProto = Array.prototype,
- errorProto = Error.prototype,
- objectProto = Object.prototype,
- stringProto = String.prototype;
+ objectProto = Object.prototype;
/** Used to resolve the decompiled source of functions. */
- var fnToString = Function.prototype.toString;
+ var funcToString = Function.prototype.toString;
/** Used to check objects for own properties. */
var hasOwnProperty = objectProto.hasOwnProperty;
+ /** Used to infer the `Object` constructor. */
+ var objectCtorString = funcToString.call(Object);
+
/**
- * Used to resolve the [`toStringTag`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.prototype.tostring)
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
* of values.
*/
- var objToString = objectProto.toString;
+ var objectToString = objectProto.toString;
/** Used to detect if a method is native. */
var reIsNative = RegExp('^' +
- escapeRegExp(fnToString.call(hasOwnProperty))
+ funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
);
- /** Native method references. */
- var ArrayBuffer = getNative(root, 'ArrayBuffer'),
- bufferSlice = getNative(ArrayBuffer && new ArrayBuffer(0), 'slice'),
- ceil = Math.ceil,
- floor = Math.floor,
- getPrototypeOf = getNative(Object, 'getPrototypeOf'),
- push = arrayProto.push,
+ /** Built-in value references. */
+ var Buffer = moduleExports ? root.Buffer : undefined,
+ Reflect = root.Reflect,
+ Symbol = root.Symbol,
+ Uint8Array = root.Uint8Array,
+ enumerate = Reflect ? Reflect.enumerate : undefined,
+ getOwnPropertySymbols = Object.getOwnPropertySymbols,
+ iteratorSymbol = typeof (iteratorSymbol = Symbol && Symbol.iterator) == 'symbol' ? iteratorSymbol : undefined,
+ objectCreate = Object.create,
propertyIsEnumerable = objectProto.propertyIsEnumerable,
- Set = getNative(root, 'Set'),
- splice = arrayProto.splice,
- Uint8Array = getNative(root, 'Uint8Array'),
- WeakMap = getNative(root, 'WeakMap');
-
- /** Used to clone array buffers. */
- var Float64Array = (function() {
- // Safari 5 errors when using an array buffer to initialize a typed array
- // where the array buffer's `byteLength` is not a multiple of the typed
- // array's `BYTES_PER_ELEMENT`.
- try {
- var func = getNative(root, 'Float64Array'),
- result = new func(new ArrayBuffer(10), 0, 1) && func;
- } catch(e) {}
- return result || null;
- }());
+ splice = arrayProto.splice;
- /* Native method references for those with the same name as other `lodash` methods. */
- var nativeCreate = getNative(Object, 'create'),
- nativeIsArray = getNative(Array, 'isArray'),
- nativeKeys = getNative(Object, 'keys'),
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeCeil = Math.ceil,
+ nativeGetPrototype = Object.getPrototypeOf,
+ nativeKeys = Object.keys,
nativeMax = Math.max,
nativeMin = Math.min,
- nativeNow = getNative(Date, 'now');
+ nativeReverse = arrayProto.reverse;
- /** Used as references for `-Infinity` and `Infinity`. */
- var POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
-
- /** Used as references for the maximum length and index of an array. */
- var MAX_ARRAY_LENGTH = 4294967295,
- MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,
- HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
-
- /** Used as the size, in bytes, of each `Float64Array` element. */
- var FLOAT64_BYTES_PER_ELEMENT = Float64Array ? Float64Array.BYTES_PER_ELEMENT : 0;
-
- /**
- * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)
- * of an array-like value.
- */
- var MAX_SAFE_INTEGER = 9007199254740991;
+ /* Built-in method references that are verified to be native. */
+ var DataView = getNative(root, 'DataView'),
+ Map = getNative(root, 'Map'),
+ Promise = getNative(root, 'Promise'),
+ Set = getNative(root, 'Set'),
+ WeakMap = getNative(root, 'WeakMap'),
+ nativeCreate = getNative(Object, 'create');
/** Used to store function metadata. */
var metaMap = WeakMap && new WeakMap;
+ /** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */
+ var nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf');
+
/** Used to lookup unminified function names. */
var realNames = {};
- /** Used to lookup a type array constructors by `toStringTag`. */
- var ctorByTag = {};
- ctorByTag[float32Tag] = root.Float32Array;
- ctorByTag[float64Tag] = root.Float64Array;
- ctorByTag[int8Tag] = root.Int8Array;
- ctorByTag[int16Tag] = root.Int16Array;
- ctorByTag[int32Tag] = root.Int32Array;
- ctorByTag[uint8Tag] = root.Uint8Array;
- ctorByTag[uint8ClampedTag] = root.Uint8ClampedArray;
- ctorByTag[uint16Tag] = root.Uint16Array;
- ctorByTag[uint32Tag] = root.Uint32Array;
-
- /** Used to avoid iterating over non-enumerable properties in IE < 9. */
- var nonEnumProps = {};
- nonEnumProps[arrayTag] = nonEnumProps[dateTag] = nonEnumProps[numberTag] = { 'constructor': true, 'toLocaleString': true, 'toString': true, 'valueOf': true };
- nonEnumProps[boolTag] = nonEnumProps[stringTag] = { 'constructor': true, 'toString': true, 'valueOf': true };
- nonEnumProps[errorTag] = nonEnumProps[funcTag] = nonEnumProps[regexpTag] = { 'constructor': true, 'toString': true };
- nonEnumProps[objectTag] = { 'constructor': true };
-
- arrayEach(shadowProps, function(key) {
- for (var tag in nonEnumProps) {
- if (hasOwnProperty.call(nonEnumProps, tag)) {
- var props = nonEnumProps[tag];
- props[key] = hasOwnProperty.call(props, key);
- }
- }
- });
+ /** Used to detect maps, sets, and weakmaps. */
+ var dataViewCtorString = toSource(DataView),
+ mapCtorString = toSource(Map),
+ promiseCtorString = toSource(Promise),
+ setCtorString = toSource(Set),
+ weakMapCtorString = toSource(WeakMap);
+
+ /** Used to convert symbols to primitives and strings. */
+ var symbolProto = Symbol ? Symbol.prototype : undefined,
+ symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,
+ symbolToString = symbolProto ? symbolProto.toString : undefined;
/*------------------------------------------------------------------------*/
/**
- * Creates a `lodash` object which wraps `value` to enable implicit chaining.
- * Methods that operate on and return arrays, collections, and functions can
- * be chained together. Methods that return a boolean or single value will
- * automatically end the chain returning the unwrapped value. Explicit chaining
- * may be enabled using `_.chain`. The execution of chained methods is lazy,
- * that is, execution is deferred until `_#value` is implicitly or explicitly
- * called.
- *
- * Lazy evaluation allows several methods to support shortcut fusion. Shortcut
- * fusion is an optimization that merges iteratees to avoid creating intermediate
- * arrays and reduce the number of iteratee executions.
+ * Creates a `lodash` object which wraps `value` to enable implicit method
+ * chain sequences. Methods that operate on and return arrays, collections,
+ * and functions can be chained together. Methods that retrieve a single value
+ * or may return a primitive value will automatically end the chain sequence
+ * and return the unwrapped value. Otherwise, the value must be unwrapped
+ * with `_#value`.
+ *
+ * Explicit chain sequences, which must be unwrapped with `_#value`, may be
+ * enabled using `_.chain`.
+ *
+ * The execution of chained methods is lazy, that is, it's deferred until
+ * `_#value` is implicitly or explicitly called.
+ *
+ * Lazy evaluation allows several methods to support shortcut fusion.
+ * Shortcut fusion is an optimization to merge iteratee calls; this avoids
+ * the creation of intermediate arrays and can greatly reduce the number of
+ * iteratee executions. Sections of a chain sequence qualify for shortcut
+ * fusion if the section is applied to an array of at least `200` elements
+ * and any iteratees accept only one argument. The heuristic for whether a
+ * section qualifies for shortcut fusion is subject to change.
*
* Chaining is supported in custom builds as long as the `_#value` method is
* directly or indirectly included in the build.
* In addition to lodash methods, wrappers have `Array` and `String` methods.
*
* The wrapper `Array` methods are:
- * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`,
- * `splice`, and `unshift`
+ * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
*
* The wrapper `String` methods are:
* `replace` and `split`
*
* The wrapper methods that support shortcut fusion are:
- * `compact`, `drop`, `dropRight`, `dropRightWhile`, `dropWhile`, `filter`,
- * `first`, `initial`, `last`, `map`, `pluck`, `reject`, `rest`, `reverse`,
- * `slice`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `toArray`,
- * and `where`
+ * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
+ * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
+ * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
*
* The chainable wrapper methods are:
- * `after`, `ary`, `assign`, `at`, `before`, `bind`, `bindAll`, `bindKey`,
- * `callback`, `chain`, `chunk`, `commit`, `compact`, `concat`, `constant`,
- * `countBy`, `create`, `curry`, `debounce`, `defaults`, `defer`, `delay`,
- * `difference`, `drop`, `dropRight`, `dropRightWhile`, `dropWhile`, `fill`,
- * `filter`, `flatten`, `flattenDeep`, `flow`, `flowRight`, `forEach`,
- * `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `functions`,
- * `groupBy`, `indexBy`, `initial`, `intersection`, `invert`, `invoke`, `keys`,
- * `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
- * `memoize`, `merge`, `method`, `methodOf`, `mixin`, `negate`, `omit`, `once`,
- * `pairs`, `partial`, `partialRight`, `partition`, `pick`, `plant`, `pluck`,
- * `property`, `propertyOf`, `pull`, `pullAt`, `push`, `range`, `rearg`,
- * `reject`, `remove`, `rest`, `restParam`, `reverse`, `set`, `shuffle`,
- * `slice`, `sort`, `sortBy`, `sortByAll`, `sortByOrder`, `splice`, `spread`,
- * `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `tap`, `throttle`,
- * `thru`, `times`, `toArray`, `toPlainObject`, `transform`, `union`, `uniq`,
- * `unshift`, `unzip`, `unzipWith`, `values`, `valuesIn`, `where`, `without`,
- * `wrap`, `xor`, `zip`, `zipObject`, `zipWith`
+ * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
+ * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
+ * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
+ * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
+ * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
+ * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
+ * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
+ * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
+ * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
+ * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
+ * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
+ * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
+ * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
+ * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
+ * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
+ * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
+ * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
+ * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
+ * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
+ * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
+ * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
+ * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
+ * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
+ * `zipObject`, `zipObjectDeep`, and `zipWith`
*
* The wrapper methods that are **not** chainable by default are:
- * `add`, `attempt`, `camelCase`, `capitalize`, `clone`, `cloneDeep`, `deburr`,
- * `endsWith`, `escape`, `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`,
- * `findLast`, `findLastIndex`, `findLastKey`, `findWhere`, `first`, `get`,
- * `gt`, `gte`, `has`, `identity`, `includes`, `indexOf`, `inRange`, `isArguments`,
- * `isArray`, `isBoolean`, `isDate`, `isElement`, `isEmpty`, `isEqual`, `isError`,
- * `isFinite` `isFunction`, `isMatch`, `isNative`, `isNaN`, `isNull`, `isNumber`,
- * `isObject`, `isPlainObject`, `isRegExp`, `isString`, `isUndefined`,
- * `isTypedArray`, `join`, `kebabCase`, `last`, `lastIndexOf`, `lt`, `lte`,
- * `max`, `min`, `noConflict`, `noop`, `now`, `pad`, `padLeft`, `padRight`,
- * `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, `repeat`, `result`,
- * `runInContext`, `shift`, `size`, `snakeCase`, `some`, `sortedIndex`,
- * `sortedLastIndex`, `startCase`, `startsWith`, `sum`, `template`, `trim`,
- * `trimLeft`, `trimRight`, `trunc`, `unescape`, `uniqueId`, `value`, and `words`
- *
- * The wrapper method `sample` will return a wrapped value when `n` is provided,
- * otherwise an unwrapped value is returned.
+ * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
+ * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `deburr`, `divide`, `each`,
+ * `eachRight`, `endsWith`, `eq`, `escape`, `escapeRegExp`, `every`, `find`,
+ * `findIndex`, `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `first`,
+ * `floor`, `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`,
+ * `forOwnRight`, `get`, `gt`, `gte`, `has`, `hasIn`, `head`, `identity`,
+ * `includes`, `indexOf`, `inRange`, `invoke`, `isArguments`, `isArray`,
+ * `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, `isBoolean`,
+ * `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, `isEqualWith`,
+ * `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, `isMap`,
+ * `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, `isNumber`,
+ * `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, `isSafeInteger`,
+ * `isSet`, `isString`, `isUndefined`, `isTypedArray`, `isWeakMap`, `isWeakSet`,
+ * `join`, `kebabCase`, `last`, `lastIndexOf`, `lowerCase`, `lowerFirst`,
+ * `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, `min`, `minBy`, `multiply`,
+ * `noConflict`, `noop`, `now`, `nth`, `pad`, `padEnd`, `padStart`, `parseInt`,
+ * `pop`, `random`, `reduce`, `reduceRight`, `repeat`, `result`, `round`,
+ * `runInContext`, `sample`, `shift`, `size`, `snakeCase`, `some`, `sortedIndex`,
+ * `sortedIndexBy`, `sortedLastIndex`, `sortedLastIndexBy`, `startCase`,
+ * `startsWith`, `subtract`, `sum`, `sumBy`, `template`, `times`, `toFinite`,
+ * `toInteger`, `toJSON`, `toLength`, `toLower`, `toNumber`, `toSafeInteger`,
+ * `toString`, `toUpper`, `trim`, `trimEnd`, `trimStart`, `truncate`, `unescape`,
+ * `uniqueId`, `upperCase`, `upperFirst`, `value`, and `words`
*
* @name _
* @constructor
- * @category Chain
+ * @category Seq
* @param {*} value The value to wrap in a `lodash` instance.
* @returns {Object} Returns the new `lodash` wrapper instance.
* @example
*
+ * function square(n) {
+ * return n * n;
+ * }
+ *
* var wrapped = _([1, 2, 3]);
*
- * // returns an unwrapped value
- * wrapped.reduce(function(total, n) {
- * return total + n;
- * });
+ * // Returns an unwrapped value.
+ * wrapped.reduce(_.add);
* // => 6
*
- * // returns a wrapped value
- * var squares = wrapped.map(function(n) {
- * return n * n;
- * });
+ * // Returns a wrapped value.
+ * var squares = wrapped.map(square);
*
* _.isArray(squares);
* // => false
if (value instanceof LodashWrapper) {
return value;
}
- if (hasOwnProperty.call(value, '__chain__') && hasOwnProperty.call(value, '__wrapped__')) {
+ if (hasOwnProperty.call(value, '__wrapped__')) {
return wrapperClone(value);
}
}
}
/**
- * The function whose prototype all chaining wrappers inherit from.
+ * The function whose prototype chain sequence wrappers inherit from.
*
* @private
*/
*
* @private
* @param {*} value The value to wrap.
- * @param {boolean} [chainAll] Enable chaining for all wrapper methods.
- * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value.
+ * @param {boolean} [chainAll] Enable explicit method chain sequences.
*/
- function LodashWrapper(value, chainAll, actions) {
+ function LodashWrapper(value, chainAll) {
this.__wrapped__ = value;
- this.__actions__ = actions || [];
+ this.__actions__ = [];
this.__chain__ = !!chainAll;
+ this.__index__ = 0;
+ this.__values__ = undefined;
}
- /**
- * An object environment feature flags.
- *
- * @static
- * @memberOf _
- * @type Object
- */
- var support = lodash.support = {};
-
- (function(x) {
- var Ctor = function() { this.x = x; },
- object = { '0': x, 'length': x },
- props = [];
-
- Ctor.prototype = { 'valueOf': x, 'y': x };
- for (var key in new Ctor) { props.push(key); }
-
- /**
- * Detect if the `toStringTag` of `arguments` objects is resolvable
- * (all but Firefox < 4, IE < 9).
- *
- * @memberOf _.support
- * @type boolean
- */
- support.argsTag = objToString.call(arguments) == argsTag;
-
- /**
- * Detect if `name` or `message` properties of `Error.prototype` are
- * enumerable by default (IE < 9, Safari < 5.1).
- *
- * @memberOf _.support
- * @type boolean
- */
- support.enumErrorProps = propertyIsEnumerable.call(errorProto, 'message') ||
- propertyIsEnumerable.call(errorProto, 'name');
-
- /**
- * Detect if `prototype` properties are enumerable by default.
- *
- * Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1
- * (if the prototype or a property on the prototype has been set)
- * incorrectly set the `[[Enumerable]]` value of a function's `prototype`
- * property to `true`.
- *
- * @memberOf _.support
- * @type boolean
- */
- support.enumPrototypes = propertyIsEnumerable.call(Ctor, 'prototype');
-
- /**
- * Detect if properties shadowing those on `Object.prototype` are non-enumerable.
- *
- * In IE < 9 an object's own properties, shadowing non-enumerable ones,
- * are made non-enumerable as well (a.k.a the JScript `[[DontEnum]]` bug).
- *
- * @memberOf _.support
- * @type boolean
- */
- support.nonEnumShadows = !/valueOf/.test(props);
-
- /**
- * Detect if own properties are iterated after inherited properties (IE < 9).
- *
- * @memberOf _.support
- * @type boolean
- */
- support.ownLast = props[0] != 'x';
-
- /**
- * Detect if `Array#shift` and `Array#splice` augment array-like objects
- * correctly.
- *
- * Firefox < 10, compatibility modes of IE 8, and IE < 9 have buggy Array
- * `shift()` and `splice()` functions that fail to remove the last element,
- * `value[0]`, of array-like objects even though the "length" property is
- * set to `0`. The `shift()` method is buggy in compatibility modes of IE 8,
- * while `splice()` is buggy regardless of mode in IE < 9.
- *
- * @memberOf _.support
- * @type boolean
- */
- support.spliceObjects = (splice.call(object, 0, 1), !object[0]);
+ // Ensure wrappers are instances of `baseLodash`.
+ lodash.prototype = baseLodash.prototype;
+ lodash.prototype.constructor = lodash;
- /**
- * Detect lack of support for accessing string characters by index.
- *
- * IE < 8 can't access characters by index. IE 8 can only access characters
- * by index on string literals, not string objects.
- *
- * @memberOf _.support
- * @type boolean
- */
- support.unindexedChars = ('x'[0] + Object('x')[0]) != 'xx';
- }(1, 0));
+ LodashWrapper.prototype = baseCreate(baseLodash.prototype);
+ LodashWrapper.prototype.constructor = LodashWrapper;
/*------------------------------------------------------------------------*/
* Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
*
* @private
+ * @constructor
* @param {*} value The value to wrap.
*/
function LazyWrapper(value) {
this.__wrapped__ = value;
- this.__actions__ = null;
+ this.__actions__ = [];
this.__dir__ = 1;
- this.__dropCount__ = 0;
this.__filtered__ = false;
- this.__iteratees__ = null;
- this.__takeCount__ = POSITIVE_INFINITY;
- this.__views__ = null;
+ this.__iteratees__ = [];
+ this.__takeCount__ = MAX_ARRAY_LENGTH;
+ this.__views__ = [];
}
/**
* @returns {Object} Returns the cloned `LazyWrapper` object.
*/
function lazyClone() {
- var actions = this.__actions__,
- iteratees = this.__iteratees__,
- views = this.__views__,
- result = new LazyWrapper(this.__wrapped__);
-
- result.__actions__ = actions ? arrayCopy(actions) : null;
+ var result = new LazyWrapper(this.__wrapped__);
+ result.__actions__ = copyArray(this.__actions__);
result.__dir__ = this.__dir__;
result.__filtered__ = this.__filtered__;
- result.__iteratees__ = iteratees ? arrayCopy(iteratees) : null;
+ result.__iteratees__ = copyArray(this.__iteratees__);
result.__takeCount__ = this.__takeCount__;
- result.__views__ = views ? arrayCopy(views) : null;
+ result.__views__ = copyArray(this.__views__);
return result;
}
* @returns {*} Returns the unwrapped value.
*/
function lazyValue() {
- var array = this.__wrapped__.value();
- if (!isArray(array)) {
- return baseWrapperValue(array, this.__actions__);
- }
- var dir = this.__dir__,
+ var array = this.__wrapped__.value(),
+ dir = this.__dir__,
+ isArr = isArray(array),
isRight = dir < 0,
- view = getView(0, array.length, this.__views__),
+ arrLength = isArr ? array.length : 0,
+ view = getView(0, arrLength, this.__views__),
start = view.start,
end = view.end,
length = end - start,
index = isRight ? end : (start - 1),
- takeCount = nativeMin(length, this.__takeCount__),
iteratees = this.__iteratees__,
- iterLength = iteratees ? iteratees.length : 0,
+ iterLength = iteratees.length,
resIndex = 0,
- result = [];
+ takeCount = nativeMin(length, this.__takeCount__);
+
+ if (!isArr || arrLength < LARGE_ARRAY_SIZE ||
+ (arrLength == length && takeCount == length)) {
+ return baseWrapperValue(array, this.__actions__);
+ }
+ var result = [];
outer:
while (length-- && resIndex < takeCount) {
while (++iterIndex < iterLength) {
var data = iteratees[iterIndex],
iteratee = data.iteratee,
- type = data.type;
+ type = data.type,
+ computed = iteratee(value);
- if (type == LAZY_DROP_WHILE_FLAG) {
- if (data.done && (isRight ? (index > data.index) : (index < data.index))) {
- data.count = 0;
- data.done = false;
- }
- data.index = index;
- if (!data.done) {
- var limit = data.limit;
- if (!(data.done = limit > -1 ? (data.count++ >= limit) : !iteratee(value))) {
- continue outer;
- }
- }
- } else {
- var computed = iteratee(value);
- if (type == LAZY_MAP_FLAG) {
- value = computed;
- } else if (!computed) {
- if (type == LAZY_FILTER_FLAG) {
- continue outer;
- } else {
- break outer;
- }
+ if (type == LAZY_MAP_FLAG) {
+ value = computed;
+ } else if (!computed) {
+ if (type == LAZY_FILTER_FLAG) {
+ continue outer;
+ } else {
+ break outer;
}
}
}
return result;
}
+ // Ensure `LazyWrapper` is an instance of `baseLodash`.
+ LazyWrapper.prototype = baseCreate(baseLodash.prototype);
+ LazyWrapper.prototype.constructor = LazyWrapper;
+
/*------------------------------------------------------------------------*/
/**
- *
- * Creates a cache object to store unique values.
+ * Creates a hash object.
*
* @private
- * @param {Array} [values] The values to cache.
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
*/
- function SetCache(values) {
- var length = values ? values.length : 0;
+ function Hash(entries) {
+ var index = -1,
+ length = entries ? entries.length : 0;
- this.data = { 'hash': nativeCreate(null), 'set': new Set };
- while (length--) {
- this.push(values[length]);
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
}
}
/**
- * Checks if `value` is in `cache` mimicking the return signature of
- * `_.indexOf` by returning `0` if the value is found, else `-1`.
+ * Removes all key-value entries from the hash.
*
* @private
- * @param {Object} cache The cache to search.
- * @param {*} value The value to search for.
- * @returns {number} Returns `0` if `value` is found, else `-1`.
+ * @name clear
+ * @memberOf Hash
*/
- function cacheIndexOf(cache, value) {
- var data = cache.data,
- result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value];
+ function hashClear() {
+ this.__data__ = nativeCreate ? nativeCreate(null) : {};
+ }
- return result ? 0 : -1;
+ /**
+ * Removes `key` and its value from the hash.
+ *
+ * @private
+ * @name delete
+ * @memberOf Hash
+ * @param {Object} hash The hash to modify.
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function hashDelete(key) {
+ return this.has(key) && delete this.__data__[key];
}
/**
- * Adds `value` to the cache.
+ * Gets the hash value for `key`.
*
* @private
- * @name push
- * @memberOf SetCache
- * @param {*} value The value to cache.
+ * @name get
+ * @memberOf Hash
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
*/
- function cachePush(value) {
- var data = this.data;
- if (typeof value == 'string' || isObject(value)) {
- data.set.add(value);
- } else {
- data.hash[value] = true;
+ function hashGet(key) {
+ var data = this.__data__;
+ if (nativeCreate) {
+ var result = data[key];
+ return result === HASH_UNDEFINED ? undefined : result;
}
+ return hasOwnProperty.call(data, key) ? data[key] : undefined;
+ }
+
+ /**
+ * Checks if a hash value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf Hash
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function hashHas(key) {
+ var data = this.__data__;
+ return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
}
+ /**
+ * Sets the hash `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf Hash
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the hash instance.
+ */
+ function hashSet(key, value) {
+ var data = this.__data__;
+ data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
+ return this;
+ }
+
+ // Add methods to `Hash`.
+ Hash.prototype.clear = hashClear;
+ Hash.prototype['delete'] = hashDelete;
+ Hash.prototype.get = hashGet;
+ Hash.prototype.has = hashHas;
+ Hash.prototype.set = hashSet;
+
/*------------------------------------------------------------------------*/
/**
- * Copies the values of `source` to `array`.
+ * Creates an list cache object.
*
* @private
- * @param {Array} source The array to copy values from.
- * @param {Array} [array=[]] The array to copy values to.
- * @returns {Array} Returns `array`.
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
*/
- function arrayCopy(source, array) {
+ function ListCache(entries) {
var index = -1,
- length = source.length;
+ length = entries ? entries.length : 0;
- array || (array = Array(length));
+ this.clear();
while (++index < length) {
- array[index] = source[index];
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
}
- return array;
}
/**
- * A specialized version of `_.forEach` for arrays without support for callback
- * shorthands and `this` binding.
+ * Removes all key-value entries from the list cache.
*
* @private
- * @param {Array} array The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns `array`.
+ * @name clear
+ * @memberOf ListCache
*/
- function arrayEach(array, iteratee) {
- var index = -1,
- length = array.length;
-
- while (++index < length) {
- if (iteratee(array[index], index, array) === false) {
- break;
- }
- }
- return array;
+ function listCacheClear() {
+ this.__data__ = [];
}
/**
- * A specialized version of `_.every` for arrays without support for callback
- * shorthands and `this` binding.
+ * Removes `key` and its value from the list cache.
*
* @private
- * @param {Array} array The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if all elements pass the predicate check,
- * else `false`.
+ * @name delete
+ * @memberOf ListCache
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
*/
- function arrayEvery(array, predicate) {
- var index = -1,
- length = array.length;
+ function listCacheDelete(key) {
+ var data = this.__data__,
+ index = assocIndexOf(data, key);
- while (++index < length) {
- if (!predicate(array[index], index, array)) {
- return false;
- }
+ if (index < 0) {
+ return false;
+ }
+ var lastIndex = data.length - 1;
+ if (index == lastIndex) {
+ data.pop();
+ } else {
+ splice.call(data, index, 1);
}
return true;
}
/**
- * A specialized version of `_.filter` for arrays without support for callback
- * shorthands and `this` binding.
+ * Gets the list cache value for `key`.
*
* @private
- * @param {Array} array The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {Array} Returns the new filtered array.
+ * @name get
+ * @memberOf ListCache
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
*/
- function arrayFilter(array, predicate) {
- var index = -1,
- length = array.length,
- resIndex = -1,
- result = [];
+ function listCacheGet(key) {
+ var data = this.__data__,
+ index = assocIndexOf(data, key);
- while (++index < length) {
- var value = array[index];
- if (predicate(value, index, array)) {
- result[++resIndex] = value;
- }
- }
- return result;
+ return index < 0 ? undefined : data[index][1];
}
/**
- * A specialized version of `_.map` for arrays without support for callback
- * shorthands and `this` binding.
+ * Checks if a list cache value for `key` exists.
*
* @private
- * @param {Array} array The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the new mapped array.
+ * @name has
+ * @memberOf ListCache
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
*/
- function arrayMap(array, iteratee) {
- var index = -1,
- length = array.length,
- result = Array(length);
+ function listCacheHas(key) {
+ return assocIndexOf(this.__data__, key) > -1;
+ }
- while (++index < length) {
- result[index] = iteratee(array[index], index, array);
+ /**
+ * Sets the list cache `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf ListCache
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the list cache instance.
+ */
+ function listCacheSet(key, value) {
+ var data = this.__data__,
+ index = assocIndexOf(data, key);
+
+ if (index < 0) {
+ data.push([key, value]);
+ } else {
+ data[index][1] = value;
}
- return result;
+ return this;
}
+ // Add methods to `ListCache`.
+ ListCache.prototype.clear = listCacheClear;
+ ListCache.prototype['delete'] = listCacheDelete;
+ ListCache.prototype.get = listCacheGet;
+ ListCache.prototype.has = listCacheHas;
+ ListCache.prototype.set = listCacheSet;
+
+ /*------------------------------------------------------------------------*/
+
/**
- * A specialized version of `_.reduce` for arrays without support for callback
- * shorthands and `this` binding.
+ * Creates a map cache object to store key-value pairs.
*
* @private
- * @param {Array} array The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {*} [accumulator] The initial value.
- * @param {boolean} [initFromArray] Specify using the first element of `array`
- * as the initial value.
- * @returns {*} Returns the accumulated value.
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
*/
- function arrayReduce(array, iteratee, accumulator, initFromArray) {
+ function MapCache(entries) {
var index = -1,
- length = array.length;
+ length = entries ? entries.length : 0;
- if (initFromArray && length) {
- accumulator = array[++index];
- }
+ this.clear();
while (++index < length) {
- accumulator = iteratee(accumulator, array[index], index, array);
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
}
- return accumulator;
}
/**
- * A specialized version of `_.some` for arrays without support for callback
- * shorthands and `this` binding.
+ * Removes all key-value entries from the map.
*
* @private
- * @param {Array} array The array to iterate over.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {boolean} Returns `true` if any element passes the predicate check,
- * else `false`.
+ * @name clear
+ * @memberOf MapCache
*/
- function arraySome(array, predicate) {
+ function mapCacheClear() {
+ this.__data__ = {
+ 'hash': new Hash,
+ 'map': new (Map || ListCache),
+ 'string': new Hash
+ };
+ }
+
+ /**
+ * Removes `key` and its value from the map.
+ *
+ * @private
+ * @name delete
+ * @memberOf MapCache
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
+ */
+ function mapCacheDelete(key) {
+ return getMapData(this, key)['delete'](key);
+ }
+
+ /**
+ * Gets the map value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf MapCache
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function mapCacheGet(key) {
+ return getMapData(this, key).get(key);
+ }
+
+ /**
+ * Checks if a map value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf MapCache
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function mapCacheHas(key) {
+ return getMapData(this, key).has(key);
+ }
+
+ /**
+ * Sets the map `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf MapCache
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the map cache instance.
+ */
+ function mapCacheSet(key, value) {
+ getMapData(this, key).set(key, value);
+ return this;
+ }
+
+ // Add methods to `MapCache`.
+ MapCache.prototype.clear = mapCacheClear;
+ MapCache.prototype['delete'] = mapCacheDelete;
+ MapCache.prototype.get = mapCacheGet;
+ MapCache.prototype.has = mapCacheHas;
+ MapCache.prototype.set = mapCacheSet;
+
+ /*------------------------------------------------------------------------*/
+
+ /**
+ *
+ * Creates an array cache object to store unique values.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [values] The values to cache.
+ */
+ function SetCache(values) {
var index = -1,
- length = array.length;
+ length = values ? values.length : 0;
+ this.__data__ = new MapCache;
while (++index < length) {
- if (predicate(array[index], index, array)) {
- return true;
- }
+ this.add(values[index]);
}
- return false;
}
/**
- * A specialized version of `_.assign` for customizing assigned values without
- * support for argument juggling, multiple sources, and `this` binding `customizer`
- * functions.
+ * Adds `value` to the array cache.
*
* @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @param {Function} customizer The function to customize assigned values.
- * @returns {Object} Returns `object`.
+ * @name add
+ * @memberOf SetCache
+ * @alias push
+ * @param {*} value The value to cache.
+ * @returns {Object} Returns the cache instance.
*/
- function assignWith(object, source, customizer) {
- var index = -1,
- props = keys(source),
- length = props.length;
+ function setCacheAdd(value) {
+ this.__data__.set(value, HASH_UNDEFINED);
+ return this;
+ }
- while (++index < length) {
- var key = props[index],
- value = object[key],
- result = customizer(value, source[key], key, object, source);
+ /**
+ * Checks if `value` is in the array cache.
+ *
+ * @private
+ * @name has
+ * @memberOf SetCache
+ * @param {*} value The value to search for.
+ * @returns {number} Returns `true` if `value` is found, else `false`.
+ */
+ function setCacheHas(value) {
+ return this.__data__.has(value);
+ }
- if ((result === result ? (result !== value) : (value === value)) ||
- (value === undefined && !(key in object))) {
- object[key] = result;
- }
- }
- return object;
+ // Add methods to `SetCache`.
+ SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+ SetCache.prototype.has = setCacheHas;
+
+ /*------------------------------------------------------------------------*/
+
+ /**
+ * Creates a stack cache object to store key-value pairs.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [entries] The key-value pairs to cache.
+ */
+ function Stack(entries) {
+ this.__data__ = new ListCache(entries);
}
/**
- * The base implementation of `_.assign` without support for argument juggling,
- * multiple sources, and `customizer` functions.
+ * Removes all key-value entries from the stack.
*
* @private
- * @param {Object} object The destination object.
- * @param {Object} source The source object.
- * @returns {Object} Returns `object`.
+ * @name clear
+ * @memberOf Stack
*/
- function baseAssign(object, source) {
- return source == null
- ? object
- : baseCopy(source, keys(source), object);
+ function stackClear() {
+ this.__data__ = new ListCache;
}
/**
- * Copies properties of `source` to `object`.
+ * Removes `key` and its value from the stack.
*
* @private
- * @param {Object} source The object to copy properties from.
- * @param {Array} props The property names to copy.
- * @param {Object} [object={}] The object to copy properties to.
- * @returns {Object} Returns `object`.
+ * @name delete
+ * @memberOf Stack
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
*/
- function baseCopy(source, props, object) {
- object || (object = {});
+ function stackDelete(key) {
+ return this.__data__['delete'](key);
+ }
- var index = -1,
- length = props.length;
+ /**
+ * Gets the stack value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf Stack
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the entry value.
+ */
+ function stackGet(key) {
+ return this.__data__.get(key);
+ }
- while (++index < length) {
- var key = props[index];
- object[key] = source[key];
+ /**
+ * Checks if a stack value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf Stack
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+ function stackHas(key) {
+ return this.__data__.has(key);
+ }
+
+ /**
+ * Sets the stack `key` to `value`.
+ *
+ * @private
+ * @name set
+ * @memberOf Stack
+ * @param {string} key The key of the value to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns the stack cache instance.
+ */
+ function stackSet(key, value) {
+ var cache = this.__data__;
+ if (cache instanceof ListCache && cache.__data__.length == LARGE_ARRAY_SIZE) {
+ cache = this.__data__ = new MapCache(cache.__data__);
}
- return object;
+ cache.set(key, value);
+ return this;
}
+ // Add methods to `Stack`.
+ Stack.prototype.clear = stackClear;
+ Stack.prototype['delete'] = stackDelete;
+ Stack.prototype.get = stackGet;
+ Stack.prototype.has = stackHas;
+ Stack.prototype.set = stackSet;
+
+ /*------------------------------------------------------------------------*/
+
/**
- * The base implementation of `_.callback` which supports specifying the
- * number of arguments to provide to `func`.
+ * This function is like `assignValue` except that it doesn't assign
+ * `undefined` values.
*
* @private
- * @param {*} [func=_.identity] The value to convert to a callback.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param {number} [argCount] The number of arguments to provide to `func`.
- * @returns {Function} Returns the callback.
+ * @param {Object} object The object to modify.
+ * @param {string} key The key of the property to assign.
+ * @param {*} value The value to assign.
*/
- function baseCallback(func, thisArg, argCount) {
- var type = typeof func;
- if (type == 'function') {
- return thisArg === undefined
- ? func
- : bindCallback(func, thisArg, argCount);
+ function assignMergeValue(object, key, value) {
+ if ((value !== undefined && !eq(object[key], value)) ||
+ (typeof key == 'number' && value === undefined && !(key in object))) {
+ object[key] = value;
}
- if (func == null) {
- return identity;
+ }
+
+ /**
+ * Assigns `value` to `key` of `object` if the existing value is not equivalent
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @private
+ * @param {Object} object The object to modify.
+ * @param {string} key The key of the property to assign.
+ * @param {*} value The value to assign.
+ */
+ function assignValue(object, key, value) {
+ var objValue = object[key];
+ if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
+ (value === undefined && !(key in object))) {
+ object[key] = value;
+ }
+ }
+
+ /**
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {*} key The key to search for.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function assocIndexOf(array, key) {
+ var length = array.length;
+ while (length--) {
+ if (eq(array[length][0], key)) {
+ return length;
+ }
}
- if (type == 'object') {
- return baseMatches(func);
+ return -1;
+ }
+
+ /**
+ * Aggregates elements of `collection` on `accumulator` with keys transformed
+ * by `iteratee` and values set by `setter`.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} setter The function to set `accumulator` values.
+ * @param {Function} iteratee The iteratee to transform keys.
+ * @param {Object} accumulator The initial aggregated object.
+ * @returns {Function} Returns `accumulator`.
+ */
+ function baseAggregator(collection, setter, iteratee, accumulator) {
+ baseEach(collection, function(value, key, collection) {
+ setter(accumulator, value, iteratee(value), collection);
+ });
+ return accumulator;
+ }
+
+ /**
+ * The base implementation of `_.assign` without support for multiple sources
+ * or `customizer` functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @returns {Object} Returns `object`.
+ */
+ function baseAssign(object, source) {
+ return object && copyObject(source, keys(source), object);
+ }
+
+ /**
+ * The base implementation of `_.at` without support for individual paths.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {string[]} paths The property paths of elements to pick.
+ * @returns {Array} Returns the picked elements.
+ */
+ function baseAt(object, paths) {
+ var index = -1,
+ isNil = object == null,
+ length = paths.length,
+ result = Array(length);
+
+ while (++index < length) {
+ result[index] = isNil ? undefined : get(object, paths[index]);
}
- return thisArg === undefined
- ? property(func)
- : baseMatchesProperty(func, thisArg);
+ return result;
}
/**
- * The base implementation of `_.clone` without support for argument juggling
- * and `this` binding `customizer` functions.
+ * The base implementation of `_.clone` and `_.cloneDeep` which tracks
+ * traversed objects.
*
* @private
* @param {*} value The value to clone.
* @param {boolean} [isDeep] Specify a deep clone.
- * @param {Function} [customizer] The function to customize cloning values.
+ * @param {boolean} [isFull] Specify a clone including symbols.
+ * @param {Function} [customizer] The function to customize cloning.
* @param {string} [key] The key of `value`.
- * @param {Object} [object] The object `value` belongs to.
- * @param {Array} [stackA=[]] Tracks traversed source objects.
- * @param {Array} [stackB=[]] Associates clones with source counterparts.
+ * @param {Object} [object] The parent object of `value`.
+ * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
* @returns {*} Returns the cloned value.
*/
- function baseClone(value, isDeep, customizer, key, object, stackA, stackB) {
+ function baseClone(value, isDeep, isFull, customizer, key, object, stack) {
var result;
if (customizer) {
- result = object ? customizer(value, key, object) : customizer(value);
+ result = object ? customizer(value, key, object, stack) : customizer(value);
}
if (result !== undefined) {
return result;
if (isArr) {
result = initCloneArray(value);
if (!isDeep) {
- return arrayCopy(value, result);
+ return copyArray(value, result);
}
} else {
- var tag = objToString.call(value),
- isFunc = tag == funcTag;
+ var tag = getTag(value),
+ isFunc = tag == funcTag || tag == genTag;
+ if (isBuffer(value)) {
+ return cloneBuffer(value, isDeep);
+ }
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
if (isHostObject(value)) {
return object ? value : {};
}
result = initCloneObject(isFunc ? {} : value);
if (!isDeep) {
- return baseAssign(result, value);
+ return copySymbols(value, baseAssign(result, value));
}
} else {
- return cloneableTags[tag]
- ? initCloneByTag(value, tag, isDeep)
- : (object ? value : {});
+ if (!cloneableTags[tag]) {
+ return object ? value : {};
+ }
+ result = initCloneByTag(value, tag, baseClone, isDeep);
}
}
- // Check for circular references and return corresponding clone.
- stackA || (stackA = []);
- stackB || (stackB = []);
-
- var length = stackA.length;
- while (length--) {
- if (stackA[length] == value) {
- return stackB[length];
- }
+ // Check for circular references and return its corresponding clone.
+ stack || (stack = new Stack);
+ var stacked = stack.get(value);
+ if (stacked) {
+ return stacked;
}
- // Add the source value to the stack of traversed objects and associate it with its clone.
- stackA.push(value);
- stackB.push(result);
+ stack.set(value, result);
+ if (!isArr) {
+ var props = isFull ? getAllKeys(value) : keys(value);
+ }
// Recursively populate clone (susceptible to call stack limits).
- (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {
- result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);
+ arrayEach(props || value, function(subValue, key) {
+ if (props) {
+ key = subValue;
+ subValue = value[key];
+ }
+ assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));
});
return result;
}
* @param {Object} prototype The object to inherit from.
* @returns {Object} Returns the new object.
*/
- var baseCreate = (function() {
- function object() {}
- return function(prototype) {
- if (isObject(prototype)) {
- object.prototype = prototype;
- var result = new object;
- object.prototype = null;
- }
- return result || {};
- };
- }());
+ function baseCreate(proto) {
+ return isObject(proto) ? objectCreate(proto) : {};
+ }
/**
- * The base implementation of `_.difference` which accepts a single array
- * of values to exclude.
+ * The base implementation of methods like `_.difference` without support
+ * for excluding multiple arrays or iteratee shorthands.
*
* @private
* @param {Array} array The array to inspect.
* @param {Array} values The values to exclude.
+ * @param {Function} [iteratee] The iteratee invoked per element.
+ * @param {Function} [comparator] The comparator invoked per element.
* @returns {Array} Returns the new array of filtered values.
*/
- function baseDifference(array, values) {
- var length = array ? array.length : 0,
- result = [];
+ function baseDifference(array, values, iteratee, comparator) {
+ var index = -1,
+ includes = arrayIncludes,
+ isCommon = true,
+ length = array.length,
+ result = [],
+ valuesLength = values.length;
if (!length) {
return result;
}
- var index = -1,
- indexOf = getIndexOf(),
- isCommon = indexOf == baseIndexOf,
- cache = (isCommon && values.length >= 200) ? createCache(values) : null,
- valuesLength = values.length;
-
- if (cache) {
- indexOf = cacheIndexOf;
+ if (iteratee) {
+ values = arrayMap(values, baseUnary(iteratee));
+ }
+ if (comparator) {
+ includes = arrayIncludesWith;
+ isCommon = false;
+ }
+ else if (values.length >= LARGE_ARRAY_SIZE) {
+ includes = cacheHas;
isCommon = false;
- values = cache;
+ values = new SetCache(values);
}
outer:
while (++index < length) {
- var value = array[index];
+ var value = array[index],
+ computed = iteratee ? iteratee(value) : value;
- if (isCommon && value === value) {
+ value = (comparator || value !== 0) ? value : 0;
+ if (isCommon && computed === computed) {
var valuesIndex = valuesLength;
while (valuesIndex--) {
- if (values[valuesIndex] === value) {
+ if (values[valuesIndex] === computed) {
continue outer;
}
}
result.push(value);
}
- else if (indexOf(values, value, 0) < 0) {
+ else if (!includes(values, computed, comparator)) {
result.push(value);
}
}
}
/**
- * The base implementation of `_.forEach` without support for callback
- * shorthands and `this` binding.
+ * The base implementation of `_.forEach` without support for iteratee shorthands.
*
* @private
- * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|Object} collection The collection to iterate over.
* @param {Function} iteratee The function invoked per iteration.
- * @returns {Array|Object|string} Returns `collection`.
+ * @returns {Array|Object} Returns `collection`.
*/
var baseEach = createBaseEach(baseForOwn);
/**
- * The base implementation of `_.every` without support for callback
- * shorthands and `this` binding.
+ * The base implementation of `_.every` without support for iteratee shorthands.
*
* @private
- * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|Object} collection The collection to iterate over.
* @param {Function} predicate The function invoked per iteration.
* @returns {boolean} Returns `true` if all elements pass the predicate check,
* else `false`
}
/**
- * The base implementation of `_.filter` without support for callback
- * shorthands and `this` binding.
+ * The base implementation of `_.filter` without support for iteratee shorthands.
*
* @private
- * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|Object} collection The collection to iterate over.
* @param {Function} predicate The function invoked per iteration.
* @returns {Array} Returns the new filtered array.
*/
}
/**
- * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`,
- * without support for callback shorthands and `this` binding, which iterates
- * over `collection` using the provided `eachFunc`.
- *
- * @private
- * @param {Array|Object|string} collection The collection to search.
- * @param {Function} predicate The function invoked per iteration.
- * @param {Function} eachFunc The function to iterate over `collection`.
- * @param {boolean} [retKey] Specify returning the key of the found element
- * instead of the element itself.
- * @returns {*} Returns the found element or its key, else `undefined`.
- */
- function baseFind(collection, predicate, eachFunc, retKey) {
- var result;
- eachFunc(collection, function(value, key, collection) {
- if (predicate(value, key, collection)) {
- result = retKey ? key : value;
- return false;
- }
- });
- return result;
- }
-
- /**
- * The base implementation of `_.flatten` with added support for restricting
- * flattening and specifying the start index.
+ * The base implementation of `_.flatten` with support for restricting flattening.
*
* @private
* @param {Array} array The array to flatten.
- * @param {boolean} [isDeep] Specify a deep flatten.
- * @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
+ * @param {number} depth The maximum recursion depth.
+ * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
+ * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
+ * @param {Array} [result=[]] The initial result value.
* @returns {Array} Returns the new flattened array.
*/
- function baseFlatten(array, isDeep, isStrict) {
+ function baseFlatten(array, depth, predicate, isStrict, result) {
var index = -1,
- length = array.length,
- resIndex = -1,
- result = [];
+ length = array.length;
+
+ predicate || (predicate = isFlattenable);
+ result || (result = []);
while (++index < length) {
var value = array[index];
- if (isObjectLike(value) && isArrayLike(value) &&
- (isStrict || isArray(value) || isArguments(value))) {
- if (isDeep) {
+ if (depth > 0 && predicate(value)) {
+ if (depth > 1) {
// Recursively flatten arrays (susceptible to call stack limits).
- value = baseFlatten(value, isDeep, isStrict);
- }
- var valIndex = -1,
- valLength = value.length;
-
- while (++valIndex < valLength) {
- result[++resIndex] = value[valIndex];
+ baseFlatten(value, depth - 1, predicate, isStrict, result);
+ } else {
+ arrayPush(result, value);
}
} else if (!isStrict) {
- result[++resIndex] = value;
+ result[result.length] = value;
}
}
return result;
}
/**
- * The base implementation of `baseForIn` and `baseForOwn` which iterates
- * over `object` properties returned by `keysFunc` invoking `iteratee` for
- * each property. Iteratee functions may exit iteration early by explicitly
- * returning `false`.
+ * The base implementation of `baseForOwn` which iterates over `object`
+ * properties returned by `keysFunc` and invokes `iteratee` for each property.
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
*
* @private
* @param {Object} object The object to iterate over.
var baseFor = createBaseFor();
/**
- * The base implementation of `_.forIn` without support for callback
- * shorthands and `this` binding.
- *
- * @private
- * @param {Object} object The object to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Object} Returns `object`.
- */
- function baseForIn(object, iteratee) {
- return baseFor(object, iteratee, keysIn);
- }
-
- /**
- * The base implementation of `_.forOwn` without support for callback
- * shorthands and `this` binding.
+ * The base implementation of `_.forOwn` without support for iteratee shorthands.
*
* @private
* @param {Object} object The object to iterate over.
* @returns {Object} Returns `object`.
*/
function baseForOwn(object, iteratee) {
- return baseFor(object, iteratee, keys);
+ return object && baseFor(object, iteratee, keys);
}
/**
* The base implementation of `_.functions` which creates an array of
- * `object` function property names filtered from those provided.
+ * `object` function property names filtered from `props`.
*
* @private
* @param {Object} object The object to inspect.
* @param {Array} props The property names to filter.
- * @returns {Array} Returns the new array of filtered property names.
+ * @returns {Array} Returns the function names.
*/
function baseFunctions(object, props) {
- var index = -1,
- length = props.length,
- resIndex = -1,
- result = [];
-
- while (++index < length) {
- var key = props[index];
- if (isFunction(object[key])) {
- result[++resIndex] = key;
- }
- }
- return result;
+ return arrayFilter(props, function(key) {
+ return isFunction(object[key]);
+ });
}
/**
- * The base implementation of `get` without support for string paths
- * and default values.
+ * The base implementation of `_.get` without support for default values.
*
* @private
* @param {Object} object The object to query.
- * @param {Array} path The path of the property to get.
- * @param {string} [pathKey] The key representation of path.
+ * @param {Array|string} path The path of the property to get.
* @returns {*} Returns the resolved value.
*/
- function baseGet(object, path, pathKey) {
- if (object == null) {
- return;
- }
- object = toObject(object);
- if (pathKey !== undefined && pathKey in object) {
- path = [pathKey];
- }
+ function baseGet(object, path) {
+ path = isKey(path, object) ? [path] : castPath(path);
+
var index = 0,
length = path.length;
while (object != null && index < length) {
- object = toObject(object)[path[index++]];
+ object = object[toKey(path[index++])];
}
return (index && index == length) ? object : undefined;
}
/**
- * The base implementation of `_.isEqual` without support for `this` binding
- * `customizer` functions.
+ * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
+ * `keysFunc` and `symbolsFunc` to get the enumerable property names and
+ * symbols of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @param {Function} symbolsFunc The function to get the symbols of `object`.
+ * @returns {Array} Returns the array of property names and symbols.
+ */
+ function baseGetAllKeys(object, keysFunc, symbolsFunc) {
+ var result = keysFunc(object);
+ return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
+ }
+
+ /**
+ * The base implementation of `_.has` without support for deep paths.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array|string} key The key to check.
+ * @returns {boolean} Returns `true` if `key` exists, else `false`.
+ */
+ function baseHas(object, key) {
+ // Avoid a bug in IE 10-11 where objects with a [[Prototype]] of `null`,
+ // that are composed entirely of index properties, return `false` for
+ // `hasOwnProperty` checks of them.
+ return hasOwnProperty.call(object, key) ||
+ (typeof object == 'object' && key in object && getPrototype(object) === null);
+ }
+
+ /**
+ * The base implementation of `_.hasIn` without support for deep paths.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array|string} key The key to check.
+ * @returns {boolean} Returns `true` if `key` exists, else `false`.
+ */
+ function baseHasIn(object, key) {
+ return key in Object(object);
+ }
+
+ /**
+ * The base implementation of methods like `_.intersection`, without support
+ * for iteratee shorthands, that accepts an array of arrays to inspect.
+ *
+ * @private
+ * @param {Array} arrays The arrays to inspect.
+ * @param {Function} [iteratee] The iteratee invoked per element.
+ * @param {Function} [comparator] The comparator invoked per element.
+ * @returns {Array} Returns the new array of shared values.
+ */
+ function baseIntersection(arrays, iteratee, comparator) {
+ var includes = comparator ? arrayIncludesWith : arrayIncludes,
+ length = arrays[0].length,
+ othLength = arrays.length,
+ othIndex = othLength,
+ caches = Array(othLength),
+ maxLength = Infinity,
+ result = [];
+
+ while (othIndex--) {
+ var array = arrays[othIndex];
+ if (othIndex && iteratee) {
+ array = arrayMap(array, baseUnary(iteratee));
+ }
+ maxLength = nativeMin(array.length, maxLength);
+ caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))
+ ? new SetCache(othIndex && array)
+ : undefined;
+ }
+ array = arrays[0];
+
+ var index = -1,
+ seen = caches[0];
+
+ outer:
+ while (++index < length && result.length < maxLength) {
+ var value = array[index],
+ computed = iteratee ? iteratee(value) : value;
+
+ value = (comparator || value !== 0) ? value : 0;
+ if (!(seen
+ ? cacheHas(seen, computed)
+ : includes(result, computed, comparator)
+ )) {
+ othIndex = othLength;
+ while (--othIndex) {
+ var cache = caches[othIndex];
+ if (!(cache
+ ? cacheHas(cache, computed)
+ : includes(arrays[othIndex], computed, comparator))
+ ) {
+ continue outer;
+ }
+ }
+ if (seen) {
+ seen.push(computed);
+ }
+ result.push(value);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * The base implementation of `_.invoke` without support for individual
+ * method arguments.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the method to invoke.
+ * @param {Array} args The arguments to invoke the method with.
+ * @returns {*} Returns the result of the invoked method.
+ */
+ function baseInvoke(object, path, args) {
+ if (!isKey(path, object)) {
+ path = castPath(path);
+ object = parent(object, path);
+ path = last(path);
+ }
+ var func = object == null ? object : object[toKey(path)];
+ return func == null ? undefined : apply(func, object, args);
+ }
+
+ /**
+ * The base implementation of `_.isEqual` which supports partial comparisons
+ * and tracks traversed objects.
*
* @private
* @param {*} value The value to compare.
* @param {*} other The other value to compare.
- * @param {Function} [customizer] The function to customize comparing values.
- * @param {boolean} [isLoose] Specify performing partial comparisons.
- * @param {Array} [stackA] Tracks traversed `value` objects.
- * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @param {Function} [customizer] The function to customize comparisons.
+ * @param {boolean} [bitmask] The bitmask of comparison flags.
+ * The bitmask may be composed of the following flags:
+ * 1 - Unordered comparison
+ * 2 - Partial comparison
+ * @param {Object} [stack] Tracks traversed `value` and `other` objects.
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
*/
- function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {
+ function baseIsEqual(value, other, customizer, bitmask, stack) {
if (value === other) {
return true;
}
if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
return value !== value && other !== other;
}
- return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);
+ return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);
}
/**
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
* @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Function} [customizer] The function to customize comparing objects.
- * @param {boolean} [isLoose] Specify performing partial comparisons.
- * @param {Array} [stackA=[]] Tracks traversed `value` objects.
- * @param {Array} [stackB=[]] Tracks traversed `other` objects.
+ * @param {Function} [customizer] The function to customize comparisons.
+ * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
+ * for more details.
+ * @param {Object} [stack] Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
+ function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {
var objIsArr = isArray(object),
othIsArr = isArray(other),
objTag = arrayTag,
othTag = arrayTag;
if (!objIsArr) {
- objTag = objToString.call(object);
- if (objTag == argsTag) {
- objTag = objectTag;
- } else if (objTag != objectTag) {
- objIsArr = isTypedArray(object);
- }
+ objTag = getTag(object);
+ objTag = objTag == argsTag ? objectTag : objTag;
}
if (!othIsArr) {
- othTag = objToString.call(other);
- if (othTag == argsTag) {
- othTag = objectTag;
- } else if (othTag != objectTag) {
- othIsArr = isTypedArray(other);
- }
+ othTag = getTag(other);
+ othTag = othTag == argsTag ? objectTag : othTag;
}
var objIsObj = objTag == objectTag && !isHostObject(object),
othIsObj = othTag == objectTag && !isHostObject(other),
isSameTag = objTag == othTag;
- if (isSameTag && !(objIsArr || objIsObj)) {
- return equalByTag(object, other, objTag);
+ if (isSameTag && !objIsObj) {
+ stack || (stack = new Stack);
+ return (objIsArr || isTypedArray(object))
+ ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)
+ : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);
}
- if (!isLoose) {
+ if (!(bitmask & PARTIAL_COMPARE_FLAG)) {
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
if (objIsWrapped || othIsWrapped) {
- return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);
+ var objUnwrapped = objIsWrapped ? object.value() : object,
+ othUnwrapped = othIsWrapped ? other.value() : other;
+
+ stack || (stack = new Stack);
+ return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);
}
}
if (!isSameTag) {
return false;
}
- // Assume cyclic values are equal.
- // For more information on detecting circular references see https://es5.github.io/#JO.
- stackA || (stackA = []);
- stackB || (stackB = []);
-
- var length = stackA.length;
- while (length--) {
- if (stackA[length] == object) {
- return stackB[length] == other;
- }
- }
- // Add `object` and `other` to the stack of traversed objects.
- stackA.push(object);
- stackB.push(other);
-
- var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);
-
- stackA.pop();
- stackB.pop();
-
- return result;
+ stack || (stack = new Stack);
+ return equalObjects(object, other, equalFunc, customizer, bitmask, stack);
}
/**
- * The base implementation of `_.isMatch` without support for callback
- * shorthands and `this` binding.
+ * The base implementation of `_.isMatch` without support for iteratee shorthands.
*
* @private
* @param {Object} object The object to inspect.
- * @param {Array} matchData The propery names, values, and compare flags to match.
- * @param {Function} [customizer] The function to customize comparing objects.
+ * @param {Object} source The object of property values to match.
+ * @param {Array} matchData The property names, values, and compare flags to match.
+ * @param {Function} [customizer] The function to customize comparisons.
* @returns {boolean} Returns `true` if `object` is a match, else `false`.
*/
- function baseIsMatch(object, matchData, customizer) {
+ function baseIsMatch(object, source, matchData, customizer) {
var index = matchData.length,
length = index,
noCustomizer = !customizer;
if (object == null) {
return !length;
}
- object = toObject(object);
+ object = Object(object);
while (index--) {
var data = matchData[index];
if ((noCustomizer && data[2])
return false;
}
} else {
- var result = customizer ? customizer(objValue, srcValue, key) : undefined;
- if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) {
+ var stack = new Stack;
+ if (customizer) {
+ var result = customizer(objValue, srcValue, key, object, source, stack);
+ }
+ if (!(result === undefined
+ ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)
+ : result
+ )) {
return false;
}
}
}
/**
- * The base implementation of `_.map` without support for callback shorthands
- * and `this` binding.
+ * The base implementation of `_.iteratee`.
+ *
+ * @private
+ * @param {*} [value=_.identity] The value to convert to an iteratee.
+ * @returns {Function} Returns the iteratee.
+ */
+ function baseIteratee(value) {
+ // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
+ // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
+ if (typeof value == 'function') {
+ return value;
+ }
+ if (value == null) {
+ return identity;
+ }
+ if (typeof value == 'object') {
+ return isArray(value)
+ ? baseMatchesProperty(value[0], value[1])
+ : baseMatches(value);
+ }
+ return property(value);
+ }
+
+ /**
+ * The base implementation of `_.keys` which doesn't skip the constructor
+ * property of prototypes or treat sparse arrays as dense.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ */
+ function baseKeys(object) {
+ return nativeKeys(Object(object));
+ }
+
+ /**
+ * The base implementation of `_.keysIn` which doesn't skip the constructor
+ * property of prototypes or treat sparse arrays as dense.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ */
+ function baseKeysIn(object) {
+ object = object == null ? object : Object(object);
+
+ var result = [];
+ for (var key in object) {
+ result.push(key);
+ }
+ return result;
+ }
+
+ // Fallback for IE < 9 with es6-shim.
+ if (enumerate && !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf')) {
+ baseKeysIn = function(object) {
+ return iteratorToArray(enumerate(object));
+ };
+ }
+
+ /**
+ * The base implementation of `_.map` without support for iteratee shorthands.
*
* @private
- * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|Object} collection The collection to iterate over.
* @param {Function} iteratee The function invoked per iteration.
* @returns {Array} Returns the new mapped array.
*/
}
/**
- * The base implementation of `_.matches` which does not clone `source`.
+ * The base implementation of `_.matches` which doesn't clone `source`.
*
* @private
* @param {Object} source The object of property values to match.
- * @returns {Function} Returns the new function.
+ * @returns {Function} Returns the new spec function.
*/
function baseMatches(source) {
var matchData = getMatchData(source);
if (matchData.length == 1 && matchData[0][2]) {
- var key = matchData[0][0],
- value = matchData[0][1];
-
- return function(object) {
- if (object == null) {
- return false;
- }
- object = toObject(object);
- return object[key] === value && (value !== undefined || (key in object));
- };
+ return matchesStrictComparable(matchData[0][0], matchData[0][1]);
}
return function(object) {
- return baseIsMatch(object, matchData);
+ return object === source || baseIsMatch(object, source, matchData);
};
}
/**
- * The base implementation of `_.matchesProperty` which does not clone `srcValue`.
+ * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
*
* @private
* @param {string} path The path of the property to get.
- * @param {*} srcValue The value to compare.
- * @returns {Function} Returns the new function.
+ * @param {*} srcValue The value to match.
+ * @returns {Function} Returns the new spec function.
*/
function baseMatchesProperty(path, srcValue) {
- var isArr = isArray(path),
- isCommon = isKey(path) && isStrictComparable(srcValue),
- pathKey = (path + '');
-
- path = toPath(path);
+ if (isKey(path) && isStrictComparable(srcValue)) {
+ return matchesStrictComparable(toKey(path), srcValue);
+ }
return function(object) {
- if (object == null) {
- return false;
- }
- var key = pathKey;
- object = toObject(object);
- if ((isArr || !isCommon) && !(key in object)) {
- object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
- if (object == null) {
- return false;
- }
- key = last(path);
- object = toObject(object);
- }
- return object[key] === srcValue
- ? (srcValue !== undefined || (key in object))
- : baseIsEqual(srcValue, object[key], undefined, true);
+ var objValue = get(object, path);
+ return (objValue === undefined && objValue === srcValue)
+ ? hasIn(object, path)
+ : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);
};
}
/**
- * The base implementation of `_.merge` without support for argument juggling,
- * multiple sources, and `this` binding `customizer` functions.
+ * The base implementation of `_.merge` without support for multiple sources.
*
* @private
* @param {Object} object The destination object.
* @param {Object} source The source object.
- * @param {Function} [customizer] The function to customize merging properties.
- * @param {Array} [stackA=[]] Tracks traversed source objects.
- * @param {Array} [stackB=[]] Associates values with source counterparts.
- * @returns {Object} Returns `object`.
+ * @param {number} srcIndex The index of `source`.
+ * @param {Function} [customizer] The function to customize merged values.
+ * @param {Object} [stack] Tracks traversed source values and their merged
+ * counterparts.
*/
- function baseMerge(object, source, customizer, stackA, stackB) {
- if (!isObject(object)) {
- return object;
+ function baseMerge(object, source, srcIndex, customizer, stack) {
+ if (object === source) {
+ return;
+ }
+ if (!(isArray(source) || isTypedArray(source))) {
+ var props = keysIn(source);
}
- var isSrcArr = isArrayLike(source) && (isArray(source) || isTypedArray(source)),
- props = isSrcArr ? null : keys(source);
-
arrayEach(props || source, function(srcValue, key) {
if (props) {
key = srcValue;
srcValue = source[key];
}
- if (isObjectLike(srcValue)) {
- stackA || (stackA = []);
- stackB || (stackB = []);
- baseMergeDeep(object, source, key, baseMerge, customizer, stackA, stackB);
+ if (isObject(srcValue)) {
+ stack || (stack = new Stack);
+ baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
}
else {
- var value = object[key],
- result = customizer ? customizer(value, srcValue, key, object, source) : undefined,
- isCommon = result === undefined;
+ var newValue = customizer
+ ? customizer(object[key], srcValue, (key + ''), object, source, stack)
+ : undefined;
- if (isCommon) {
- result = srcValue;
- }
- if ((result !== undefined || (isSrcArr && !(key in object))) &&
- (isCommon || (result === result ? (result !== value) : (value === value)))) {
- object[key] = result;
+ if (newValue === undefined) {
+ newValue = srcValue;
}
+ assignMergeValue(object, key, newValue);
}
});
- return object;
}
/**
* @param {Object} object The destination object.
* @param {Object} source The source object.
* @param {string} key The key of the value to merge.
+ * @param {number} srcIndex The index of `source`.
* @param {Function} mergeFunc The function to merge values.
- * @param {Function} [customizer] The function to customize merging properties.
- * @param {Array} [stackA=[]] Tracks traversed source objects.
- * @param {Array} [stackB=[]] Associates values with source counterparts.
- * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ * @param {Function} [customizer] The function to customize assigned values.
+ * @param {Object} [stack] Tracks traversed source values and their merged
+ * counterparts.
*/
- function baseMergeDeep(object, source, key, mergeFunc, customizer, stackA, stackB) {
- var length = stackA.length,
- srcValue = source[key];
+ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
+ var objValue = object[key],
+ srcValue = source[key],
+ stacked = stack.get(srcValue);
- while (length--) {
- if (stackA[length] == srcValue) {
- object[key] = stackB[length];
- return;
- }
+ if (stacked) {
+ assignMergeValue(object, key, stacked);
+ return;
}
- var value = object[key],
- result = customizer ? customizer(value, srcValue, key, object, source) : undefined,
- isCommon = result === undefined;
+ var newValue = customizer
+ ? customizer(objValue, srcValue, (key + ''), object, source, stack)
+ : undefined;
+
+ var isCommon = newValue === undefined;
if (isCommon) {
- result = srcValue;
- if (isArrayLike(srcValue) && (isArray(srcValue) || isTypedArray(srcValue))) {
- result = isArray(value)
- ? value
- : (isArrayLike(value) ? arrayCopy(value) : []);
+ newValue = srcValue;
+ if (isArray(srcValue) || isTypedArray(srcValue)) {
+ if (isArray(objValue)) {
+ newValue = objValue;
+ }
+ else if (isArrayLikeObject(objValue)) {
+ newValue = copyArray(objValue);
+ }
+ else {
+ isCommon = false;
+ newValue = baseClone(srcValue, true);
+ }
}
else if (isPlainObject(srcValue) || isArguments(srcValue)) {
- result = isArguments(value)
- ? toPlainObject(value)
- : (isPlainObject(value) ? value : {});
+ if (isArguments(objValue)) {
+ newValue = toPlainObject(objValue);
+ }
+ else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {
+ isCommon = false;
+ newValue = baseClone(srcValue, true);
+ }
+ else {
+ newValue = objValue;
+ }
}
else {
isCommon = false;
}
}
- // Add the source value to the stack of traversed objects and associate
- // it with its merged value.
- stackA.push(srcValue);
- stackB.push(result);
+ stack.set(srcValue, newValue);
if (isCommon) {
// Recursively merge objects and arrays (susceptible to call stack limits).
- object[key] = mergeFunc(result, srcValue, customizer, stackA, stackB);
- } else if (result === result ? (result !== value) : (value === value)) {
- object[key] = result;
+ mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
}
+ stack['delete'](srcValue);
+ assignMergeValue(object, key, newValue);
+ }
+
+ /**
+ * The base implementation of `_.pick` without support for individual
+ * property identifiers.
+ *
+ * @private
+ * @param {Object} object The source object.
+ * @param {string[]} props The property identifiers to pick.
+ * @returns {Object} Returns the new object.
+ */
+ function basePick(object, props) {
+ object = Object(object);
+ return arrayReduce(props, function(result, key) {
+ if (key in object) {
+ result[key] = object[key];
+ }
+ return result;
+ }, {});
}
/**
*
* @private
* @param {string} key The key of the property to get.
- * @returns {Function} Returns the new function.
+ * @returns {Function} Returns the new accessor function.
*/
function baseProperty(key) {
return function(object) {
- return object == null ? undefined : toObject(object)[key];
+ return object == null ? undefined : object[key];
};
}
*
* @private
* @param {Array|string} path The path of the property to get.
- * @returns {Function} Returns the new function.
+ * @returns {Function} Returns the new accessor function.
*/
function basePropertyDeep(path) {
- var pathKey = (path + '');
- path = toPath(path);
return function(object) {
- return baseGet(object, path, pathKey);
+ return baseGet(object, path);
};
}
- /**
- * The base implementation of `_.reduce` and `_.reduceRight` without support
- * for callback shorthands and `this` binding, which iterates over `collection`
- * using the provided `eachFunc`.
- *
- * @private
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {*} accumulator The initial value.
- * @param {boolean} initFromCollection Specify using the first or last element
- * of `collection` as the initial value.
- * @param {Function} eachFunc The function to iterate over `collection`.
- * @returns {*} Returns the accumulated value.
- */
- function baseReduce(collection, iteratee, accumulator, initFromCollection, eachFunc) {
- eachFunc(collection, function(value, index, collection) {
- accumulator = initFromCollection
- ? (initFromCollection = false, value)
- : iteratee(accumulator, value, index, collection);
- });
- return accumulator;
- }
-
/**
* The base implementation of `setData` without support for hot loop detection.
*
var index = -1,
length = array.length;
- start = start == null ? 0 : (+start || 0);
if (start < 0) {
start = -start > length ? 0 : (length + start);
}
- end = (end === undefined || end > length) ? length : (+end || 0);
+ end = end > length ? length : end;
if (end < 0) {
end += length;
}
}
/**
- * The base implementation of `_.some` without support for callback shorthands
- * and `this` binding.
+ * The base implementation of `_.some` without support for iteratee shorthands.
*
* @private
- * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|Object} collection The collection to iterate over.
* @param {Function} predicate The function invoked per iteration.
* @returns {boolean} Returns `true` if any element passes the predicate check,
* else `false`.
}
/**
- * The base implementation of `_.uniq` without support for callback shorthands
- * and `this` binding.
+ * The base implementation of `_.toString` which doesn't convert nullish
+ * values to empty strings.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {string} Returns the string.
+ */
+ function baseToString(value) {
+ // Exit early for strings to avoid a performance hit in some environments.
+ if (typeof value == 'string') {
+ return value;
+ }
+ if (isSymbol(value)) {
+ return symbolToString ? symbolToString.call(value) : '';
+ }
+ var result = (value + '');
+ return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
+ }
+
+ /**
+ * The base implementation of `_.uniqBy` without support for iteratee shorthands.
*
* @private
* @param {Array} array The array to inspect.
- * @param {Function} [iteratee] The function invoked per iteration.
- * @returns {Array} Returns the new duplicate-value-free array.
+ * @param {Function} [iteratee] The iteratee invoked per element.
+ * @param {Function} [comparator] The comparator invoked per element.
+ * @returns {Array} Returns the new duplicate free array.
*/
- function baseUniq(array, iteratee) {
+ function baseUniq(array, iteratee, comparator) {
var index = -1,
- indexOf = getIndexOf(),
+ includes = arrayIncludes,
length = array.length,
- isCommon = indexOf == baseIndexOf,
- isLarge = isCommon && length >= 200,
- seen = isLarge ? createCache() : null,
- result = [];
+ isCommon = true,
+ result = [],
+ seen = result;
- if (seen) {
- indexOf = cacheIndexOf;
+ if (comparator) {
isCommon = false;
- } else {
- isLarge = false;
+ includes = arrayIncludesWith;
+ }
+ else if (length >= LARGE_ARRAY_SIZE) {
+ var set = iteratee ? null : createSet(array);
+ if (set) {
+ return setToArray(set);
+ }
+ isCommon = false;
+ includes = cacheHas;
+ seen = new SetCache;
+ }
+ else {
seen = iteratee ? [] : result;
}
outer:
while (++index < length) {
var value = array[index],
- computed = iteratee ? iteratee(value, index, array) : value;
+ computed = iteratee ? iteratee(value) : value;
- if (isCommon && value === value) {
+ value = (comparator || value !== 0) ? value : 0;
+ if (isCommon && computed === computed) {
var seenIndex = seen.length;
while (seenIndex--) {
if (seen[seenIndex] === computed) {
}
result.push(value);
}
- else if (indexOf(seen, computed, 0) < 0) {
- if (iteratee || isLarge) {
+ else if (!includes(seen, computed, comparator)) {
+ if (seen !== result) {
seen.push(computed);
}
result.push(value);
return result;
}
- /**
- * The base implementation of `_.values` and `_.valuesIn` which creates an
- * array of `object` property values corresponding to the property names
- * of `props`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array} props The property names to get values for.
- * @returns {Object} Returns the array of property values.
- */
- function baseValues(object, props) {
- var index = -1,
- length = props.length,
- result = Array(length);
-
- while (++index < length) {
- result[index] = object[props[index]];
- }
- return result;
- }
-
/**
* The base implementation of `wrapperValue` which returns the result of
* performing a sequence of actions on the unwrapped `value`, where each
*
* @private
* @param {*} value The unwrapped value.
- * @param {Array} actions Actions to peform to resolve the unwrapped value.
+ * @param {Array} actions Actions to perform to resolve the unwrapped value.
* @returns {*} Returns the resolved value.
*/
function baseWrapperValue(value, actions) {
if (result instanceof LazyWrapper) {
result = result.value();
}
- var index = -1,
- length = actions.length;
+ return arrayReduce(actions, function(result, action) {
+ return action.func.apply(action.thisArg, arrayPush([result], action.args));
+ }, result);
+ }
- while (++index < length) {
- var args = [result],
- action = actions[index];
+ /**
+ * Casts `value` to an empty array if it's not an array like object.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @returns {Array|Object} Returns the cast array-like object.
+ */
+ function castArrayLikeObject(value) {
+ return isArrayLikeObject(value) ? value : [];
+ }
- push.apply(args, action.args);
- result = action.func.apply(action.thisArg, args);
+ /**
+ * Casts `value` to a path array if it's not one.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @returns {Array} Returns the cast property path array.
+ */
+ function castPath(value) {
+ return isArray(value) ? value : stringToPath(value);
+ }
+
+ /**
+ * Creates a clone of `buffer`.
+ *
+ * @private
+ * @param {Buffer} buffer The buffer to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @returns {Buffer} Returns the cloned buffer.
+ */
+ function cloneBuffer(buffer, isDeep) {
+ if (isDeep) {
+ return buffer.slice();
}
+ var result = new buffer.constructor(buffer.length);
+ buffer.copy(result);
return result;
}
/**
- * Performs a binary search of `array` to determine the index at which `value`
- * should be inserted into `array` in order to maintain its sort order.
+ * Creates a clone of `arrayBuffer`.
*
* @private
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @param {boolean} [retHighest] Specify returning the highest qualified index.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- */
- function binaryIndex(array, value, retHighest) {
- var low = 0,
- high = array ? array.length : low;
-
- if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
- while (low < high) {
- var mid = (low + high) >>> 1,
- computed = array[mid];
-
- if ((retHighest ? (computed <= value) : (computed < value)) && computed !== null) {
- low = mid + 1;
- } else {
- high = mid;
- }
- }
- return high;
- }
- return binaryIndexBy(array, value, identity, retHighest);
+ * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
+ * @returns {ArrayBuffer} Returns the cloned array buffer.
+ */
+ function cloneArrayBuffer(arrayBuffer) {
+ var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
+ new Uint8Array(result).set(new Uint8Array(arrayBuffer));
+ return result;
}
/**
- * This function is like `binaryIndex` except that it invokes `iteratee` for
- * `value` and each element of `array` to compute their sort ranking. The
- * iteratee is invoked with one argument; (value).
+ * Creates a clone of `dataView`.
*
* @private
- * @param {Array} array The sorted array to inspect.
- * @param {*} value The value to evaluate.
- * @param {Function} iteratee The function invoked per iteration.
- * @param {boolean} [retHighest] Specify returning the highest qualified index.
- * @returns {number} Returns the index at which `value` should be inserted
- * into `array`.
- */
- function binaryIndexBy(array, value, iteratee, retHighest) {
- value = iteratee(value);
-
- var low = 0,
- high = array ? array.length : 0,
- valIsNaN = value !== value,
- valIsNull = value === null,
- valIsUndef = value === undefined;
-
- while (low < high) {
- var mid = floor((low + high) / 2),
- computed = iteratee(array[mid]),
- isDef = computed !== undefined,
- isReflexive = computed === computed;
-
- if (valIsNaN) {
- var setLow = isReflexive || retHighest;
- } else if (valIsNull) {
- setLow = isReflexive && isDef && (retHighest || computed != null);
- } else if (valIsUndef) {
- setLow = isReflexive && (retHighest || isDef);
- } else if (computed == null) {
- setLow = false;
- } else {
- setLow = retHighest ? (computed <= value) : (computed < value);
- }
- if (setLow) {
- low = mid + 1;
- } else {
- high = mid;
- }
- }
- return nativeMin(high, MAX_ARRAY_INDEX);
+ * @param {Object} dataView The data view to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @returns {Object} Returns the cloned data view.
+ */
+ function cloneDataView(dataView, isDeep) {
+ var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
+ return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
}
/**
- * A specialized version of `baseCallback` which only supports `this` binding
- * and specifying the number of arguments to provide to `func`.
+ * Creates a clone of `map`.
*
* @private
- * @param {Function} func The function to bind.
- * @param {*} thisArg The `this` binding of `func`.
- * @param {number} [argCount] The number of arguments to provide to `func`.
- * @returns {Function} Returns the callback.
+ * @param {Object} map The map to clone.
+ * @param {Function} cloneFunc The function to clone values.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @returns {Object} Returns the cloned map.
*/
- function bindCallback(func, thisArg, argCount) {
- if (typeof func != 'function') {
- return identity;
- }
- if (thisArg === undefined) {
- return func;
- }
- switch (argCount) {
- case 1: return function(value) {
- return func.call(thisArg, value);
- };
- case 3: return function(value, index, collection) {
- return func.call(thisArg, value, index, collection);
- };
- case 4: return function(accumulator, value, index, collection) {
- return func.call(thisArg, accumulator, value, index, collection);
- };
- case 5: return function(value, other, key, object, source) {
- return func.call(thisArg, value, other, key, object, source);
- };
- }
- return function() {
- return func.apply(thisArg, arguments);
- };
+ function cloneMap(map, isDeep, cloneFunc) {
+ var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);
+ return arrayReduce(array, addMapEntry, new map.constructor);
}
/**
- * Creates a clone of the given array buffer.
+ * Creates a clone of `regexp`.
*
* @private
- * @param {ArrayBuffer} buffer The array buffer to clone.
- * @returns {ArrayBuffer} Returns the cloned array buffer.
+ * @param {Object} regexp The regexp to clone.
+ * @returns {Object} Returns the cloned regexp.
*/
- function bufferClone(buffer) {
- return bufferSlice.call(buffer, 0);
+ function cloneRegExp(regexp) {
+ var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
+ result.lastIndex = regexp.lastIndex;
+ return result;
}
- if (!bufferSlice) {
- // PhantomJS has `ArrayBuffer` and `Uint8Array` but not `Float64Array`.
- bufferClone = !(ArrayBuffer && Uint8Array) ? constant(null) : function(buffer) {
- var byteLength = buffer.byteLength,
- floatLength = Float64Array ? floor(byteLength / FLOAT64_BYTES_PER_ELEMENT) : 0,
- offset = floatLength * FLOAT64_BYTES_PER_ELEMENT,
- result = new ArrayBuffer(byteLength);
- if (floatLength) {
- var view = new Float64Array(result, 0, floatLength);
- view.set(new Float64Array(buffer, 0, floatLength));
- }
- if (byteLength != offset) {
- view = new Uint8Array(result, offset);
- view.set(new Uint8Array(buffer, offset));
- }
- return result;
- };
+ /**
+ * Creates a clone of `set`.
+ *
+ * @private
+ * @param {Object} set The set to clone.
+ * @param {Function} cloneFunc The function to clone values.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @returns {Object} Returns the cloned set.
+ */
+ function cloneSet(set, isDeep, cloneFunc) {
+ var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);
+ return arrayReduce(array, addSetEntry, new set.constructor);
+ }
+
+ /**
+ * Creates a clone of the `symbol` object.
+ *
+ * @private
+ * @param {Object} symbol The symbol object to clone.
+ * @returns {Object} Returns the cloned symbol object.
+ */
+ function cloneSymbol(symbol) {
+ return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
+ }
+
+ /**
+ * Creates a clone of `typedArray`.
+ *
+ * @private
+ * @param {Object} typedArray The typed array to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @returns {Object} Returns the cloned typed array.
+ */
+ function cloneTypedArray(typedArray, isDeep) {
+ var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
+ return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
}
/**
* placeholders, and provided arguments into a single array of arguments.
*
* @private
- * @param {Array|Object} args The provided arguments.
+ * @param {Array} args The provided arguments.
* @param {Array} partials The arguments to prepend to those provided.
* @param {Array} holders The `partials` placeholder indexes.
+ * @params {boolean} [isCurried] Specify composing for a curried function.
* @returns {Array} Returns the new array of composed arguments.
*/
- function composeArgs(args, partials, holders) {
- var holdersLength = holders.length,
- argsIndex = -1,
- argsLength = nativeMax(args.length - holdersLength, 0),
+ function composeArgs(args, partials, holders, isCurried) {
+ var argsIndex = -1,
+ argsLength = args.length,
+ holdersLength = holders.length,
leftIndex = -1,
leftLength = partials.length,
- result = Array(argsLength + leftLength);
+ rangeLength = nativeMax(argsLength - holdersLength, 0),
+ result = Array(leftLength + rangeLength),
+ isUncurried = !isCurried;
while (++leftIndex < leftLength) {
result[leftIndex] = partials[leftIndex];
}
while (++argsIndex < holdersLength) {
- result[holders[argsIndex]] = args[argsIndex];
+ if (isUncurried || argsIndex < argsLength) {
+ result[holders[argsIndex]] = args[argsIndex];
+ }
}
- while (argsLength--) {
+ while (rangeLength--) {
result[leftIndex++] = args[argsIndex++];
}
return result;
* is tailored for `_.partialRight`.
*
* @private
- * @param {Array|Object} args The provided arguments.
+ * @param {Array} args The provided arguments.
* @param {Array} partials The arguments to append to those provided.
* @param {Array} holders The `partials` placeholder indexes.
+ * @params {boolean} [isCurried] Specify composing for a curried function.
* @returns {Array} Returns the new array of composed arguments.
*/
- function composeArgsRight(args, partials, holders) {
- var holdersIndex = -1,
+ function composeArgsRight(args, partials, holders, isCurried) {
+ var argsIndex = -1,
+ argsLength = args.length,
+ holdersIndex = -1,
holdersLength = holders.length,
- argsIndex = -1,
- argsLength = nativeMax(args.length - holdersLength, 0),
rightIndex = -1,
rightLength = partials.length,
- result = Array(argsLength + rightLength);
+ rangeLength = nativeMax(argsLength - holdersLength, 0),
+ result = Array(rangeLength + rightLength),
+ isUncurried = !isCurried;
- while (++argsIndex < argsLength) {
+ while (++argsIndex < rangeLength) {
result[argsIndex] = args[argsIndex];
}
var offset = argsIndex;
result[offset + rightIndex] = partials[rightIndex];
}
while (++holdersIndex < holdersLength) {
- result[offset + holders[holdersIndex]] = args[argsIndex++];
+ if (isUncurried || argsIndex < argsLength) {
+ result[offset + holders[holdersIndex]] = args[argsIndex++];
+ }
}
return result;
}
/**
- * Creates a function that aggregates a collection, creating an accumulator
- * object composed from the results of running each element in the collection
- * through an iteratee.
+ * Copies the values of `source` to `array`.
+ *
+ * @private
+ * @param {Array} source The array to copy values from.
+ * @param {Array} [array=[]] The array to copy values to.
+ * @returns {Array} Returns `array`.
+ */
+ function copyArray(source, array) {
+ var index = -1,
+ length = source.length;
+
+ array || (array = Array(length));
+ while (++index < length) {
+ array[index] = source[index];
+ }
+ return array;
+ }
+
+ /**
+ * Copies properties of `source` to `object`.
+ *
+ * @private
+ * @param {Object} source The object to copy properties from.
+ * @param {Array} props The property identifiers to copy.
+ * @param {Object} [object={}] The object to copy properties to.
+ * @param {Function} [customizer] The function to customize copied values.
+ * @returns {Object} Returns `object`.
+ */
+ function copyObject(source, props, object, customizer) {
+ object || (object = {});
+
+ var index = -1,
+ length = props.length;
+
+ while (++index < length) {
+ var key = props[index];
+
+ var newValue = customizer
+ ? customizer(object[key], source[key], key, object, source)
+ : source[key];
+
+ assignValue(object, key, newValue);
+ }
+ return object;
+ }
+
+ /**
+ * Copies own symbol properties of `source` to `object`.
*
- * **Note:** This function is used to create `_.countBy`, `_.groupBy`, `_.indexBy`,
- * and `_.partition`.
+ * @private
+ * @param {Object} source The object to copy symbols from.
+ * @param {Object} [object={}] The object to copy symbols to.
+ * @returns {Object} Returns `object`.
+ */
+ function copySymbols(source, object) {
+ return copyObject(source, getSymbols(source), object);
+ }
+
+ /**
+ * Creates a function like `_.groupBy`.
*
* @private
- * @param {Function} setter The function to set keys and values of the accumulator object.
- * @param {Function} [initializer] The function to initialize the accumulator object.
+ * @param {Function} setter The function to set accumulator values.
+ * @param {Function} [initializer] The accumulator object initializer.
* @returns {Function} Returns the new aggregator function.
*/
function createAggregator(setter, initializer) {
- return function(collection, iteratee, thisArg) {
- var result = initializer ? initializer() : {};
- iteratee = getCallback(iteratee, thisArg, 3);
-
- if (isArray(collection)) {
- var index = -1,
- length = collection.length;
+ return function(collection, iteratee) {
+ var func = isArray(collection) ? arrayAggregator : baseAggregator,
+ accumulator = initializer ? initializer() : {};
- while (++index < length) {
- var value = collection[index];
- setter(result, value, iteratee(value, index, collection), collection);
- }
- } else {
- baseEach(collection, function(value, key, collection) {
- setter(result, value, iteratee(value, key, collection), collection);
- });
- }
- return result;
+ return func(collection, setter, getIteratee(iteratee), accumulator);
};
}
/**
- * Creates a function that assigns properties of source object(s) to a given
- * destination object.
- *
- * **Note:** This function is used to create `_.assign`, `_.defaults`, and `_.merge`.
+ * Creates a function like `_.assign`.
*
* @private
* @param {Function} assigner The function to assign values.
* @returns {Function} Returns the new assigner function.
*/
function createAssigner(assigner) {
- return restParam(function(object, sources) {
+ return rest(function(object, sources) {
var index = -1,
- length = object == null ? 0 : sources.length,
- customizer = length > 2 ? sources[length - 2] : undefined,
- guard = length > 2 ? sources[2] : undefined,
- thisArg = length > 1 ? sources[length - 1] : undefined;
-
- if (typeof customizer == 'function') {
- customizer = bindCallback(customizer, thisArg, 5);
- length -= 2;
- } else {
- customizer = typeof thisArg == 'function' ? thisArg : undefined;
- length -= (customizer ? 1 : 0);
- }
+ length = sources.length,
+ customizer = length > 1 ? sources[length - 1] : undefined,
+ guard = length > 2 ? sources[2] : undefined;
+
+ customizer = (assigner.length > 3 && typeof customizer == 'function')
+ ? (length--, customizer)
+ : undefined;
+
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
customizer = length < 3 ? undefined : customizer;
length = 1;
}
+ object = Object(object);
while (++index < length) {
var source = sources[index];
if (source) {
- assigner(object, source, customizer);
+ assigner(object, source, index, customizer);
}
}
return object;
*/
function createBaseEach(eachFunc, fromRight) {
return function(collection, iteratee) {
- var length = collection ? getLength(collection) : 0;
- if (!isLength(length)) {
+ if (collection == null) {
+ return collection;
+ }
+ if (!isArrayLike(collection)) {
return eachFunc(collection, iteratee);
}
- var index = fromRight ? length : -1,
- iterable = toObject(collection);
+ var length = collection.length,
+ index = fromRight ? length : -1,
+ iterable = Object(collection);
while ((fromRight ? index-- : ++index < length)) {
if (iteratee(iterable[index], index, iterable) === false) {
}
/**
- * Creates a base function for `_.forIn` or `_.forInRight`.
+ * Creates a base function for methods like `_.forIn` and `_.forOwn`.
*
* @private
* @param {boolean} [fromRight] Specify iterating from right to left.
*/
function createBaseFor(fromRight) {
return function(object, iteratee, keysFunc) {
- var iterable = toObject(object),
+ var index = -1,
+ iterable = Object(object),
props = keysFunc(object),
- length = props.length,
- index = fromRight ? length : -1;
+ length = props.length;
- while ((fromRight ? index-- : ++index < length)) {
- var key = props[index];
+ while (length--) {
+ var key = props[fromRight ? length : ++index];
if (iteratee(iterable[key], key, iterable) === false) {
break;
}
}
/**
- * Creates a function that wraps `func` and invokes it with the `this`
+ * Creates a function that wraps `func` to invoke it with the optional `this`
* binding of `thisArg`.
*
* @private
- * @param {Function} func The function to bind.
+ * @param {Function} func The function to wrap.
+ * @param {number} bitmask The bitmask of wrapper flags. See `createWrapper`
+ * for more details.
* @param {*} [thisArg] The `this` binding of `func`.
- * @returns {Function} Returns the new bound function.
+ * @returns {Function} Returns the new wrapped function.
*/
- function createBindWrapper(func, thisArg) {
- var Ctor = createCtorWrapper(func);
+ function createBaseWrapper(func, bitmask, thisArg) {
+ var isBind = bitmask & BIND_FLAG,
+ Ctor = createCtorWrapper(func);
function wrapper() {
var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
- return fn.apply(thisArg, arguments);
+ return fn.apply(isBind ? thisArg : this, arguments);
}
return wrapper;
}
- /**
- * Creates a `Set` cache object to optimize linear searches of large arrays.
- *
- * @private
- * @param {Array} [values] The values to cache.
- * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`.
- */
- var createCache = !(nativeCreate && Set) ? constant(null) : function(values) {
- return new SetCache(values);
- };
-
/**
* Creates a function that produces an instance of `Ctor` regardless of
* whether it was invoked as part of a `new` expression or by `call` or `apply`.
*/
function createCtorWrapper(Ctor) {
return function() {
- // Use a `switch` statement to work with class constructors.
- // See https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-function-objects-call-thisargument-argumentslist
+ // Use a `switch` statement to work with class constructors. See
+ // http://ecma-international.org/ecma-262/6.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
// for more details.
var args = arguments;
switch (args.length) {
case 3: return new Ctor(args[0], args[1], args[2]);
case 4: return new Ctor(args[0], args[1], args[2], args[3]);
case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
+ case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
+ case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
}
var thisBinding = baseCreate(Ctor.prototype),
result = Ctor.apply(thisBinding, args);
}
/**
- * Creates a `_.find` or `_.findLast` function.
+ * Creates a function that wraps `func` to enable currying.
*
* @private
- * @param {Function} eachFunc The function to iterate over a collection.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {Function} Returns the new find function.
- */
- function createFind(eachFunc, fromRight) {
- return function(collection, predicate, thisArg) {
- predicate = getCallback(predicate, thisArg, 3);
- if (isArray(collection)) {
- var index = baseFindIndex(collection, predicate, fromRight);
- return index > -1 ? collection[index] : undefined;
- }
- return baseFind(collection, predicate, eachFunc);
- };
- }
-
- /**
- * Creates a function for `_.forEach` or `_.forEachRight`.
- *
- * @private
- * @param {Function} arrayFunc The function to iterate over an array.
- * @param {Function} eachFunc The function to iterate over a collection.
- * @returns {Function} Returns the new each function.
+ * @param {Function} func The function to wrap.
+ * @param {number} bitmask The bitmask of wrapper flags. See `createWrapper`
+ * for more details.
+ * @param {number} arity The arity of `func`.
+ * @returns {Function} Returns the new wrapped function.
*/
- function createForEach(arrayFunc, eachFunc) {
- return function(collection, iteratee, thisArg) {
- return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
- ? arrayFunc(collection, iteratee)
- : eachFunc(collection, bindCallback(iteratee, thisArg, 3));
- };
- }
+ function createCurryWrapper(func, bitmask, arity) {
+ var Ctor = createCtorWrapper(func);
- /**
- * Creates a function for `_.forOwn` or `_.forOwnRight`.
- *
- * @private
- * @param {Function} objectFunc The function to iterate over an object.
- * @returns {Function} Returns the new each function.
- */
- function createForOwn(objectFunc) {
- return function(object, iteratee, thisArg) {
- if (typeof iteratee != 'function' || thisArg !== undefined) {
- iteratee = bindCallback(iteratee, thisArg, 3);
- }
- return objectFunc(object, iteratee);
- };
- }
+ function wrapper() {
+ var length = arguments.length,
+ args = Array(length),
+ index = length,
+ placeholder = getHolder(wrapper);
- /**
- * Creates a function for `_.reduce` or `_.reduceRight`.
- *
- * @private
- * @param {Function} arrayFunc The function to iterate over an array.
- * @param {Function} eachFunc The function to iterate over a collection.
- * @returns {Function} Returns the new each function.
- */
- function createReduce(arrayFunc, eachFunc) {
- return function(collection, iteratee, accumulator, thisArg) {
- var initFromArray = arguments.length < 3;
- return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
- ? arrayFunc(collection, iteratee, accumulator, initFromArray)
- : baseReduce(collection, getCallback(iteratee, thisArg, 4), accumulator, initFromArray, eachFunc);
- };
+ while (index--) {
+ args[index] = arguments[index];
+ }
+ var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)
+ ? []
+ : replaceHolders(args, placeholder);
+
+ length -= holders.length;
+ if (length < arity) {
+ return createRecurryWrapper(
+ func, bitmask, createHybridWrapper, wrapper.placeholder, undefined,
+ args, holders, undefined, undefined, arity - length);
+ }
+ var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
+ return apply(fn, this, args);
+ }
+ return wrapper;
}
/**
- * Creates a function that wraps `func` and invokes it with optional `this`
- * binding of, partial application, and currying.
+ * Creates a function that wraps `func` to invoke it with optional `this`
+ * binding of `thisArg`, partial application, and currying.
*
* @private
- * @param {Function|string} func The function or method name to reference.
- * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details.
+ * @param {Function|string} func The function or method name to wrap.
+ * @param {number} bitmask The bitmask of wrapper flags. See `createWrapper`
+ * for more details.
* @param {*} [thisArg] The `this` binding of `func`.
- * @param {Array} [partials] The arguments to prepend to those provided to the new function.
+ * @param {Array} [partials] The arguments to prepend to those provided to
+ * the new function.
* @param {Array} [holders] The `partials` placeholder indexes.
- * @param {Array} [partialsRight] The arguments to append to those provided to the new function.
+ * @param {Array} [partialsRight] The arguments to append to those provided
+ * to the new function.
* @param {Array} [holdersRight] The `partialsRight` placeholder indexes.
* @param {Array} [argPos] The argument positions of the new function.
* @param {number} [ary] The arity cap of `func`.
var isAry = bitmask & ARY_FLAG,
isBind = bitmask & BIND_FLAG,
isBindKey = bitmask & BIND_KEY_FLAG,
- isCurry = bitmask & CURRY_FLAG,
- isCurryBound = bitmask & CURRY_BOUND_FLAG,
- isCurryRight = bitmask & CURRY_RIGHT_FLAG,
- Ctor = isBindKey ? null : createCtorWrapper(func);
+ isCurried = bitmask & (CURRY_FLAG | CURRY_RIGHT_FLAG),
+ isFlip = bitmask & FLIP_FLAG,
+ Ctor = isBindKey ? undefined : createCtorWrapper(func);
function wrapper() {
- // Avoid `arguments` object use disqualifying optimizations by
- // converting it to an array before providing it to other functions.
var length = arguments.length,
- index = length,
- args = Array(length);
+ args = Array(length),
+ index = length;
while (index--) {
args[index] = arguments[index];
}
+ if (isCurried) {
+ var placeholder = getHolder(wrapper),
+ holdersCount = countHolders(args, placeholder);
+ }
if (partials) {
- args = composeArgs(args, partials, holders);
+ args = composeArgs(args, partials, holders, isCurried);
}
if (partialsRight) {
- args = composeArgsRight(args, partialsRight, holdersRight);
+ args = composeArgsRight(args, partialsRight, holdersRight, isCurried);
}
- if (isCurry || isCurryRight) {
- var placeholder = wrapper.placeholder,
- argsHolders = replaceHolders(args, placeholder);
-
- length -= argsHolders.length;
- if (length < arity) {
- var newArgPos = argPos ? arrayCopy(argPos) : null,
- newArity = nativeMax(arity - length, 0),
- newsHolders = isCurry ? argsHolders : null,
- newHoldersRight = isCurry ? null : argsHolders,
- newPartials = isCurry ? args : null,
- newPartialsRight = isCurry ? null : args;
-
- bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG);
- bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG);
-
- if (!isCurryBound) {
- bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG);
- }
- var newData = [func, bitmask, thisArg, newPartials, newsHolders, newPartialsRight, newHoldersRight, newArgPos, ary, newArity],
- result = createHybridWrapper.apply(undefined, newData);
-
- if (isLaziable(func)) {
- setData(result, newData);
- }
- result.placeholder = placeholder;
- return result;
- }
+ length -= holdersCount;
+ if (isCurried && length < arity) {
+ var newHolders = replaceHolders(args, placeholder);
+ return createRecurryWrapper(
+ func, bitmask, createHybridWrapper, wrapper.placeholder, thisArg,
+ args, newHolders, argPos, ary, arity - length
+ );
}
var thisBinding = isBind ? thisArg : this,
fn = isBindKey ? thisBinding[func] : func;
+ length = args.length;
if (argPos) {
args = reorder(args, argPos);
+ } else if (isFlip && length > 1) {
+ args.reverse();
}
- if (isAry && ary < args.length) {
+ if (isAry && ary < length) {
args.length = ary;
}
if (this && this !== root && this instanceof wrapper) {
- fn = Ctor || createCtorWrapper(func);
+ fn = Ctor || createCtorWrapper(fn);
}
return fn.apply(thisBinding, args);
}
}
/**
- * Creates a function that wraps `func` and invokes it with the optional `this`
- * binding of `thisArg` and the `partials` prepended to those provided to
- * the wrapper.
+ * Creates a function that wraps `func` to invoke it with the `this` binding
+ * of `thisArg` and `partials` prepended to the arguments it receives.
*
* @private
- * @param {Function} func The function to partially apply arguments to.
- * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details.
+ * @param {Function} func The function to wrap.
+ * @param {number} bitmask The bitmask of wrapper flags. See `createWrapper`
+ * for more details.
* @param {*} thisArg The `this` binding of `func`.
- * @param {Array} partials The arguments to prepend to those provided to the new function.
- * @returns {Function} Returns the new bound function.
+ * @param {Array} partials The arguments to prepend to those provided to
+ * the new function.
+ * @returns {Function} Returns the new wrapped function.
*/
function createPartialWrapper(func, bitmask, thisArg, partials) {
var isBind = bitmask & BIND_FLAG,
Ctor = createCtorWrapper(func);
function wrapper() {
- // Avoid `arguments` object use disqualifying optimizations by
- // converting it to an array before providing it `func`.
var argsIndex = -1,
argsLength = arguments.length,
leftIndex = -1,
leftLength = partials.length,
- args = Array(argsLength + leftLength);
+ args = Array(leftLength + argsLength),
+ fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
while (++leftIndex < leftLength) {
args[leftIndex] = partials[leftIndex];
while (argsLength--) {
args[leftIndex++] = arguments[++argsIndex];
}
- var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
- return fn.apply(isBind ? thisArg : this, args);
+ return apply(fn, isBind ? thisArg : this, args);
}
return wrapper;
}
+ /**
+ * Creates a function that wraps `func` to continue currying.
+ *
+ * @private
+ * @param {Function} func The function to wrap.
+ * @param {number} bitmask The bitmask of wrapper flags. See `createWrapper`
+ * for more details.
+ * @param {Function} wrapFunc The function to create the `func` wrapper.
+ * @param {*} placeholder The placeholder value.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {Array} [partials] The arguments to prepend to those provided to
+ * the new function.
+ * @param {Array} [holders] The `partials` placeholder indexes.
+ * @param {Array} [argPos] The argument positions of the new function.
+ * @param {number} [ary] The arity cap of `func`.
+ * @param {number} [arity] The arity of `func`.
+ * @returns {Function} Returns the new wrapped function.
+ */
+ function createRecurryWrapper(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
+ var isCurry = bitmask & CURRY_FLAG,
+ newHolders = isCurry ? holders : undefined,
+ newHoldersRight = isCurry ? undefined : holders,
+ newPartials = isCurry ? partials : undefined,
+ newPartialsRight = isCurry ? undefined : partials;
+
+ bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG);
+ bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG);
+
+ if (!(bitmask & CURRY_BOUND_FLAG)) {
+ bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG);
+ }
+ var newData = [
+ func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
+ newHoldersRight, argPos, ary, arity
+ ];
+
+ var result = wrapFunc.apply(undefined, newData);
+ if (isLaziable(func)) {
+ setData(result, newData);
+ }
+ result.placeholder = placeholder;
+ return result;
+ }
+
+ /**
+ * Creates a set of `values`.
+ *
+ * @private
+ * @param {Array} values The values to add to the set.
+ * @returns {Object} Returns the new set.
+ */
+ var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
+ return new Set(values);
+ };
+
+ /**
+ * Creates a `_.toPairs` or `_.toPairsIn` function.
+ *
+ * @private
+ * @param {Function} keysFunc The function to get the keys of a given object.
+ * @returns {Function} Returns the new pairs function.
+ */
+ function createToPairs(keysFunc) {
+ return function(object) {
+ var tag = getTag(object);
+ if (tag == mapTag) {
+ return mapToArray(object);
+ }
+ if (tag == setTag) {
+ return setToPairs(object);
+ }
+ return baseToPairs(object, keysFunc(object));
+ };
+ }
+
/**
* Creates a function that either curries or invokes `func` with optional
* `this` binding and partially applied arguments.
*
* @private
- * @param {Function|string} func The function or method name to reference.
- * @param {number} bitmask The bitmask of flags.
+ * @param {Function|string} func The function or method name to wrap.
+ * @param {number} bitmask The bitmask of wrapper flags.
* The bitmask may be composed of the following flags:
* 1 - `_.bind`
* 2 - `_.bindKey`
* 64 - `_.partialRight`
* 128 - `_.rearg`
* 256 - `_.ary`
+ * 512 - `_.flip`
* @param {*} [thisArg] The `this` binding of `func`.
* @param {Array} [partials] The arguments to be partially applied.
* @param {Array} [holders] The `partials` placeholder indexes.
var length = partials ? partials.length : 0;
if (!length) {
bitmask &= ~(PARTIAL_FLAG | PARTIAL_RIGHT_FLAG);
- partials = holders = null;
+ partials = holders = undefined;
}
- length -= (holders ? holders.length : 0);
+ ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
+ arity = arity === undefined ? arity : toInteger(arity);
+ length -= holders ? holders.length : 0;
+
if (bitmask & PARTIAL_RIGHT_FLAG) {
var partialsRight = partials,
holdersRight = holders;
- partials = holders = null;
+ partials = holders = undefined;
}
- var data = isBindKey ? null : getData(func),
- newData = [func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity];
+ var data = isBindKey ? undefined : getData(func);
+
+ var newData = [
+ func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,
+ argPos, ary, arity
+ ];
if (data) {
mergeData(newData, data);
- bitmask = newData[1];
- arity = newData[9];
}
- newData[9] = arity == null
+ func = newData[0];
+ bitmask = newData[1];
+ thisArg = newData[2];
+ partials = newData[3];
+ holders = newData[4];
+ arity = newData[9] = newData[9] == null
? (isBindKey ? 0 : func.length)
- : (nativeMax(arity - length, 0) || 0);
+ : nativeMax(newData[9] - length, 0);
- if (bitmask == BIND_FLAG) {
- var result = createBindWrapper(newData[0], newData[2]);
- } else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !newData[4].length) {
- result = createPartialWrapper.apply(undefined, newData);
+ if (!arity && bitmask & (CURRY_FLAG | CURRY_RIGHT_FLAG)) {
+ bitmask &= ~(CURRY_FLAG | CURRY_RIGHT_FLAG);
+ }
+ if (!bitmask || bitmask == BIND_FLAG) {
+ var result = createBaseWrapper(func, bitmask, thisArg);
+ } else if (bitmask == CURRY_FLAG || bitmask == CURRY_RIGHT_FLAG) {
+ result = createCurryWrapper(func, bitmask, arity);
+ } else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !holders.length) {
+ result = createPartialWrapper(func, bitmask, thisArg, partials);
} else {
result = createHybridWrapper.apply(undefined, newData);
}
* @param {Array} array The array to compare.
* @param {Array} other The other array to compare.
* @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Function} [customizer] The function to customize comparing arrays.
- * @param {boolean} [isLoose] Specify performing partial comparisons.
- * @param {Array} [stackA] Tracks traversed `value` objects.
- * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
+ * for more details.
+ * @param {Object} stack Tracks traversed `array` and `other` objects.
* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
*/
- function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {
- var index = -1,
+ function equalArrays(array, other, equalFunc, customizer, bitmask, stack) {
+ var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
arrLength = array.length,
othLength = other.length;
- if (arrLength != othLength && !(isLoose && othLength > arrLength)) {
+ if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
return false;
}
+ // Assume cyclic values are equal.
+ var stacked = stack.get(array);
+ if (stacked) {
+ return stacked == other;
+ }
+ var index = -1,
+ result = true,
+ seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;
+
+ stack.set(array, other);
+
// Ignore non-index properties.
while (++index < arrLength) {
var arrValue = array[index],
- othValue = other[index],
- result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;
+ othValue = other[index];
- if (result !== undefined) {
- if (result) {
+ if (customizer) {
+ var compared = isPartial
+ ? customizer(othValue, arrValue, index, other, array, stack)
+ : customizer(arrValue, othValue, index, array, other, stack);
+ }
+ if (compared !== undefined) {
+ if (compared) {
continue;
}
- return false;
+ result = false;
+ break;
}
// Recursively compare arrays (susceptible to call stack limits).
- if (isLoose) {
- if (!arraySome(other, function(othValue) {
- return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);
+ if (seen) {
+ if (!arraySome(other, function(othValue, othIndex) {
+ if (!seen.has(othIndex) &&
+ (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {
+ return seen.add(othIndex);
+ }
})) {
- return false;
+ result = false;
+ break;
}
- } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {
- return false;
+ } else if (!(
+ arrValue === othValue ||
+ equalFunc(arrValue, othValue, customizer, bitmask, stack)
+ )) {
+ result = false;
+ break;
}
}
- return true;
+ stack['delete'](array);
+ return result;
}
/**
* `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
*
* @private
- * @param {Object} value The object to compare.
+ * @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
* @param {string} tag The `toStringTag` of the objects to compare.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
+ * for more details.
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function equalByTag(object, other, tag) {
+ function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {
switch (tag) {
+ case dataViewTag:
+ if ((object.byteLength != other.byteLength) ||
+ (object.byteOffset != other.byteOffset)) {
+ return false;
+ }
+ object = object.buffer;
+ other = other.buffer;
+
+ case arrayBufferTag:
+ if ((object.byteLength != other.byteLength) ||
+ !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
+ return false;
+ }
+ return true;
+
case boolTag:
case dateTag:
- // Coerce dates and booleans to numbers, dates to milliseconds and booleans
- // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.
+ // Coerce dates and booleans to numbers, dates to milliseconds and
+ // booleans to `1` or `0` treating invalid dates coerced to `NaN` as
+ // not equal.
return +object == +other;
case errorTag:
case numberTag:
// Treat `NaN` vs. `NaN` as equal.
- return (object != +object)
- ? other != +other
- : object == +other;
+ return (object != +object) ? other != +other : object == +other;
case regexpTag:
case stringTag:
- // Coerce regexes to strings and treat strings primitives and string
- // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.
+ // Coerce regexes to strings and treat strings, primitives and objects,
+ // as equal. See http://www.ecma-international.org/ecma-262/6.0/#sec-regexp.prototype.tostring
+ // for more details.
return object == (other + '');
+
+ case mapTag:
+ var convert = mapToArray;
+
+ case setTag:
+ var isPartial = bitmask & PARTIAL_COMPARE_FLAG;
+ convert || (convert = setToArray);
+
+ if (object.size != other.size && !isPartial) {
+ return false;
+ }
+ // Assume cyclic values are equal.
+ var stacked = stack.get(object);
+ if (stacked) {
+ return stacked == other;
+ }
+ bitmask |= UNORDERED_COMPARE_FLAG;
+ stack.set(object, other);
+
+ // Recursively compare objects (susceptible to call stack limits).
+ return equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);
+
+ case symbolTag:
+ if (symbolValueOf) {
+ return symbolValueOf.call(object) == symbolValueOf.call(other);
+ }
}
return false;
}
* @param {Object} object The object to compare.
* @param {Object} other The other object to compare.
* @param {Function} equalFunc The function to determine equivalents of values.
- * @param {Function} [customizer] The function to customize comparing values.
- * @param {boolean} [isLoose] Specify performing partial comparisons.
- * @param {Array} [stackA] Tracks traversed `value` objects.
- * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @param {Function} customizer The function to customize comparisons.
+ * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
+ * for more details.
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
*/
- function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
- var objProps = keys(object),
+ function equalObjects(object, other, equalFunc, customizer, bitmask, stack) {
+ var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
+ objProps = keys(object),
objLength = objProps.length,
othProps = keys(other),
othLength = othProps.length;
- if (objLength != othLength && !isLoose) {
+ if (objLength != othLength && !isPartial) {
return false;
}
var index = objLength;
while (index--) {
var key = objProps[index];
- if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {
+ if (!(isPartial ? key in other : baseHas(other, key))) {
return false;
}
}
- var skipCtor = isLoose;
+ // Assume cyclic values are equal.
+ var stacked = stack.get(object);
+ if (stacked) {
+ return stacked == other;
+ }
+ var result = true;
+ stack.set(object, other);
+
+ var skipCtor = isPartial;
while (++index < objLength) {
key = objProps[index];
var objValue = object[key],
- othValue = other[key],
- result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;
+ othValue = other[key];
+ if (customizer) {
+ var compared = isPartial
+ ? customizer(othValue, objValue, key, other, object, stack)
+ : customizer(objValue, othValue, key, object, other, stack);
+ }
// Recursively compare objects (susceptible to call stack limits).
- if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {
- return false;
+ if (!(compared === undefined
+ ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))
+ : compared
+ )) {
+ result = false;
+ break;
}
skipCtor || (skipCtor = key == 'constructor');
}
- if (!skipCtor) {
+ if (result && !skipCtor) {
var objCtor = object.constructor,
othCtor = other.constructor;
('constructor' in object && 'constructor' in other) &&
!(typeof objCtor == 'function' && objCtor instanceof objCtor &&
typeof othCtor == 'function' && othCtor instanceof othCtor)) {
- return false;
+ result = false;
}
}
- return true;
+ stack['delete'](object);
+ return result;
}
/**
- * Gets the appropriate "callback" function. If the `_.callback` method is
- * customized this function returns the custom method, otherwise it returns
- * the `baseCallback` function. If arguments are provided the chosen function
- * is invoked with them and its result is returned.
+ * Creates an array of own enumerable property names and symbols of `object`.
*
* @private
- * @returns {Function} Returns the chosen function or its result.
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names and symbols.
*/
- function getCallback(func, thisArg, argCount) {
- var result = lodash.callback || callback;
- result = result === callback ? baseCallback : result;
- return argCount ? result(func, thisArg, argCount) : result;
+ function getAllKeys(object) {
+ return baseGetAllKeys(object, keys, getSymbols);
+ }
+
+ /**
+ * Creates an array of own and inherited enumerable property names and
+ * symbols of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names and symbols.
+ */
+ function getAllKeysIn(object) {
+ return baseGetAllKeys(object, keysIn, getSymbolsIn);
}
/**
* @returns {string} Returns the function name.
*/
function getFuncName(func) {
- var result = func.name,
+ var result = (func.name + ''),
array = realNames[result],
- length = array ? array.length : 0;
+ length = hasOwnProperty.call(realNames, result) ? array.length : 0;
while (length--) {
var data = array[length],
}
/**
- * Gets the appropriate "indexOf" function. If the `_.indexOf` method is
- * customized this function returns the custom method, otherwise it returns
- * the `baseIndexOf` function. If arguments are provided the chosen function
- * is invoked with them and its result is returned.
+ * Gets the argument placeholder value for `func`.
*
* @private
- * @returns {Function|number} Returns the chosen function or its result.
+ * @param {Function} func The function to inspect.
+ * @returns {*} Returns the placeholder value.
*/
- function getIndexOf(collection, target, fromIndex) {
- var result = lodash.indexOf || indexOf;
- result = result === indexOf ? baseIndexOf : result;
- return collection ? result(collection, target, fromIndex) : result;
+ function getHolder(func) {
+ var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;
+ return object.placeholder;
+ }
+
+ /**
+ * Gets the appropriate "iteratee" function. If `_.iteratee` is customized,
+ * this function returns the custom method, otherwise it returns `baseIteratee`.
+ * If arguments are provided, the chosen function is invoked with them and
+ * its result is returned.
+ *
+ * @private
+ * @param {*} [value] The value to convert to an iteratee.
+ * @param {number} [arity] The arity of the created iteratee.
+ * @returns {Function} Returns the chosen function or its result.
+ */
+ function getIteratee() {
+ var result = lodash.iteratee || iteratee;
+ result = result === iteratee ? baseIteratee : result;
+ return arguments.length ? result(arguments[0], arguments[1]) : result;
}
/**
* Gets the "length" property value of `object`.
*
- * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
- * that affects Safari on at least iOS 8.1-8.3 ARM64.
+ * **Note:** This function is used to avoid a
+ * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects
+ * Safari on at least iOS 8.1-8.3 ARM64.
*
* @private
* @param {Object} object The object to query.
var getLength = baseProperty('length');
/**
- * Gets the propery names, values, and compare flags of `object`.
+ * Gets the data for `map`.
+ *
+ * @private
+ * @param {Object} map The map to query.
+ * @param {string} key The reference key.
+ * @returns {*} Returns the map data.
+ */
+ function getMapData(map, key) {
+ var data = map.__data__;
+ return isKeyable(key)
+ ? data[typeof key == 'string' ? 'string' : 'hash']
+ : data.map;
+ }
+
+ /**
+ * Gets the property names, values, and compare flags of `object`.
*
* @private
* @param {Object} object The object to query.
* @returns {Array} Returns the match data of `object`.
*/
function getMatchData(object) {
- var result = pairs(object),
+ var result = toPairs(object),
length = result.length;
while (length--) {
* @returns {*} Returns the function if it's native, else `undefined`.
*/
function getNative(object, key) {
- var value = object == null ? undefined : object[key];
+ var value = object[key];
return isNative(value) ? value : undefined;
}
+ /**
+ * Gets the `[[Prototype]]` of `value`.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {null|Object} Returns the `[[Prototype]]`.
+ */
+ function getPrototype(value) {
+ return nativeGetPrototype(Object(value));
+ }
+
+ /**
+ * Creates an array of the own enumerable symbol properties of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of symbols.
+ */
+ function getSymbols(object) {
+ // Coerce `object` to an object to avoid non-object errors in V8.
+ // See https://bugs.chromium.org/p/v8/issues/detail?id=3443 for more details.
+ return getOwnPropertySymbols(Object(object));
+ }
+
+ // Fallback for IE < 11.
+ if (!getOwnPropertySymbols) {
+ getSymbols = function() {
+ return [];
+ };
+ }
+
+ /**
+ * Creates an array of the own and inherited enumerable symbol properties
+ * of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of symbols.
+ */
+ var getSymbolsIn = !getOwnPropertySymbols ? getSymbols : function(object) {
+ var result = [];
+ while (object) {
+ arrayPush(result, getSymbols(object));
+ object = getPrototype(object);
+ }
+ return result;
+ };
+
+ /**
+ * Gets the `toStringTag` of `value`.
+ *
+ * @private
+ * @param {*} value The value to query.
+ * @returns {string} Returns the `toStringTag`.
+ */
+ function getTag(value) {
+ return objectToString.call(value);
+ }
+
+ // Fallback for data views, maps, sets, and weak maps in IE 11,
+ // for data views in Edge, and promises in Node.js.
+ if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
+ (Map && getTag(new Map) != mapTag) ||
+ (Promise && getTag(Promise.resolve()) != promiseTag) ||
+ (Set && getTag(new Set) != setTag) ||
+ (WeakMap && getTag(new WeakMap) != weakMapTag)) {
+ getTag = function(value) {
+ var result = objectToString.call(value),
+ Ctor = result == objectTag ? value.constructor : undefined,
+ ctorString = Ctor ? toSource(Ctor) : undefined;
+
+ if (ctorString) {
+ switch (ctorString) {
+ case dataViewCtorString: return dataViewTag;
+ case mapCtorString: return mapTag;
+ case promiseCtorString: return promiseTag;
+ case setCtorString: return setTag;
+ case weakMapCtorString: return weakMapTag;
+ }
+ }
+ return result;
+ };
+ }
+
/**
* Gets the view, applying any `transforms` to the `start` and `end` positions.
*
* @private
* @param {number} start The start of the view.
* @param {number} end The end of the view.
- * @param {Array} [transforms] The transformations to apply to the view.
+ * @param {Array} transforms The transformations to apply to the view.
* @returns {Object} Returns an object containing the `start` and `end`
* positions of the view.
*/
function getView(start, end, transforms) {
var index = -1,
- length = transforms ? transforms.length : 0;
+ length = transforms.length;
while (++index < length) {
var data = transforms[index],
return { 'start': start, 'end': end };
}
+ /**
+ * Checks if `path` exists on `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path to check.
+ * @param {Function} hasFunc The function to check properties.
+ * @returns {boolean} Returns `true` if `path` exists, else `false`.
+ */
+ function hasPath(object, path, hasFunc) {
+ path = isKey(path, object) ? [path] : castPath(path);
+
+ var result,
+ index = -1,
+ length = path.length;
+
+ while (++index < length) {
+ var key = toKey(path[index]);
+ if (!(result = object != null && hasFunc(object, key))) {
+ break;
+ }
+ object = object[key];
+ }
+ if (result) {
+ return result;
+ }
+ var length = object ? object.length : 0;
+ return !!length && isLength(length) && isIndex(key, length) &&
+ (isArray(object) || isString(object) || isArguments(object));
+ }
+
/**
* Initializes an array clone.
*
*/
function initCloneArray(array) {
var length = array.length,
- result = new array.constructor(length);
+ result = array.constructor(length);
- // Add array properties assigned by `RegExp#exec`.
+ // Add properties assigned by `RegExp#exec`.
if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
result.index = array.index;
result.input = array.input;
* @returns {Object} Returns the initialized clone.
*/
function initCloneObject(object) {
- var Ctor = object.constructor;
- if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {
- Ctor = Object;
- }
- return new Ctor;
+ return (typeof object.constructor == 'function' && !isPrototype(object))
+ ? baseCreate(getPrototype(object))
+ : {};
}
/**
* @private
* @param {Object} object The object to clone.
* @param {string} tag The `toStringTag` of the object to clone.
+ * @param {Function} cloneFunc The function to clone values.
* @param {boolean} [isDeep] Specify a deep clone.
* @returns {Object} Returns the initialized clone.
*/
- function initCloneByTag(object, tag, isDeep) {
+ function initCloneByTag(object, tag, cloneFunc, isDeep) {
var Ctor = object.constructor;
switch (tag) {
case arrayBufferTag:
- return bufferClone(object);
+ return cloneArrayBuffer(object);
case boolTag:
case dateTag:
return new Ctor(+object);
+ case dataViewTag:
+ return cloneDataView(object, isDeep);
+
case float32Tag: case float64Tag:
case int8Tag: case int16Tag: case int32Tag:
case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
- // Safari 5 mobile incorrectly has `Object` as the constructor of typed arrays.
- if (Ctor instanceof Ctor) {
- Ctor = ctorByTag[tag];
- }
- var buffer = object.buffer;
- return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);
+ return cloneTypedArray(object, isDeep);
+
+ case mapTag:
+ return cloneMap(object, isDeep, cloneFunc);
case numberTag:
case stringTag:
return new Ctor(object);
case regexpTag:
- var result = new Ctor(object.source, reFlags.exec(object));
- result.lastIndex = object.lastIndex;
+ return cloneRegExp(object);
+
+ case setTag:
+ return cloneSet(object, isDeep, cloneFunc);
+
+ case symbolTag:
+ return cloneSymbol(object);
}
- return result;
}
/**
- * Checks if `value` is array-like.
+ * Creates an array of index keys for `object` values of arrays,
+ * `arguments` objects, and strings, otherwise `null` is returned.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array|null} Returns index keys, else `null`.
+ */
+ function indexKeys(object) {
+ var length = object ? object.length : undefined;
+ if (isLength(length) &&
+ (isArray(object) || isString(object) || isArguments(object))) {
+ return baseTimes(length, String);
+ }
+ return null;
+ }
+
+ /**
+ * Checks if `value` is a flattenable `arguments` object or array.
*
* @private
* @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
*/
- function isArrayLike(value) {
- return value != null && isLength(getLength(value));
+ function isFlattenable(value) {
+ return isArray(value) || isArguments(value);
}
/**
* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
*/
function isIndex(value, length) {
- value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
length = length == null ? MAX_SAFE_INTEGER : length;
- return value > -1 && value % 1 == 0 && value < length;
+ return !!length &&
+ (typeof value == 'number' || reIsUint.test(value)) &&
+ (value > -1 && value % 1 == 0 && value < length);
}
/**
- * Checks if the provided arguments are from an iteratee call.
+ * Checks if the given arguments are from an iteratee call.
*
* @private
* @param {*} value The potential iteratee value argument.
* @param {*} index The potential iteratee index or key argument.
* @param {*} object The potential iteratee object argument.
- * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
+ * else `false`.
*/
function isIterateeCall(value, index, object) {
if (!isObject(object)) {
}
var type = typeof index;
if (type == 'number'
- ? (isArrayLike(object) && isIndex(index, object.length))
- : (type == 'string' && index in object)) {
- var other = object[index];
- return value === value ? (value === other) : (other !== other);
+ ? (isArrayLike(object) && isIndex(index, object.length))
+ : (type == 'string' && index in object)
+ ) {
+ return eq(object[index], value);
}
return false;
}
* @returns {boolean} Returns `true` if `value` is a property name, else `false`.
*/
function isKey(value, object) {
- var type = typeof value;
- if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') {
- return true;
- }
if (isArray(value)) {
return false;
}
- var result = !reIsDeepProp.test(value);
- return result || (object != null && value in toObject(object));
+ var type = typeof value;
+ if (type == 'number' || type == 'symbol' || type == 'boolean' ||
+ value == null || isSymbol(value)) {
+ return true;
+ }
+ return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
+ (object != null && value in Object(object));
+ }
+
+ /**
+ * Checks if `value` is suitable for use as unique object key.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
+ */
+ function isKeyable(value) {
+ var type = typeof value;
+ return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
+ ? (value !== '__proto__')
+ : (value === null);
}
/**
*
* @private
* @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`.
+ * @returns {boolean} Returns `true` if `func` has a lazy counterpart,
+ * else `false`.
*/
function isLaziable(func) {
- var funcName = getFuncName(func);
- if (!(funcName in LazyWrapper.prototype)) {
+ var funcName = getFuncName(func),
+ other = lodash[funcName];
+
+ if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {
return false;
}
- var other = lodash[funcName];
if (func === other) {
return true;
}
}
/**
- * Checks if `value` is a valid array-like length.
- *
- * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength).
+ * Checks if `value` is likely a prototype object.
*
* @private
* @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
*/
- function isLength(value) {
- return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+ function isPrototype(value) {
+ var Ctor = value && value.constructor,
+ proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
+
+ return value === proto;
}
/**
return value === value && !isObject(value);
}
+ /**
+ * A specialized version of `matchesProperty` for source values suitable
+ * for strict equality comparisons, i.e. `===`.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @param {*} srcValue The value to match.
+ * @returns {Function} Returns the new spec function.
+ */
+ function matchesStrictComparable(key, srcValue) {
+ return function(object) {
+ if (object == null) {
+ return false;
+ }
+ return object[key] === srcValue &&
+ (srcValue !== undefined || (key in Object(object)));
+ };
+ }
+
/**
* Merges the function metadata of `source` into `data`.
*
- * Merging metadata reduces the number of wrappers required to invoke a function.
+ * Merging metadata reduces the number of wrappers used to invoke a function.
* This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
- * may be applied regardless of execution order. Methods like `_.ary` and `_.rearg`
- * augment function arguments, making the order in which they are executed important,
- * preventing the merging of metadata. However, we make an exception for a safe
- * common case where curried functions have `_.ary` and or `_.rearg` applied.
+ * may be applied regardless of execution order. Methods like `_.ary` and
+ * `_.rearg` modify function arguments, making the order in which they are
+ * executed important, preventing the merging of metadata. However, we make
+ * an exception for a safe combined case where curried functions have `_.ary`
+ * and or `_.rearg` applied.
*
* @private
* @param {Array} data The destination metadata.
var bitmask = data[1],
srcBitmask = source[1],
newBitmask = bitmask | srcBitmask,
- isCommon = newBitmask < ARY_FLAG;
+ isCommon = newBitmask < (BIND_FLAG | BIND_KEY_FLAG | ARY_FLAG);
var isCombo =
- (srcBitmask == ARY_FLAG && bitmask == CURRY_FLAG) ||
- (srcBitmask == ARY_FLAG && bitmask == REARG_FLAG && data[7].length <= source[8]) ||
- (srcBitmask == (ARY_FLAG | REARG_FLAG) && bitmask == CURRY_FLAG);
+ ((srcBitmask == ARY_FLAG) && (bitmask == CURRY_FLAG)) ||
+ ((srcBitmask == ARY_FLAG) && (bitmask == REARG_FLAG) && (data[7].length <= source[8])) ||
+ ((srcBitmask == (ARY_FLAG | REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == CURRY_FLAG));
// Exit early if metadata can't be merged.
if (!(isCommon || isCombo)) {
if (srcBitmask & BIND_FLAG) {
data[2] = source[2];
// Set when currying a bound function.
- newBitmask |= (bitmask & BIND_FLAG) ? 0 : CURRY_BOUND_FLAG;
+ newBitmask |= bitmask & BIND_FLAG ? 0 : CURRY_BOUND_FLAG;
}
// Compose partial arguments.
var value = source[3];
if (value) {
var partials = data[3];
- data[3] = partials ? composeArgs(partials, value, source[4]) : arrayCopy(value);
- data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : arrayCopy(source[4]);
+ data[3] = partials ? composeArgs(partials, value, source[4]) : value;
+ data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];
}
// Compose partial right arguments.
value = source[5];
if (value) {
partials = data[5];
- data[5] = partials ? composeArgsRight(partials, value, source[6]) : arrayCopy(value);
- data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : arrayCopy(source[6]);
+ data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;
+ data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];
}
// Use source `argPos` if available.
value = source[7];
if (value) {
- data[7] = arrayCopy(value);
+ data[7] = value;
}
// Use source `ary` if it's smaller.
if (srcBitmask & ARY_FLAG) {
}
/**
- * A specialized version of `_.pick` which picks `object` properties specified
- * by `props`.
+ * Gets the parent value at `path` of `object`.
*
* @private
- * @param {Object} object The source object.
- * @param {string[]} props The property names to pick.
- * @returns {Object} Returns the new object.
- */
- function pickByArray(object, props) {
- object = toObject(object);
-
- var index = -1,
- length = props.length,
- result = {};
-
- while (++index < length) {
- var key = props[index];
- if (key in object) {
- result[key] = object[key];
- }
- }
- return result;
- }
-
- /**
- * A specialized version of `_.pick` which picks `object` properties `predicate`
- * returns truthy for.
- *
- * @private
- * @param {Object} object The source object.
- * @param {Function} predicate The function invoked per iteration.
- * @returns {Object} Returns the new object.
+ * @param {Object} object The object to query.
+ * @param {Array} path The path to get the parent value of.
+ * @returns {*} Returns the parent value.
*/
- function pickByCallback(object, predicate) {
- var result = {};
- baseForIn(object, function(value, key, object) {
- if (predicate(value, key, object)) {
- result[key] = value;
- }
- });
- return result;
+ function parent(object, path) {
+ return path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
}
/**
function reorder(array, indexes) {
var arrLength = array.length,
length = nativeMin(indexes.length, arrLength),
- oldArray = arrayCopy(array);
+ oldArray = copyArray(array);
while (length--) {
var index = indexes[length];
* Sets metadata for `func`.
*
* **Note:** If this function becomes hot, i.e. is invoked a lot in a short
- * period of time, it will trip its breaker and transition to an identity function
- * to avoid garbage collection pauses in V8. See [V8 issue 2070](https://code.google.com/p/v8/issues/detail?id=2070)
+ * period of time, it will trip its breaker and transition to an identity
+ * function to avoid garbage collection pauses in V8. See
+ * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)
* for more details.
*
* @private
}());
/**
- * A fallback implementation of `_.isPlainObject` which checks if `value`
- * is an object created by the `Object` constructor or has a `[[Prototype]]`
- * of `null`.
+ * Converts `string` to a property path array.
*
* @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
+ * @param {string} string The string to convert.
+ * @returns {Array} Returns the property path array.
*/
- function shimIsPlainObject(value) {
- var Ctor,
- support = lodash.support;
-
- // Exit early for non `Object` objects.
- if (!(isObjectLike(value) && objToString.call(value) == objectTag && !isHostObject(value)) ||
- (!hasOwnProperty.call(value, 'constructor') &&
- (Ctor = value.constructor, typeof Ctor == 'function' && !(Ctor instanceof Ctor))) ||
- (!support.argsTag && isArguments(value))) {
- return false;
- }
- // IE < 9 iterates inherited properties before own properties. If the first
- // iterated property is an object's own property then there are no inherited
- // enumerable properties.
- var result;
- if (support.ownLast) {
- baseForIn(value, function(subValue, key, object) {
- result = hasOwnProperty.call(object, key);
- return false;
- });
- return result !== false;
- }
- // In most environments an object's own properties are iterated before
- // its inherited properties. If the last iterated property is an object's
- // own property then there are no inherited enumerable properties.
- baseForIn(value, function(subValue, key) {
- result = key;
+ var stringToPath = memoize(function(string) {
+ var result = [];
+ toString(string).replace(rePropName, function(match, number, quote, string) {
+ result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
});
- return result === undefined || hasOwnProperty.call(value, result);
- }
-
- /**
- * A fallback implementation of `Object.keys` which creates an array of the
- * own enumerable property names of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names.
- */
- function shimKeys(object) {
- var props = keysIn(object),
- propsLength = props.length,
- length = propsLength && object.length;
-
- var allowIndexes = !!length && isLength(length) &&
- (isArray(object) || isArguments(object) || isString(object));
-
- var index = -1,
- result = [];
-
- while (++index < propsLength) {
- var key = props[index];
- if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {
- result.push(key);
- }
- }
return result;
- }
+ });
/**
- * Converts `value` to an object if it's not one.
+ * Converts `value` to a string key if it's not a string or symbol.
*
* @private
- * @param {*} value The value to process.
- * @returns {Object} Returns the object.
+ * @param {*} value The value to inspect.
+ * @returns {string|symbol} Returns the key.
*/
- function toObject(value) {
- if (lodash.support.unindexedChars && isString(value)) {
- var index = -1,
- length = value.length,
- result = Object(value);
-
- while (++index < length) {
- result[index] = value.charAt(index);
- }
- return result;
+ function toKey(value) {
+ if (typeof value == 'string' || isSymbol(value)) {
+ return value;
}
- return isObject(value) ? value : Object(value);
+ var result = (value + '');
+ return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
}
/**
- * Converts `value` to property path array if it's not one.
+ * Converts `func` to its source code.
*
* @private
- * @param {*} value The value to process.
- * @returns {Array} Returns the property path array.
+ * @param {Function} func The function to process.
+ * @returns {string} Returns the source code.
*/
- function toPath(value) {
- if (isArray(value)) {
- return value;
+ function toSource(func) {
+ if (func != null) {
+ try {
+ return funcToString.call(func);
+ } catch (e) {}
+ try {
+ return (func + '');
+ } catch (e) {}
}
- var result = [];
- baseToString(value).replace(rePropName, function(match, number, quote, string) {
- result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
- });
- return result;
+ return '';
}
/**
* @returns {Object} Returns the cloned wrapper.
*/
function wrapperClone(wrapper) {
- return wrapper instanceof LazyWrapper
- ? wrapper.clone()
- : new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__));
+ if (wrapper instanceof LazyWrapper) {
+ return wrapper.clone();
+ }
+ var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
+ result.__actions__ = copyArray(wrapper.__actions__);
+ result.__index__ = wrapper.__index__;
+ result.__values__ = wrapper.__values__;
+ return result;
}
/*------------------------------------------------------------------------*/
/**
* Creates an array of elements split into groups the length of `size`.
- * If `collection` can't be split evenly, the final chunk will be the remaining
+ * If `array` can't be split evenly, the final chunk will be the remaining
* elements.
*
* @static
* @memberOf _
+ * @since 3.0.0
* @category Array
* @param {Array} array The array to process.
- * @param {number} [size=1] The length of each chunk.
- * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
- * @returns {Array} Returns the new array containing chunks.
+ * @param {number} [size=1] The length of each chunk
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
+ * @returns {Array} Returns the new array of chunks.
* @example
*
* _.chunk(['a', 'b', 'c', 'd'], 2);
* // => [['a', 'b', 'c'], ['d']]
*/
function chunk(array, size, guard) {
- if (guard ? isIterateeCall(array, size, guard) : size == null) {
+ if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {
size = 1;
} else {
- size = nativeMax(+size || 1, 1);
+ size = nativeMax(toInteger(size), 0);
+ }
+ var length = array ? array.length : 0;
+ if (!length || size < 1) {
+ return [];
}
var index = 0,
- length = array ? array.length : 0,
- resIndex = -1,
- result = Array(ceil(length / size));
+ resIndex = 0,
+ result = Array(nativeCeil(length / size));
while (index < length) {
- result[++resIndex] = baseSlice(array, index, (index += size));
+ result[resIndex++] = baseSlice(array, index, (index += size));
}
return result;
}
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Array
* @param {Array} array The array to compact.
* @returns {Array} Returns the new array of filtered values.
function compact(array) {
var index = -1,
length = array ? array.length : 0,
- resIndex = -1,
+ resIndex = 0,
result = [];
while (++index < length) {
var value = array[index];
if (value) {
- result[++resIndex] = value;
+ result[resIndex++] = value;
}
}
return result;
}
/**
- * Creates an array of unique `array` values not included in the other
- * provided arrays using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
- * for equality comparisons.
+ * Creates an array of unique `array` values not included in the other given
+ * arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons. The order of result values is determined by the
+ * order they occur in the first array.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Array
* @param {Array} array The array to inspect.
- * @param {...Array} [values] The arrays of values to exclude.
+ * @param {...Array} [values] The values to exclude.
* @returns {Array} Returns the new array of filtered values.
+ * @see _.without, _.xor
* @example
*
- * _.difference([1, 2, 3], [4, 2]);
- * // => [1, 3]
+ * _.difference([3, 2, 1], [4, 2]);
+ * // => [3, 1]
*/
- var difference = restParam(function(array, values) {
- return isArrayLike(array)
- ? baseDifference(array, baseFlatten(values, false, true))
+ var difference = rest(function(array, values) {
+ return isArrayLikeObject(array)
+ ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))
: [];
});
/**
- * Gets the first element of `array`.
+ * Flattens `array` a single level deep.
*
* @static
* @memberOf _
- * @alias head
+ * @since 0.1.0
* @category Array
- * @param {Array} array The array to query.
- * @returns {*} Returns the first element of `array`.
+ * @param {Array} array The array to flatten.
+ * @returns {Array} Returns the new flattened array.
* @example
*
- * _.first([1, 2, 3]);
- * // => 1
- *
- * _.first([]);
- * // => undefined
+ * _.flatten([1, [2, [3, [4]], 5]]);
+ * // => [1, 2, [3, [4]], 5]
*/
- function first(array) {
- return array ? array[0] : undefined;
+ function flatten(array) {
+ var length = array ? array.length : 0;
+ return length ? baseFlatten(array, 1) : [];
}
/**
- * Flattens a nested array. If `isDeep` is `true` the array is recursively
- * flattened, otherwise it is only flattened a single level.
+ * Gets the first element of `array`.
*
* @static
* @memberOf _
+ * @since 0.1.0
+ * @alias first
* @category Array
- * @param {Array} array The array to flatten.
- * @param {boolean} [isDeep] Specify a deep flatten.
- * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
- * @returns {Array} Returns the new flattened array.
+ * @param {Array} array The array to query.
+ * @returns {*} Returns the first element of `array`.
* @example
*
- * _.flatten([1, [2, 3, [4]]]);
- * // => [1, 2, 3, [4]]
+ * _.head([1, 2, 3]);
+ * // => 1
*
- * // using `isDeep`
- * _.flatten([1, [2, 3, [4]]], true);
- * // => [1, 2, 3, 4]
+ * _.head([]);
+ * // => undefined
*/
- function flatten(array, isDeep, guard) {
- var length = array ? array.length : 0;
- if (guard && isIterateeCall(array, isDeep, guard)) {
- isDeep = false;
- }
- return length ? baseFlatten(array, isDeep) : [];
+ function head(array) {
+ return (array && array.length) ? array[0] : undefined;
}
/**
* Gets the index at which the first occurrence of `value` is found in `array`
- * using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
- * for equality comparisons. If `fromIndex` is negative, it is used as the offset
- * from the end of `array`. If `array` is sorted providing `true` for `fromIndex`
- * performs a faster binary search.
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons. If `fromIndex` is negative, it's used as the
+ * offset from the end of `array`.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Array
* @param {Array} array The array to search.
* @param {*} value The value to search for.
- * @param {boolean|number} [fromIndex=0] The index to search from or `true`
- * to perform a binary search on a sorted array.
+ * @param {number} [fromIndex=0] The index to search from.
* @returns {number} Returns the index of the matched value, else `-1`.
* @example
*
* _.indexOf([1, 2, 1, 2], 2);
* // => 1
*
- * // using `fromIndex`
+ * // Search from the `fromIndex`.
* _.indexOf([1, 2, 1, 2], 2, 2);
* // => 3
- *
- * // performing a binary search
- * _.indexOf([1, 1, 2, 2], 2, true);
- * // => 2
*/
function indexOf(array, value, fromIndex) {
var length = array ? array.length : 0;
if (!length) {
return -1;
}
- if (typeof fromIndex == 'number') {
- fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex;
- } else if (fromIndex) {
- var index = binaryIndex(array, value),
- other = array[index];
-
- if (value === value ? (value === other) : (other !== other)) {
- return index;
- }
- return -1;
+ fromIndex = toInteger(fromIndex);
+ if (fromIndex < 0) {
+ fromIndex = nativeMax(length + fromIndex, 0);
}
- return baseIndexOf(array, value, fromIndex || 0);
+ return baseIndexOf(array, value, fromIndex);
}
/**
- * Creates an array of unique values that are included in all of the provided
- * arrays using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
- * for equality comparisons.
+ * Creates an array of unique values that are included in all given arrays
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons. The order of result values is determined by the
+ * order they occur in the first array.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Array
* @param {...Array} [arrays] The arrays to inspect.
- * @returns {Array} Returns the new array of shared values.
+ * @returns {Array} Returns the new array of intersecting values.
* @example
- * _.intersection([1, 2], [4, 2], [2, 1]);
+ *
+ * _.intersection([2, 1], [4, 2], [1, 2]);
* // => [2]
*/
- var intersection = restParam(function(arrays) {
- var othLength = arrays.length,
- othIndex = othLength,
- caches = Array(length),
- indexOf = getIndexOf(),
- isCommon = indexOf == baseIndexOf,
- result = [];
-
- while (othIndex--) {
- var value = arrays[othIndex] = isArrayLike(value = arrays[othIndex]) ? value : [];
- caches[othIndex] = (isCommon && value.length >= 120) ? createCache(othIndex && value) : null;
- }
- var array = arrays[0],
- index = -1,
- length = array ? array.length : 0,
- seen = caches[0];
-
- outer:
- while (++index < length) {
- value = array[index];
- if ((seen ? cacheIndexOf(seen, value) : indexOf(result, value, 0)) < 0) {
- var othIndex = othLength;
- while (--othIndex) {
- var cache = caches[othIndex];
- if ((cache ? cacheIndexOf(cache, value) : indexOf(arrays[othIndex], value, 0)) < 0) {
- continue outer;
- }
- }
- if (seen) {
- seen.push(value);
- }
- result.push(value);
- }
- }
- return result;
+ var intersection = rest(function(arrays) {
+ var mapped = arrayMap(arrays, castArrayLikeObject);
+ return (mapped.length && mapped[0] === arrays[0])
+ ? baseIntersection(mapped)
+ : [];
});
/**
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Array
* @param {Array} array The array to query.
* @returns {*} Returns the last element of `array`.
}
/**
- * Creates an array of unique values, in order, from all of the provided arrays
- * using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+ * Reverses `array` so that the first element becomes the last, the second
+ * element becomes the second to last, and so on.
+ *
+ * **Note:** This method mutates `array` and is based on
+ * [`Array#reverse`](https://mdn.io/Array/reverse).
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @returns {Array} Returns `array`.
+ * @example
+ *
+ * var array = [1, 2, 3];
+ *
+ * _.reverse(array);
+ * // => [3, 2, 1]
+ *
+ * console.log(array);
+ * // => [3, 2, 1]
+ */
+ function reverse(array) {
+ return array ? nativeReverse.call(array) : array;
+ }
+
+ /**
+ * Creates an array of unique values, in order, from all given arrays using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
* for equality comparisons.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Array
* @param {...Array} [arrays] The arrays to inspect.
* @returns {Array} Returns the new array of combined values.
* @example
*
- * _.union([1, 2], [4, 2], [2, 1]);
- * // => [1, 2, 4]
+ * _.union([2, 1], [4, 2], [1, 2]);
+ * // => [2, 1, 4]
*/
- var union = restParam(function(arrays) {
- return baseUniq(baseFlatten(arrays, false, true));
+ var union = rest(function(arrays) {
+ return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
});
/**
* Creates a duplicate-free version of an array, using
- * [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
- * for equality comparisons, in which only the first occurence of each element
- * is kept. Providing `true` for `isSorted` performs a faster search algorithm
- * for sorted arrays. If an iteratee function is provided it is invoked for
- * each element in the array to generate the criterion by which uniqueness
- * is computed. The `iteratee` is bound to `thisArg` and invoked with three
- * arguments: (value, index, array).
- *
- * If a property name is provided for `iteratee` the created `_.property`
- * style callback returns the property value of the given element.
- *
- * If a value is also provided for `thisArg` the created `_.matchesProperty`
- * style callback returns `true` for elements that have a matching property
- * value, else `false`.
- *
- * If an object is provided for `iteratee` the created `_.matches` style
- * callback returns `true` for elements that have the properties of the given
- * object, else `false`.
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons, in which only the first occurrence of each
+ * element is kept.
*
* @static
* @memberOf _
- * @alias unique
+ * @since 0.1.0
* @category Array
* @param {Array} array The array to inspect.
- * @param {boolean} [isSorted] Specify the array is sorted.
- * @param {Function|Object|string} [iteratee] The function invoked per iteration.
- * @param {*} [thisArg] The `this` binding of `iteratee`.
- * @returns {Array} Returns the new duplicate-value-free array.
+ * @returns {Array} Returns the new duplicate free array.
* @example
*
* _.uniq([2, 1, 2]);
* // => [2, 1]
- *
- * // using `isSorted`
- * _.uniq([1, 1, 2], true);
- * // => [1, 2]
- *
- * // using an iteratee function
- * _.uniq([1, 2.5, 1.5, 2], function(n) {
- * return this.floor(n);
- * }, Math);
- * // => [1, 2.5]
- *
- * // using the `_.property` callback shorthand
- * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
- * // => [{ 'x': 1 }, { 'x': 2 }]
*/
- function uniq(array, isSorted, iteratee, thisArg) {
- var length = array ? array.length : 0;
- if (!length) {
- return [];
- }
- if (isSorted != null && typeof isSorted != 'boolean') {
- thisArg = iteratee;
- iteratee = isIterateeCall(array, isSorted, thisArg) ? null : isSorted;
- isSorted = false;
- }
- var callback = getCallback();
- if (!(iteratee == null && callback === baseCallback)) {
- iteratee = callback(iteratee, thisArg, 3);
- }
- return (isSorted && getIndexOf() == baseIndexOf)
- ? sortedUniq(array, iteratee)
- : baseUniq(array, iteratee);
+ function uniq(array) {
+ return (array && array.length)
+ ? baseUniq(array)
+ : [];
}
/**
- * Creates an array excluding all provided values using
- * [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+ * Creates an array excluding all given values using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
* for equality comparisons.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Array
- * @param {Array} array The array to filter.
+ * @param {Array} array The array to inspect.
* @param {...*} [values] The values to exclude.
* @returns {Array} Returns the new array of filtered values.
+ * @see _.difference, _.xor
* @example
*
* _.without([1, 2, 1, 3], 1, 2);
* // => [3]
*/
- var without = restParam(function(array, values) {
- return isArrayLike(array)
+ var without = rest(function(array, values) {
+ return isArrayLikeObject(array)
? baseDifference(array, values)
: [];
});
/*------------------------------------------------------------------------*/
/**
- * Creates a `lodash` object that wraps `value` with explicit method
- * chaining enabled.
+ * Creates a `lodash` wrapper instance that wraps `value` with explicit method
+ * chain sequences enabled. The result of such sequences must be unwrapped
+ * with `_#value`.
*
* @static
* @memberOf _
- * @category Chain
+ * @since 1.3.0
+ * @category Seq
* @param {*} value The value to wrap.
* @returns {Object} Returns the new `lodash` wrapper instance.
* @example
* { 'user': 'pebbles', 'age': 1 }
* ];
*
- * var youngest = _.chain(users)
+ * var youngest = _
+ * .chain(users)
* .sortBy('age')
- * .map(function(chr) {
- * return chr.user + ' is ' + chr.age;
+ * .map(function(o) {
+ * return o.user + ' is ' + o.age;
* })
- * .first()
+ * .head()
* .value();
* // => 'pebbles is 1'
*/
}
/**
- * This method invokes `interceptor` and returns `value`. The interceptor is
- * bound to `thisArg` and invoked with one argument; (value). The purpose of
- * this method is to "tap into" a method chain in order to perform operations
- * on intermediate results within the chain.
+ * This method invokes `interceptor` and returns `value`. The interceptor
+ * is invoked with one argument; (value). The purpose of this method is to
+ * "tap into" a method chain sequence in order to modify intermediate results.
*
* @static
* @memberOf _
- * @category Chain
+ * @since 0.1.0
+ * @category Seq
* @param {*} value The value to provide to `interceptor`.
* @param {Function} interceptor The function to invoke.
- * @param {*} [thisArg] The `this` binding of `interceptor`.
* @returns {*} Returns `value`.
* @example
*
* _([1, 2, 3])
* .tap(function(array) {
+ * // Mutate input array.
* array.pop();
* })
* .reverse()
* .value();
* // => [2, 1]
*/
- function tap(value, interceptor, thisArg) {
- interceptor.call(thisArg, value);
+ function tap(value, interceptor) {
+ interceptor(value);
return value;
}
/**
* This method is like `_.tap` except that it returns the result of `interceptor`.
+ * The purpose of this method is to "pass thru" values replacing intermediate
+ * results in a method chain sequence.
*
* @static
* @memberOf _
- * @category Chain
+ * @since 3.0.0
+ * @category Seq
* @param {*} value The value to provide to `interceptor`.
* @param {Function} interceptor The function to invoke.
- * @param {*} [thisArg] The `this` binding of `interceptor`.
* @returns {*} Returns the result of `interceptor`.
* @example
*
* .value();
* // => ['abc']
*/
- function thru(value, interceptor, thisArg) {
- return interceptor.call(thisArg, value);
+ function thru(value, interceptor) {
+ return interceptor(value);
}
/**
- * Enables explicit method chaining on the wrapper object.
+ * This method is the wrapper version of `_.at`.
+ *
+ * @name at
+ * @memberOf _
+ * @since 1.0.0
+ * @category Seq
+ * @param {...(string|string[])} [paths] The property paths of elements to pick.
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
+ *
+ * _(object).at(['a[0].b.c', 'a[1]']).value();
+ * // => [3, 4]
+ *
+ * _(['a', 'b', 'c']).at(0, 2).value();
+ * // => ['a', 'c']
+ */
+ var wrapperAt = rest(function(paths) {
+ paths = baseFlatten(paths, 1);
+ var length = paths.length,
+ start = length ? paths[0] : 0,
+ value = this.__wrapped__,
+ interceptor = function(object) { return baseAt(object, paths); };
+
+ if (length > 1 || this.__actions__.length ||
+ !(value instanceof LazyWrapper) || !isIndex(start)) {
+ return this.thru(interceptor);
+ }
+ value = value.slice(start, +start + (length ? 1 : 0));
+ value.__actions__.push({
+ 'func': thru,
+ 'args': [interceptor],
+ 'thisArg': undefined
+ });
+ return new LodashWrapper(value, this.__chain__).thru(function(array) {
+ if (length && !array.length) {
+ array.push(undefined);
+ }
+ return array;
+ });
+ });
+
+ /**
+ * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.
*
* @name chain
* @memberOf _
- * @category Chain
+ * @since 0.1.0
+ * @category Seq
* @returns {Object} Returns the new `lodash` wrapper instance.
* @example
*
* { 'user': 'fred', 'age': 40 }
* ];
*
- * // without explicit chaining
- * _(users).first();
+ * // A sequence without explicit chaining.
+ * _(users).head();
* // => { 'user': 'barney', 'age': 36 }
*
- * // with explicit chaining
- * _(users).chain()
- * .first()
+ * // A sequence with explicit chaining.
+ * _(users)
+ * .chain()
+ * .head()
* .pick('user')
* .value();
* // => { 'user': 'barney' }
}
/**
- * Executes the chained sequence and returns the wrapped result.
+ * Executes the chain sequence and returns the wrapped result.
*
* @name commit
* @memberOf _
- * @category Chain
+ * @since 3.2.0
+ * @category Seq
* @returns {Object} Returns the new `lodash` wrapper instance.
* @example
*
* var array = [1, 2];
- * var wrapper = _(array).push(3);
+ * var wrapped = _(array).push(3);
*
* console.log(array);
* // => [1, 2]
*
- * wrapper = wrapper.commit();
+ * wrapped = wrapped.commit();
* console.log(array);
* // => [1, 2, 3]
*
- * wrapper.last();
+ * wrapped.last();
* // => 3
*
* console.log(array);
}
/**
- * Creates a clone of the chained sequence planting `value` as the wrapped value.
+ * Gets the next value on a wrapped object following the
+ * [iterator protocol](https://mdn.io/iteration_protocols#iterator).
+ *
+ * @name next
+ * @memberOf _
+ * @since 4.0.0
+ * @category Seq
+ * @returns {Object} Returns the next iterator value.
+ * @example
+ *
+ * var wrapped = _([1, 2]);
+ *
+ * wrapped.next();
+ * // => { 'done': false, 'value': 1 }
+ *
+ * wrapped.next();
+ * // => { 'done': false, 'value': 2 }
+ *
+ * wrapped.next();
+ * // => { 'done': true, 'value': undefined }
+ */
+ function wrapperNext() {
+ if (this.__values__ === undefined) {
+ this.__values__ = toArray(this.value());
+ }
+ var done = this.__index__ >= this.__values__.length,
+ value = done ? undefined : this.__values__[this.__index__++];
+
+ return { 'done': done, 'value': value };
+ }
+
+ /**
+ * Enables the wrapper to be iterable.
+ *
+ * @name Symbol.iterator
+ * @memberOf _
+ * @since 4.0.0
+ * @category Seq
+ * @returns {Object} Returns the wrapper object.
+ * @example
+ *
+ * var wrapped = _([1, 2]);
+ *
+ * wrapped[Symbol.iterator]() === wrapped;
+ * // => true
+ *
+ * Array.from(wrapped);
+ * // => [1, 2]
+ */
+ function wrapperToIterator() {
+ return this;
+ }
+
+ /**
+ * Creates a clone of the chain sequence planting `value` as the wrapped value.
*
* @name plant
* @memberOf _
- * @category Chain
+ * @since 3.2.0
+ * @category Seq
+ * @param {*} value The value to plant.
* @returns {Object} Returns the new `lodash` wrapper instance.
* @example
*
- * var array = [1, 2];
- * var wrapper = _(array).map(function(value) {
- * return Math.pow(value, 2);
- * });
+ * function square(n) {
+ * return n * n;
+ * }
*
- * var other = [3, 4];
- * var otherWrapper = wrapper.plant(other);
+ * var wrapped = _([1, 2]).map(square);
+ * var other = wrapped.plant([3, 4]);
*
- * otherWrapper.value();
+ * other.value();
* // => [9, 16]
*
- * wrapper.value();
+ * wrapped.value();
* // => [1, 4]
*/
function wrapperPlant(value) {
while (parent instanceof baseLodash) {
var clone = wrapperClone(parent);
+ clone.__index__ = 0;
+ clone.__values__ = undefined;
if (result) {
previous.__wrapped__ = clone;
} else {
}
/**
- * Reverses the wrapped array so the first element becomes the last, the
- * second element becomes the second to last, and so on.
+ * This method is the wrapper version of `_.reverse`.
*
* **Note:** This method mutates the wrapped array.
*
* @name reverse
* @memberOf _
- * @category Chain
- * @returns {Object} Returns the new reversed `lodash` wrapper instance.
+ * @since 0.1.0
+ * @category Seq
+ * @returns {Object} Returns the new `lodash` wrapper instance.
* @example
*
* var array = [1, 2, 3];
function wrapperReverse() {
var value = this.__wrapped__;
if (value instanceof LazyWrapper) {
+ var wrapped = value;
if (this.__actions__.length) {
- value = new LazyWrapper(this);
+ wrapped = new LazyWrapper(this);
}
- return new LodashWrapper(value.reverse(), this.__chain__);
+ wrapped = wrapped.reverse();
+ wrapped.__actions__.push({
+ 'func': thru,
+ 'args': [reverse],
+ 'thisArg': undefined
+ });
+ return new LodashWrapper(wrapped, this.__chain__);
}
- return this.thru(function(value) {
- return value.reverse();
- });
- }
-
- /**
- * Produces the result of coercing the unwrapped value to a string.
- *
- * @name toString
- * @memberOf _
- * @category Chain
- * @returns {string} Returns the coerced string value.
- * @example
- *
- * _([1, 2, 3]).toString();
- * // => '1,2,3'
- */
- function wrapperToString() {
- return (this.value() + '');
+ return this.thru(reverse);
}
/**
- * Executes the chained sequence to extract the unwrapped value.
+ * Executes the chain sequence to resolve the unwrapped value.
*
* @name value
* @memberOf _
- * @alias run, toJSON, valueOf
- * @category Chain
+ * @since 0.1.0
+ * @alias toJSON, valueOf
+ * @category Seq
* @returns {*} Returns the resolved unwrapped value.
* @example
*
/**
* Checks if `predicate` returns truthy for **all** elements of `collection`.
- * The predicate is bound to `thisArg` and invoked with three arguments:
- * (value, index|key, collection).
- *
- * If a property name is provided for `predicate` the created `_.property`
- * style callback returns the property value of the given element.
- *
- * If a value is also provided for `thisArg` the created `_.matchesProperty`
- * style callback returns `true` for elements that have a matching property
- * value, else `false`.
- *
- * If an object is provided for `predicate` the created `_.matches` style
- * callback returns `true` for elements that have the properties of the given
- * object, else `false`.
+ * Iteration is stopped once `predicate` returns falsey. The predicate is
+ * invoked with three arguments: (value, index|key, collection).
*
* @static
* @memberOf _
- * @alias all
+ * @since 0.1.0
* @category Collection
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function|Object|string} [predicate=_.identity] The function invoked
- * per iteration.
- * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Array|Function|Object|string} [predicate=_.identity]
+ * The function invoked per iteration.
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {boolean} Returns `true` if all elements pass the predicate check,
* else `false`.
* @example
* // => false
*
* var users = [
- * { 'user': 'barney', 'active': false },
- * { 'user': 'fred', 'active': false }
+ * { 'user': 'barney', 'age': 36, 'active': false },
+ * { 'user': 'fred', 'age': 40, 'active': false }
* ];
*
- * // using the `_.matches` callback shorthand
+ * // The `_.matches` iteratee shorthand.
* _.every(users, { 'user': 'barney', 'active': false });
* // => false
*
- * // using the `_.matchesProperty` callback shorthand
- * _.every(users, 'active', false);
+ * // The `_.matchesProperty` iteratee shorthand.
+ * _.every(users, ['active', false]);
* // => true
*
- * // using the `_.property` callback shorthand
+ * // The `_.property` iteratee shorthand.
* _.every(users, 'active');
* // => false
*/
- function every(collection, predicate, thisArg) {
+ function every(collection, predicate, guard) {
var func = isArray(collection) ? arrayEvery : baseEvery;
- if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
- predicate = null;
+ if (guard && isIterateeCall(collection, predicate, guard)) {
+ predicate = undefined;
}
- if (typeof predicate != 'function' || thisArg !== undefined) {
- predicate = getCallback(predicate, thisArg, 3);
- }
- return func(collection, predicate);
+ return func(collection, getIteratee(predicate, 3));
}
/**
* Iterates over elements of `collection`, returning an array of all elements
- * `predicate` returns truthy for. The predicate is bound to `thisArg` and
- * invoked with three arguments: (value, index|key, collection).
- *
- * If a property name is provided for `predicate` the created `_.property`
- * style callback returns the property value of the given element.
- *
- * If a value is also provided for `thisArg` the created `_.matchesProperty`
- * style callback returns `true` for elements that have a matching property
- * value, else `false`.
- *
- * If an object is provided for `predicate` the created `_.matches` style
- * callback returns `true` for elements that have the properties of the given
- * object, else `false`.
+ * `predicate` returns truthy for. The predicate is invoked with three
+ * arguments: (value, index|key, collection).
*
* @static
* @memberOf _
- * @alias select
+ * @since 0.1.0
* @category Collection
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function|Object|string} [predicate=_.identity] The function invoked
- * per iteration.
- * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Array|Function|Object|string} [predicate=_.identity]
+ * The function invoked per iteration.
* @returns {Array} Returns the new filtered array.
+ * @see _.reject
* @example
*
- * _.filter([4, 5, 6], function(n) {
- * return n % 2 == 0;
- * });
- * // => [4, 6]
- *
* var users = [
* { 'user': 'barney', 'age': 36, 'active': true },
* { 'user': 'fred', 'age': 40, 'active': false }
* ];
*
- * // using the `_.matches` callback shorthand
- * _.pluck(_.filter(users, { 'age': 36, 'active': true }), 'user');
- * // => ['barney']
+ * _.filter(users, function(o) { return !o.active; });
+ * // => objects for ['fred']
*
- * // using the `_.matchesProperty` callback shorthand
- * _.pluck(_.filter(users, 'active', false), 'user');
- * // => ['fred']
+ * // The `_.matches` iteratee shorthand.
+ * _.filter(users, { 'age': 36, 'active': true });
+ * // => objects for ['barney']
*
- * // using the `_.property` callback shorthand
- * _.pluck(_.filter(users, 'active'), 'user');
- * // => ['barney']
+ * // The `_.matchesProperty` iteratee shorthand.
+ * _.filter(users, ['active', false]);
+ * // => objects for ['fred']
+ *
+ * // The `_.property` iteratee shorthand.
+ * _.filter(users, 'active');
+ * // => objects for ['barney']
*/
- function filter(collection, predicate, thisArg) {
+ function filter(collection, predicate) {
var func = isArray(collection) ? arrayFilter : baseFilter;
- predicate = getCallback(predicate, thisArg, 3);
- return func(collection, predicate);
+ return func(collection, getIteratee(predicate, 3));
}
/**
* Iterates over elements of `collection`, returning the first element
- * `predicate` returns truthy for. The predicate is bound to `thisArg` and
- * invoked with three arguments: (value, index|key, collection).
- *
- * If a property name is provided for `predicate` the created `_.property`
- * style callback returns the property value of the given element.
- *
- * If a value is also provided for `thisArg` the created `_.matchesProperty`
- * style callback returns `true` for elements that have a matching property
- * value, else `false`.
- *
- * If an object is provided for `predicate` the created `_.matches` style
- * callback returns `true` for elements that have the properties of the given
- * object, else `false`.
+ * `predicate` returns truthy for. The predicate is invoked with three
+ * arguments: (value, index|key, collection).
*
* @static
* @memberOf _
- * @alias detect
+ * @since 0.1.0
* @category Collection
- * @param {Array|Object|string} collection The collection to search.
- * @param {Function|Object|string} [predicate=_.identity] The function invoked
- * per iteration.
- * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @param {Array|Object} collection The collection to search.
+ * @param {Array|Function|Object|string} [predicate=_.identity]
+ * The function invoked per iteration.
* @returns {*} Returns the matched element, else `undefined`.
* @example
*
* { 'user': 'pebbles', 'age': 1, 'active': true }
* ];
*
- * _.result(_.find(users, function(chr) {
- * return chr.age < 40;
- * }), 'user');
- * // => 'barney'
+ * _.find(users, function(o) { return o.age < 40; });
+ * // => object for 'barney'
*
- * // using the `_.matches` callback shorthand
- * _.result(_.find(users, { 'age': 1, 'active': true }), 'user');
- * // => 'pebbles'
+ * // The `_.matches` iteratee shorthand.
+ * _.find(users, { 'age': 1, 'active': true });
+ * // => object for 'pebbles'
*
- * // using the `_.matchesProperty` callback shorthand
- * _.result(_.find(users, 'active', false), 'user');
- * // => 'fred'
+ * // The `_.matchesProperty` iteratee shorthand.
+ * _.find(users, ['active', false]);
+ * // => object for 'fred'
*
- * // using the `_.property` callback shorthand
- * _.result(_.find(users, 'active'), 'user');
- * // => 'barney'
+ * // The `_.property` iteratee shorthand.
+ * _.find(users, 'active');
+ * // => object for 'barney'
*/
- var find = createFind(baseEach);
+ function find(collection, predicate) {
+ predicate = getIteratee(predicate, 3);
+ if (isArray(collection)) {
+ var index = baseFindIndex(collection, predicate);
+ return index > -1 ? collection[index] : undefined;
+ }
+ return baseFind(collection, predicate, baseEach);
+ }
/**
- * Iterates over elements of `collection` invoking `iteratee` for each element.
- * The `iteratee` is bound to `thisArg` and invoked with three arguments:
- * (value, index|key, collection). Iteratee functions may exit iteration early
- * by explicitly returning `false`.
+ * Iterates over elements of `collection` and invokes `iteratee` for each element.
+ * The iteratee is invoked with three arguments: (value, index|key, collection).
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
*
- * **Note:** As with other "Collections" methods, objects with a "length" property
- * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
- * may be used for object iteration.
+ * **Note:** As with other "Collections" methods, objects with a "length"
+ * property are iterated like arrays. To avoid this behavior use `_.forIn`
+ * or `_.forOwn` for object iteration.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @alias each
* @category Collection
- * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|Object} collection The collection to iterate over.
* @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {*} [thisArg] The `this` binding of `iteratee`.
- * @returns {Array|Object|string} Returns `collection`.
+ * @returns {Array|Object} Returns `collection`.
+ * @see _.forEachRight
* @example
*
- * _([1, 2]).forEach(function(n) {
- * console.log(n);
- * }).value();
- * // => logs each value from left to right and returns the array
+ * _([1, 2]).forEach(function(value) {
+ * console.log(value);
+ * });
+ * // => Logs `1` then `2`.
*
- * _.forEach({ 'a': 1, 'b': 2 }, function(n, key) {
- * console.log(n, key);
+ * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
+ * console.log(key);
* });
- * // => logs each value-key pair and returns the object (iteration order is not guaranteed)
+ * // => Logs 'a' then 'b' (iteration order is not guaranteed).
*/
- var forEach = createForEach(arrayEach, baseEach);
+ function forEach(collection, iteratee) {
+ var func = isArray(collection) ? arrayEach : baseEach;
+ return func(collection, getIteratee(iteratee, 3));
+ }
/**
* Creates an object composed of keys generated from the results of running
- * each element of `collection` through `iteratee`. The corresponding value
- * of each key is an array of the elements responsible for generating the key.
- * The `iteratee` is bound to `thisArg` and invoked with three arguments:
- * (value, index|key, collection).
- *
- * If a property name is provided for `iteratee` the created `_.property`
- * style callback returns the property value of the given element.
- *
- * If a value is also provided for `thisArg` the created `_.matchesProperty`
- * style callback returns `true` for elements that have a matching property
- * value, else `false`.
- *
- * If an object is provided for `iteratee` the created `_.matches` style
- * callback returns `true` for elements that have the properties of the given
- * object, else `false`.
+ * each element of `collection` thru `iteratee`. The order of grouped values
+ * is determined by the order they occur in `collection`. The corresponding
+ * value of each key is an array of elements responsible for generating the
+ * key. The iteratee is invoked with one argument: (value).
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Collection
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function|Object|string} [iteratee=_.identity] The function invoked
- * per iteration.
- * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Array|Function|Object|string} [iteratee=_.identity]
+ * The iteratee to transform keys.
* @returns {Object} Returns the composed aggregate object.
* @example
*
- * _.groupBy([4.2, 6.1, 6.4], function(n) {
- * return Math.floor(n);
- * });
- * // => { '4': [4.2], '6': [6.1, 6.4] }
- *
- * _.groupBy([4.2, 6.1, 6.4], function(n) {
- * return this.floor(n);
- * }, Math);
- * // => { '4': [4.2], '6': [6.1, 6.4] }
+ * _.groupBy([6.1, 4.2, 6.3], Math.floor);
+ * // => { '4': [4.2], '6': [6.1, 6.3] }
*
- * // using the `_.property` callback shorthand
+ * // The `_.property` iteratee shorthand.
* _.groupBy(['one', 'two', 'three'], 'length');
* // => { '3': ['one', 'two'], '5': ['three'] }
*/
});
/**
- * Checks if `value` is in `collection` using
- * [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
- * for equality comparisons. If `fromIndex` is negative, it is used as the offset
- * from the end of `collection`.
+ * Checks if `value` is in `collection`. If `collection` is a string, it's
+ * checked for a substring of `value`, otherwise
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * is used for equality comparisons. If `fromIndex` is negative, it's used as
+ * the offset from the end of `collection`.
*
* @static
* @memberOf _
- * @alias contains, include
+ * @since 0.1.0
* @category Collection
* @param {Array|Object|string} collection The collection to search.
- * @param {*} target The value to search for.
+ * @param {*} value The value to search for.
* @param {number} [fromIndex=0] The index to search from.
- * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`.
- * @returns {boolean} Returns `true` if a matching element is found, else `false`.
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
+ * @returns {boolean} Returns `true` if `value` is found, else `false`.
* @example
*
* _.includes([1, 2, 3], 1);
* _.includes('pebbles', 'eb');
* // => true
*/
- function includes(collection, target, fromIndex, guard) {
- var length = collection ? getLength(collection) : 0;
- if (!isLength(length)) {
- collection = values(collection);
- length = collection.length;
- }
- if (!length) {
- return false;
- }
- if (typeof fromIndex != 'number' || (guard && isIterateeCall(target, fromIndex, guard))) {
- fromIndex = 0;
- } else {
- fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : (fromIndex || 0);
+ function includes(collection, value, fromIndex, guard) {
+ collection = isArrayLike(collection) ? collection : values(collection);
+ fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;
+
+ var length = collection.length;
+ if (fromIndex < 0) {
+ fromIndex = nativeMax(length + fromIndex, 0);
}
- return (typeof collection == 'string' || !isArray(collection) && isString(collection))
- ? (fromIndex < length && collection.indexOf(target, fromIndex) > -1)
- : (getIndexOf(collection, target, fromIndex) > -1);
+ return isString(collection)
+ ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)
+ : (!!length && baseIndexOf(collection, value, fromIndex) > -1);
}
/**
- * Creates an array of values by running each element in `collection` through
- * `iteratee`. The `iteratee` is bound to `thisArg` and invoked with three
- * arguments: (value, index|key, collection).
- *
- * If a property name is provided for `iteratee` the created `_.property`
- * style callback returns the property value of the given element.
- *
- * If a value is also provided for `thisArg` the created `_.matchesProperty`
- * style callback returns `true` for elements that have a matching property
- * value, else `false`.
- *
- * If an object is provided for `iteratee` the created `_.matches` style
- * callback returns `true` for elements that have the properties of the given
- * object, else `false`.
+ * Creates an array of values by running each element in `collection` thru
+ * `iteratee`. The iteratee is invoked with three arguments:
+ * (value, index|key, collection).
*
* Many lodash methods are guarded to work as iteratees for methods like
* `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
*
* The guarded methods are:
- * `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`,
- * `drop`, `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`,
- * `parseInt`, `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`,
- * `trimLeft`, `trimRight`, `trunc`, `random`, `range`, `sample`, `some`,
- * `sum`, `uniq`, and `words`
+ * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
+ * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
+ * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
+ * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
*
* @static
* @memberOf _
- * @alias collect
+ * @since 0.1.0
* @category Collection
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function|Object|string} [iteratee=_.identity] The function invoked
- * per iteration.
- * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Array|Function|Object|string} [iteratee=_.identity]
+ * The function invoked per iteration.
* @returns {Array} Returns the new mapped array.
* @example
*
- * function timesThree(n) {
- * return n * 3;
+ * function square(n) {
+ * return n * n;
* }
*
- * _.map([1, 2], timesThree);
- * // => [3, 6]
+ * _.map([4, 8], square);
+ * // => [16, 64]
*
- * _.map({ 'a': 1, 'b': 2 }, timesThree);
- * // => [3, 6] (iteration order is not guaranteed)
+ * _.map({ 'a': 4, 'b': 8 }, square);
+ * // => [16, 64] (iteration order is not guaranteed)
*
* var users = [
- * { 'user': 'barney' },
- * { 'user': 'fred' }
- * ];
- *
- * // using the `_.property` callback shorthand
- * _.map(users, 'user');
- * // => ['barney', 'fred']
- */
- function map(collection, iteratee, thisArg) {
- var func = isArray(collection) ? arrayMap : baseMap;
- iteratee = getCallback(iteratee, thisArg, 3);
- return func(collection, iteratee);
- }
-
- /**
- * Gets the property value of `path` from all elements in `collection`.
- *
- * @static
- * @memberOf _
- * @category Collection
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Array|string} path The path of the property to pluck.
- * @returns {Array} Returns the property values.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36 },
- * { 'user': 'fred', 'age': 40 }
+ * { 'user': 'barney' },
+ * { 'user': 'fred' }
* ];
*
- * _.pluck(users, 'user');
+ * // The `_.property` iteratee shorthand.
+ * _.map(users, 'user');
* // => ['barney', 'fred']
- *
- * var userIndex = _.indexBy(users, 'user');
- * _.pluck(userIndex, 'age');
- * // => [36, 40] (iteration order is not guaranteed)
*/
- function pluck(collection, path) {
- return map(collection, property(path));
+ function map(collection, iteratee) {
+ var func = isArray(collection) ? arrayMap : baseMap;
+ return func(collection, getIteratee(iteratee, 3));
}
/**
* Reduces `collection` to a value which is the accumulated result of running
- * each element in `collection` through `iteratee`, where each successive
+ * each element in `collection` thru `iteratee`, where each successive
* invocation is supplied the return value of the previous. If `accumulator`
- * is not provided the first element of `collection` is used as the initial
- * value. The `iteratee` is bound to `thisArg` and invoked with four arguments:
+ * is not given, the first element of `collection` is used as the initial
+ * value. The iteratee is invoked with four arguments:
* (accumulator, value, index|key, collection).
*
* Many lodash methods are guarded to work as iteratees for methods like
* `_.reduce`, `_.reduceRight`, and `_.transform`.
*
* The guarded methods are:
- * `assign`, `defaults`, `includes`, `merge`, `sortByAll`, and `sortByOrder`
+ * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,
+ * and `sortBy`
*
* @static
* @memberOf _
- * @alias foldl, inject
+ * @since 0.1.0
* @category Collection
- * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|Object} collection The collection to iterate over.
* @param {Function} [iteratee=_.identity] The function invoked per iteration.
* @param {*} [accumulator] The initial value.
- * @param {*} [thisArg] The `this` binding of `iteratee`.
* @returns {*} Returns the accumulated value.
+ * @see _.reduceRight
* @example
*
- * _.reduce([1, 2], function(total, n) {
- * return total + n;
- * });
+ * _.reduce([1, 2], function(sum, n) {
+ * return sum + n;
+ * }, 0);
* // => 3
*
- * _.reduce({ 'a': 1, 'b': 2 }, function(result, n, key) {
- * result[key] = n * 3;
+ * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
+ * (result[value] || (result[value] = [])).push(key);
* return result;
* }, {});
- * // => { 'a': 3, 'b': 6 } (iteration order is not guaranteed)
+ * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)
*/
- var reduce = createReduce(arrayReduce, baseEach);
+ function reduce(collection, iteratee, accumulator) {
+ var func = isArray(collection) ? arrayReduce : baseReduce,
+ initAccum = arguments.length < 3;
+
+ return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);
+ }
/**
* The opposite of `_.filter`; this method returns the elements of `collection`
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Collection
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function|Object|string} [predicate=_.identity] The function invoked
- * per iteration.
- * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Array|Function|Object|string} [predicate=_.identity]
+ * The function invoked per iteration.
* @returns {Array} Returns the new filtered array.
+ * @see _.filter
* @example
*
- * _.reject([1, 2, 3, 4], function(n) {
- * return n % 2 == 0;
- * });
- * // => [1, 3]
- *
* var users = [
* { 'user': 'barney', 'age': 36, 'active': false },
* { 'user': 'fred', 'age': 40, 'active': true }
* ];
*
- * // using the `_.matches` callback shorthand
- * _.pluck(_.reject(users, { 'age': 40, 'active': true }), 'user');
- * // => ['barney']
+ * _.reject(users, function(o) { return !o.active; });
+ * // => objects for ['fred']
*
- * // using the `_.matchesProperty` callback shorthand
- * _.pluck(_.reject(users, 'active', false), 'user');
- * // => ['fred']
+ * // The `_.matches` iteratee shorthand.
+ * _.reject(users, { 'age': 40, 'active': true });
+ * // => objects for ['barney']
*
- * // using the `_.property` callback shorthand
- * _.pluck(_.reject(users, 'active'), 'user');
- * // => ['barney']
+ * // The `_.matchesProperty` iteratee shorthand.
+ * _.reject(users, ['active', false]);
+ * // => objects for ['fred']
+ *
+ * // The `_.property` iteratee shorthand.
+ * _.reject(users, 'active');
+ * // => objects for ['barney']
*/
- function reject(collection, predicate, thisArg) {
+ function reject(collection, predicate) {
var func = isArray(collection) ? arrayFilter : baseFilter;
- predicate = getCallback(predicate, thisArg, 3);
+ predicate = getIteratee(predicate, 3);
return func(collection, function(value, index, collection) {
return !predicate(value, index, collection);
});
/**
* Checks if `predicate` returns truthy for **any** element of `collection`.
- * The function returns as soon as it finds a passing value and does not iterate
- * over the entire collection. The predicate is bound to `thisArg` and invoked
- * with three arguments: (value, index|key, collection).
- *
- * If a property name is provided for `predicate` the created `_.property`
- * style callback returns the property value of the given element.
- *
- * If a value is also provided for `thisArg` the created `_.matchesProperty`
- * style callback returns `true` for elements that have a matching property
- * value, else `false`.
- *
- * If an object is provided for `predicate` the created `_.matches` style
- * callback returns `true` for elements that have the properties of the given
- * object, else `false`.
+ * Iteration is stopped once `predicate` returns truthy. The predicate is
+ * invoked with three arguments: (value, index|key, collection).
*
* @static
* @memberOf _
- * @alias any
+ * @since 0.1.0
* @category Collection
- * @param {Array|Object|string} collection The collection to iterate over.
- * @param {Function|Object|string} [predicate=_.identity] The function invoked
- * per iteration.
- * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Array|Function|Object|string} [predicate=_.identity]
+ * The function invoked per iteration.
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {boolean} Returns `true` if any element passes the predicate check,
* else `false`.
* @example
* { 'user': 'fred', 'active': false }
* ];
*
- * // using the `_.matches` callback shorthand
+ * // The `_.matches` iteratee shorthand.
* _.some(users, { 'user': 'barney', 'active': false });
* // => false
*
- * // using the `_.matchesProperty` callback shorthand
- * _.some(users, 'active', false);
+ * // The `_.matchesProperty` iteratee shorthand.
+ * _.some(users, ['active', false]);
* // => true
*
- * // using the `_.property` callback shorthand
+ * // The `_.property` iteratee shorthand.
* _.some(users, 'active');
* // => true
*/
- function some(collection, predicate, thisArg) {
+ function some(collection, predicate, guard) {
var func = isArray(collection) ? arraySome : baseSome;
- if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
- predicate = null;
- }
- if (typeof predicate != 'function' || thisArg !== undefined) {
- predicate = getCallback(predicate, thisArg, 3);
+ if (guard && isIterateeCall(collection, predicate, guard)) {
+ predicate = undefined;
}
- return func(collection, predicate);
+ return func(collection, getIteratee(predicate, 3));
}
/*------------------------------------------------------------------------*/
/**
- * Gets the number of milliseconds that have elapsed since the Unix epoch
- * (1 January 1970 00:00:00 UTC).
+ * Gets the timestamp of the number of milliseconds that have elapsed since
+ * the Unix epoch (1 January 1970 00:00:00 UTC).
*
* @static
* @memberOf _
+ * @since 2.4.0
+ * @type {Function}
* @category Date
+ * @returns {number} Returns the timestamp.
* @example
*
* _.defer(function(stamp) {
* console.log(_.now() - stamp);
* }, _.now());
- * // => logs the number of milliseconds it took for the deferred function to be invoked
+ * // => Logs the number of milliseconds it took for the deferred function to be invoked.
*/
- var now = nativeNow || function() {
- return new Date().getTime();
- };
+ var now = Date.now;
/*------------------------------------------------------------------------*/
/**
* Creates a function that invokes `func` with the `this` binding of `thisArg`
- * and prepends any additional `_.bind` arguments to those provided to the
- * bound function.
+ * and `partials` prepended to the arguments it receives.
*
* The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
* may be used as a placeholder for partially applied arguments.
*
- * **Note:** Unlike native `Function#bind` this method does not set the "length"
+ * **Note:** Unlike native `Function#bind` this method doesn't set the "length"
* property of bound functions.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Function
* @param {Function} func The function to bind.
* @param {*} thisArg The `this` binding of `func`.
* bound('!');
* // => 'hi fred!'
*
- * // using placeholders
+ * // Bound with placeholders.
* var bound = _.bind(greet, object, _, '!');
* bound('hi');
* // => 'hi fred!'
*/
- var bind = restParam(function(func, thisArg, partials) {
+ var bind = rest(function(func, thisArg, partials) {
var bitmask = BIND_FLAG;
if (partials.length) {
- var holders = replaceHolders(partials, bind.placeholder);
+ var holders = replaceHolders(partials, getHolder(bind));
bitmask |= PARTIAL_FLAG;
}
return createWrapper(func, bitmask, thisArg, partials, holders);
* Creates a debounced function that delays invoking `func` until after `wait`
* milliseconds have elapsed since the last time the debounced function was
* invoked. The debounced function comes with a `cancel` method to cancel
- * delayed invocations. Provide an options object to indicate that `func`
- * should be invoked on the leading and/or trailing edge of the `wait` timeout.
- * Subsequent calls to the debounced function return the result of the last
- * `func` invocation.
+ * delayed `func` invocations and a `flush` method to immediately invoke them.
+ * Provide an options object to indicate whether `func` should be invoked on
+ * the leading and/or trailing edge of the `wait` timeout. The `func` is invoked
+ * with the last arguments provided to the debounced function. Subsequent calls
+ * to the debounced function return the result of the last `func` invocation.
*
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
- * on the trailing edge of the timeout only if the the debounced function is
+ * on the trailing edge of the timeout only if the debounced function is
* invoked more than once during the `wait` timeout.
*
- * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
* for details over the differences between `_.debounce` and `_.throttle`.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Function
* @param {Function} func The function to debounce.
* @param {number} [wait=0] The number of milliseconds to delay.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.leading=false] Specify invoking on the leading
- * edge of the timeout.
- * @param {number} [options.maxWait] The maximum time `func` is allowed to be
- * delayed before it is invoked.
- * @param {boolean} [options.trailing=true] Specify invoking on the trailing
- * edge of the timeout.
+ * @param {Object} [options={}] The options object.
+ * @param {boolean} [options.leading=false]
+ * Specify invoking on the leading edge of the timeout.
+ * @param {number} [options.maxWait]
+ * The maximum time `func` is allowed to be delayed before it's invoked.
+ * @param {boolean} [options.trailing=true]
+ * Specify invoking on the trailing edge of the timeout.
* @returns {Function} Returns the new debounced function.
* @example
*
- * // avoid costly calculations while the window size is in flux
+ * // Avoid costly calculations while the window size is in flux.
* jQuery(window).on('resize', _.debounce(calculateLayout, 150));
*
- * // invoke `sendMail` when the click event is fired, debouncing subsequent calls
- * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
+ * // Invoke `sendMail` when clicked, debouncing subsequent calls.
+ * jQuery(element).on('click', _.debounce(sendMail, 300, {
* 'leading': true,
* 'trailing': false
* }));
*
- * // ensure `batchLog` is invoked once after 1 second of debounced calls
+ * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
+ * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
* var source = new EventSource('/stream');
- * jQuery(source).on('message', _.debounce(batchLog, 250, {
- * 'maxWait': 1000
- * }));
- *
- * // cancel a debounced call
- * var todoChanges = _.debounce(batchLog, 1000);
- * Object.observe(models.todo, todoChanges);
- *
- * Object.observe(models, function(changes) {
- * if (_.find(changes, { 'user': 'todo', 'type': 'delete'})) {
- * todoChanges.cancel();
- * }
- * }, ['delete']);
+ * jQuery(source).on('message', debounced);
*
- * // ...at some point `models.todo` is changed
- * models.todo.completed = true;
- *
- * // ...before 1 second has passed `models.todo` is deleted
- * // which cancels the debounced `todoChanges` call
- * delete models.todo;
+ * // Cancel the trailing debounced invocation.
+ * jQuery(window).on('popstate', debounced.cancel);
*/
function debounce(func, wait, options) {
- var args,
- maxTimeoutId,
+ var lastArgs,
+ lastThis,
+ maxWait,
result,
- stamp,
- thisArg,
- timeoutId,
- trailingCall,
- lastCalled = 0,
- maxWait = false,
+ timerId,
+ lastCallTime = 0,
+ lastInvokeTime = 0,
+ leading = false,
+ maxing = false,
trailing = true;
if (typeof func != 'function') {
throw new TypeError(FUNC_ERROR_TEXT);
}
- wait = wait < 0 ? 0 : (+wait || 0);
- if (options === true) {
- var leading = true;
- trailing = false;
- } else if (isObject(options)) {
- leading = options.leading;
- maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait);
- trailing = 'trailing' in options ? options.trailing : trailing;
+ wait = toNumber(wait) || 0;
+ if (isObject(options)) {
+ leading = !!options.leading;
+ maxing = 'maxWait' in options;
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
}
- function cancel() {
- if (timeoutId) {
- clearTimeout(timeoutId);
- }
- if (maxTimeoutId) {
- clearTimeout(maxTimeoutId);
- }
- maxTimeoutId = timeoutId = trailingCall = undefined;
- }
-
- function delayed() {
- var remaining = wait - (now() - stamp);
- if (remaining <= 0 || remaining > wait) {
- if (maxTimeoutId) {
- clearTimeout(maxTimeoutId);
- }
- var isCalled = trailingCall;
- maxTimeoutId = timeoutId = trailingCall = undefined;
- if (isCalled) {
- lastCalled = now();
- result = func.apply(thisArg, args);
- if (!timeoutId && !maxTimeoutId) {
- args = thisArg = null;
- }
- }
- } else {
- timeoutId = setTimeout(delayed, remaining);
+ function invokeFunc(time) {
+ var args = lastArgs,
+ thisArg = lastThis;
+
+ lastArgs = lastThis = undefined;
+ lastInvokeTime = time;
+ result = func.apply(thisArg, args);
+ return result;
+ }
+
+ function leadingEdge(time) {
+ // Reset any `maxWait` timer.
+ lastInvokeTime = time;
+ // Start the timer for the trailing edge.
+ timerId = setTimeout(timerExpired, wait);
+ // Invoke the leading edge.
+ return leading ? invokeFunc(time) : result;
+ }
+
+ function remainingWait(time) {
+ var timeSinceLastCall = time - lastCallTime,
+ timeSinceLastInvoke = time - lastInvokeTime,
+ result = wait - timeSinceLastCall;
+
+ return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
+ }
+
+ function shouldInvoke(time) {
+ var timeSinceLastCall = time - lastCallTime,
+ timeSinceLastInvoke = time - lastInvokeTime;
+
+ // Either this is the first call, activity has stopped and we're at the
+ // trailing edge, the system time has gone backwards and we're treating
+ // it as the trailing edge, or we've hit the `maxWait` limit.
+ return (!lastCallTime || (timeSinceLastCall >= wait) ||
+ (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
+ }
+
+ function timerExpired() {
+ var time = now();
+ if (shouldInvoke(time)) {
+ return trailingEdge(time);
}
+ // Restart the timer.
+ timerId = setTimeout(timerExpired, remainingWait(time));
}
- function maxDelayed() {
- if (timeoutId) {
- clearTimeout(timeoutId);
+ function trailingEdge(time) {
+ clearTimeout(timerId);
+ timerId = undefined;
+
+ // Only invoke if we have `lastArgs` which means `func` has been
+ // debounced at least once.
+ if (trailing && lastArgs) {
+ return invokeFunc(time);
}
- maxTimeoutId = timeoutId = trailingCall = undefined;
- if (trailing || (maxWait !== wait)) {
- lastCalled = now();
- result = func.apply(thisArg, args);
- if (!timeoutId && !maxTimeoutId) {
- args = thisArg = null;
- }
+ lastArgs = lastThis = undefined;
+ return result;
+ }
+
+ function cancel() {
+ if (timerId !== undefined) {
+ clearTimeout(timerId);
}
+ lastCallTime = lastInvokeTime = 0;
+ lastArgs = lastThis = timerId = undefined;
+ }
+
+ function flush() {
+ return timerId === undefined ? result : trailingEdge(now());
}
function debounced() {
- args = arguments;
- stamp = now();
- thisArg = this;
- trailingCall = trailing && (timeoutId || !leading);
+ var time = now(),
+ isInvoking = shouldInvoke(time);
- if (maxWait === false) {
- var leadingCall = leading && !timeoutId;
- } else {
- if (!maxTimeoutId && !leading) {
- lastCalled = stamp;
- }
- var remaining = maxWait - (stamp - lastCalled),
- isCalled = remaining <= 0 || remaining > maxWait;
+ lastArgs = arguments;
+ lastThis = this;
+ lastCallTime = time;
- if (isCalled) {
- if (maxTimeoutId) {
- maxTimeoutId = clearTimeout(maxTimeoutId);
- }
- lastCalled = stamp;
- result = func.apply(thisArg, args);
+ if (isInvoking) {
+ if (timerId === undefined) {
+ return leadingEdge(lastCallTime);
}
- else if (!maxTimeoutId) {
- maxTimeoutId = setTimeout(maxDelayed, remaining);
+ if (maxing) {
+ // Handle invocations in a tight loop.
+ clearTimeout(timerId);
+ timerId = setTimeout(timerExpired, wait);
+ return invokeFunc(lastCallTime);
}
}
- if (isCalled && timeoutId) {
- timeoutId = clearTimeout(timeoutId);
- }
- else if (!timeoutId && wait !== maxWait) {
- timeoutId = setTimeout(delayed, wait);
- }
- if (leadingCall) {
- isCalled = true;
- result = func.apply(thisArg, args);
- }
- if (isCalled && !timeoutId && !maxTimeoutId) {
- args = thisArg = null;
+ if (timerId === undefined) {
+ timerId = setTimeout(timerExpired, wait);
}
return result;
}
debounced.cancel = cancel;
+ debounced.flush = flush;
return debounced;
}
+ /**
+ * Creates a function that memoizes the result of `func`. If `resolver` is
+ * provided, it determines the cache key for storing the result based on the
+ * arguments provided to the memoized function. By default, the first argument
+ * provided to the memoized function is used as the map cache key. The `func`
+ * is invoked with the `this` binding of the memoized function.
+ *
+ * **Note:** The cache is exposed as the `cache` property on the memoized
+ * function. Its creation may be customized by replacing the `_.memoize.Cache`
+ * constructor with one whose instances implement the
+ * [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)
+ * method interface of `delete`, `get`, `has`, and `set`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Function
+ * @param {Function} func The function to have its output memoized.
+ * @param {Function} [resolver] The function to resolve the cache key.
+ * @returns {Function} Returns the new memoized function.
+ * @example
+ *
+ * var object = { 'a': 1, 'b': 2 };
+ * var other = { 'c': 3, 'd': 4 };
+ *
+ * var values = _.memoize(_.values);
+ * values(object);
+ * // => [1, 2]
+ *
+ * values(other);
+ * // => [3, 4]
+ *
+ * object.a = 2;
+ * values(object);
+ * // => [1, 2]
+ *
+ * // Modify the result cache.
+ * values.cache.set(object, ['a', 'b']);
+ * values(object);
+ * // => ['a', 'b']
+ *
+ * // Replace `_.memoize.Cache`.
+ * _.memoize.Cache = WeakMap;
+ */
+ function memoize(func, resolver) {
+ if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
+ throw new TypeError(FUNC_ERROR_TEXT);
+ }
+ var memoized = function() {
+ var args = arguments,
+ key = resolver ? resolver.apply(this, args) : args[0],
+ cache = memoized.cache;
+
+ if (cache.has(key)) {
+ return cache.get(key);
+ }
+ var result = func.apply(this, args);
+ memoized.cache = cache.set(key, result);
+ return result;
+ };
+ memoized.cache = new (memoize.Cache || MapCache);
+ return memoized;
+ }
+
+ // Assign cache to `_.memoize`.
+ memoize.Cache = MapCache;
+
/**
* Creates a function that invokes `func` with the `this` binding of the
- * created function and arguments from `start` and beyond provided as an array.
+ * created function and arguments from `start` and beyond provided as
+ * an array.
*
- * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters).
+ * **Note:** This method is based on the
+ * [rest parameter](https://mdn.io/rest_parameters).
*
* @static
* @memberOf _
+ * @since 4.0.0
* @category Function
* @param {Function} func The function to apply a rest parameter to.
* @param {number} [start=func.length-1] The start position of the rest parameter.
* @returns {Function} Returns the new function.
* @example
*
- * var say = _.restParam(function(what, names) {
+ * var say = _.rest(function(what, names) {
* return what + ' ' + _.initial(names).join(', ') +
* (_.size(names) > 1 ? ', & ' : '') + _.last(names);
* });
* say('hello', 'fred', 'barney', 'pebbles');
* // => 'hello fred, barney, & pebbles'
*/
- function restParam(func, start) {
+ function rest(func, start) {
if (typeof func != 'function') {
throw new TypeError(FUNC_ERROR_TEXT);
}
- start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0);
+ start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);
return function() {
var args = arguments,
index = -1,
length = nativeMax(args.length - start, 0),
- rest = Array(length);
+ array = Array(length);
while (++index < length) {
- rest[index] = args[start + index];
+ array[index] = args[start + index];
}
switch (start) {
- case 0: return func.call(this, rest);
- case 1: return func.call(this, args[0], rest);
- case 2: return func.call(this, args[0], args[1], rest);
+ case 0: return func.call(this, array);
+ case 1: return func.call(this, args[0], array);
+ case 2: return func.call(this, args[0], args[1], array);
}
var otherArgs = Array(start + 1);
index = -1;
while (++index < start) {
otherArgs[index] = args[index];
}
- otherArgs[start] = rest;
- return func.apply(this, otherArgs);
+ otherArgs[start] = array;
+ return apply(func, this, otherArgs);
};
}
/**
* Creates a throttled function that only invokes `func` at most once per
* every `wait` milliseconds. The throttled function comes with a `cancel`
- * method to cancel delayed invocations. Provide an options object to indicate
- * that `func` should be invoked on the leading and/or trailing edge of the
- * `wait` timeout. Subsequent calls to the throttled function return the
- * result of the last `func` call.
- *
- * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
- * on the trailing edge of the timeout only if the the throttled function is
- * invoked more than once during the `wait` timeout.
- *
- * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+ * method to cancel delayed `func` invocations and a `flush` method to
+ * immediately invoke them. Provide an options object to indicate whether
+ * `func` should be invoked on the leading and/or trailing edge of the `wait`
+ * timeout. The `func` is invoked with the last arguments provided to the
+ * throttled function. Subsequent calls to the throttled function return the
+ * result of the last `func` invocation.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
+ * invoked on the trailing edge of the timeout only if the throttled function
+ * is invoked more than once during the `wait` timeout.
+ *
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
* for details over the differences between `_.throttle` and `_.debounce`.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Function
* @param {Function} func The function to throttle.
* @param {number} [wait=0] The number of milliseconds to throttle invocations to.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.leading=true] Specify invoking on the leading
- * edge of the timeout.
- * @param {boolean} [options.trailing=true] Specify invoking on the trailing
- * edge of the timeout.
+ * @param {Object} [options={}] The options object.
+ * @param {boolean} [options.leading=true]
+ * Specify invoking on the leading edge of the timeout.
+ * @param {boolean} [options.trailing=true]
+ * Specify invoking on the trailing edge of the timeout.
* @returns {Function} Returns the new throttled function.
* @example
*
- * // avoid excessively updating the position while scrolling
+ * // Avoid excessively updating the position while scrolling.
* jQuery(window).on('scroll', _.throttle(updatePosition, 100));
*
- * // invoke `renewToken` when the click event is fired, but not more than once every 5 minutes
- * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, {
- * 'trailing': false
- * }));
+ * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
+ * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
+ * jQuery(element).on('click', throttled);
*
- * // cancel a trailing throttled call
+ * // Cancel the trailing throttled invocation.
* jQuery(window).on('popstate', throttled.cancel);
*/
function throttle(func, wait, options) {
if (typeof func != 'function') {
throw new TypeError(FUNC_ERROR_TEXT);
}
- if (options === false) {
- leading = false;
- } else if (isObject(options)) {
+ if (isObject(options)) {
leading = 'leading' in options ? !!options.leading : leading;
trailing = 'trailing' in options ? !!options.trailing : trailing;
}
- debounceOptions.leading = leading;
- debounceOptions.maxWait = +wait;
- debounceOptions.trailing = trailing;
- return debounce(func, wait, debounceOptions);
+ return debounce(func, wait, {
+ 'leading': leading,
+ 'maxWait': wait,
+ 'trailing': trailing
+ });
}
/*------------------------------------------------------------------------*/
/**
- * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,
- * otherwise they are assigned by reference. If `customizer` is provided it is
- * invoked to produce the cloned values. If `customizer` returns `undefined`
- * cloning is handled by the method instead. The `customizer` is bound to
- * `thisArg` and invoked with two argument; (value [, index|key, object]).
+ * Creates a shallow clone of `value`.
*
* **Note:** This method is loosely based on the
- * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
- * The enumerable properties of `arguments` objects and objects created by
- * constructors other than `Object` are cloned to plain `Object` objects. An
- * empty object is returned for uncloneable values such as functions, DOM nodes,
- * Maps, Sets, and WeakMaps.
+ * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)
+ * and supports cloning arrays, array buffers, booleans, date objects, maps,
+ * numbers, `Object` objects, regexes, sets, strings, symbols, and typed
+ * arrays. The own enumerable properties of `arguments` objects are cloned
+ * as plain objects. An empty object is returned for uncloneable values such
+ * as error objects, functions, DOM nodes, and WeakMaps.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Lang
* @param {*} value The value to clone.
- * @param {boolean} [isDeep] Specify a deep clone.
- * @param {Function} [customizer] The function to customize cloning values.
- * @param {*} [thisArg] The `this` binding of `customizer`.
* @returns {*} Returns the cloned value.
+ * @see _.cloneDeep
* @example
*
- * var users = [
- * { 'user': 'barney' },
- * { 'user': 'fred' }
- * ];
+ * var objects = [{ 'a': 1 }, { 'b': 2 }];
*
- * var shallow = _.clone(users);
- * shallow[0] === users[0];
+ * var shallow = _.clone(objects);
+ * console.log(shallow[0] === objects[0]);
* // => true
+ */
+ function clone(value) {
+ return baseClone(value, false, true);
+ }
+
+ /**
+ * This method is like `_.clone` except that it recursively clones `value`.
*
- * var deep = _.clone(users, true);
- * deep[0] === users[0];
- * // => false
+ * @static
+ * @memberOf _
+ * @since 1.0.0
+ * @category Lang
+ * @param {*} value The value to recursively clone.
+ * @returns {*} Returns the deep cloned value.
+ * @see _.clone
+ * @example
*
- * // using a customizer callback
- * var el = _.clone(document.body, function(value) {
- * if (_.isElement(value)) {
- * return value.cloneNode(false);
- * }
- * });
+ * var objects = [{ 'a': 1 }, { 'b': 2 }];
*
- * el === document.body
+ * var deep = _.cloneDeep(objects);
+ * console.log(deep[0] === objects[0]);
* // => false
- * el.nodeName
- * // => BODY
- * el.childNodes.length;
- * // => 0
*/
- function clone(value, isDeep, customizer, thisArg) {
- if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {
- isDeep = false;
- }
- else if (typeof isDeep == 'function') {
- thisArg = customizer;
- customizer = isDeep;
- isDeep = false;
- }
- return typeof customizer == 'function'
- ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 1))
- : baseClone(value, isDeep);
+ function cloneDeep(value) {
+ return baseClone(value, true, true);
}
/**
- * Creates a deep clone of `value`. If `customizer` is provided it is invoked
- * to produce the cloned values. If `customizer` returns `undefined` cloning
- * is handled by the method instead. The `customizer` is bound to `thisArg`
- * and invoked with two argument; (value [, index|key, object]).
- *
- * **Note:** This method is loosely based on the
- * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
- * The enumerable properties of `arguments` objects and objects created by
- * constructors other than `Object` are cloned to plain `Object` objects. An
- * empty object is returned for uncloneable values such as functions, DOM nodes,
- * Maps, Sets, and WeakMaps.
+ * Performs a
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * comparison between two values to determine if they are equivalent.
*
* @static
* @memberOf _
+ * @since 4.0.0
* @category Lang
- * @param {*} value The value to deep clone.
- * @param {Function} [customizer] The function to customize cloning values.
- * @param {*} [thisArg] The `this` binding of `customizer`.
- * @returns {*} Returns the deep cloned value.
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
* @example
*
- * var users = [
- * { 'user': 'barney' },
- * { 'user': 'fred' }
- * ];
+ * var object = { 'user': 'fred' };
+ * var other = { 'user': 'fred' };
+ *
+ * _.eq(object, object);
+ * // => true
*
- * var deep = _.cloneDeep(users);
- * deep[0] === users[0];
+ * _.eq(object, other);
* // => false
*
- * // using a customizer callback
- * var el = _.cloneDeep(document.body, function(value) {
- * if (_.isElement(value)) {
- * return value.cloneNode(true);
- * }
- * });
+ * _.eq('a', 'a');
+ * // => true
*
- * el === document.body
+ * _.eq('a', Object('a'));
* // => false
- * el.nodeName
- * // => BODY
- * el.childNodes.length;
- * // => 20
+ *
+ * _.eq(NaN, NaN);
+ * // => true
*/
- function cloneDeep(value, customizer, thisArg) {
- return typeof customizer == 'function'
- ? baseClone(value, true, bindCallback(customizer, thisArg, 1))
- : baseClone(value, true);
+ function eq(value, other) {
+ return value === other || (value !== value && other !== other);
}
/**
- * Checks if `value` is classified as an `arguments` object.
+ * Checks if `value` is likely an `arguments` object.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Lang
* @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @returns {boolean} Returns `true` if `value` is correctly classified,
+ * else `false`.
* @example
*
* _.isArguments(function() { return arguments; }());
* // => false
*/
function isArguments(value) {
- return isObjectLike(value) && isArrayLike(value) && objToString.call(value) == argsTag;
- }
- // Fallback for environments without a `toStringTag` for `arguments` objects.
- if (!support.argsTag) {
- isArguments = function(value) {
- return isObjectLike(value) && isArrayLike(value) &&
- hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
- };
+ // Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode.
+ return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&
+ (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
}
/**
*
* @static
* @memberOf _
+ * @since 0.1.0
+ * @type {Function}
* @category Lang
* @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @returns {boolean} Returns `true` if `value` is correctly classified,
+ * else `false`.
* @example
*
* _.isArray([1, 2, 3]);
* // => true
*
- * _.isArray(function() { return arguments; }());
+ * _.isArray(document.body.children);
+ * // => false
+ *
+ * _.isArray('abc');
+ * // => false
+ *
+ * _.isArray(_.noop);
+ * // => false
+ */
+ var isArray = Array.isArray;
+
+ /**
+ * Checks if `value` is array-like. A value is considered array-like if it's
+ * not a function and has a `value.length` that's an integer greater than or
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ * @example
+ *
+ * _.isArrayLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isArrayLike(document.body.children);
+ * // => true
+ *
+ * _.isArrayLike('abc');
+ * // => true
+ *
+ * _.isArrayLike(_.noop);
+ * // => false
+ */
+ function isArrayLike(value) {
+ return value != null && isLength(getLength(value)) && !isFunction(value);
+ }
+
+ /**
+ * This method is like `_.isArrayLike` except that it also checks if `value`
+ * is an object.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an array-like object,
+ * else `false`.
+ * @example
+ *
+ * _.isArrayLikeObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isArrayLikeObject(document.body.children);
+ * // => true
+ *
+ * _.isArrayLikeObject('abc');
+ * // => false
+ *
+ * _.isArrayLikeObject(_.noop);
+ * // => false
+ */
+ function isArrayLikeObject(value) {
+ return isObjectLike(value) && isArrayLike(value);
+ }
+
+ /**
+ * Checks if `value` is a buffer.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.3.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
+ * @example
+ *
+ * _.isBuffer(new Buffer(2));
+ * // => true
+ *
+ * _.isBuffer(new Uint8Array(2));
* // => false
*/
- var isArray = nativeIsArray || function(value) {
- return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;
+ var isBuffer = !Buffer ? constant(false) : function(value) {
+ return value instanceof Buffer;
};
/**
- * Checks if `value` is empty. A value is considered empty unless it is an
- * `arguments` object, array, string, or jQuery-like collection with a length
- * greater than `0` or an object with own enumerable properties.
+ * Checks if `value` is an empty object, collection, map, or set.
+ *
+ * Objects are considered empty if they have no own enumerable string keyed
+ * properties.
+ *
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Lang
- * @param {Array|Object|string} value The value to inspect.
+ * @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is empty, else `false`.
* @example
*
* // => false
*/
function isEmpty(value) {
- if (value == null) {
- return true;
- }
- if (isArrayLike(value) && (isArray(value) || isString(value) || isArguments(value) ||
- (isObjectLike(value) && isFunction(value.splice)))) {
+ if (isArrayLike(value) &&
+ (isArray(value) || isString(value) || isFunction(value.splice) ||
+ isArguments(value) || isBuffer(value))) {
return !value.length;
}
- return !keys(value).length;
+ if (isObjectLike(value)) {
+ var tag = getTag(value);
+ if (tag == mapTag || tag == setTag) {
+ return !value.size;
+ }
+ }
+ for (var key in value) {
+ if (hasOwnProperty.call(value, key)) {
+ return false;
+ }
+ }
+ return !(nonEnumShadows && keys(value).length);
}
/**
* Performs a deep comparison between two values to determine if they are
- * equivalent. If `customizer` is provided it is invoked to compare values.
- * If `customizer` returns `undefined` comparisons are handled by the method
- * instead. The `customizer` is bound to `thisArg` and invoked with three
- * arguments: (value, other [, index|key]).
+ * equivalent.
*
- * **Note:** This method supports comparing arrays, booleans, `Date` objects,
- * numbers, `Object` objects, regexes, and strings. Objects are compared by
- * their own, not inherited, enumerable properties. Functions and DOM nodes
- * are **not** supported. Provide a customizer function to extend support
- * for comparing other values.
+ * **Note:** This method supports comparing arrays, array buffers, booleans,
+ * date objects, error objects, maps, numbers, `Object` objects, regexes,
+ * sets, strings, symbols, and typed arrays. `Object` objects are compared
+ * by their own, not inherited, enumerable properties. Functions and DOM
+ * nodes are **not** supported.
*
* @static
* @memberOf _
- * @alias eq
+ * @since 0.1.0
* @category Lang
* @param {*} value The value to compare.
* @param {*} other The other value to compare.
- * @param {Function} [customizer] The function to customize value comparisons.
- * @param {*} [thisArg] The `this` binding of `customizer`.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ * @returns {boolean} Returns `true` if the values are equivalent,
+ * else `false`.
* @example
*
* var object = { 'user': 'fred' };
* var other = { 'user': 'fred' };
*
- * object == other;
- * // => false
- *
* _.isEqual(object, other);
* // => true
*
- * // using a customizer callback
- * var array = ['hello', 'goodbye'];
- * var other = ['hi', 'goodbye'];
- *
- * _.isEqual(array, other, function(value, other) {
- * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {
- * return true;
- * }
- * });
- * // => true
+ * object === other;
+ * // => false
*/
- function isEqual(value, other, customizer, thisArg) {
- customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
- var result = customizer ? customizer(value, other) : undefined;
- return result === undefined ? baseIsEqual(value, other, customizer) : !!result;
+ function isEqual(value, other) {
+ return baseIsEqual(value, other);
}
/**
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Lang
* @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @returns {boolean} Returns `true` if `value` is correctly classified,
+ * else `false`.
* @example
*
* _.isFunction(_);
* _.isFunction(/abc/);
* // => false
*/
- var isFunction = !(baseIsFunction(/x/) || (Uint8Array && !baseIsFunction(Uint8Array))) ? baseIsFunction : function(value) {
+ function isFunction(value) {
// The use of `Object#toString` avoids issues with the `typeof` operator
- // in older versions of Chrome and Safari which return 'function' for regexes
- // and Safari 8 equivalents which return 'object' for typed array constructors.
- return objToString.call(value) == funcTag;
- };
+ // in Safari 8 which returns 'object' for typed array and weak map constructors,
+ // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.
+ var tag = isObject(value) ? objectToString.call(value) : '';
+ return tag == funcTag || tag == genTag;
+ }
+
+ /**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This function is loosely based on
+ * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length,
+ * else `false`.
+ * @example
+ *
+ * _.isLength(3);
+ * // => true
+ *
+ * _.isLength(Number.MIN_VALUE);
+ * // => false
+ *
+ * _.isLength(Infinity);
+ * // => false
+ *
+ * _.isLength('3');
+ * // => false
+ */
+ function isLength(value) {
+ return typeof value == 'number' &&
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+ }
/**
- * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
- * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ * Checks if `value` is the
+ * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
*
* @static
* @memberOf _
+ * @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
* _.isObject([1, 2, 3]);
* // => true
*
- * _.isObject(1);
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
* // => false
*/
function isObject(value) {
- // Avoid a V8 JIT bug in Chrome 19-20.
- // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
var type = typeof value;
return !!value && (type == 'object' || type == 'function');
}
+ /**
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
+ * and has a `typeof` result of "object".
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ * @example
+ *
+ * _.isObjectLike({});
+ * // => true
+ *
+ * _.isObjectLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isObjectLike(_.noop);
+ * // => false
+ *
+ * _.isObjectLike(null);
+ * // => false
+ */
+ function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+ }
+
/**
* Checks if `value` is a native function.
*
* @static
* @memberOf _
+ * @since 3.0.0
* @category Lang
* @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
+ * @returns {boolean} Returns `true` if `value` is a native function,
+ * else `false`.
* @example
*
* _.isNative(Array.prototype.push);
* // => false
*/
function isNative(value) {
- if (value == null) {
+ if (!isObject(value)) {
return false;
}
- if (objToString.call(value) == funcTag) {
- return reIsNative.test(fnToString.call(value));
- }
- return isObjectLike(value) && (isHostObject(value) ? reIsNative : reIsHostCtor).test(value);
+ var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
+ return pattern.test(toSource(value));
}
/**
* Checks if `value` is a plain object, that is, an object created by the
* `Object` constructor or one with a `[[Prototype]]` of `null`.
*
- * **Note:** This method assumes objects created by the `Object` constructor
- * have no inherited enumerable properties.
- *
* @static
* @memberOf _
+ * @since 0.8.0
* @category Lang
* @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
+ * @returns {boolean} Returns `true` if `value` is a plain object,
+ * else `false`.
* @example
*
* function Foo() {
* _.isPlainObject(Object.create(null));
* // => true
*/
- var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) {
- if (!(value && objToString.call(value) == objectTag) || (!lodash.support.argsTag && isArguments(value))) {
+ function isPlainObject(value) {
+ if (!isObjectLike(value) ||
+ objectToString.call(value) != objectTag || isHostObject(value)) {
return false;
}
- var valueOf = getNative(value, 'valueOf'),
- objProto = valueOf && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto);
-
- return objProto
- ? (value == objProto || getPrototypeOf(value) == objProto)
- : shimIsPlainObject(value);
- };
+ var proto = getPrototype(value);
+ if (proto === null) {
+ return true;
+ }
+ var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
+ return (typeof Ctor == 'function' &&
+ Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);
+ }
/**
* Checks if `value` is classified as a `String` primitive or object.
*
* @static
+ * @since 0.1.0
* @memberOf _
* @category Lang
* @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @returns {boolean} Returns `true` if `value` is correctly classified,
+ * else `false`.
* @example
*
* _.isString('abc');
* // => false
*/
function isString(value) {
- return typeof value == 'string' || (isObjectLike(value) && objToString.call(value) == stringTag);
+ return typeof value == 'string' ||
+ (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);
+ }
+
+ /**
+ * Checks if `value` is classified as a `Symbol` primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified,
+ * else `false`.
+ * @example
+ *
+ * _.isSymbol(Symbol.iterator);
+ * // => true
+ *
+ * _.isSymbol('abc');
+ * // => false
+ */
+ function isSymbol(value) {
+ return typeof value == 'symbol' ||
+ (isObjectLike(value) && objectToString.call(value) == symbolTag);
}
/**
*
* @static
* @memberOf _
+ * @since 3.0.0
* @category Lang
* @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @returns {boolean} Returns `true` if `value` is correctly classified,
+ * else `false`.
* @example
*
* _.isTypedArray(new Uint8Array);
* // => false
*/
function isTypedArray(value) {
- return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];
+ return isObjectLike(value) &&
+ isLength(value.length) && !!typedArrayTags[objectToString.call(value)];
+ }
+
+ /**
+ * Converts `value` to an array.
+ *
+ * @static
+ * @since 0.1.0
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {Array} Returns the converted array.
+ * @example
+ *
+ * _.toArray({ 'a': 1, 'b': 2 });
+ * // => [1, 2]
+ *
+ * _.toArray('abc');
+ * // => ['a', 'b', 'c']
+ *
+ * _.toArray(1);
+ * // => []
+ *
+ * _.toArray(null);
+ * // => []
+ */
+ function toArray(value) {
+ if (!value) {
+ return [];
+ }
+ if (isArrayLike(value)) {
+ return isString(value) ? stringToArray(value) : copyArray(value);
+ }
+ if (iteratorSymbol && value[iteratorSymbol]) {
+ return iteratorToArray(value[iteratorSymbol]());
+ }
+ var tag = getTag(value),
+ func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);
+
+ return func(value);
+ }
+
+ /**
+ * Converts `value` to a finite number.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.12.0
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {number} Returns the converted number.
+ * @example
+ *
+ * _.toFinite(3.2);
+ * // => 3.2
+ *
+ * _.toFinite(Number.MIN_VALUE);
+ * // => 5e-324
+ *
+ * _.toFinite(Infinity);
+ * // => 1.7976931348623157e+308
+ *
+ * _.toFinite('3.2');
+ * // => 3.2
+ */
+ function toFinite(value) {
+ if (!value) {
+ return value === 0 ? value : 0;
+ }
+ value = toNumber(value);
+ if (value === INFINITY || value === -INFINITY) {
+ var sign = (value < 0 ? -1 : 1);
+ return sign * MAX_INTEGER;
+ }
+ return value === value ? value : 0;
+ }
+
+ /**
+ * Converts `value` to an integer.
+ *
+ * **Note:** This function is loosely based on
+ * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {number} Returns the converted integer.
+ * @example
+ *
+ * _.toInteger(3.2);
+ * // => 3
+ *
+ * _.toInteger(Number.MIN_VALUE);
+ * // => 0
+ *
+ * _.toInteger(Infinity);
+ * // => 1.7976931348623157e+308
+ *
+ * _.toInteger('3.2');
+ * // => 3
+ */
+ function toInteger(value) {
+ var result = toFinite(value),
+ remainder = result % 1;
+
+ return result === result ? (remainder ? result - remainder : result) : 0;
+ }
+
+ /**
+ * Converts `value` to a number.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to process.
+ * @returns {number} Returns the number.
+ * @example
+ *
+ * _.toNumber(3.2);
+ * // => 3.2
+ *
+ * _.toNumber(Number.MIN_VALUE);
+ * // => 5e-324
+ *
+ * _.toNumber(Infinity);
+ * // => Infinity
+ *
+ * _.toNumber('3.2');
+ * // => 3.2
+ */
+ function toNumber(value) {
+ if (typeof value == 'number') {
+ return value;
+ }
+ if (isSymbol(value)) {
+ return NAN;
+ }
+ if (isObject(value)) {
+ var other = isFunction(value.valueOf) ? value.valueOf() : value;
+ value = isObject(other) ? (other + '') : other;
+ }
+ if (typeof value != 'string') {
+ return value === 0 ? value : +value;
+ }
+ value = value.replace(reTrim, '');
+ var isBinary = reIsBinary.test(value);
+ return (isBinary || reIsOctal.test(value))
+ ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
+ : (reIsBadHex.test(value) ? NAN : +value);
}
/**
- * Converts `value` to a plain object flattening inherited enumerable
- * properties of `value` to own properties of the plain object.
+ * Converts `value` to a plain object flattening inherited enumerable string
+ * keyed properties of `value` to own properties of the plain object.
*
* @static
* @memberOf _
+ * @since 3.0.0
* @category Lang
* @param {*} value The value to convert.
* @returns {Object} Returns the converted plain object.
* // => { 'a': 1, 'b': 2, 'c': 3 }
*/
function toPlainObject(value) {
- return baseCopy(value, keysIn(value));
+ return copyObject(value, keysIn(value));
+ }
+
+ /**
+ * Converts `value` to a string. An empty string is returned for `null`
+ * and `undefined` values. The sign of `-0` is preserved.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to process.
+ * @returns {string} Returns the string.
+ * @example
+ *
+ * _.toString(null);
+ * // => ''
+ *
+ * _.toString(-0);
+ * // => '-0'
+ *
+ * _.toString([1, 2, 3]);
+ * // => '1,2,3'
+ */
+ function toString(value) {
+ return value == null ? '' : baseToString(value);
}
/*------------------------------------------------------------------------*/
/**
- * Assigns own enumerable properties of source object(s) to the destination
- * object. Subsequent sources overwrite property assignments of previous sources.
- * If `customizer` is provided it is invoked to produce the assigned values.
- * The `customizer` is bound to `thisArg` and invoked with five arguments:
- * (objectValue, sourceValue, key, object, source).
+ * Assigns own enumerable string keyed properties of source objects to the
+ * destination object. Source objects are applied from left to right.
+ * Subsequent sources overwrite property assignments of previous sources.
+ *
+ * **Note:** This method mutates `object` and is loosely based on
+ * [`Object.assign`](https://mdn.io/Object/assign).
+ *
+ * @static
+ * @memberOf _
+ * @since 0.10.0
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @returns {Object} Returns `object`.
+ * @see _.assignIn
+ * @example
+ *
+ * function Foo() {
+ * this.c = 3;
+ * }
+ *
+ * function Bar() {
+ * this.e = 5;
+ * }
+ *
+ * Foo.prototype.d = 4;
+ * Bar.prototype.f = 6;
+ *
+ * _.assign({ 'a': 1 }, new Foo, new Bar);
+ * // => { 'a': 1, 'c': 3, 'e': 5 }
+ */
+ var assign = createAssigner(function(object, source) {
+ if (nonEnumShadows || isPrototype(source) || isArrayLike(source)) {
+ copyObject(source, keys(source), object);
+ return;
+ }
+ for (var key in source) {
+ if (hasOwnProperty.call(source, key)) {
+ assignValue(object, key, source[key]);
+ }
+ }
+ });
+
+ /**
+ * This method is like `_.assign` except that it iterates over own and
+ * inherited source properties.
*
- * **Note:** This method mutates `object` and is based on
- * [`Object.assign`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign).
+ * **Note:** This method mutates `object`.
*
* @static
* @memberOf _
+ * @since 4.0.0
* @alias extend
* @category Object
* @param {Object} object The destination object.
* @param {...Object} [sources] The source objects.
- * @param {Function} [customizer] The function to customize assigned values.
- * @param {*} [thisArg] The `this` binding of `customizer`.
* @returns {Object} Returns `object`.
+ * @see _.assign
* @example
*
- * _.assign({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' });
- * // => { 'user': 'fred', 'age': 40 }
+ * function Foo() {
+ * this.b = 2;
+ * }
*
- * // using a customizer callback
- * var defaults = _.partialRight(_.assign, function(value, other) {
- * return _.isUndefined(value) ? other : value;
- * });
+ * function Bar() {
+ * this.d = 4;
+ * }
*
- * defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
- * // => { 'user': 'barney', 'age': 36 }
+ * Foo.prototype.c = 3;
+ * Bar.prototype.e = 5;
+ *
+ * _.assignIn({ 'a': 1 }, new Foo, new Bar);
+ * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 }
*/
- var assign = createAssigner(function(object, source, customizer) {
- return customizer
- ? assignWith(object, source, customizer)
- : baseAssign(object, source);
+ var assignIn = createAssigner(function(object, source) {
+ if (nonEnumShadows || isPrototype(source) || isArrayLike(source)) {
+ copyObject(source, keysIn(source), object);
+ return;
+ }
+ for (var key in source) {
+ assignValue(object, key, source[key]);
+ }
});
/**
- * Iterates over own enumerable properties of an object invoking `iteratee`
- * for each property. The `iteratee` is bound to `thisArg` and invoked with
- * three arguments: (value, key, object). Iteratee functions may exit iteration
+ * Iterates over own enumerable string keyed properties of an object and
+ * invokes `iteratee` for each property. The iteratee is invoked with three
+ * arguments: (value, key, object). Iteratee functions may exit iteration
* early by explicitly returning `false`.
*
* @static
* @memberOf _
+ * @since 0.3.0
* @category Object
* @param {Object} object The object to iterate over.
* @param {Function} [iteratee=_.identity] The function invoked per iteration.
- * @param {*} [thisArg] The `this` binding of `iteratee`.
* @returns {Object} Returns `object`.
+ * @see _.forOwnRight
* @example
*
* function Foo() {
* _.forOwn(new Foo, function(value, key) {
* console.log(key);
* });
- * // => logs 'a' and 'b' (iteration order is not guaranteed)
+ * // => Logs 'a' then 'b' (iteration order is not guaranteed).
+ */
+ function forOwn(object, iteratee) {
+ return object && baseForOwn(object, getIteratee(iteratee, 3));
+ }
+
+ /**
+ * Gets the value at `path` of `object`. If the resolved value is
+ * `undefined`, the `defaultValue` is used in its place.
+ *
+ * @static
+ * @memberOf _
+ * @since 3.7.0
+ * @category Object
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the property to get.
+ * @param {*} [defaultValue] The value returned for `undefined` resolved values.
+ * @returns {*} Returns the resolved value.
+ * @example
+ *
+ * var object = { 'a': [{ 'b': { 'c': 3 } }] };
+ *
+ * _.get(object, 'a[0].b.c');
+ * // => 3
+ *
+ * _.get(object, ['a', '0', 'b', 'c']);
+ * // => 3
+ *
+ * _.get(object, 'a.b.c', 'default');
+ * // => 'default'
+ */
+ function get(object, path, defaultValue) {
+ var result = object == null ? undefined : baseGet(object, path);
+ return result === undefined ? defaultValue : result;
+ }
+
+ /**
+ * Checks if `path` is a direct or inherited property of `object`.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Object
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path to check.
+ * @returns {boolean} Returns `true` if `path` exists, else `false`.
+ * @example
+ *
+ * var object = _.create({ 'a': _.create({ 'b': 2 }) });
+ *
+ * _.hasIn(object, 'a');
+ * // => true
+ *
+ * _.hasIn(object, 'a.b');
+ * // => true
+ *
+ * _.hasIn(object, ['a', 'b']);
+ * // => true
+ *
+ * _.hasIn(object, 'b');
+ * // => false
*/
- var forOwn = createForOwn(baseForOwn);
+ function hasIn(object, path) {
+ return object != null && hasPath(object, path, baseHasIn);
+ }
/**
* Creates an array of the own enumerable property names of `object`.
*
* **Note:** Non-object values are coerced to objects. See the
- * [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.keys)
+ * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)
* for more details.
*
* @static
+ * @since 0.1.0
* @memberOf _
* @category Object
* @param {Object} object The object to query.
* _.keys('hi');
* // => ['0', '1']
*/
- var keys = !nativeKeys ? shimKeys : function(object) {
- var Ctor = object == null ? null : object.constructor;
- if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
- (typeof object == 'function' ? lodash.support.enumPrototypes : isArrayLike(object))) {
- return shimKeys(object);
+ function keys(object) {
+ var isProto = isPrototype(object);
+ if (!(isProto || isArrayLike(object))) {
+ return baseKeys(object);
+ }
+ var indexes = indexKeys(object),
+ skipIndexes = !!indexes,
+ result = indexes || [],
+ length = result.length;
+
+ for (var key in object) {
+ if (baseHas(object, key) &&
+ !(skipIndexes && (key == 'length' || isIndex(key, length))) &&
+ !(isProto && key == 'constructor')) {
+ result.push(key);
+ }
}
- return isObject(object) ? nativeKeys(object) : [];
- };
+ return result;
+ }
/**
* Creates an array of the own and inherited enumerable property names of `object`.
*
* @static
* @memberOf _
+ * @since 3.0.0
* @category Object
* @param {Object} object The object to query.
* @returns {Array} Returns the array of property names.
* // => ['a', 'b', 'c'] (iteration order is not guaranteed)
*/
function keysIn(object) {
- if (object == null) {
- return [];
- }
- if (!isObject(object)) {
- object = Object(object);
- }
- var length = object.length,
- support = lodash.support;
-
- length = (length && isLength(length) &&
- (isArray(object) || isArguments(object) || isString(object)) && length) || 0;
-
- var Ctor = object.constructor,
- index = -1,
- proto = (isFunction(Ctor) && Ctor.prototype) || objectProto,
- isProto = proto === object,
- result = Array(length),
- skipIndexes = length > 0,
- skipErrorProps = support.enumErrorProps && (object === errorProto || object instanceof Error),
- skipProto = support.enumPrototypes && isFunction(object);
+ var index = -1,
+ isProto = isPrototype(object),
+ props = baseKeysIn(object),
+ propsLength = props.length,
+ indexes = indexKeys(object),
+ skipIndexes = !!indexes,
+ result = indexes || [],
+ length = result.length;
- while (++index < length) {
- result[index] = (index + '');
- }
- // lodash skips the `constructor` property when it infers it is iterating
- // over a `prototype` object because IE < 9 can't set the `[[Enumerable]]`
- // attribute of an existing property and the `constructor` property of a
- // prototype defaults to non-enumerable.
- for (var key in object) {
- if (!(skipProto && key == 'prototype') &&
- !(skipErrorProps && (key == 'message' || key == 'name')) &&
- !(skipIndexes && isIndex(key, length)) &&
+ while (++index < propsLength) {
+ var key = props[index];
+ if (!(skipIndexes && (key == 'length' || isIndex(key, length))) &&
!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
result.push(key);
}
}
- if (support.nonEnumShadows && object !== objectProto) {
- var tag = object === stringProto ? stringTag : (object === errorProto ? errorTag : objToString.call(object)),
- nonEnums = nonEnumProps[tag] || nonEnumProps[objectTag];
-
- if (tag == objectTag) {
- proto = objectProto;
- }
- length = shadowProps.length;
- while (length--) {
- key = shadowProps[length];
- var nonEnum = nonEnums[key];
- if (!(isProto && nonEnum) &&
- (nonEnum ? hasOwnProperty.call(object, key) : object[key] !== proto[key])) {
- result.push(key);
- }
- }
- }
return result;
}
/**
- * Recursively merges own enumerable properties of the source object(s), that
- * don't resolve to `undefined` into the destination object. Subsequent sources
- * overwrite property assignments of previous sources. If `customizer` is
- * provided it is invoked to produce the merged values of the destination and
- * source properties. If `customizer` returns `undefined` merging is handled
- * by the method instead. The `customizer` is bound to `thisArg` and invoked
- * with five arguments: (objectValue, sourceValue, key, object, source).
+ * This method is like `_.assign` except that it recursively merges own and
+ * inherited enumerable string keyed properties of source objects into the
+ * destination object. Source properties that resolve to `undefined` are
+ * skipped if a destination value exists. Array and plain object properties
+ * are merged recursively. Other objects and value types are overridden by
+ * assignment. Source objects are applied from left to right. Subsequent
+ * sources overwrite property assignments of previous sources.
+ *
+ * **Note:** This method mutates `object`.
*
* @static
* @memberOf _
+ * @since 0.5.0
* @category Object
* @param {Object} object The destination object.
* @param {...Object} [sources] The source objects.
- * @param {Function} [customizer] The function to customize assigned values.
- * @param {*} [thisArg] The `this` binding of `customizer`.
* @returns {Object} Returns `object`.
* @example
*
*
* _.merge(users, ages);
* // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
- *
- * // using a customizer callback
- * var object = {
- * 'fruits': ['apple'],
- * 'vegetables': ['beet']
- * };
- *
- * var other = {
- * 'fruits': ['banana'],
- * 'vegetables': ['carrot']
- * };
- *
- * _.merge(object, other, function(a, b) {
- * if (_.isArray(a)) {
- * return a.concat(b);
- * }
- * });
- * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] }
*/
- var merge = createAssigner(baseMerge);
+ var merge = createAssigner(function(object, source, srcIndex) {
+ baseMerge(object, source, srcIndex);
+ });
/**
* The opposite of `_.pick`; this method creates an object composed of the
- * own and inherited enumerable properties of `object` that are not omitted.
+ * own and inherited enumerable string keyed properties of `object` that are
+ * not omitted.
*
* @static
+ * @since 0.1.0
* @memberOf _
* @category Object
* @param {Object} object The source object.
- * @param {Function|...(string|string[])} [predicate] The function invoked per
- * iteration or property names to omit, specified as individual property
- * names or arrays of property names.
- * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @param {...(string|string[])} [props] The property identifiers to omit.
* @returns {Object} Returns the new object.
* @example
*
- * var object = { 'user': 'fred', 'age': 40 };
- *
- * _.omit(object, 'age');
- * // => { 'user': 'fred' }
+ * var object = { 'a': 1, 'b': '2', 'c': 3 };
*
- * _.omit(object, _.isNumber);
- * // => { 'user': 'fred' }
+ * _.omit(object, ['a', 'c']);
+ * // => { 'b': '2' }
*/
- var omit = restParam(function(object, props) {
+ var omit = rest(function(object, props) {
if (object == null) {
return {};
}
- if (typeof props[0] != 'function') {
- var props = arrayMap(baseFlatten(props), String);
- return pickByArray(object, baseDifference(keysIn(object), props));
- }
- var predicate = bindCallback(props[0], props[1], 3);
- return pickByCallback(object, function(value, key, object) {
- return !predicate(value, key, object);
- });
+ props = arrayMap(baseFlatten(props, 1), toKey);
+ return basePick(object, baseDifference(getAllKeysIn(object), props));
});
/**
- * Creates a two dimensional array of the key-value pairs for `object`,
- * e.g. `[[key1, value1], [key2, value2]]`.
+ * Creates an object composed of the picked `object` properties.
*
* @static
+ * @since 0.1.0
* @memberOf _
* @category Object
- * @param {Object} object The object to query.
- * @returns {Array} Returns the new array of key-value pairs.
+ * @param {Object} object The source object.
+ * @param {...(string|string[])} [props] The property identifiers to pick.
+ * @returns {Object} Returns the new object.
* @example
*
- * _.pairs({ 'barney': 36, 'fred': 40 });
- * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)
+ * var object = { 'a': 1, 'b': '2', 'c': 3 };
+ *
+ * _.pick(object, ['a', 'c']);
+ * // => { 'a': 1, 'c': 3 }
*/
- function pairs(object) {
- object = toObject(object);
-
- var index = -1,
- props = keys(object),
- length = props.length,
- result = Array(length);
-
- while (++index < length) {
- var key = props[index];
- result[index] = [key, object[key]];
- }
- return result;
- }
+ var pick = rest(function(object, props) {
+ return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey));
+ });
/**
- * Creates an object composed of the picked `object` properties. Property
- * names may be specified as individual arguments or as arrays of property
- * names. If `predicate` is provided it is invoked for each property of `object`
- * picking the properties `predicate` returns truthy for. The predicate is
- * bound to `thisArg` and invoked with three arguments: (value, key, object).
+ * Creates an array of own enumerable string keyed-value pairs for `object`
+ * which can be consumed by `_.fromPairs`. If `object` is a map or set, its
+ * entries are returned.
*
* @static
* @memberOf _
+ * @since 4.0.0
+ * @alias entries
* @category Object
- * @param {Object} object The source object.
- * @param {Function|...(string|string[])} [predicate] The function invoked per
- * iteration or property names to pick, specified as individual property
- * names or arrays of property names.
- * @param {*} [thisArg] The `this` binding of `predicate`.
- * @returns {Object} Returns the new object.
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the key-value pairs.
* @example
*
- * var object = { 'user': 'fred', 'age': 40 };
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
*
- * _.pick(object, 'user');
- * // => { 'user': 'fred' }
+ * Foo.prototype.c = 3;
*
- * _.pick(object, _.isString);
- * // => { 'user': 'fred' }
+ * _.toPairs(new Foo);
+ * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)
*/
- var pick = restParam(function(object, props) {
- if (object == null) {
- return {};
- }
- return typeof props[0] == 'function'
- ? pickByCallback(object, bindCallback(props[0], props[1], 3))
- : pickByArray(object, baseFlatten(props));
- });
+ var toPairs = createToPairs(keys);
/**
- * Creates an array of the own enumerable property values of `object`.
+ * Creates an array of the own enumerable string keyed property values of `object`.
*
* **Note:** Non-object values are coerced to objects.
*
* @static
+ * @since 0.1.0
* @memberOf _
* @category Object
* @param {Object} object The object to query.
* // => ['h', 'i']
*/
function values(object) {
- return baseValues(object, keys(object));
+ return object ? baseValues(object, keys(object)) : [];
}
/*------------------------------------------------------------------------*/
- /**
- * Escapes the `RegExp` special characters "\", "/", "^", "$", ".", "|", "?",
- * "*", "+", "(", ")", "[", "]", "{" and "}" in `string`.
- *
- * @static
- * @memberOf _
- * @category String
- * @param {string} [string=''] The string to escape.
- * @returns {string} Returns the escaped string.
- * @example
- *
- * _.escapeRegExp('[lodash](https://lodash.com/)');
- * // => '\[lodash\]\(https:\/\/lodash\.com\/\)'
- */
- function escapeRegExp(string) {
- string = baseToString(string);
- return (string && reHasRegExpChars.test(string))
- ? string.replace(reRegExpChars, '\\$&')
- : string;
- }
-
- /*------------------------------------------------------------------------*/
-
- /**
- * Creates a function that invokes `func` with the `this` binding of `thisArg`
- * and arguments of the created function. If `func` is a property name the
- * created callback returns the property value for a given element. If `func`
- * is an object the created callback returns `true` for elements that contain
- * the equivalent object properties, otherwise it returns `false`.
- *
- * @static
- * @memberOf _
- * @alias iteratee
- * @category Utility
- * @param {*} [func=_.identity] The value to convert to a callback.
- * @param {*} [thisArg] The `this` binding of `func`.
- * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
- * @returns {Function} Returns the callback.
- * @example
- *
- * var users = [
- * { 'user': 'barney', 'age': 36 },
- * { 'user': 'fred', 'age': 40 }
- * ];
- *
- * // wrap to create custom callback shorthands
- * _.callback = _.wrap(_.callback, function(callback, func, thisArg) {
- * var match = /^(.+?)__([gl]t)(.+)$/.exec(func);
- * if (!match) {
- * return callback(func, thisArg);
- * }
- * return function(object) {
- * return match[2] == 'gt'
- * ? object[match[1]] > match[3]
- * : object[match[1]] < match[3];
- * };
- * });
- *
- * _.filter(users, 'age__gt36');
- * // => [{ 'user': 'fred', 'age': 40 }]
- */
- function callback(func, thisArg, guard) {
- if (guard && isIterateeCall(func, thisArg, guard)) {
- thisArg = null;
- }
- return isObjectLike(func)
- ? matches(func)
- : baseCallback(func, thisArg);
- }
-
/**
* Creates a function that returns `value`.
*
* @static
* @memberOf _
- * @category Utility
+ * @since 2.4.0
+ * @category Util
* @param {*} value The value to return from the new function.
- * @returns {Function} Returns the new function.
+ * @returns {Function} Returns the new constant function.
* @example
*
* var object = { 'user': 'fred' };
}
/**
- * This method returns the first argument provided to it.
+ * This method returns the first argument given to it.
*
* @static
+ * @since 0.1.0
* @memberOf _
- * @category Utility
+ * @category Util
* @param {*} value Any value.
* @returns {*} Returns `value`.
* @example
}
/**
- * Creates a function that performs a deep comparison between a given object
- * and `source`, returning `true` if the given object has equivalent property
- * values, else `false`.
- *
- * **Note:** This method supports comparing arrays, booleans, `Date` objects,
- * numbers, `Object` objects, regexes, and strings. Objects are compared by
- * their own, not inherited, enumerable properties. For comparing a single
- * own or inherited property value see `_.matchesProperty`.
+ * Creates a function that invokes `func` with the arguments of the created
+ * function. If `func` is a property name, the created function returns the
+ * property value for a given element. If `func` is an array or object, the
+ * created function returns `true` for elements that contain the equivalent
+ * source properties, otherwise it returns `false`.
*
* @static
+ * @since 4.0.0
* @memberOf _
- * @category Utility
- * @param {Object} source The object of property values to match.
- * @returns {Function} Returns the new function.
+ * @category Util
+ * @param {*} [func=_.identity] The value to convert to a callback.
+ * @returns {Function} Returns the callback.
* @example
*
* var users = [
* { 'user': 'fred', 'age': 40, 'active': false }
* ];
*
- * _.filter(users, _.matches({ 'age': 40, 'active': false }));
- * // => [{ 'user': 'fred', 'age': 40, 'active': false }]
+ * // The `_.matches` iteratee shorthand.
+ * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));
+ * // => [{ 'user': 'barney', 'age': 36, 'active': true }]
+ *
+ * // The `_.matchesProperty` iteratee shorthand.
+ * _.filter(users, _.iteratee(['user', 'fred']));
+ * // => [{ 'user': 'fred', 'age': 40 }]
+ *
+ * // The `_.property` iteratee shorthand.
+ * _.map(users, _.iteratee('user'));
+ * // => ['barney', 'fred']
+ *
+ * // Create custom iteratee shorthands.
+ * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {
+ * return !_.isRegExp(func) ? iteratee(func) : function(string) {
+ * return func.test(string);
+ * };
+ * });
+ *
+ * _.filter(['abc', 'def'], /ef/);
+ * // => ['def']
*/
- function matches(source) {
- return baseMatches(baseClone(source, true));
+ function iteratee(func) {
+ return baseIteratee(typeof func == 'function' ? func : baseClone(func, true));
}
/**
- * Adds all own enumerable function properties of a source object to the
- * destination object. If `object` is a function then methods are added to
- * its prototype as well.
+ * Adds all own enumerable string keyed function properties of a source
+ * object to the destination object. If `object` is a function, then methods
+ * are added to its prototype as well.
*
* **Note:** Use `_.runInContext` to create a pristine `lodash` function to
* avoid conflicts caused by modifying the original.
*
* @static
+ * @since 0.1.0
* @memberOf _
- * @category Utility
+ * @category Util
* @param {Function|Object} [object=lodash] The destination object.
* @param {Object} source The object of functions to add.
- * @param {Object} [options] The options object.
- * @param {boolean} [options.chain=true] Specify whether the functions added
- * are chainable.
+ * @param {Object} [options={}] The options object.
+ * @param {boolean} [options.chain=true] Specify whether mixins are chainable.
* @returns {Function|Object} Returns `object`.
* @example
*
* // => ['e']
*/
function mixin(object, source, options) {
- if (options == null) {
- var isObj = isObject(source),
- props = isObj ? keys(source) : null,
- methodNames = (props && props.length) ? baseFunctions(source, props) : null;
-
- if (!(methodNames ? methodNames.length : isObj)) {
- methodNames = false;
- options = source;
- source = object;
- object = this;
- }
- }
- if (!methodNames) {
+ var props = keys(source),
+ methodNames = baseFunctions(source, props);
+
+ if (options == null &&
+ !(isObject(source) && (methodNames.length || !props.length))) {
+ options = source;
+ source = object;
+ object = this;
methodNames = baseFunctions(source, keys(source));
}
- var chain = true,
- index = -1,
- isFunc = isFunction(object),
- length = methodNames.length;
-
- if (options === false) {
- chain = false;
- } else if (isObject(options) && 'chain' in options) {
- chain = options.chain;
- }
- while (++index < length) {
- var methodName = methodNames[index],
- func = source[methodName];
+ var chain = !(isObject(options) && 'chain' in options) || !!options.chain,
+ isFunc = isFunction(object);
+ arrayEach(methodNames, function(methodName) {
+ var func = source[methodName];
object[methodName] = func;
if (isFunc) {
- object.prototype[methodName] = (function(func) {
- return function() {
- var chainAll = this.__chain__;
- if (chain || chainAll) {
- var result = object(this.__wrapped__),
- actions = result.__actions__ = arrayCopy(this.__actions__);
-
- actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
- result.__chain__ = chainAll;
- return result;
- }
- var args = [this.value()];
- push.apply(args, arguments);
- return func.apply(object, args);
- };
- }(func));
+ object.prototype[methodName] = function() {
+ var chainAll = this.__chain__;
+ if (chain || chainAll) {
+ var result = object(this.__wrapped__),
+ actions = result.__actions__ = copyArray(this.__actions__);
+
+ actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
+ result.__chain__ = chainAll;
+ return result;
+ }
+ return func.apply(object, arrayPush([this.value()], arguments));
+ };
}
- }
+ });
+
return object;
}
*
* @static
* @memberOf _
- * @category Utility
+ * @since 2.3.0
+ * @category Util
* @example
*
* var object = { 'user': 'fred' };
}
/**
- * Creates a function that returns the property value at `path` on a
- * given object.
+ * Creates a function that returns the value at `path` of a given object.
*
* @static
* @memberOf _
- * @category Utility
+ * @since 2.4.0
+ * @category Util
* @param {Array|string} path The path of the property to get.
- * @returns {Function} Returns the new function.
+ * @returns {Function} Returns the new accessor function.
* @example
*
* var objects = [
- * { 'a': { 'b': { 'c': 2 } } },
- * { 'a': { 'b': { 'c': 1 } } }
+ * { 'a': { 'b': 2 } },
+ * { 'a': { 'b': 1 } }
* ];
*
- * _.map(objects, _.property('a.b.c'));
+ * _.map(objects, _.property('a.b'));
* // => [2, 1]
*
- * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c');
+ * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
* // => [1, 2]
*/
function property(path) {
- return isKey(path) ? baseProperty(path) : basePropertyDeep(path);
+ return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
}
/*------------------------------------------------------------------------*/
- // Ensure wrappers are instances of `baseLodash`.
- lodash.prototype = baseLodash.prototype;
-
- LodashWrapper.prototype = baseCreate(baseLodash.prototype);
- LodashWrapper.prototype.constructor = LodashWrapper;
-
- LazyWrapper.prototype = baseCreate(baseLodash.prototype);
- LazyWrapper.prototype.constructor = LazyWrapper;
-
- // Add functions to the `Set` cache.
- SetCache.prototype.push = cachePush;
-
- // Add functions that return wrapped values when chaining.
+ // Add methods that return wrapped values in chain sequences.
lodash.assign = assign;
+ lodash.assignIn = assignIn;
lodash.bind = bind;
- lodash.callback = callback;
lodash.chain = chain;
lodash.chunk = chunk;
lodash.compact = compact;
lodash.difference = difference;
lodash.filter = filter;
lodash.flatten = flatten;
- lodash.forEach = forEach;
- lodash.forOwn = forOwn;
lodash.groupBy = groupBy;
lodash.intersection = intersection;
+ lodash.iteratee = iteratee;
lodash.keys = keys;
lodash.keysIn = keysIn;
lodash.map = map;
- lodash.matches = matches;
+ lodash.memoize = memoize;
lodash.merge = merge;
lodash.mixin = mixin;
lodash.omit = omit;
- lodash.pairs = pairs;
lodash.pick = pick;
- lodash.pluck = pluck;
lodash.property = property;
lodash.reject = reject;
- lodash.restParam = restParam;
+ lodash.rest = rest;
+ lodash.reverse = reverse;
lodash.tap = tap;
lodash.throttle = throttle;
lodash.thru = thru;
+ lodash.toArray = toArray;
+ lodash.toPairs = toPairs;
lodash.toPlainObject = toPlainObject;
lodash.union = union;
lodash.uniq = uniq;
lodash.without = without;
// Add aliases.
- lodash.collect = map;
- lodash.each = forEach;
- lodash.extend = assign;
- lodash.iteratee = callback;
- lodash.select = filter;
- lodash.unique = uniq;
+ lodash.entries = toPairs;
+ lodash.extend = assignIn;
- // Add functions to `lodash.prototype`.
+ // Add methods to `lodash.prototype`.
mixin(lodash, lodash);
/*------------------------------------------------------------------------*/
- // Add functions that return unwrapped values when chaining.
+ // Add methods that return unwrapped values in chain sequences.
lodash.clone = clone;
lodash.cloneDeep = cloneDeep;
- lodash.escapeRegExp = escapeRegExp;
+ lodash.eq = eq;
lodash.every = every;
lodash.find = find;
- lodash.first = first;
+ lodash.forEach = forEach;
+ lodash.forOwn = forOwn;
+ lodash.get = get;
+ lodash.hasIn = hasIn;
+ lodash.head = head;
lodash.identity = identity;
lodash.includes = includes;
lodash.indexOf = indexOf;
lodash.isArguments = isArguments;
lodash.isArray = isArray;
+ lodash.isArrayLike = isArrayLike;
+ lodash.isArrayLikeObject = isArrayLikeObject;
+ lodash.isBuffer = isBuffer;
lodash.isEmpty = isEmpty;
lodash.isEqual = isEqual;
lodash.isFunction = isFunction;
+ lodash.isLength = isLength;
lodash.isNative = isNative;
lodash.isObject = isObject;
+ lodash.isObjectLike = isObjectLike;
lodash.isPlainObject = isPlainObject;
lodash.isString = isString;
+ lodash.isSymbol = isSymbol;
lodash.isTypedArray = isTypedArray;
lodash.last = last;
lodash.noop = noop;
lodash.now = now;
lodash.reduce = reduce;
lodash.some = some;
+ lodash.toFinite = toFinite;
+ lodash.toInteger = toInteger;
+ lodash.toNumber = toNumber;
+ lodash.toString = toString;
// Add aliases.
- lodash.all = every;
- lodash.any = some;
- lodash.contains = includes;
- lodash.eq = isEqual;
- lodash.detect = find;
- lodash.foldl = reduce;
- lodash.head = first;
- lodash.include = includes;
- lodash.inject = reduce;
+ lodash.each = forEach;
+ lodash.first = head;
mixin(lodash, (function() {
var source = {};
baseForOwn(lodash, function(func, methodName) {
- if (!lodash.prototype[methodName]) {
+ if (!hasOwnProperty.call(lodash.prototype, methodName)) {
source[methodName] = func;
}
});
return source;
- }()), false);
-
- /*------------------------------------------------------------------------*/
-
- lodash.prototype.sample = function(n) {
- if (!this.__chain__ && n == null) {
- return sample(this.value());
- }
- return this.thru(function(value) {
- return sample(value, n);
- });
- };
+ }()), { 'chain': false });
/*------------------------------------------------------------------------*/
*
* @static
* @memberOf _
- * @type string
+ * @type {string}
*/
lodash.VERSION = VERSION;
// Assign default placeholders.
bind.placeholder = lodash;
- // Add `LazyWrapper` methods that accept an `iteratee` value.
- arrayEach(['dropWhile', 'filter', 'map', 'takeWhile'], function(methodName, type) {
- var isFilter = type != LAZY_MAP_FLAG,
- isDropWhile = type == LAZY_DROP_WHILE_FLAG;
-
- LazyWrapper.prototype[methodName] = function(iteratee, thisArg) {
- var filtered = this.__filtered__,
- result = (filtered && isDropWhile) ? new LazyWrapper(this) : this.clone(),
- iteratees = result.__iteratees__ || (result.__iteratees__ = []);
-
- iteratees.push({
- 'done': false,
- 'count': 0,
- 'index': 0,
- 'iteratee': getCallback(iteratee, thisArg, 1),
- 'limit': -1,
- 'type': type
- });
-
- result.__filtered__ = filtered || isFilter;
- return result;
- };
- });
-
// Add `LazyWrapper` methods for `_.drop` and `_.take` variants.
arrayEach(['drop', 'take'], function(methodName, index) {
- var whileName = methodName + 'While';
-
LazyWrapper.prototype[methodName] = function(n) {
- var filtered = this.__filtered__,
- result = (filtered && !index) ? this.dropWhile() : this.clone();
+ var filtered = this.__filtered__;
+ if (filtered && !index) {
+ return new LazyWrapper(this);
+ }
+ n = n === undefined ? 1 : nativeMax(toInteger(n), 0);
- n = n == null ? 1 : nativeMax(floor(n) || 0, 0);
+ var result = this.clone();
if (filtered) {
- if (index) {
- result.__takeCount__ = nativeMin(result.__takeCount__, n);
- } else {
- last(result.__iteratees__).limit = n;
- }
+ result.__takeCount__ = nativeMin(n, result.__takeCount__);
} else {
- var views = result.__views__ || (result.__views__ = []);
- views.push({ 'size': n, 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') });
+ result.__views__.push({
+ 'size': nativeMin(n, MAX_ARRAY_LENGTH),
+ 'type': methodName + (result.__dir__ < 0 ? 'Right' : '')
+ });
}
return result;
};
LazyWrapper.prototype[methodName + 'Right'] = function(n) {
return this.reverse()[methodName](n).reverse();
};
+ });
- LazyWrapper.prototype[methodName + 'RightWhile'] = function(predicate, thisArg) {
- return this.reverse()[whileName](predicate, thisArg).reverse();
+ // Add `LazyWrapper` methods that accept an `iteratee` value.
+ arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) {
+ var type = index + 1,
+ isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;
+
+ LazyWrapper.prototype[methodName] = function(iteratee) {
+ var result = this.clone();
+ result.__iteratees__.push({
+ 'iteratee': getIteratee(iteratee, 3),
+ 'type': type
+ });
+ result.__filtered__ = result.__filtered__ || isFilter;
+ return result;
};
});
- // Add `LazyWrapper` methods for `_.first` and `_.last`.
- arrayEach(['first', 'last'], function(methodName, index) {
+ // Add `LazyWrapper` methods for `_.head` and `_.last`.
+ arrayEach(['head', 'last'], function(methodName, index) {
var takeName = 'take' + (index ? 'Right' : '');
LazyWrapper.prototype[methodName] = function() {
};
});
- // Add `LazyWrapper` methods for `_.initial` and `_.rest`.
- arrayEach(['initial', 'rest'], function(methodName, index) {
+ // Add `LazyWrapper` methods for `_.initial` and `_.tail`.
+ arrayEach(['initial', 'tail'], function(methodName, index) {
var dropName = 'drop' + (index ? '' : 'Right');
LazyWrapper.prototype[methodName] = function() {
- return this[dropName](1);
- };
- });
-
- // Add `LazyWrapper` methods for `_.pluck` and `_.where`.
- arrayEach(['pluck', 'where'], function(methodName, index) {
- var operationName = index ? 'filter' : 'map',
- createCallback = index ? baseMatches : property;
-
- LazyWrapper.prototype[methodName] = function(value) {
- return this[operationName](createCallback(value));
+ return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);
};
});
return this.filter(identity);
};
- LazyWrapper.prototype.reject = function(predicate, thisArg) {
- predicate = getCallback(predicate, thisArg, 1);
+ LazyWrapper.prototype.find = function(predicate) {
+ return this.filter(predicate).head();
+ };
+
+ LazyWrapper.prototype.findLast = function(predicate) {
+ return this.reverse().find(predicate);
+ };
+
+ LazyWrapper.prototype.invokeMap = rest(function(path, args) {
+ if (typeof path == 'function') {
+ return new LazyWrapper(this);
+ }
+ return this.map(function(value) {
+ return baseInvoke(value, path, args);
+ });
+ });
+
+ LazyWrapper.prototype.reject = function(predicate) {
+ predicate = getIteratee(predicate, 3);
return this.filter(function(value) {
return !predicate(value);
});
};
LazyWrapper.prototype.slice = function(start, end) {
- start = start == null ? 0 : (+start || 0);
+ start = toInteger(start);
var result = this;
+ if (result.__filtered__ && (start > 0 || end < 0)) {
+ return new LazyWrapper(result);
+ }
if (start < 0) {
- result = this.takeRight(-start);
+ result = result.takeRight(-start);
} else if (start) {
- result = this.drop(start);
+ result = result.drop(start);
}
if (end !== undefined) {
- end = (+end || 0);
+ end = toInteger(end);
result = end < 0 ? result.dropRight(-end) : result.take(end - start);
}
return result;
};
+ LazyWrapper.prototype.takeRightWhile = function(predicate) {
+ return this.reverse().takeWhile(predicate).reverse();
+ };
+
LazyWrapper.prototype.toArray = function() {
- return this.drop(0);
+ return this.take(MAX_ARRAY_LENGTH);
};
// Add `LazyWrapper` methods to `lodash.prototype`.
baseForOwn(LazyWrapper.prototype, function(func, methodName) {
- var lodashFunc = lodash[methodName];
+ var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName),
+ isTaker = /^(?:head|last)$/.test(methodName),
+ lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName],
+ retUnwrapped = isTaker || /^find/.test(methodName);
+
if (!lodashFunc) {
return;
}
- var checkIteratee = /^(?:filter|map|reject)|While$/.test(methodName),
- retUnwrapped = /^(?:first|last)$/.test(methodName);
-
lodash.prototype[methodName] = function() {
- var args = arguments,
- chainAll = this.__chain__,
- value = this.__wrapped__,
- isHybrid = !!this.__actions__.length,
+ var value = this.__wrapped__,
+ args = isTaker ? [1] : arguments,
isLazy = value instanceof LazyWrapper,
iteratee = args[0],
useLazy = isLazy || isArray(value);
+ var interceptor = function(value) {
+ var result = lodashFunc.apply(lodash, arrayPush([value], args));
+ return (isTaker && chainAll) ? result[0] : result;
+ };
+
if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {
- // avoid lazy use if the iteratee has a "length" value other than `1`
+ // Avoid lazy use if the iteratee has a "length" value other than `1`.
isLazy = useLazy = false;
}
- var onlyLazy = isLazy && !isHybrid;
- if (retUnwrapped && !chainAll) {
- return onlyLazy
- ? func.call(value)
- : lodashFunc.call(lodash, this.value());
- }
- var interceptor = function(value) {
- var otherArgs = [value];
- push.apply(otherArgs, args);
- return lodashFunc.apply(lodash, otherArgs);
- };
- if (useLazy) {
- var wrapper = onlyLazy ? value : new LazyWrapper(this),
- result = func.apply(wrapper, args);
+ var chainAll = this.__chain__,
+ isHybrid = !!this.__actions__.length,
+ isUnwrapped = retUnwrapped && !chainAll,
+ onlyLazy = isLazy && !isHybrid;
- if (!retUnwrapped && (isHybrid || result.__actions__)) {
- var actions = result.__actions__ || (result.__actions__ = []);
- actions.push({ 'func': thru, 'args': [interceptor], 'thisArg': lodash });
- }
+ if (!retUnwrapped && useLazy) {
+ value = onlyLazy ? value : new LazyWrapper(this);
+ var result = func.apply(value, args);
+ result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined });
return new LodashWrapper(result, chainAll);
}
- return this.thru(interceptor);
+ if (isUnwrapped && onlyLazy) {
+ return func.apply(this, args);
+ }
+ result = this.thru(interceptor);
+ return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;
};
});
- // Add `Array` and `String` methods to `lodash.prototype`.
- arrayEach(['concat', 'join', 'pop', 'push', 'replace', 'shift', 'sort', 'splice', 'split', 'unshift'], function(methodName) {
- var protoFunc = (/^(?:replace|split)$/.test(methodName) ? stringProto : arrayProto)[methodName],
+ // Add `Array` methods to `lodash.prototype`.
+ arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {
+ var func = arrayProto[methodName],
chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
- fixObjects = !support.spliceObjects && /^(?:pop|shift|splice)$/.test(methodName),
- retUnwrapped = /^(?:join|pop|replace|shift)$/.test(methodName);
-
- // Avoid array-like object bugs with `Array#shift` and `Array#splice` in
- // IE < 9, Firefox < 10, and RingoJS.
- var func = !fixObjects ? protoFunc : function() {
- var result = protoFunc.apply(this, arguments);
- if (this.length === 0) {
- delete this[0];
- }
- return result;
- };
+ retUnwrapped = /^(?:pop|shift)$/.test(methodName);
lodash.prototype[methodName] = function() {
var args = arguments;
if (retUnwrapped && !this.__chain__) {
- return func.apply(this.value(), args);
+ var value = this.value();
+ return func.apply(isArray(value) ? value : [], args);
}
return this[chainName](function(value) {
- return func.apply(value, args);
+ return func.apply(isArray(value) ? value : [], args);
});
};
});
- // Map minified function names to their real names.
+ // Map minified method names to their real names.
baseForOwn(LazyWrapper.prototype, function(func, methodName) {
var lodashFunc = lodash[methodName];
if (lodashFunc) {
- var key = lodashFunc.name,
+ var key = (lodashFunc.name + ''),
names = realNames[key] || (realNames[key] = []);
names.push({ 'name': methodName, 'func': lodashFunc });
}
});
- realNames[createHybridWrapper(null, BIND_KEY_FLAG).name] = [{ 'name': 'wrapper', 'func': null }];
+ realNames[createHybridWrapper(undefined, BIND_KEY_FLAG).name] = [{
+ 'name': 'wrapper',
+ 'func': undefined
+ }];
- // Add functions to the lazy wrapper.
+ // Add methods to `LazyWrapper`.
LazyWrapper.prototype.clone = lazyClone;
LazyWrapper.prototype.reverse = lazyReverse;
LazyWrapper.prototype.value = lazyValue;
- // Add chaining functions to the `lodash` wrapper.
+ // Add chain sequence methods to the `lodash` wrapper.
lodash.prototype.chain = wrapperChain;
lodash.prototype.commit = wrapperCommit;
+ lodash.prototype.next = wrapperNext;
lodash.prototype.plant = wrapperPlant;
lodash.prototype.reverse = wrapperReverse;
- lodash.prototype.toString = wrapperToString;
- lodash.prototype.run = lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
+ lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
- // Add function aliases to the `lodash` wrapper.
- lodash.prototype.collect = lodash.prototype.map;
- lodash.prototype.head = lodash.prototype.first;
- lodash.prototype.select = lodash.prototype.filter;
- lodash.prototype.tail = lodash.prototype.rest;
+ if (iteratorSymbol) {
+ lodash.prototype[iteratorSymbol] = wrapperToIterator;
+ }
/*--------------------------------------------------------------------------*/
+ // Expose Lodash on the free variable `window` or `self` when available so it's
+ // globally accessible, even when bundled with Browserify, Webpack, etc. This
+ // also prevents errors in cases where Lodash is loaded by a script tag in the
+ // presence of an AMD loader. See http://requirejs.org/docs/errors.html#mismatch
+ // for more details. Use `_.noConflict` to remove Lodash from the global object.
+ (freeWindow || freeSelf || {})._ = lodash;
+
if (freeExports && freeModule) {
- // Export for Node.js or RingoJS.
+ // Export for Node.js.
if (moduleExports) {
(freeModule.exports = lodash)._ = lodash;
}
+ // Export for CommonJS support.
+ freeExports._ = lodash;
}
else {
- // Export for a browser or Rhino.
+ // Export to the global object.
root._ = lodash;
}
}.call(this));
window.locale.en = iD.data.en;
window.locale.current('en');
- var dispatch = d3.dispatch('enter', 'exit'),
+ var dispatch = d3.dispatch('enter', 'exit', 'change'),
context = {};
// https://github.com/openstreetmap/iD/issues/772
/* Debug */
- var debugTile = false, debugCollision = false;
- context.debugTile = function(_) {
- if (!arguments.length) return debugTile;
- debugTile = _;
+ var debugFlags = {
+ tile: false,
+ collision: false,
+ imagery: false,
+ imperial: false,
+ driveLeft: false
+ };
+ context.debugFlags = function() {
+ return debugFlags;
+ };
+ context.setDebug = function(flag, val) {
+ if (arguments.length === 1) val = true;
+ debugFlags[flag] = val;
+ dispatch.change();
return context;
};
- context.debugCollision = function(_) {
- if (!arguments.length) return debugCollision;
- debugCollision = _;
- return context;
+ context.getDebug = function(flag) {
+ return flag && debugFlags[flag];
};
};
-iD.version = '1.9.4';
+iD.version = '1.9.7';
(function() {
var detected = {};
var mapillary = {},
dispatch = d3.dispatch('loadedImages', 'loadedSigns'),
apibase = 'https://a.mapillary.com/v2/',
- urlImage = 'https://www.mapillary.com/map/im/',
- urlThumb = 'https://d1cuyjsrcm0gby.cloudfront.net/',
+ viewercss = 'https://npmcdn.com/mapillary-js@1.3.0/dist/mapillary-js.min.css',
+ viewerjs = 'https://npmcdn.com/mapillary-js@1.3.0/dist/mapillary-js.min.js',
clientId = 'NzNRM2otQkR2SHJzaXJmNmdQWVQ0dzo1ZWYyMmYwNjdmNDdlNmVi',
maxResults = 1000,
+ maxPages = 10,
tileZoom = 14;
}
function loadSignDefs(context) {
- if (!iD.services.mapillary.sign_defs) {
- iD.services.mapillary.sign_defs = {};
- _.each(['au', 'br', 'ca', 'de', 'us'], function(region) {
- d3.json(context.asset('traffico/string-maps/' + region + '-map.json'), function(err, data) {
- if (err) return;
- if (region === 'de') region = 'eu';
- iD.services.mapillary.sign_defs[region] = data;
- });
+ if (iD.services.mapillary.sign_defs) return;
+ iD.services.mapillary.sign_defs = {};
+
+ _.each(['au', 'br', 'ca', 'de', 'us'], function(region) {
+ d3.json(context.asset('traffico/string-maps/' + region + '-map.json'), function(err, data) {
+ if (err) return;
+ if (region === 'de') region = 'eu';
+ iD.services.mapillary.sign_defs[region] = data;
});
+ });
+ }
+
+ function loadViewer() {
+ // mapillary-wrap
+ var wrap = d3.select('#content').selectAll('.mapillary-wrap')
+ .data([0]);
+
+ var enter = wrap.enter().append('div')
+ .attr('class', 'mapillary-wrap')
+ .classed('al', true) // 'al'=left, 'ar'=right
+ .classed('hidden', true);
+
+ enter.append('button')
+ .attr('class', 'thumb-hide')
+ .on('click', function () { mapillary.hideViewer(); })
+ .append('div')
+ .call(iD.svg.Icon('#icon-close'));
+
+ enter.append('div')
+ .attr('id', 'mly')
+ .attr('class', 'mly-wrapper')
+ .classed('active', false);
+
+ // mapillary-viewercss
+ d3.select('head').selectAll('#mapillary-viewercss')
+ .data([0])
+ .enter()
+ .append('link')
+ .attr('id', 'mapillary-viewercss')
+ .attr('rel', 'stylesheet')
+ .attr('href', viewercss);
+
+ // mapillary-viewerjs
+ d3.select('head').selectAll('#mapillary-viewerjs')
+ .data([0])
+ .enter()
+ .append('script')
+ .attr('id', 'mapillary-viewerjs')
+ .attr('src', viewerjs);
+ }
+
+ function initViewer(imageKey, context) {
+
+ function nodeChanged(d) {
+ var clicks = iD.services.mapillary.clicks;
+ var index = clicks.indexOf(d.key);
+ if (index > -1) { // nodechange initiated from clicking on a marker..
+ clicks.splice(index, 1);
+ } else { // nodechange initiated from the Mapillary viewer controls..
+ var loc = d.apiNavImIm ? [d.apiNavImIm.lon, d.apiNavImIm.lat] : [d.latLon.lon, d.latLon.lat];
+ context.map().centerEase(loc);
+ mapillary.setSelectedImage(d.key, false);
+ }
+ }
+
+ if (Mapillary && imageKey) {
+ var opts = {
+ baseImageSize: 320,
+ cover: false,
+ cache: true,
+ debug: false,
+ imagePlane: true,
+ loading: true,
+ sequence: true
+ };
+
+ var viewer = new Mapillary.Viewer('mly', clientId, imageKey, opts);
+ viewer.on('nodechanged', nodeChanged);
+ viewer.on('loadingchanged', mapillary.setViewerLoading);
+ iD.services.mapillary.viewer = viewer;
}
}
function loadTiles(which, url, projection, dimensions) {
var tiles = getTiles(projection, dimensions).filter(function(t) {
- var xyz = t.id.split(',');
- return !nearNullIsland(xyz[0], xyz[1], xyz[2]);
+ var xyz = t.id.split(',');
+ return !nearNullIsland(xyz[0], xyz[1], xyz[2]);
});
_.filter(which.inflight, function(v, k) {
if (err || !data.features || !data.features.length) return;
var features = [],
+ nextPage = page + 1,
feature, loc, d;
for (var i = 0; i < data.features.length; i++) {
if (which === 'images') dispatch.loadedImages();
if (which === 'signs') dispatch.loadedSigns();
- if (data.features.length === maxResults) {
- loadTilePage(which, url, tile, ++page);
+ if (data.features.length === maxResults && nextPage < maxPages) {
+ loadTilePage(which, url, tile, nextPage);
}
}
);
loadTiles('signs', url, projection, dimensions);
};
+ mapillary.loadViewer = function() {
+ loadViewer();
+ };
+
// partition viewport into `psize` x `psize` regions
function partitionViewport(psize, projection, dimensions) {
var detectionPackage = d.signs[0].package,
type = d.signs[0].type,
country = detectionPackage.split('_')[1];
+
return iD.services.mapillary.sign_defs[country][type];
};
- mapillary.showThumbnail = function(imageKey, position) {
- if (!imageKey) return;
+ mapillary.showViewer = function() {
+ d3.select('#content')
+ .selectAll('.mapillary-wrap')
+ .classed('hidden', false)
+ .selectAll('.mly-wrapper')
+ .classed('active', true);
- var positionClass = {
- 'ar': (position !== 'left'),
- 'al': (position === 'left')
- };
+ return mapillary;
+ };
- var thumbnail = d3.select('#content').selectAll('.mapillary-image')
- .data([0]);
+ mapillary.hideViewer = function() {
+ d3.select('#content')
+ .selectAll('.mapillary-wrap')
+ .classed('hidden', true)
+ .selectAll('.mly-wrapper')
+ .classed('active', false);
- // Enter
- var enter = thumbnail.enter().append('div')
- .attr('class', 'mapillary-image ar');
+ d3.selectAll('.layer-mapillary-images .viewfield-group, .layer-mapillary-signs .icon-sign')
+ .classed('selected', false);
- enter.append('button')
- .on('click', function () {
- mapillary.hideThumbnail();
- })
- .append('div')
- .call(iD.svg.Icon('#icon-close'));
+ iD.services.mapillary.image = null;
- enter.append('img');
+ return mapillary;
+ };
- enter.append('a')
- .attr('class', 'link ar')
- .attr('target', '_blank')
- .call(iD.svg.Icon('#icon-out-link', 'inline'))
- .append('span')
- .text(t('mapillary.view_on_mapillary'));
+ mapillary.setViewerLoading = function(loading) {
+ var canvas = d3.select('#content')
+ .selectAll('.mly-wrapper canvas');
- // Update
- thumbnail.selectAll('img')
- .attr('src', urlThumb + imageKey + '/thumb-320.jpg');
+ if (canvas.empty()) return; // viewer not loaded yet
- var link = thumbnail.selectAll('a')
- .attr('href', urlImage + imageKey);
+ var cover = d3.select('#content')
+ .selectAll('.mly-wrapper .Cover');
- if (position) {
- thumbnail.classed(positionClass);
- link.classed(positionClass);
- }
+ cover.classed('CoverDone', !loading);
- thumbnail
- .transition()
- .duration(200)
- .style('opacity', 1);
+ var button = cover.selectAll('.CoverButton')
+ .data(loading ? [0] : []);
+
+ button.enter()
+ .append('div')
+ .attr('class', 'CoverButton')
+ .append('div')
+ .attr('class', 'uil-ripple-css')
+ .append('div');
+
+ button.exit()
+ .remove();
+
+ return mapillary;
};
- mapillary.hideThumbnail = function() {
- if (iD.services.mapillary) {
- iD.services.mapillary.thumb = null;
+ mapillary.updateViewer = function(imageKey, context) {
+ if (!iD.services.mapillary) return;
+ if (!imageKey) return;
+
+ if (!iD.services.mapillary.viewer) {
+ initViewer(imageKey, context);
+ } else {
+ iD.services.mapillary.viewer.moveToKey(imageKey);
}
- d3.select('#content').selectAll('.mapillary-image')
- .transition()
- .duration(200)
- .style('opacity', 0)
- .remove();
+
+ return mapillary;
};
- mapillary.selectedThumbnail = function(d) {
+ mapillary.getSelectedImage = function() {
if (!iD.services.mapillary) return null;
- if (!arguments.length) return iD.services.mapillary.thumb;
- iD.services.mapillary.thumb = d;
+ return iD.services.mapillary.image;
+ };
+
+ mapillary.setSelectedImage = function(imageKey, fromClick) {
+ if (!iD.services.mapillary) return null;
+
+ iD.services.mapillary.image = imageKey;
+ if (fromClick) {
+ iD.services.mapillary.clicks.push(imageKey);
+ }
+
+ d3.selectAll('.layer-mapillary-images .viewfield-group, .layer-mapillary-signs .icon-sign')
+ .classed('selected', function(d) { return d.key === imageKey; });
+
+ return mapillary;
};
mapillary.reset = function() {
signs: { inflight: {}, loaded: {}, rtree: rbush() }
};
- iD.services.mapillary.thumb = null;
+ iD.services.mapillary.image = null;
+ iD.services.mapillary.clicks = [];
return mapillary;
};
return taginfo;
};
+iD.services.wikidata = function() {
+ var wiki = {},
+ endpoint = 'https://www.wikidata.org/w/api.php?';
+
+ // Given a Wikipedia language and article title, return an array of
+ // corresponding Wikidata entities.
+ wiki.itemsByTitle = function(lang, title, callback) {
+ lang = lang || 'en';
+ d3.jsonp(endpoint + iD.util.qsString({
+ action: 'wbgetentities',
+ format: 'json',
+ sites: lang.replace(/-/g, '_') + 'wiki',
+ titles: title,
+ languages: 'en', // shrink response by filtering to one language
+ callback: '{callback}'
+ }), function(data) {
+ callback(title, data.entities || {});
+ });
+ };
+
+ return wiki;
+};
iD.services.wikipedia = function() {
var wiki = {},
endpoint = 'https://en.wikipedia.org/w/api.php?';
var rules = document.styleSheets[i].rules || document.styleSheets[i].cssRules || [];
for (var k = 0; k < rules.length; k++) {
var selectorText = rules[k].selectorText && rules[k].selectorText.split(', ');
- if (_.contains(selectorText, selector)) {
+ if (_.includes(selectorText, selector)) {
return rules[k];
}
}
}
});
- _.uniq(_.pluck(relation.members, 'id')).forEach(function(memberId) {
+ _.uniq(_.map(relation.members, 'id')).forEach(function(memberId) {
graph = graph.replace(relation.removeMembersWithID(memberId));
var entity = graph.entity(memberId);
for (var i = 0; i < iD.data.deprecated.length; i++) {
rule = iD.data.deprecated[i];
- var match = _.pairs(rule.old)[0],
- replacements = rule.replace ? _.pairs(rule.replace) : null;
+ var match = _.toPairs(rule.old)[0],
+ replacements = rule.replace ? _.toPairs(rule.replace) : null;
if (entity.tags[match[0]] && match[1] === '*') {
var joined = iD.geo.joinWays(ways, graph)[0];
- survivor = survivor.update({nodes: _.pluck(joined.nodes, 'id')});
+ survivor = survivor.update({nodes: _.map(joined.nodes, 'id')});
graph = graph.replace(survivor);
joined.forEach(function(way) {
if (joined.length > 1)
return 'not_adjacent';
- var nodeIds = _.pluck(joined[0].nodes, 'id').slice(1, -1),
+ var nodeIds = _.map(joined[0].nodes, 'id').slice(1, -1),
relation,
tags = {},
conflicting = false;
return polygons.map(function(d, n) {
if (i === n) return null;
return iD.geo.polygonContainsPolygon(
- _.pluck(d.nodes, 'loc'),
- _.pluck(w.nodes, 'loc'));
+ _.map(d.nodes, 'loc'),
+ _.map(w.nodes, 'loc'));
});
});
}
function isContained(d, i) {
- return _.any(contained[i]);
+ return _.some(contained[i]);
}
function filterContained(d) {
function mergeChildren(targetWay, children, updates, graph) {
function isUsed(node, targetWay) {
- var parentWays = _.pluck(graph.parentWays(node), 'id');
+ var parentWays = _.map(graph.parentWays(node), 'id');
return node.hasInterestingTags() ||
_.without(parentWays, targetWay.id).length > 0 ||
graph.parentRelations(node).length > 0;
function mergeTags(base, remote, target) {
function ignoreKey(k) {
- return _.contains(iD.data.discarded, k);
+ return _.includes(iD.data.discarded, k);
}
if (option === 'force_local' || _.isEqual(target.tags, remote.tags)) {
function setupCache(graph) {
function canMove(nodeId) {
- var parents = _.pluck(graph.parentWays(graph.entity(nodeId)), 'id');
+ var parents = _.map(graph.parentWays(graph.entity(nodeId)), 'id');
if (parents.length < 3) return true;
// Don't move a vertex where >2 ways meet, unless all parentWays are moving too..
- var parentsMoving = _.all(parents, function(id) { return cache.moving[id]; });
+ var parentsMoving = _.every(parents, function(id) { return cache.moving[id]; });
if (!parentsMoving) delete cache.moving[nodeId];
return parentsMoving;
cache.ways.push(id);
cacheEntities(entity.nodes);
} else {
- cacheEntities(_.pluck(entity.members, 'id'));
+ cacheEntities(_.map(entity.members, 'id'));
}
});
}
start = projection(node.loc),
end = vecAdd(start, delta),
movedNodes = graph.childNodes(graph.entity(obj.movedId)),
- movedPath = _.map(_.pluck(movedNodes, 'loc'),
+ movedPath = _.map(_.map(movedNodes, 'loc'),
function(loc) { return vecAdd(projection(loc), delta); }),
unmovedNodes = graph.childNodes(graph.entity(obj.unmovedId)),
- unmovedPath = _.map(_.pluck(unmovedNodes, 'loc'), projection),
+ unmovedPath = _.map(_.map(unmovedNodes, 'loc'), projection),
hits = iD.geo.pathIntersections(movedPath, unmovedPath);
for (var i = 0; i < hits.length; i++) {
return entity.type === 'relation' && !entity.isComplete(graph);
}
- if (_.any(moveIds, incompleteRelation))
+ if (_.some(moveIds, incompleteRelation))
return 'incomplete_relation';
};
return graph.update(function(graph) {
var way = graph.entity(wayId);
- _.unique(way.nodes).forEach(function(id) {
+ _.uniq(way.nodes).forEach(function(id) {
var node = graph.entity(id),
point = projection(node.loc),
action.ways = function(graph) {
var node = graph.entity(nodeId),
parents = graph.parentWays(node),
- hasLines = _.any(parents, function(parent) { return parent.geometry(graph) === 'line'; });
+ hasLines = _.some(parents, function(parent) { return parent.geometry(graph) === 'line'; });
return parents.filter(function(parent) {
if (wayIds && wayIds.indexOf(parent.id) === -1)
descendants = descendants || {};
if (entity.type === 'relation') {
- children = _.pluck(entity.members, 'id');
+ children = _.map(entity.members, 'id');
} else if (entity.type === 'way') {
children = entity.nodes;
} else {
tail = iD.behavior.Tail(),
edit = iD.behavior.Edit(context),
closeTolerance = 4,
- tolerance = 12;
+ tolerance = 12,
+ mouseLeave = false,
+ lastMouse = null,
+ cached = iD.behavior.Draw;
function datum() {
if (d3.event.altKey) return {};
- else return d3.event.target.__data__ || {};
+
+ if (d3.event.type === 'keydown') {
+ return (lastMouse && lastMouse.target.__data__) || {};
+ } else {
+ return d3.event.target.__data__ || {};
+ }
}
function mousedown() {
}
function mousemove() {
+ lastMouse = d3.event;
event.move(datum());
}
+ function mouseenter() {
+ mouseLeave = false;
+ }
+
+ function mouseleave() {
+ mouseLeave = true;
+ }
+
function click() {
var d = datum();
if (d.type === 'way') {
- var choice = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection),
- edge = [d.nodes[choice.index - 1], d.nodes[choice.index]];
- event.clickWay(choice.loc, edge);
+ var dims = context.map().dimensions(),
+ mouse = context.mouse(),
+ pad = 5,
+ trySnap = mouse[0] > pad && mouse[0] < dims[0] - pad &&
+ mouse[1] > pad && mouse[1] < dims[1] - pad;
+
+ if (trySnap) {
+ var choice = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection),
+ edge = [d.nodes[choice.index - 1], d.nodes[choice.index]];
+ event.clickWay(choice.loc, edge);
+ } else {
+ event.click(context.map().mouseCoordinates());
+ }
} else if (d.type === 'node') {
event.clickNode(d);
}
}
+ function space() {
+ var currSpace = context.mouse();
+ if (cached.disableSpace && cached.lastSpace) {
+ var dist = iD.geo.euclideanDistance(cached.lastSpace, currSpace);
+ if (dist > tolerance) {
+ cached.disableSpace = false;
+ }
+ }
+
+ if (cached.disableSpace || mouseLeave || !lastMouse) return;
+
+ // user must move mouse or release space bar to allow another click
+ cached.lastSpace = currSpace;
+ cached.disableSpace = true;
+
+ d3.select(window).on('keyup.space-block', function() {
+ cached.disableSpace = false;
+ d3.select(window).on('keyup.space-block', null);
+ });
+
+ d3.event.preventDefault();
+ click();
+ }
+
function backspace() {
d3.event.preventDefault();
event.undo();
context.install(hover);
context.install(edit);
- if (!context.inIntro() && !iD.behavior.Draw.usedTails[tail.text()]) {
+ if (!context.inIntro() && !cached.usedTails[tail.text()]) {
context.install(tail);
}
.on('⌫', backspace)
.on('⌦', del)
.on('⎋', ret)
- .on('↩', ret);
+ .on('↩', ret)
+ .on('space', space)
+ .on('⌥space', space);
selection
+ .on('mouseenter.draw', mouseenter)
+ .on('mouseleave.draw', mouseleave)
.on('mousedown.draw', mousedown)
.on('mousemove.draw', mousemove);
context.uninstall(hover);
context.uninstall(edit);
- if (!context.inIntro() && !iD.behavior.Draw.usedTails[tail.text()]) {
+ if (!context.inIntro() && !cached.usedTails[tail.text()]) {
context.uninstall(tail);
- iD.behavior.Draw.usedTails[tail.text()] = true;
+ cached.usedTails[tail.text()] = true;
}
selection
+ .on('mouseenter.draw', null)
+ .on('mouseleave.draw', null)
.on('mousedown.draw', null)
.on('mousemove.draw', null);
d3.select(window)
.on('mouseup.draw', null);
+ // note: keyup.space-block, click.draw-block should remain
d3.select(document)
.call(keybinding.off);
};
iD.behavior.Draw.usedTails = {};
+iD.behavior.Draw.disableSpace = false;
+iD.behavior.Draw.lastSpace = null;
iD.behavior.DrawWay = function(context, wayId, index, mode, baseGraph) {
var way = context.entity(wayId),
isArea = context.geometry(wayId) === 'area',
if (datum.type === 'node' && datum.id !== end.id) {
loc = datum.loc;
+
} else if (datum.type === 'way' && datum.id !== segment.id) {
- loc = iD.geo.chooseEdge(context.childNodes(datum), context.mouse(), context.projection).loc;
- } else {
+ var dims = context.map().dimensions(),
+ mouse = context.mouse(),
+ pad = 5,
+ trySnap = mouse[0] > pad && mouse[0] < dims[0] - pad &&
+ mouse[1] > pad && mouse[1] < dims[1] - pad;
+
+ if (trySnap) {
+ loc = iD.geo.chooseEdge(context.childNodes(datum), context.mouse(), context.projection).loc;
+ }
+ }
+
+ if (!loc) {
loc = context.map().mouseCoordinates();
}
bounds = lasso.extent().map(context.projection.invert),
extent = iD.geo.Extent(normalize(bounds[0], bounds[1]));
- return _.pluck(context.intersects(extent).filter(function(entity) {
+ return _.map(context.intersects(extent).filter(function(entity) {
return entity.type === 'node' &&
iD.geo.pointInPolygon(context.projection(entity.loc), lasso.coordinates) &&
!context.features().isHidden(entity, graph, entity.geometry(graph));
iD.actions.Noop());
}
- activeIDs = _.pluck(context.graph().parentWays(entity), 'id');
+ activeIDs = _.map(context.graph().parentWays(entity), 'id');
activeIDs.push(entity.id);
context.enter(mode);
if (e.type === 'way') {
try {
var cn = graph.childNodes(e);
- result.push.apply(result, _.pluck(_.filter(cn, 'version'), 'id'));
+ result.push.apply(result, _.map(_.filter(cn, 'version'), 'id'));
} catch(err) {
/* eslint-disable no-console */
if (typeof console !== 'undefined') console.error(err);
localGraph = context.graph(),
remoteGraph = iD.Graph(history.base(), true),
modified = _.filter(history.difference().summary(), {changeType: 'modified'}),
- toCheck = _.pluck(_.pluck(modified, 'entity'), 'id'),
+ toCheck = _.map(_.map(modified, 'entity'), 'id'),
toLoad = withChildNodes(toCheck, localGraph),
conflicts = [],
errors = [];
_.difference(entity.nodes, toCheck, toLoad, loadMore));
} else if (entity.type === 'relation' && entity.isMultipolygon()) {
loadMore.push.apply(loadMore,
- _.difference(_.pluck(entity.members, 'id'), toCheck, toLoad, loadMore));
+ _.difference(_.map(entity.members, 'id'), toCheck, toLoad, loadMore));
}
});
mode.enter = function() {
function update() {
closeMenu();
- if (_.any(selectedIDs, function(id) { return !context.hasEntity(id); })) {
+ if (_.some(selectedIDs, function(id) { return !context.hasEntity(id); })) {
// Exit mode if selected entity gets undone
context.enter(iD.modes.Browse(context));
}
operation.disabled = function() {
var reason;
- if (_.any(selectedIDs, context.hasHiddenConnections)) {
+ if (_.some(selectedIDs, context.hasHiddenConnections)) {
reason = 'connected_to_hidden';
}
return action.disabled(context.graph()) || reason;
operation.disabled = function() {
var reason;
- if (_.any(selectedIDs, context.hasHiddenConnections)) {
+ if (_.some(selectedIDs, context.hasHiddenConnections)) {
reason = 'connected_to_hidden';
}
return action.disabled(context.graph()) || reason;
var reason;
if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
reason = 'too_large';
- } else if (_.any(selectedIDs, context.hasHiddenConnections)) {
+ } else if (_.some(selectedIDs, context.hasHiddenConnections)) {
reason = 'connected_to_hidden';
}
return iD.actions.Move(selectedIDs).disabled(context.graph()) || reason;
operation.disabled = function() {
var reason;
- if (_.any(selectedIDs, context.hasHiddenConnections)) {
+ if (_.some(selectedIDs, context.hasHiddenConnections)) {
reason = 'connected_to_hidden';
}
return action.disabled(context.graph()) || reason;
},
deprecatedTags: function() {
- var tags = _.pairs(this.tags);
+ var tags = _.toPairs(this.tags);
var deprecated = {};
iD.data.deprecated.forEach(function(d) {
- var match = _.pairs(d.old)[0];
+ var match = _.toPairs(d.old)[0];
tags.forEach(function(t) {
if (t[0] === match[0] &&
(t[1] === match[1] || match[1] === '*')) {
if (base.parentWays[child]) {
for (k = 0; k < base.parentWays[child].length; k++) {
id = base.parentWays[child][k];
- if (!this.entities.hasOwnProperty(id) && !_.contains(this._parentWays[child], id)) {
+ if (!this.entities.hasOwnProperty(id) && !_.includes(this._parentWays[child], id)) {
this._parentWays[child].push(id);
}
}
if (base.parentRels[child]) {
for (k = 0; k < base.parentRels[child].length; k++) {
id = base.parentRels[child][k];
- if (!this.entities.hasOwnProperty(id) && !_.contains(this._parentRels[child], id)) {
+ if (!this.entities.hasOwnProperty(id) && !_.includes(this._parentRels[child], id)) {
this._parentRels[child].push(id);
}
}
},
merge: function(entities, extent) {
- stack[0].graph.rebase(entities, _.pluck(stack, 'graph'), false);
+ stack[0].graph.rebase(entities, _.map(stack, 'graph'), false);
tree.rebase(entities, false);
dispatch.change(undefined, extent);
return history;
} else {
return _(stack.slice(1, index + 1))
- .pluck('imageryUsed')
+ .map('imageryUsed')
.flatten()
- .unique()
+ .uniq()
.without(undefined, 'Custom')
.value();
}
// the stack even if the current stack doesn't have them (for
// example when iD has been restarted in a different region)
var baseEntities = h.baseEntities.map(function(d) { return iD.Entity(d); });
- stack[0].graph.rebase(baseEntities, _.pluck(stack, 'graph'), true);
+ stack[0].graph.rebase(baseEntities, _.map(stack, 'graph'), true);
tree.rebase(baseEntities, true);
// When we restore a modified way, we also need to fetch any missing
// childnodes that would normally have been downloaded with it.. #2142
if (loadChildNodes) {
var missing = _(baseEntities)
- .filter('type', 'way')
- .pluck('nodes')
+ .filter({ type: 'way' })
+ .map('nodes')
.flatten()
.uniq()
.reject(function(n) { return stack[0].graph.hasEntity(n); })
if (!err) {
var visible = _.groupBy(result.data, 'visible');
if (!_.isEmpty(visible.true)) {
- missing = _.difference(missing, _.pluck(visible.true, 'id'));
- stack[0].graph.rebase(visible.true, _.pluck(stack, 'graph'), true);
+ missing = _.difference(missing, _.map(visible.true, 'id'));
+ stack[0].graph.rebase(visible.true, _.map(stack, 'graph'), true);
tree.rebase(visible.true, true);
}
});
},
+ isOnAddressLine: function(resolver) {
+ return resolver.transient(this, 'isOnAddressLine', function() {
+ return resolver.parentWays(this).filter(function(parent) {
+ return parent.tags.hasOwnProperty('addr:interpolation') &&
+ parent.geometry(resolver) === 'line';
+ }).length > 0;
+ });
+ },
+
asJXON: function(changeset_id) {
var r = {
node: {
outers = iD.geo.joinWays(outers, resolver);
inners = iD.geo.joinWays(inners, resolver);
- outers = outers.map(function(outer) { return _.pluck(outer.nodes, 'loc'); });
- inners = inners.map(function(inner) { return _.pluck(inner.nodes, 'loc'); });
+ outers = outers.map(function(outer) { return _.map(outer.nodes, 'loc'); });
+ inners = inners.map(function(inner) { return _.map(inner.nodes, 'loc'); });
var result = outers.map(function(o) {
// Heuristic for detecting counterclockwise winding order. Assumes
if (!this.isClosed() || this.isDegenerate()) return null;
var nodes = _.uniq(resolver.childNodes(this)),
- coords = _.pluck(nodes, 'loc'),
+ coords = _.map(nodes, 'loc'),
curr = 0, prev = 0;
for (var i = 0; i < coords.length; i++) {
asGeoJSON: function(resolver) {
return resolver.transient(this, 'GeoJSON', function() {
- var coordinates = _.pluck(resolver.childNodes(this), 'loc');
+ var coordinates = _.map(resolver.childNodes(this), 'loc');
if (this.isArea() && this.isClosed()) {
return {
type: 'Polygon',
var json = {
type: 'Polygon',
- coordinates: [_.pluck(nodes, 'loc')]
+ coordinates: [_.map(nodes, 'loc')]
};
if (!this.isClosed() && nodes.length) {
});
iD.Background = function(context) {
var dispatch = d3.dispatch('change'),
- baseLayer = iD.TileLayer().projection(context.projection),
+ baseLayer = iD.TileLayer(context).projection(context.projection),
overlayLayers = [],
backgroundSources;
imageryUsed.push('Local GPX');
}
+ var mapillary_images = context.layers().layer('mapillary-images');
+ if (mapillary_images && mapillary_images.enabled()) {
+ imageryUsed.push('Mapillary Images');
+ }
+
+ var mapillary_signs = context.layers().layer('mapillary-signs');
+ if (mapillary_signs && mapillary_signs.enabled()) {
+ imageryUsed.push('Mapillary Signs');
+ }
+
context.history().imageryUsed(imageryUsed);
};
}
}
- layer = iD.TileLayer()
+ layer = iD.TileLayer(context)
.source(d)
.projection(context.projection)
.dimensions(baseLayer.dimensions());
return best;
};
+ source.area = function() {
+ if (!data.polygon) return Number.MAX_VALUE; // worldwide
+ var area = d3.geo.area({ type: 'MultiPolygon', coordinates: [ data.polygon ] });
+ return isNaN(area) ? 0 : area;
+ };
+
source.imageryUsed = function() {
return source.id || name;
};
bing.copyrightNotices = function(zoom, extent) {
zoom = Math.min(zoom, 21);
return providers.filter(function(provider) {
- return _.any(provider.areas, function(area) {
+ return _.some(provider.areas, function(area) {
return extent.intersects(area.extent) &&
area.zoom[0] <= zoom &&
area.zoom[1] >= zoom;
return 'None';
};
+ source.area = function() {
+ return -1;
+ };
+
return source;
};
return 'Custom (' + template + ')';
};
+ source.area = function() {
+ return -2;
+ };
+
return source;
};
iD.Features = function(context) {
return resolver.isShared(e) ? _.union(result, resolver.parentWays(e)) : result;
}, connections);
- return connections.length ? _.any(connections, function(e) {
+ return connections.length ? _.some(connections, function(e) {
return features.isHidden(e, resolver, e.geometry(resolver));
}) : false;
};
redrawEnabled = true,
transformStart,
transformed = false,
+ easing = false,
minzoom = 0,
drawLayers = iD.svg.Layers(projection, context),
drawPoints = iD.svg.Points(projection, context),
mousemove;
function map(selection) {
+ context
+ .on('change.map', redraw);
context.history()
.on('change.map', redraw);
context.background()
drawLabels.supersurface(supersurface);
}
- function pxCenter() { return [dimensions[0] / 2, dimensions[1] / 2]; }
+ function pxCenter() {
+ return [dimensions[0] / 2, dimensions[1] / 2];
+ }
function drawVector(difference, extent) {
var graph = context.graph(),
if (extent) {
data = context.intersects(map.extent().intersection(extent));
- var set = d3.set(_.pluck(data, 'id'));
+ var set = d3.set(_.map(data, 'id'));
filter = function(d) { return set.has(d.id); };
} else {
var timeoutId;
function queueRedraw() {
- clearTimeout(timeoutId);
- timeoutId = setTimeout(function() { redraw(); }, 300);
+ timeoutId = setTimeout(function() { redraw(); }, 750);
}
function pointLocation(p) {
return redraw();
};
- map.centerEase = function(loc) {
- var from = map.center().slice(),
- t = 0,
- stop;
+ map.centerEase = function(loc2, duration) {
+ duration = duration || 250;
surface.one('mousedown.ease', function() {
- stop = true;
+ map.cancelEase();
});
+ if (easing) {
+ map.cancelEase();
+ }
+
+ var t1 = Date.now(),
+ t2 = t1 + duration,
+ loc1 = map.center(),
+ ease = d3.ease('cubic-in-out');
+
+ easing = true;
+
d3.timer(function() {
- if (stop) return true;
- map.center(iD.geo.interp(from, loc, (t += 1) / 10));
- return t === 10;
- }, 20);
+ if (!easing) return true; // cancelled ease
+
+ var tNow = Date.now();
+ if (tNow > t2) {
+ tNow = t2;
+ easing = false;
+ }
+
+ var locNow = iD.geo.interp(loc1, loc2, ease((tNow - t1) / duration));
+ setCenter(locNow);
+
+ d3.event = {
+ scale: zoom.scale(),
+ translate: zoom.translate()
+ };
+
+ zoomPan();
+ return !easing;
+ });
+
+ return map;
+ };
+
+ map.cancelEase = function() {
+ easing = false;
+ d3.timer.flush();
return map;
};
return d3.rebind(map, dispatch, 'on');
};
-iD.TileLayer = function() {
+iD.TileLayer = function(context) {
var tileSize = 256,
tile = d3.geo.tile(),
projection,
// rentered when tiles load/error (see #644).
function render(selection) {
var requests = [];
+ var showDebug = context.getDebug('tile') && !source.overlay;
if (source.validZoom(z)) {
tile().forEach(function(d) {
'scale(' + scale + ',' + scale + ')';
}
+ function debugTransform(d) {
+ var _ts = tileSize * Math.pow(2, z - d[2]);
+ var scale = tileSizeAtZoom(d, z);
+ return 'translate(' +
+ ((d[0] * _ts) - tileOrigin[0] + pixelOffset[0] + scale * (tileSize / 4)) + 'px,' +
+ ((d[1] * _ts) - tileOrigin[1] + pixelOffset[1] + scale * (tileSize / 2)) + 'px)';
+ }
+
var image = selection
.selectAll('img')
.data(requests, function(d) { return d[3]; });
image
.style(transformProp, imageTransform)
+ .classed('tile-debug', showDebug)
.classed('tile-removing', false);
+
+
+ var debug = selection.selectAll('.tile-label-debug')
+ .data(showDebug ? requests : [], function(d) { return d[3]; });
+
+ debug.exit()
+ .remove();
+
+ debug.enter()
+ .append('div')
+ .attr('class', 'tile-label-debug');
+
+ debug
+ .text(function(d) { return d[2] + ' / ' + d[0] + ' / ' + d[1]; })
+ .style(transformProp, debugTransform);
}
background.projection = function(_) {
areas = d3.values(areas).filter(function hasPath(a) { return path(a.entity); });
areas.sort(function areaSort(a, b) { return b.area - a.area; });
- areas = _.pluck(areas, 'entity');
+ areas = _.map(areas, 'entity');
var strokes = areas.filter(function(area) {
return area.type === 'way';
.attr('d', path);
};
};
+iD.svg.Debug = function(projection, context) {
+
+ function multipolygons(imagery) {
+ return imagery.map(function(data) {
+ return {
+ type: 'MultiPolygon',
+ coordinates: [ data.polygon ]
+ };
+ });
+ }
+
+ function drawDebug(surface) {
+ var showsTile = context.getDebug('tile'),
+ showsCollision = context.getDebug('collision'),
+ showsImagery = context.getDebug('imagery'),
+ showsImperial = context.getDebug('imperial'),
+ showsDriveLeft = context.getDebug('driveLeft'),
+ path = d3.geo.path().projection(projection);
+
+
+ var debugData = [];
+ if (showsTile) {
+ debugData.push({ class: 'red', label: 'tile' });
+ }
+ if (showsCollision) {
+ debugData.push({ class: 'yellow', label: 'collision' });
+ }
+ if (showsImagery) {
+ debugData.push({ class: 'orange', label: 'imagery' });
+ }
+ if (showsImperial) {
+ debugData.push({ class: 'cyan', label: 'imperial' });
+ }
+ if (showsDriveLeft) {
+ debugData.push({ class: 'green', label: 'driveLeft' });
+ }
+
+
+ var legend = d3.select('#content')
+ .selectAll('.debug-legend')
+ .data(debugData.length ? [0] : []);
+
+ legend.enter()
+ .append('div')
+ .attr('class', 'fillD debug-legend');
+
+ legend.exit()
+ .remove();
+
+
+ var legendItems = legend.selectAll('.debug-legend-item')
+ .data(debugData, function(d) { return d.label; });
+
+ legendItems.enter()
+ .append('span')
+ .attr('class', function(d) { return 'debug-legend-item ' + d.class; })
+ .text(function(d) { return d.label; });
+
+ legendItems.exit()
+ .remove();
+
+
+ var layer = surface.selectAll('.layer-debug')
+ .data(showsImagery || showsImperial || showsDriveLeft ? [0] : []);
+
+ layer.enter()
+ .append('g')
+ .attr('class', 'layer-debug');
+
+ layer.exit()
+ .remove();
+
+
+ var extent = context.map().extent(),
+ availableImagery = showsImagery && multipolygons(iD.data.imagery.filter(function(source) {
+ if (!source.polygon) return false;
+ return source.polygon.some(function(polygon) {
+ return iD.geo.polygonIntersectsPolygon(polygon, extent, true);
+ });
+ }));
+
+ var imagery = layer.selectAll('path.debug-imagery')
+ .data(showsImagery ? availableImagery : []);
+
+ imagery.enter()
+ .append('path')
+ .attr('class', 'debug-imagery debug orange');
+
+ imagery.exit()
+ .remove();
+
+
+ var imperial = layer
+ .selectAll('path.debug-imperial')
+ .data(showsImperial ? [iD.data.imperial] : []);
+
+ imperial.enter()
+ .append('path')
+ .attr('class', 'debug-imperial debug cyan');
+
+ imperial.exit()
+ .remove();
+
+
+ var driveLeft = layer
+ .selectAll('path.debug-drive-left')
+ .data(showsDriveLeft ? [iD.data.driveLeft] : []);
+
+ driveLeft.enter()
+ .append('path')
+ .attr('class', 'debug-drive-left debug green');
+
+ driveLeft.exit()
+ .remove();
+
+
+ // update
+ layer.selectAll('path')
+ .attr('d', path);
+ }
+
+ // This looks strange because `enabled` methods on other layers are
+ // chainable getter/setters, and this one is just a getter.
+ drawDebug.enabled = function() {
+ if (!arguments.length) {
+ return context.getDebug('tile') ||
+ context.getDebug('collision') ||
+ context.getDebug('imagery') ||
+ context.getDebug('imperial') ||
+ context.getDebug('driveLeft');
+ } else {
+ return this;
+ }
+ };
+
+ return drawDebug;
+};
/*
A standalone SVG element that contains only a `defs` sub-element. To be
used once globally, since defs IDs must be unique within a document.
var noIcons = ['building', 'landuse', 'natural'];
function blacklisted(preset) {
- return _.any(noIcons, function(s) {
+ return _.some(noIcons, function(s) {
return preset.id.indexOf(s) >= 0;
});
}
var mouse = context.mouse(),
pad = 50,
rect = [mouse[0] - pad, mouse[1] - pad, mouse[0] + pad, mouse[1] + pad],
- ids = _.pluck(rtree.search(rect), 'id');
+ ids = _.map(rtree.search(rect), 'id');
if (!ids.length) return;
layers.selectAll('.' + ids.join(', .'))
function getLineLabel(entity, width, height) {
- var nodes = _.pluck(graph.childNodes(entity), 'loc').map(projection),
+ var nodes = _.map(graph.childNodes(entity), 'loc').map(projection),
length = iD.geo.pathLength(nodes);
if (length < width + 20) return;
drawAreaIcons(label, labelled.area, filter, 'arealabel-icon', positions.area);
// debug
- var showDebug = context.debugCollision();
+ var showDebug = context.getDebug('collision');
var debug = label.selectAll('.layer-label-debug')
.data(showDebug ? [true] : []);
]]};
});
- var debugboxes = debug.selectAll('.bbox').data(gj);
+ var debugboxes = debug.selectAll('.debug').data(gj);
debugboxes.enter()
.append('path')
- .attr('class', 'bbox');
+ .attr('class', 'debug yellow');
debugboxes.exit()
.remove();
{ id: 'osm', layer: iD.svg.Osm(projection, context, dispatch) },
{ id: 'gpx', layer: iD.svg.Gpx(projection, context, dispatch) },
{ id: 'mapillary-images', layer: iD.svg.MapillaryImages(projection, context, dispatch) },
- { id: 'mapillary-signs', layer: iD.svg.MapillarySigns(projection, context, dispatch) }
+ { id: 'mapillary-signs', layer: iD.svg.MapillarySigns(projection, context, dispatch) },
+ { id: 'debug', layer: iD.svg.Debug(projection, context, dispatch) }
];
};
drawLayers.layer = function(id) {
- var obj = _.find(layers, 'id', id);
+ var obj = _.find(layers, function(o) {return o.id === id;});
return obj && obj.layer;
};
drawLayers.only = function(what) {
var arr = [].concat(what);
- drawLayers.remove(_.difference(_.pluck(layers, 'id'), arr));
+ drawLayers.remove(_.difference(_.map(layers, 'id'), arr));
return this;
};
drawLayers.remove = function(what) {
var arr = [].concat(what);
arr.forEach(function(id) {
- layers = _.reject(layers, 'id', id);
+ layers = _.reject(layers, function(o) {return o.id === id;});
});
dispatch.change();
return this;
function getMapillary() {
if (iD.services.mapillary && !_mapillary) {
- _mapillary = iD.services.mapillary().on('loadedImages', debouncedRedraw);
+ _mapillary = iD.services.mapillary();
+ _mapillary.on('loadedImages', debouncedRedraw);
} else if (!iD.services.mapillary && _mapillary) {
_mapillary = null;
}
+
return _mapillary;
}
- function showThumbnail(image) {
+ function showLayer() {
var mapillary = getMapillary();
if (!mapillary) return;
- var thumb = mapillary.selectedThumbnail(),
- posX = projection(image.loc)[0],
- width = layer.dimensions()[0],
- position = (posX < width / 2) ? 'right' : 'left';
-
- if (thumb) {
- d3.selectAll('.layer-mapillary-images .viewfield-group, .layer-mapillary-signs .icon-sign')
- .classed('selected', function(d) { return d.key === thumb.key; });
- }
-
- mapillary.showThumbnail(image.key, position);
- }
-
- function hideThumbnail() {
- d3.selectAll('.layer-mapillary-images .viewfield-group, .layer-mapillary-signs .icon-sign')
- .classed('selected', false);
-
- var mapillary = getMapillary();
- if (mapillary) {
- mapillary.hideThumbnail();
- }
- }
-
- function showLayer() {
+ mapillary.loadViewer();
editOn();
+
layer
.style('opacity', 0)
.transition()
}
function hideLayer() {
+ var mapillary = getMapillary();
+ if (mapillary) {
+ mapillary.hideViewer();
+ }
+
debouncedRedraw.cancel();
- hideThumbnail();
+
layer
.transition()
.duration(500)
layer.style('display', 'none');
}
+ function click(d) {
+ var mapillary = getMapillary();
+ if (!mapillary) return;
+
+ context.map().centerEase(d.loc);
+
+ mapillary
+ .setSelectedImage(d.key, true)
+ .updateViewer(d.key, context)
+ .showViewer();
+ }
+
function transform(d) {
var t = iD.svg.PointTransform(projection)(d);
if (d.ca) t += ' rotate(' + Math.floor(d.ca) + ',0,0)';
function update() {
var mapillary = getMapillary(),
- data = (mapillary ? mapillary.images(projection, layer.dimensions()) : []);
+ data = (mapillary ? mapillary.images(projection, layer.dimensions()) : []),
+ imageKey = mapillary ? mapillary.getSelectedImage() : null;
var markers = layer.selectAll('.viewfield-group')
.data(data, function(d) { return d.key; });
// Enter
var enter = markers.enter()
.append('g')
- .attr('class', 'viewfield-group');
+ .attr('class', 'viewfield-group')
+ .classed('selected', function(d) { return d.key === imageKey; })
+ .on('click', click);
enter.append('path')
.attr('class', 'viewfield')
layer.enter()
.append('g')
.attr('class', 'layer-mapillary-images')
- .style('display', enabled ? 'block' : 'none')
- .on('click', function() { // deselect/select
- var mapillary = getMapillary();
- if (!mapillary) return;
- var d = d3.event.target.__data__,
- thumb = mapillary.selectedThumbnail();
- if (thumb && thumb.key === d.key) {
- hideThumbnail();
- } else {
- mapillary.selectedThumbnail(d);
- context.map().centerEase(d.loc);
- showThumbnail(d);
- }
- })
- .on('mouseover', function() {
- var mapillary = getMapillary();
- if (!mapillary) return;
- showThumbnail(d3.event.target.__data__);
- })
- .on('mouseout', function() {
- var mapillary = getMapillary();
- if (!mapillary) return;
- var thumb = mapillary.selectedThumbnail();
- if (thumb) {
- showThumbnail(thumb);
- } else {
- hideThumbnail();
- }
- });
+ .style('display', enabled ? 'block' : 'none');
layer.exit()
.remove();
return _mapillary;
}
- function showThumbnail(image) {
- var mapillary = getMapillary();
- if (!mapillary) return;
-
- var thumb = mapillary.selectedThumbnail(),
- posX = projection(image.loc)[0],
- width = layer.dimensions()[0],
- position = (posX < width / 2) ? 'right' : 'left';
-
- if (thumb) {
- d3.selectAll('.layer-mapillary-images .viewfield-group, .layer-mapillary-signs .icon-sign')
- .classed('selected', function(d) { return d.key === thumb.key; });
- }
-
- mapillary.showThumbnail(image.key, position);
- }
-
- function hideThumbnail() {
- d3.selectAll('.layer-mapillary-images .viewfield-group, .layer-mapillary-signs .icon-sign')
- .classed('selected', false);
-
- var mapillary = getMapillary();
- if (mapillary) {
- mapillary.hideThumbnail();
- }
- }
-
function showLayer() {
editOn();
debouncedRedraw();
function hideLayer() {
debouncedRedraw.cancel();
- hideThumbnail();
editOff();
}
layer.style('display', 'none');
}
+ function click(d) {
+ var mapillary = getMapillary();
+ if (!mapillary) return;
+
+ context.map().centerEase(d.loc);
+
+ mapillary
+ .setSelectedImage(d.key, true)
+ .updateViewer(d.key, context)
+ .showViewer();
+ }
+
function update() {
var mapillary = getMapillary(),
- data = (mapillary ? mapillary.signs(projection, layer.dimensions()) : []);
+ data = (mapillary ? mapillary.signs(projection, layer.dimensions()) : []),
+ imageKey = mapillary ? mapillary.getSelectedImage() : null;
var signs = layer.selectAll('.icon-sign')
.data(data, function(d) { return d.key; });
.append('foreignObject')
.attr('class', 'icon-sign')
.attr('width', '32px') // for Firefox
- .attr('height', '32px'); // for Firefox
+ .attr('height', '32px') // for Firefox
+ .classed('selected', function(d) { return d.key === imageKey; })
+ .on('click', click);
enter
.append('xhtml:body')
.html(mapillary.signHTML);
- enter
- .on('click', function(d) { // deselect/select
- var mapillary = getMapillary();
- if (!mapillary) return;
- var thumb = mapillary.selectedThumbnail();
- if (thumb && thumb.key === d.key) {
- hideThumbnail();
- } else {
- mapillary.selectedThumbnail(d);
- context.map().centerEase(d.loc);
- showThumbnail(d);
- }
- })
- .on('mouseover', showThumbnail)
- .on('mouseout', function() {
- var mapillary = getMapillary();
- if (!mapillary) return;
- var thumb = mapillary.selectedThumbnail();
- if (thumb) {
- showThumbnail(thumb);
- } else {
- hideThumbnail();
- }
- });
-
// Exit
signs.exit()
.remove();
['bottom', [0, 0.5]]],
opacityDefault = (context.storage('background-opacity') !== null) ?
(+context.storage('background-opacity')) : 1.0,
- customTemplate = context.storage('background-custom-template') || '';
+ customTemplate = context.storage('background-custom-template') || '',
+ previous;
// Can be 0 from <1.3.0 use or due to issue #1923.
if (opacityDefault === 0) opacityDefault = 1.0;
+
function background(selection) {
function sortSources(a, b) {
- return a.best() ? -1
- : b.best() ? 1
- : a.id === 'none' ? 1
- : b.id === 'none' ? -1
- : d3.ascending(a, b);
+ return a.best() && !b.best() ? -1
+ : b.best() && !a.best() ? 1
+ : d3.descending(a.area(), b.area()) || d3.ascending(a.name(), b.name()) || 0;
}
function setOpacity(d) {
context.storage('background-opacity', d);
}
+ function setTooltips(selection) {
+ selection.each(function(d) {
+ var item = d3.select(this);
+ if (d === previous) {
+ item.call(bootstrap.tooltip()
+ .html(true)
+ .title(function() {
+ var tip = '<div>' + t('background.switch') + '</div>';
+ return iD.ui.tooltipHtml(tip, iD.ui.cmd('⌘B'));
+ })
+ .placement('top')
+ );
+ } else if (d.description) {
+ item.call(bootstrap.tooltip()
+ .title(d.description)
+ .placement('top')
+ );
+ } else {
+ item.call(bootstrap.tooltip().destroy);
+ }
+ });
+ }
+
function selectLayer() {
function active(d) {
return context.background().showsLayer(d);
content.selectAll('.layer, .custom_layer')
.classed('active', active)
+ .classed('switch', function(d) { return d === previous; })
+ .call(setTooltips)
.selectAll('input')
.property('checked', active);
}
function clickSetSource(d) {
+ previous = context.background().baseLayerSource();
d3.event.preventDefault();
context.background().baseLayerSource(d);
selectLayer();
+ document.activeElement.blur();
}
function editCustom() {
d3.event.preventDefault();
context.background().toggleOverlayLayer(d);
selectLayer();
+ document.activeElement.blur();
}
function drawList(layerList, type, change, filter) {
.filter(filter);
var layerLinks = layerList.selectAll('li.layer')
- .data(sources, function(d) { return d.name(); })
- .sort(sortSources);
+ .data(sources, function(d) { return d.name(); });
var enter = layerLinks.enter()
.insert('li', '.custom_layer')
.attr('class', 'layer')
.classed('best', function(d) { return d.best(); });
- // only set tooltips for layers with tooltips
- enter.filter(function(d) { return d.description; })
- .call(bootstrap.tooltip()
- .title(function(d) { return d.description; })
- .placement('top'));
-
enter.filter(function(d) { return d.best(); })
.append('div')
.attr('class', 'best')
label.append('span')
.text(function(d) { return d.name(); });
+
layerLinks.exit()
.remove();
- layerList.style('display', layerList.selectAll('li.layer').data().length > 0 ? 'block' : 'none');
+ layerList.selectAll('li.layer')
+ .sort(sortSources)
+ .style('display', layerList.selectAll('li.layer').data().length > 0 ? 'block' : 'none');
}
function update() {
function dragOffset() {
var origin = [d3.event.clientX, d3.event.clientY];
+ context.container()
+ .append('div')
+ .attr('class', 'nudge-surface');
+
d3.select(window)
.on('mousemove.offset', function() {
var latest = [d3.event.clientX, d3.event.clientY];
nudge(d);
})
.on('mouseup.offset', function() {
+ d3.selectAll('.nudge-surface')
+ .remove();
+
d3.select(window)
.on('mousemove.offset', null)
.on('mouseup.offset', null);
setVisible(!button.classed('active'));
}
+ function quickSwitch() {
+ if (previous) {
+ clickSetSource(previous);
+ }
+ }
+
function setVisible(show) {
if (show !== shown) {
button.classed('active', show);
var keybinding = d3.keybinding('background')
.on(key, toggle)
+ .on(iD.ui.cmd('⌘B'), quickSwitch)
.on('F', hide)
.on('H', hide);
function keepSpaces(k) {
var whitelist = ['opening_hours', 'service_times', 'collection_times',
'operating_times', 'smoking_hours', 'happy_hours'];
- return _.any(whitelist, function(s) { return k.indexOf(s) !== -1; });
+ return _.some(whitelist, function(s) { return k.indexOf(s) !== -1; });
}
var blacklist = ['description', 'note', 'fixme'];
- if (_.any(blacklist, function(s) { return k.indexOf(s) !== -1; })) return v;
+ if (_.some(blacklist, function(s) { return k.indexOf(s) !== -1; })) return v;
var cleaned = v.split(';')
.map(function(s) { return s.trim(); })
update();
}
- function toggleLayer(which) {
+ function showsLayer(which) {
var layer = layers.layer(which);
if (layer) {
- layer.enabled(!layer.enabled());
+ return layer.enabled();
+ }
+ return false;
+ }
+
+ function setLayer(which, enabled) {
+ var layer = layers.layer(which);
+ if (layer) {
+ layer.enabled(enabled);
update();
}
}
+ function toggleLayer(which) {
+ setLayer(which, !showsLayer(which));
+ }
+
function clickGpx() {
toggleLayer('gpx');
}
function clickMapillaryImages() {
toggleLayer('mapillary-images');
+ if (!showsLayer('mapillary-images')) {
+ setLayer('mapillary-signs', false);
+ }
}
function clickMapillarySigns() {
mapillarySignLayerItem
.classed('active', showsMapillarySigns)
.selectAll('input')
+ .property('disabled', !showsMapillaryImages)
.property('checked', showsMapillarySigns);
+ mapillarySignLayerItem
+ .selectAll('label')
+ .classed('deemphasize', !showsMapillaryImages);
+
// Exit
mapillaryImageLayerItem.exit()
.remove();
.property('disabled', !hasGpx)
.property('checked', showsGpx);
+ gpxLayerItem
+ .selectAll('label')
+ .classed('deemphasize', !hasGpx);
+
// Exit
gpxLayerItem.exit()
.remove();
var key = '/';
function map_in_map(selection) {
- var backgroundLayer = iD.TileLayer(),
+ var backgroundLayer = iD.TileLayer(context),
overlayLayers = {},
projection = iD.geo.RawMercator(),
gpxLayer = iD.svg.Gpx(projection, context).showLabels(false),
+ debugLayer = iD.svg.Debug(projection, context),
zoom = d3.behavior.zoom()
.scaleExtent([ztok(0.5), ztok(24)])
.on('zoom', zoomPan),
panning = false,
hidden = true,
zDiff = 6, // by default, minimap renders at (main zoom - 6)
- tStart, tLast, tCurr, kLast, kCurr, tiles, svg, timeoutId;
+ tStart, tLast, tCurr, kLast, kCurr, tiles, viewport, timeoutId;
function ztok(z) { return 256 * Math.pow(2, z); }
function ktoz(k) { return Math.log(k) / Math.LN2 - 8; }
tY = (tCurr[1] / scale - tLast[1]) * scale;
iD.util.setTransform(tiles, tX, tY, scale);
- iD.util.setTransform(svg, 0, 0, scale);
+ iD.util.setTransform(viewport, 0, 0, scale);
transformed = true;
queueRedraw();
if (transformed) {
iD.util.setTransform(tiles, 0, 0);
- iD.util.setTransform(svg, 0, 0);
+ iD.util.setTransform(viewport, 0, 0);
transformed = false;
}
}
var activeOverlayLayers = [];
for (var i = 0; i < overlaySources.length; i++) {
if (overlaySources[i].validZoom(zMini)) {
- if (!overlayLayers[i]) overlayLayers[i] = iD.TileLayer();
+ if (!overlayLayers[i]) overlayLayers[i] = iD.TileLayer(context);
activeOverlayLayers.push(overlayLayers[i]
.source(overlaySources[i])
.projection(projection)
.remove();
- var gpx = tiles
- .selectAll('.map-in-map-gpx')
- .data(gpxLayer.enabled() ? [0] : []);
+ var dataLayers = tiles
+ .selectAll('.map-in-map-data')
+ .data([0]);
- gpx.enter()
+ dataLayers.enter()
.append('svg')
- .attr('class', 'map-in-map-gpx');
+ .attr('class', 'map-in-map-data');
- gpx.exit()
+ dataLayers.exit()
.remove();
- gpx.call(gpxLayer);
+ dataLayers
+ .call(gpxLayer)
+ .call(debugLayer);
- // redraw bounding box
+ // redraw viewport bounding box
if (!panning) {
var getPath = d3.geo.path().projection(projection),
bbox = { type: 'Polygon', coordinates: [context.map().extent().polygon()] };
- svg = wrap.selectAll('.map-in-map-svg')
+ viewport = wrap.selectAll('.map-in-map-viewport')
.data([0]);
- svg.enter()
+ viewport.enter()
.append('svg')
- .attr('class', 'map-in-map-svg');
+ .attr('class', 'map-in-map-viewport');
- var path = svg.selectAll('.map-in-map-bbox')
+ var path = viewport.selectAll('.map-in-map-bbox')
.data([bbox]);
path.enter()
field.show = show;
field.shown = function() {
- return field.id === 'name' || field.show || _.any(field.keys, function(key) { return !!tags[key]; });
+ return field.id === 'name' || field.show || _.some(field.keys, function(key) { return !!tags[key]; });
};
field.modified = function() {
var original = context.graph().base().entities[entity.id];
- return _.any(field.keys, function(key) {
+ return _.some(field.keys, function(key) {
return original ? tags[key] !== original.tags[key] : tags[key];
});
};
};
field.present = function() {
- return _.any(field.keys, function(key) {
+ return _.some(field.keys, function(key) {
return tags[key];
});
};
return d3.rebind(presets, event, 'on');
};
iD.ui.PresetList = function(context) {
- var event = d3.dispatch('choose'),
+ var dispatch = d3.dispatch('choose'),
id,
currentPreset,
autofocus = false;
function presetList(selection) {
- var geometry = context.geometry(id),
- presets = context.presets().matchGeometry(geometry);
+ var entity = context.entity(id),
+ geometry = context.geometry(id);
+
+ // Treat entities on addr:interpolation lines as points, not vertices (#3241)
+ if (geometry === 'vertex' && entity.isOnAddressLine(context.graph())) {
+ geometry = 'point';
+ }
+
+ var presets = context.presets().matchGeometry(geometry);
selection.html('');
if (context.entity(id).isUsed(context.graph())) {
messagewrap.append('button')
.attr('class', 'preset-choose')
- .on('click', function() { event.choose(currentPreset); })
+ .on('click', function() { dispatch.choose(currentPreset); })
.append('span')
.html('►');
} else {
iD.actions.ChangePreset(id, currentPreset, preset),
t('operations.change_tags.annotation'));
- event.choose(preset);
+ dispatch.choose(preset);
};
item.help = function() {
return presetList;
};
- return d3.rebind(presetList, event, 'on');
+ return d3.rebind(presetList, dispatch, 'on');
};
iD.ui.RadialMenu = function(context, operations) {
var menu,
var history = context.history(),
key = iD.ui.cmd('⌘S');
+
function saving() {
return context.mode().id === 'save';
}
}
}
+ function getBackground(numChanges) {
+ var step;
+ if (numChanges === 0) {
+ return null;
+ } else if (numChanges <= 50) {
+ step = numChanges / 50;
+ return d3.interpolateRgb('#fff', '#ff8')(step); // white -> yellow
+ } else {
+ step = Math.min((numChanges - 50) / 50, 1.0);
+ return d3.interpolateRgb('#ff8', '#f88')(step); // yellow -> red
+ }
+ }
+
return function(selection) {
var tooltip = bootstrap.tooltip()
.placement('bottom')
tooltip.title(iD.ui.tooltipHtml(t(numChanges > 0 ?
'save.help' : 'save.no_changes'), key));
+ var background = getBackground(numChanges);
+
button
.classed('disabled', numChanges === 0)
- .classed('has-count', numChanges > 0);
+ .classed('has-count', numChanges > 0)
+ .style('background', background);
button.select('span.count')
- .text(numChanges);
+ .text(numChanges)
+ .style('background', background)
+ .style('border-color', background);
});
context.on('enter.save', function() {
};
iD.ui.Scale = function(context) {
var projection = context.projection,
+ imperial = (iD.detect().locale.toLowerCase() === 'en-us'),
maxLength = 180,
tickHeight = 8;
function scaleDefs(loc1, loc2) {
var lat = (loc2[1] + loc1[1]) / 2,
- imperial = (iD.detect().locale.toLowerCase() === 'en-us'),
conversion = (imperial ? 3.28084 : 1),
dist = iD.geo.lonToMeters(loc2[0] - loc1[0], lat) * conversion,
scale = { dist: 0, px: 0, text: '' },
.text(scale.text);
}
+
return function(selection) {
+ function switchUnits() {
+ imperial = !imperial;
+ selection.call(update);
+ }
+
var g = selection.append('svg')
.attr('id', 'scale')
+ .on('click', switchUnits)
.append('g')
.attr('transform', 'translate(10,11)');
g.append('path').attr('id', 'scalepath');
g.append('text').attr('id', 'scaletext');
- update(selection);
+ selection.call(update);
context.map().on('move.scale', function() {
update(selection);
iD.services.nominatim().countryCode(center, function (err, countryCode) {
addressFormat = _.find(iD.data.addressFormats, function (a) {
- return a && a.countryCodes && _.contains(a.countryCodes, countryCode);
+ return a && a.countryCodes && _.includes(a.countryCodes, countryCode);
}) || _.first(iD.data.addressFormats);
function row(r) {
dval = clean(dval || '');
if (optstrings) {
- var match = _.find(comboData, function(o) { return o.value === dval && o.key; });
+ var match = _.find(comboData, function(o) {
+ return o.key && clean(o.value) === dval;
+ });
if (match) {
return match.key;
}
function objectDifference(a, b) {
return _.reject(a, function(d1) {
- return _.any(b, function(d2) { return d1.value === d2.value; });
+ return _.some(b, function(d2) { return d1.value === d2.value; });
});
}
query: (isMulti ? field.key : '') + q
}, function(err, data) {
if (err) return;
- comboData = _.pluck(data, 'value').map(function(k) {
+ comboData = _.map(data, 'value').map(function(k) {
if (isMulti) k = k.replace(field.key, '');
var v = snake_case ? unsnake(k) : k;
return {
if (isMulti) {
ph = field.placeholder() || t('inspector.add');
} else {
- var vals = _.pluck(d, 'value').filter(function(s) { return s.length < 20; }),
- placeholders = vals.length > 1 ? vals : _.pluck(d, 'key');
+ var vals = _.map(d, 'value').filter(function(s) { return s.length < 20; }),
+ placeholders = vals.length > 1 ? vals : _.map(d, 'key');
ph = field.placeholder() || placeholders.slice(0, 3).join(', ');
}
});
// Set keys for form-field modified (needed for undo and reset buttons)..
- field.keys = _.pluck(multiData, 'key');
+ field.keys = _.map(multiData, 'key');
// Exclude existing multikeys from combo options..
var available = objectDifference(comboData, multiData);
iD.ui.preset.number =
iD.ui.preset.tel =
iD.ui.preset.email =
-iD.ui.preset.url = function(field) {
+iD.ui.preset.url = function(field, context) {
var dispatch = d3.dispatch('change'),
- input;
+ input,
+ entity;
function i(selection) {
+ var fieldId = 'preset-input-' + field.id;
+
input = selection.selectAll('input')
.data([0]);
input.enter().append('input')
.attr('type', field.type)
- .attr('id', 'preset-input-' + field.id)
+ .attr('id', fieldId)
.attr('placeholder', field.placeholder() || t('inspector.unknown'));
input
.on('blur', change())
.on('change', change());
- if (field.type === 'number') {
+ if (field.type === 'tel') {
+ var center = entity.extent(context.graph()).center();
+ iD.services.nominatim().countryCode(center, function (err, countryCode) {
+ if (err || !iD.data.phoneFormats[countryCode]) return;
+ selection.selectAll('#' + fieldId)
+ .attr('placeholder', iD.data.phoneFormats[countryCode]);
+ });
+
+ } else if (field.type === 'number') {
input.attr('type', 'text');
var spinControl = selection.selectAll('.spin-control')
};
}
+ i.entity = function(_) {
+ if (!arguments.length) return entity;
+ entity = _;
+ return i;
+ };
+
i.tags = function(tags) {
input.value(tags[field.key] || '');
};
i.focus = function() {
- input.node().focus();
+ var node = input.node();
+ if (node) node.focus();
};
return d3.rebind(i, dispatch, 'on');
input, localizedInputs, wikiTitles,
entity;
- function i(selection) {
+ function localized(selection) {
input = selection.selectAll('.localized-main')
.data([0]);
.value(function(d) { return d.value; });
}
- i.tags = function(tags) {
+ localized.tags = function(tags) {
// Fetch translations from wikipedia
if (tags.wikipedia && !wikiTitles) {
wikiTitles = {};
localizedInputs.call(render, postfixed.reverse());
};
- i.focus = function() {
+ localized.focus = function() {
input.node().focus();
};
- i.entity = function(_) {
+ localized.entity = function(_) {
+ if (!arguments.length) return entity;
entity = _;
+ return localized;
};
- return d3.rebind(i, dispatch, 'on');
+ return d3.rebind(localized, dispatch, 'on');
};
iD.ui.preset.maxspeed = function(field, context) {
var dispatch = d3.dispatch('change'),
var childNodes = context.graph().childNodes(context.entity(entity.id)),
loc = childNodes[~~(childNodes.length/2)].loc;
- imperial = _.any(iD.data.imperial.features, function(f) {
- return _.any(f.geometry.coordinates, function(d) {
- return iD.geo.pointInPolygon(loc, d[0]);
+ imperial = _.some(iD.data.imperial.features, function(f) {
+ return _.some(f.geometry.coordinates, function(d) {
+ return iD.geo.pointInPolygon(loc, d);
});
});
var dispatch = d3.dispatch('change'),
input;
- function i(selection) {
+ function textarea(selection) {
input = selection.selectAll('textarea')
.data([0]);
};
}
- i.tags = function(tags) {
+ textarea.tags = function(tags) {
input.value(tags[field.key] || '');
};
- i.focus = function() {
+ textarea.focus = function() {
input.node().focus();
};
- return d3.rebind(i, dispatch, 'on');
+ return d3.rebind(textarea, dispatch, 'on');
};
iD.ui.preset.wikipedia = function(field, context) {
var dispatch = d3.dispatch('change'),
wikipedia = iD.services.wikipedia(),
+ wikidata = iD.services.wikidata(),
link, entity, lang, title;
- function i(selection) {
+ function wiki(selection) {
var langcombo = d3.combobox()
.fetcher(function(value, cb) {
var v = value.toLowerCase();
title
.call(titlecombo)
- .on('blur', change)
+ .on('blur', blur)
.on('change', change);
link = selection.selectAll('a.wiki-link')
function changeLang() {
lang.value(language()[1]);
- change();
+ change(true);
}
- function change() {
+ function blur() {
+ change(true);
+ }
+
+ function change(skipWikidata) {
var value = title.value(),
m = value.match(/https?:\/\/([-a-z]+)\.wikipedia\.org\/(?:wiki|\1-[-a-z]+)\/([^#]+)(?:#(.+))?/),
l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; }),
- anchor;
+ anchor,
+ syncTags = {};
if (l) {
// Normalize title http://www.mediawiki.org/wiki/API:Query#Title_normalization
title.value(value);
}
- var t = {};
- t[field.key] = value ? language()[2] + ':' + value : undefined;
- dispatch.change(t);
+ syncTags.wikipedia = value ? language()[2] + ':' + value : undefined;
+ if (!skipWikidata) {
+ syncTags.wikidata = undefined;
+ }
+
+ dispatch.change(syncTags);
+
+
+ if (skipWikidata || !value || !language()[2]) return;
+
+ // attempt asynchronous update of wikidata tag..
+ var initEntityId = entity.id,
+ initWikipedia = context.entity(initEntityId).tags.wikipedia;
+
+ wikidata.itemsByTitle(language()[2], value, function (title, data) {
+ // 1. most recent change was a tag change
+ var annotation = t('operations.change_tags.annotation'),
+ currAnnotation = context.history().undoAnnotation();
+ if (currAnnotation !== annotation) return;
+
+ // 2. same entity exists and still selected
+ var selectedIds = context.selectedIDs(),
+ currEntityId = selectedIds.length > 0 && selectedIds[0];
+ if (currEntityId !== initEntityId) return;
+
+ // 3. wikipedia value has not changed
+ var currTags = _.clone(context.entity(currEntityId).tags),
+ qids = data && Object.keys(data);
+ if (initWikipedia !== currTags.wikipedia) return;
+
+ // ok to coalesce the update of wikidata tag into the previous tag change
+ currTags.wikidata = qids && _.find(qids, function (id) {
+ return id.match(/^Q\d+$/);
+ });
+
+ context.overwrite(iD.actions.ChangeTags(currEntityId, currTags), annotation);
+ dispatch.change(currTags);
+ });
}
- i.tags = function(tags) {
+ wiki.tags = function(tags) {
var value = tags[field.key] || '',
m = value.match(/([^:]+):([^#]+)(?:#(.+))?/),
l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; }),
}
}
link.attr('href', 'https://' + m[1] + '.wikipedia.org/wiki/' +
- m[2].replace(/ /g, '_') + (anchor ? ('#' + anchor) : ''));
+ m[2].replace(/ /g, '_') + (anchor ? ('#' + anchor) : ''));
// unrecognized value format
} else {
}
};
- i.entity = function(_) {
+ wiki.entity = function(_) {
+ if (!arguments.length) return entity;
entity = _;
+ return wiki;
};
- i.focus = function() {
+ wiki.focus = function() {
title.node().focus();
};
- return d3.rebind(i, dispatch, 'on');
+ return d3.rebind(wiki, dispatch, 'on');
};
iD.ui.intro.area = function(context, reveal) {
var event = d3.dispatch('done'),
}
function addIntersection(changes) {
- if ( _.any(changes.created(), function(d) {
+ if ( _.some(changes.created(), function(d) {
return d.type === 'node' && context.graph().parentWays(d).length > 1;
})) {
context.history().on('change.intro', null);
};
all.match = function(entity, resolver) {
- var geometry = entity.geometry(resolver),
- geometryMatches = index[geometry],
+ var geometry = entity.geometry(resolver);
+
+ // Treat entities on addr:interpolation lines as points, not vertices (#3241)
+ if (geometry === 'vertex' && entity.isOnAddressLine(resolver)) {
+ geometry = 'point';
+ }
+
+ var geometryMatches = index[geometry],
best = -1,
match;
all.defaults = function(geometry, n) {
var rec = recent.matchGeometry(geometry).collection.slice(0, 4),
def = _.uniq(rec.concat(defaults[geometry].collection)).slice(0, n - 1);
- return iD.presets.Collection(_.unique(rec.concat(def).concat(all.item(geometry))));
+ return iD.presets.Collection(_.uniq(rec.concat(def).concat(all.item(geometry))));
};
all.choose = function(preset) {
if (!preset.isFallback()) {
- recent = iD.presets.Collection(_.unique([preset].concat(recent.collection)));
+ recent = iD.presets.Collection(_.uniq([preset].concat(recent.collection)));
}
return all;
};
// matches value to preset.terms values
var leading_terms = _.filter(searchable, function(a) {
- return _.any(a.terms() || [], leading);
+ return _.some(a.terms() || [], leading);
});
// matches value to preset.tags values
var leading_tag_values = _.filter(searchable, function(a) {
- return _.any(_.without(_.values(a.tags || {}), '*'), leading);
+ return _.some(_.without(_.values(a.tags || {}), '*'), leading);
});
// finds close matches to value in preset.terms
var leventstein_terms = _.filter(searchable, function(a) {
- return _.any(a.terms() || [], function(b) {
+ return _.some(a.terms() || [], function(b) {
return iD.util.editDistance(value, b) + Math.min(value.length - b.length, 0) < 3;
});
});
leven_suggestions.slice(0, maxSuggestionResults)
).slice(0, maxSearchResults-1);
- return iD.presets.Collection(_.unique(
+ return iD.presets.Collection(_.uniq(
results.concat(other)
));
}
return missing;
}
-iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081]},"n185964961":{"id":"n185964961","loc":[-85.6406588,41.942601]},"n185964962":{"id":"n185964962","loc":[-85.6394548,41.94261]},"n185970607":{"id":"n185970607","loc":[-85.641094,41.94006]},"n185970614":{"id":"n185970614","loc":[-85.641825,41.941316]},"n185970616":{"id":"n185970616","loc":[-85.641838,41.941556]},"n185973650":{"id":"n185973650","loc":[-85.639918,41.940064]},"n185973660":{"id":"n185973660","loc":[-85.640645,41.941339]},"n185973659":{"id":"n185973659","loc":[-85.6406115,41.9400658]},"n185974479":{"id":"n185974479","loc":[-85.639402,41.941344]},"n185974481":{"id":"n185974481","loc":[-85.643071,41.941288]},"n185976259":{"id":"n185976259","loc":[-85.642213,41.940043]},"n185976261":{"id":"n185976261","loc":[-85.643056,41.94001]},"n185964959":{"id":"n185964959","loc":[-85.6431031,41.9425754]},"n185964960":{"id":"n185964960","loc":[-85.6418749,41.9425864]},"n185981481":{"id":"n185981481","loc":[-85.6386827,41.9400828]},"n185981482":{"id":"n185981482","loc":[-85.6393664,41.9400854]},"n2138493844":{"id":"n2138493844","loc":[-85.6427969,41.940522]},"n2138493845":{"id":"n2138493845","loc":[-85.6425891,41.9405228]},"n2138493846":{"id":"n2138493846","loc":[-85.6425868,41.9402875]},"n2138493847":{"id":"n2138493847","loc":[-85.6427969,41.9402858]},"n2138493848":{"id":"n2138493848","loc":[-85.6425708,41.9405234]},"n2138493849":{"id":"n2138493849","loc":[-85.642568,41.9402855]},"n2138493850":{"id":"n2138493850","loc":[-85.6423157,41.9402886]},"n2138493851":{"id":"n2138493851","loc":[-85.6423212,41.9404362]},"n2138493852":{"id":"n2138493852","loc":[-85.6422923,41.9404578]},"n2138493853":{"id":"n2138493853","loc":[-85.6422868,41.9404834]},"n2138493854":{"id":"n2138493854","loc":[-85.6423226,41.9405091]},"n2138493855":{"id":"n2138493855","loc":[-85.6423847,41.9405111]},"n2138493856":{"id":"n2138493856","loc":[-85.6424081,41.9405265]},"n2140155811":{"id":"n2140155811","loc":[-85.6419547,41.9410956]},"n2140155814":{"id":"n2140155814","loc":[-85.6427577,41.9410884]},"n2140155816":{"id":"n2140155816","loc":[-85.6427545,41.9410052]},"n2140155818":{"id":"n2140155818","loc":[-85.6428057,41.9410028]},"n2140155821":{"id":"n2140155821","loc":[-85.6427993,41.9407339]},"n2140155823":{"id":"n2140155823","loc":[-85.6427385,41.9407339]},"n2140155825":{"id":"n2140155825","loc":[-85.6427417,41.9406435]},"n2140155827":{"id":"n2140155827","loc":[-85.6419515,41.9406482]},"n2140155828":{"id":"n2140155828","loc":[-85.6429368,41.9412407]},"n2140155829":{"id":"n2140155829","loc":[-85.6417756,41.9412526]},"n2140155830":{"id":"n2140155830","loc":[-85.641766,41.9405983]},"n2140155831":{"id":"n2140155831","loc":[-85.6419803,41.9405983]},"n2140155832":{"id":"n2140155832","loc":[-85.6419611,41.9401366]},"n2140155833":{"id":"n2140155833","loc":[-85.6429336,41.94012]},"n2140155834":{"id":"n2140155834","loc":[-85.6430697,41.9411732]},"n2140155835":{"id":"n2140155835","loc":[-85.6428411,41.9409974]},"n2140155837":{"id":"n2140155837","loc":[-85.6428388,41.9407211]},"n2140155839":{"id":"n2140155839","loc":[-85.6430624,41.9405521]},"n2140155840":{"id":"n2140155840","loc":[-85.6427323,41.9412396]},"n2140155842":{"id":"n2140155842","loc":[-85.6418147,41.9412457]},"n2140155844":{"id":"n2140155844","loc":[-85.641813,41.9411319]},"n2140155845":{"id":"n2140155845","loc":[-85.6418394,41.9411111]},"n2140155847":{"id":"n2140155847","loc":[-85.6418838,41.9410977]},"n2140155849":{"id":"n2140155849","loc":[-85.6427324,41.9410921]},"n2140155851":{"id":"n2140155851","loc":[-85.6427798,41.9412945]},"n2140155852":{"id":"n2140155852","loc":[-85.6427701,41.9411777]},"n2140155854":{"id":"n2140155854","loc":[-85.6427323,41.9411572]},"n2140155856":{"id":"n2140155856","loc":[-85.6418478,41.9411666]},"n2165942818":{"id":"n2165942818","loc":[-85.6437533,41.9415029]},"n2165942819":{"id":"n2165942819","loc":[-85.6437623,41.9421195]},"n2168510551":{"id":"n2168510551","loc":[-85.6423795,41.9422615]},"n2168510552":{"id":"n2168510552","loc":[-85.6423744,41.9419439]},"n2168510553":{"id":"n2168510553","loc":[-85.642518,41.9419427]},"n2168510554":{"id":"n2168510554","loc":[-85.6425186,41.9419801]},"n2168510555":{"id":"n2168510555","loc":[-85.6428314,41.9419773]},"n2168510556":{"id":"n2168510556","loc":[-85.6428368,41.9423116]},"n2168510557":{"id":"n2168510557","loc":[-85.6424947,41.9423146]},"n2168510558":{"id":"n2168510558","loc":[-85.6424938,41.9422605]},"n2189046007":{"id":"n2189046007","loc":[-85.6410866,41.9424327]},"n2189046009":{"id":"n2189046009","loc":[-85.6410805,41.9420061]},"n2189046011":{"id":"n2189046011","loc":[-85.6412443,41.9420048]},"n2189046012":{"id":"n2189046012","loc":[-85.6412505,41.9424314]},"n2189046014":{"id":"n2189046014","loc":[-85.6413311,41.942968]},"n2189046016":{"id":"n2189046016","loc":[-85.6413281,41.942713]},"n2189046018":{"id":"n2189046018","loc":[-85.641521,41.9427117]},"n2189046021":{"id":"n2189046021","loc":[-85.6415234,41.9429236]},"n2189046022":{"id":"n2189046022","loc":[-85.6415045,41.9429238]},"n2189046025":{"id":"n2189046025","loc":[-85.641505,41.9429668]},"n2189046053":{"id":"n2189046053","loc":[-85.6385988,41.942412]},"n2189046054":{"id":"n2189046054","loc":[-85.6385985,41.9423311]},"n2189046055":{"id":"n2189046055","loc":[-85.6387617,41.9423308]},"n2189046056":{"id":"n2189046056","loc":[-85.6387616,41.9423026]},"n2189046058":{"id":"n2189046058","loc":[-85.6388215,41.9423025]},"n2189046059":{"id":"n2189046059","loc":[-85.6388219,41.9424115]},"n2189046060":{"id":"n2189046060","loc":[-85.6391096,41.9424486]},"n2189046061":{"id":"n2189046061","loc":[-85.6391105,41.9423673]},"n2189046063":{"id":"n2189046063","loc":[-85.6392911,41.9423684]},"n2189046065":{"id":"n2189046065","loc":[-85.6392903,41.9424497]},"n2189046067":{"id":"n2189046067","loc":[-85.6397927,41.9423876]},"n2189046069":{"id":"n2189046069","loc":[-85.6397897,41.9422981]},"n2189046070":{"id":"n2189046070","loc":[-85.6399702,41.9422947]},"n2189046072":{"id":"n2189046072","loc":[-85.6399732,41.9423843]},"n2189046074":{"id":"n2189046074","loc":[-85.6396331,41.9430227]},"n2189046075":{"id":"n2189046075","loc":[-85.6398673,41.9430189]},"n2189046077":{"id":"n2189046077","loc":[-85.6398656,41.9429637]},"n2189046079":{"id":"n2189046079","loc":[-85.6398885,41.9429633]},"n2189046082":{"id":"n2189046082","loc":[-85.6398832,41.942779]},"n2189046083":{"id":"n2189046083","loc":[-85.6398513,41.9427796]},"n2189046085":{"id":"n2189046085","loc":[-85.6398502,41.9427401]},"n2189046087":{"id":"n2189046087","loc":[-85.6397889,41.9427411]},"n2189046089":{"id":"n2189046089","loc":[-85.6397892,41.942753]},"n2189046090":{"id":"n2189046090","loc":[-85.6396983,41.9427544]},"n2189046092":{"id":"n2189046092","loc":[-85.6396993,41.9427882]},"n2189046094":{"id":"n2189046094","loc":[-85.6396746,41.9427886]},"n2189046096":{"id":"n2189046096","loc":[-85.6396758,41.9428296]},"n2189046097":{"id":"n2189046097","loc":[-85.6397007,41.9428292]},"n2189046099":{"id":"n2189046099","loc":[-85.6397018,41.9428686]},"n2189046103":{"id":"n2189046103","loc":[-85.6396289,41.9428697]},"n2189046112":{"id":"n2189046112","loc":[-85.6435683,41.9429457]},"n2189046113":{"id":"n2189046113","loc":[-85.643568,41.9427766]},"n2189046115":{"id":"n2189046115","loc":[-85.6434011,41.9427767]},"n2189046116":{"id":"n2189046116","loc":[-85.6434012,41.9428631]},"n2189046117":{"id":"n2189046117","loc":[-85.643448,41.9428631]},"n2189046118":{"id":"n2189046118","loc":[-85.6434481,41.9429457]},"n2189046119":{"id":"n2189046119","loc":[-85.6428363,41.9429809]},"n2189046120":{"id":"n2189046120","loc":[-85.6429171,41.9429791]},"n2189046121":{"id":"n2189046121","loc":[-85.642914,41.9429041]},"n2189046122":{"id":"n2189046122","loc":[-85.6429385,41.9429035]},"n2189046123":{"id":"n2189046123","loc":[-85.6429348,41.9428126]},"n2189046124":{"id":"n2189046124","loc":[-85.6427746,41.9428163]},"n2189046125":{"id":"n2189046125","loc":[-85.6427783,41.942906]},"n2189046126":{"id":"n2189046126","loc":[-85.6428332,41.9429047]},"n2189046127":{"id":"n2189046127","loc":[-85.6423018,41.9428859]},"n2189046128":{"id":"n2189046128","loc":[-85.6422987,41.9427208]},"n2189046130":{"id":"n2189046130","loc":[-85.6424218,41.9427195]},"n2189046131":{"id":"n2189046131","loc":[-85.6424246,41.9428684]},"n2189046132":{"id":"n2189046132","loc":[-85.6423845,41.9428689]},"n2189046133":{"id":"n2189046133","loc":[-85.6423848,41.942885]},"n2189046134":{"id":"n2189046134","loc":[-85.641533,41.9429392]},"n2189046135":{"id":"n2189046135","loc":[-85.6416096,41.9428768]},"n2189046137":{"id":"n2189046137","loc":[-85.6416763,41.9429221]},"n2189046138":{"id":"n2189046138","loc":[-85.6415997,41.9429845]},"n2189046139":{"id":"n2189046139","loc":[-85.6420598,41.9428016]},"n2189046140":{"id":"n2189046140","loc":[-85.6420593,41.9427415]},"n2189046141":{"id":"n2189046141","loc":[-85.6421957,41.9427409]},"n2189046142":{"id":"n2189046142","loc":[-85.6421963,41.9428182]},"n2189046143":{"id":"n2189046143","loc":[-85.6421281,41.9428185]},"n2189046144":{"id":"n2189046144","loc":[-85.6421279,41.9428013]},"n2189046145":{"id":"n2189046145","loc":[-85.6409429,41.9429345]},"n2189046146":{"id":"n2189046146","loc":[-85.6410354,41.9429334]},"n2189046147":{"id":"n2189046147","loc":[-85.6410325,41.9427972]},"n2189046148":{"id":"n2189046148","loc":[-85.640997,41.9427976]},"n2189046149":{"id":"n2189046149","loc":[-85.6409963,41.9427643]},"n2189046150":{"id":"n2189046150","loc":[-85.6408605,41.9427659]},"n2189046152":{"id":"n2189046152","loc":[-85.6408623,41.9428482]},"n2189046153":{"id":"n2189046153","loc":[-85.640941,41.9428473]},"n2189152992":{"id":"n2189152992","loc":[-85.6437661,41.9422257]},"n2189152993":{"id":"n2189152993","loc":[-85.643768,41.9424067]},"n2189152994":{"id":"n2189152994","loc":[-85.6432176,41.9417705]},"n2189152995":{"id":"n2189152995","loc":[-85.6432097,41.941327]},"n2189152996":{"id":"n2189152996","loc":[-85.6436493,41.9413226]},"n2189152997":{"id":"n2189152997","loc":[-85.6436563,41.9417164]},"n2189152998":{"id":"n2189152998","loc":[-85.6435796,41.9417171]},"n2189152999":{"id":"n2189152999","loc":[-85.6435805,41.9417669]},"n2189153000":{"id":"n2189153000","loc":[-85.6438202,41.9414953]},"n2189153001":{"id":"n2189153001","loc":[-85.6438173,41.9413175]},"n2189153004":{"id":"n2189153004","loc":[-85.6432535,41.9418466]},"n2189153005":{"id":"n2189153005","loc":[-85.6433935,41.9418599]},"n2189153006":{"id":"n2189153006","loc":[-85.6434831,41.9418986]},"n2189153007":{"id":"n2189153007","loc":[-85.6435678,41.9419774]},"n2189153008":{"id":"n2189153008","loc":[-85.6435987,41.9420282]},"n2189153009":{"id":"n2189153009","loc":[-85.643438,41.9419573]},"n2189153010":{"id":"n2189153010","loc":[-85.6435284,41.9424676]},"n2189153011":{"id":"n2189153011","loc":[-85.6436207,41.9423631]},"n2189153012":{"id":"n2189153012","loc":[-85.6434957,41.9422973]},"n2189153013":{"id":"n2189153013","loc":[-85.6434457,41.9422458]},"n2189153014":{"id":"n2189153014","loc":[-85.6433976,41.9421772]},"n2189153015":{"id":"n2189153015","loc":[-85.6433861,41.9420785]},"n2189153016":{"id":"n2189153016","loc":[-85.6433765,41.9420313]},"n2189153017":{"id":"n2189153017","loc":[-85.6432207,41.9420284]},"n2189153018":{"id":"n2189153018","loc":[-85.6432245,41.9422759]},"n2189153019":{"id":"n2189153019","loc":[-85.6432649,41.9423474]},"n2189153020":{"id":"n2189153020","loc":[-85.6433226,41.9424132]},"n2189153021":{"id":"n2189153021","loc":[-85.6434111,41.9424704]},"n2189153022":{"id":"n2189153022","loc":[-85.6434591,41.9424347]},"n2189153025":{"id":"n2189153025","loc":[-85.6437669,41.9423073]},"n2189153026":{"id":"n2189153026","loc":[-85.6436611,41.942293]},"n2189153027":{"id":"n2189153027","loc":[-85.6435784,41.9422473]},"n2189153028":{"id":"n2189153028","loc":[-85.6435245,41.9421443]},"n2189153029":{"id":"n2189153029","loc":[-85.6435149,41.9420613]},"n2189153030":{"id":"n2189153030","loc":[-85.6433528,41.9419269]},"n2189153031":{"id":"n2189153031","loc":[-85.6432535,41.9419191]},"n2189153032":{"id":"n2189153032","loc":[-85.6430868,41.9419198]},"n2189153033":{"id":"n2189153033","loc":[-85.6434894,41.9420033]},"n2189153034":{"id":"n2189153034","loc":[-85.6432974,41.9419225]},"n2189153035":{"id":"n2189153035","loc":[-85.6433055,41.9421632]},"n2189153036":{"id":"n2189153036","loc":[-85.6433538,41.9422849]},"n2189153037":{"id":"n2189153037","loc":[-85.6434718,41.9423887]},"n2189153038":{"id":"n2189153038","loc":[-85.6436134,41.9422667]},"n2189153040":{"id":"n2189153040","loc":[-85.6438759,41.9414017]},"n2189153041":{"id":"n2189153041","loc":[-85.6438181,41.9413687]},"n2189153042":{"id":"n2189153042","loc":[-85.6436821,41.9413044]},"n2189153043":{"id":"n2189153043","loc":[-85.6435899,41.9412862]},"n2189153044":{"id":"n2189153044","loc":[-85.6433169,41.9417268]},"n2189153045":{"id":"n2189153045","loc":[-85.643301,41.9412859]},"n2189153046":{"id":"n2189153046","loc":[-85.6435531,41.9416981]},"n2189153047":{"id":"n2189153047","loc":[-85.6435427,41.9412863]},"n185948706":{"id":"n185948706","loc":[-85.6369439,41.940122]},"n185949348":{"id":"n185949348","loc":[-85.640039,41.931135]},"n185949870":{"id":"n185949870","loc":[-85.643195,41.949261]},"n185954680":{"id":"n185954680","loc":[-85.6337802,41.9401143]},"n185954784":{"id":"n185954784","loc":[-85.6487485,41.942527]},"n185958670":{"id":"n185958670","loc":[-85.637255,41.940104]},"n185958672":{"id":"n185958672","loc":[-85.636996,41.941355]},"n185960207":{"id":"n185960207","loc":[-85.634992,41.940118]},"n185963163":{"id":"n185963163","loc":[-85.638831,41.93398]},"n185963165":{"id":"n185963165","loc":[-85.640073,41.933968]},"n185963167":{"id":"n185963167","loc":[-85.641225,41.933972]},"n185963168":{"id":"n185963168","loc":[-85.642386,41.933952]},"n185964695":{"id":"n185964695","loc":[-85.6443608,41.9425645]},"n185964697":{"id":"n185964697","loc":[-85.644384,41.939941]},"n185964963":{"id":"n185964963","loc":[-85.6382347,41.9426146]},"n185964965":{"id":"n185964965","loc":[-85.637022,41.942622]},"n185964967":{"id":"n185964967","loc":[-85.6363706,41.9426606]},"n185964968":{"id":"n185964968","loc":[-85.6357988,41.9427748]},"n185964969":{"id":"n185964969","loc":[-85.6355409,41.9428465]},"n185964970":{"id":"n185964970","loc":[-85.6348729,41.9430443]},"n185966958":{"id":"n185966958","loc":[-85.641946,41.946413]},"n185966960":{"id":"n185966960","loc":[-85.643148,41.946389]},"n185967774":{"id":"n185967774","loc":[-85.641889,41.943852]},"n185967775":{"id":"n185967775","loc":[-85.641922,41.945121]},"n185967776":{"id":"n185967776","loc":[-85.641927,41.947544]},"n185967777":{"id":"n185967777","loc":[-85.641982,41.947622]},"n185969289":{"id":"n185969289","loc":[-85.63928,41.929221]},"n185969704":{"id":"n185969704","loc":[-85.6388186,41.9350099]},"n185969706":{"id":"n185969706","loc":[-85.6400709,41.9349957]},"n185969708":{"id":"n185969708","loc":[-85.6412214,41.9349827]},"n185969710":{"id":"n185969710","loc":[-85.6423509,41.934974]},"n185970602":{"id":"n185970602","loc":[-85.641293,41.931817]},"n185970604":{"id":"n185970604","loc":[-85.641258,41.932705]},"n185970605":{"id":"n185970605","loc":[-85.641148,41.936984]},"n185970606":{"id":"n185970606","loc":[-85.641112,41.938169]},"n185970906":{"id":"n185970906","loc":[-85.639454,41.943871]},"n185970908":{"id":"n185970908","loc":[-85.6394635,41.9450504]},"n185970909":{"id":"n185970909","loc":[-85.6394914,41.9451911]},"n185971368":{"id":"n185971368","loc":[-85.635769,41.940122]},"n185971978":{"id":"n185971978","loc":[-85.640003,41.936988]},"n185971980":{"id":"n185971980","loc":[-85.642299,41.936988]},"n185973633":{"id":"n185973633","loc":[-85.639023,41.92861]},"n185973635":{"id":"n185973635","loc":[-85.639153,41.928969]},"n185973637":{"id":"n185973637","loc":[-85.639213,41.929088]},"n185973639":{"id":"n185973639","loc":[-85.63935,41.929396]},"n185973641":{"id":"n185973641","loc":[-85.640143,41.931462]},"n185973644":{"id":"n185973644","loc":[-85.64019,41.931788]},"n185973646":{"id":"n185973646","loc":[-85.6401365,41.9327199]},"n185973648":{"id":"n185973648","loc":[-85.639983,41.938174]},"n185974477":{"id":"n185974477","loc":[-85.638206,41.941331]},"n185975928":{"id":"n185975928","loc":[-85.640683,41.94513]},"n185975930":{"id":"n185975930","loc":[-85.643102,41.945103]},"n185976255":{"id":"n185976255","loc":[-85.642424,41.931817]},"n185976257":{"id":"n185976257","loc":[-85.64242,41.932699]},"n185976258":{"id":"n185976258","loc":[-85.6422621,41.9381489]},"n185977452":{"id":"n185977452","loc":[-85.6457497,41.9398834]},"n185978772":{"id":"n185978772","loc":[-85.646656,41.939869]},"n185981472":{"id":"n185981472","loc":[-85.6388962,41.9321266]},"n185981474":{"id":"n185981474","loc":[-85.6388769,41.9327334]},"n185981476":{"id":"n185981476","loc":[-85.638829,41.934116]},"n185981478":{"id":"n185981478","loc":[-85.63876,41.937002]},"n185981480":{"id":"n185981480","loc":[-85.638682,41.93819]},"n185981999":{"id":"n185981999","loc":[-85.638194,41.9400866]},"n185982001":{"id":"n185982001","loc":[-85.646302,41.93988]},"n185982877":{"id":"n185982877","loc":[-85.640676,41.943867]},"n185982879":{"id":"n185982879","loc":[-85.640734,41.945887]},"n185985823":{"id":"n185985823","loc":[-85.643106,41.943841]},"n185985824":{"id":"n185985824","loc":[-85.643145,41.947641]},"n185985825":{"id":"n185985825","loc":[-85.643219,41.950829]},"n1475301385":{"id":"n1475301385","loc":[-85.6360612,41.9427042]},"n1475301397":{"id":"n1475301397","loc":[-85.6366651,41.9426328]},"n2139795811":{"id":"n2139795811","loc":[-85.6469154,41.9425427]},"n2139795830":{"id":"n2139795830","loc":[-85.6443194,41.9399444]},"n2139795834":{"id":"n2139795834","loc":[-85.6453506,41.9399002]},"n2139795837":{"id":"n2139795837","loc":[-85.645806,41.9398831]},"n2139858932":{"id":"n2139858932","loc":[-85.6351721,41.9429557]},"n2140019000":{"id":"n2140019000","loc":[-85.6359935,41.9427224]},"n2165942817":{"id":"n2165942817","loc":[-85.6442017,41.9414993]},"n2165942820":{"id":"n2165942820","loc":[-85.6442107,41.9421159]},"n2189152990":{"id":"n2189152990","loc":[-85.6442328,41.942404]},"n2189152991":{"id":"n2189152991","loc":[-85.6442309,41.9422229]},"n2189153002":{"id":"n2189153002","loc":[-85.6441329,41.9413147]},"n2189153003":{"id":"n2189153003","loc":[-85.6441357,41.9414925]},"n2189153023":{"id":"n2189153023","loc":[-85.6443453,41.9423074]},"n2189153024":{"id":"n2189153024","loc":[-85.6442318,41.9423045]},"n2189153039":{"id":"n2189153039","loc":[-85.6441343,41.9414025]},"w208643102":{"id":"w208643102","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153034","n2189153035","n2189153036","n2189153037","n2189153038"]},"w17966942":{"id":"w17966942","tags":{"highway":"residential","name":"Millard St"},"nodes":["n185954680","n185960207","n185971368","n185948706","n185958670","n185981999","n185981481","n185981482","n185973650","n185973659","n185970607","n185976259","n185976261","n2139795830","n185964697","n2139795834","n185977452","n2139795837","n185982001","n185978772"]},"w208643105":{"id":"w208643105","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153046","n2189153047"]},"w208631637":{"id":"w208631637","tags":{"area":"yes","building":"yes"},"nodes":["n2189046014","n2189046016","n2189046018","n2189046021","n2189046022","n2189046025","n2189046014"]},"w208643096":{"id":"w208643096","tags":{"amenity":"parking","area":"yes","fee":"no"},"nodes":["n2189152990","n2189153024","n2189152991","n2189152992","n2189153025","n2189152993","n2189152990"]},"w208631656":{"id":"w208631656","tags":{"area":"yes","building":"yes"},"nodes":["n2189046134","n2189046135","n2189046137","n2189046138","n2189046134"]},"w204003417":{"id":"w204003417","tags":{"area":"yes","building":"school"},"nodes":["n2140155811","n2140155814","n2140155816","n2140155818","n2140155821","n2140155823","n2140155825","n2140155827","n2140155811"]},"w208631654":{"id":"w208631654","tags":{"area":"yes","building":"yes"},"nodes":["n2189046127","n2189046128","n2189046130","n2189046131","n2189046132","n2189046133","n2189046127"]},"w17966327":{"id":"w17966327","tags":{"highway":"residential","name":"S Douglas Ave"},"nodes":["n185976261","n2140155839","n2140155834","n185974481","n2189153032","n185964959"]},"w41785752":{"id":"w41785752","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","access":"yes"},"nodes":["n185954784","n2139795811","n185964695","n185964959","n185964960","n185964961","n185964962","n185964963","n185964965","n1475301397","n185964967","n1475301385","n2140019000","n185964968","n185964969","n2139858932","n185964970"]},"w203841842":{"id":"w203841842","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493848","n2138493849","n2138493850","n2138493851","n2138493852","n2138493853","n2138493854","n2138493855","n2138493856","n2138493848"]},"w208643103":{"id":"w208643103","tags":{"highway":"service"},"nodes":["n2189153039","n2189153040","n2189153041","n2189153042","n2189153043","n2189153047","n2189153045","n185974481"]},"w208643098":{"id":"w208643098","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153000","n2189153041","n2189153001","n2189153002","n2189153039","n2189153003","n2189153000"]},"w208631646":{"id":"w208631646","tags":{"area":"yes","building":"yes"},"nodes":["n2189046067","n2189046069","n2189046070","n2189046072","n2189046067"]},"w208631653":{"id":"w208631653","tags":{"area":"yes","building":"yes"},"nodes":["n2189046119","n2189046120","n2189046121","n2189046122","n2189046123","n2189046124","n2189046125","n2189046126","n2189046119"]},"w17966041":{"id":"w17966041","tags":{"highway":"residential","name":"S Lincoln Ave"},"nodes":["n185973659","n185973660","n185964961"]},"w208631645":{"id":"w208631645","tags":{"area":"yes","building":"yes"},"nodes":["n2189046060","n2189046061","n2189046063","n2189046065","n2189046060"]},"w206803397":{"id":"w206803397","tags":{"area":"yes","building":"yes"},"nodes":["n2168510551","n2168510552","n2168510553","n2168510554","n2168510555","n2168510556","n2168510557","n2168510558","n2168510551"]},"w17965792":{"id":"w17965792","tags":{"highway":"residential","name":"N Hooker Ave"},"nodes":["n185964962","n185970906","n185970908","n185970909"]},"w208631651":{"id":"w208631651","tags":{"area":"yes","building":"yes"},"nodes":["n2189046112","n2189046113","n2189046115","n2189046116","n2189046117","n2189046118","n2189046112"]},"w208631643":{"id":"w208631643","tags":{"area":"yes","building":"yes"},"nodes":["n2189046053","n2189046054","n2189046055","n2189046056","n2189046058","n2189046059","n2189046053"]},"w17966878":{"id":"w17966878","tags":{"highway":"residential","name":"S Hooker Ave"},"nodes":["n185981472","n185981474","n185963163","n185981476","n185969704","n185981478","n185981480","n185981481"]},"w17966102":{"id":"w17966102","tags":{"highway":"residential","name":"South St"},"nodes":["n185958672","n185974477","n185974479","n185973660","n185970614"]},"w208631660":{"id":"w208631660","tags":{"area":"yes","building":"yes"},"nodes":["n2189046145","n2189046146","n2189046147","n2189046148","n2189046149","n2189046150","n2189046152","n2189046153","n2189046145"]},"w208643101":{"id":"w208643101","tags":{"highway":"service"},"nodes":["n2189153023","n2189153024","n2189153025","n2189153026","n2189153038","n2189153027","n2189153028","n2189153029","n2189153033","n2189153009","n2189153030","n2189153034","n2189153031","n2189153032"]},"w204000205":{"id":"w204000205","tags":{"highway":"residential","name":"South St","oneway":"yes"},"nodes":["n185974481","n2140155851","n185970614"]},"w203841841":{"id":"w203841841","tags":{"area":"yes","leisure":"pitch","pitch":"basketball"},"nodes":["n2138493844","n2138493845","n2138493846","n2138493847","n2138493844"]},"w17965444":{"id":"w17965444","tags":{"highway":"residential","name":"N Grant Ave"},"nodes":["n185964960","n185967774","n185967775","n185966958","n185967776","n185967777"]},"w208631648":{"id":"w208631648","tags":{"area":"yes","building":"yes"},"nodes":["n2189046074","n2189046075","n2189046077","n2189046079","n2189046082","n2189046083","n2189046085","n2189046087","n2189046089","n2189046090","n2189046092","n2189046094","n2189046096","n2189046097","n2189046099","n2189046103","n2189046074"]},"w208643100":{"id":"w208643100","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153010","n2189153011","n2189153012","n2189153013","n2189153014","n2189153015","n2189153016","n2189153017","n2189153018","n2189153019","n2189153020","n2189153021","n2189153022","n2189153010"]},"w17965749":{"id":"w17965749","tags":{"highway":"residential","name":"S Grant Ave"},"nodes":["n185970614","n185970616","n185964960"]},"w206574482":{"id":"w206574482","tags":{"amenity":"library","area":"yes","building":"yes","name":"Three Rivers Public Library"},"nodes":["n2165942817","n2165942818","n2165942819","n2165942820","n2165942817"]},"w208643097":{"id":"w208643097","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189152994","n2189152995","n2189152996","n2189152997","n2189152998","n2189152999","n2189152994"]},"w17966879":{"id":"w17966879","tags":{"highway":"residential","name":"S Hooker Ave"},"nodes":["n185981482","n185974479","n185964962"]},"w17966325":{"id":"w17966325","tags":{"highway":"residential","name":"S Douglas Ave"},"nodes":["n185976255","n185976257","n185963168","n185969710","n185971980","n185976258","n185954700","n185976259"]},"w17967390":{"id":"w17967390","tags":{"highway":"residential","name":"N Douglas Ave"},"nodes":["n185964959","n185985823","n185975930","n185966960","n185985824","n185949870","n185985825"]},"w208631635":{"id":"w208631635","tags":{"area":"yes","building":"yes"},"nodes":["n2189046007","n2189046009","n2189046011","n2189046012","n2189046007"]},"w208643099":{"id":"w208643099","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153031","n2189153004","n2189153005","n2189153006","n2189153007","n2189153008","n2189153029","n2189153033","n2189153009","n2189153030","n2189153031"]},"w208631658":{"id":"w208631658","tags":{"area":"yes","building":"yes"},"nodes":["n2189046139","n2189046140","n2189046141","n2189046142","n2189046143","n2189046144","n2189046139"]},"w208643104":{"id":"w208643104","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153044","n2189153045"]},"w17966039":{"id":"w17966039","tags":{"highway":"residential","name":"S Lincoln Ave"},"nodes":["n185973633","n185973635","n185973637","n185969289","n185973639","n185949348","n185973641","n185973644","n185973646","n185963165","n185969706","n185971978","n185973648","n185973650"]},"w204003420":{"id":"w204003420","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140155840","n2140155842","n2140155844","n2140155845","n2140155847","n2140155849","n2140155854","n2140155840"]},"w204003419":{"id":"w204003419","tags":{"highway":"service"},"nodes":["n2140155834","n2140155835","n2140155837","n2140155839"]},"w204003418":{"id":"w204003418","tags":{"amenity":"school","area":"yes","name":"Andrews Elementary School"},"nodes":["n2140155828","n2140155829","n2140155830","n2140155831","n2140155832","n2140155833","n2140155828"]},"w17965747":{"id":"w17965747","tags":{"highway":"residential","name":"S Grant Ave"},"nodes":["n185970602","n185970604","n185963167","n185969708","n185970605","n185970606","n185970607"]},"w17967073":{"id":"w17967073","tags":{"highway":"residential","name":"N Lincoln Ave"},"nodes":["n185964961","n185982877","n185975928","n185982879"]},"w204003421":{"id":"w204003421","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2140155851","n2140155852","n2140155854","n2140155856"]},"r1943857":{"id":"r1943857","tags":{"modifier":"Business","name":"US 131 Business (Three Rivers, MI)","network":"US:US","ref":"131","route":"road","type":"route"},"members":[{"id":"w17966509","type":"way","role":"forward"},{"id":"w143497377","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w41785752","type":"way","role":""},{"id":"w17965146","type":"way","role":"forward"},{"id":"w17964031","type":"way","role":"forward"}]},"r270277":{"id":"r270277","tags":{"network":"US:MI","ref":"60","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-60_%28Michigan_highway%29"},"members":[{"id":"w17751087","type":"way","role":"east"},{"id":"w117148312","type":"way","role":"east"},{"id":"w40942155","type":"way","role":"west"},{"id":"w17751017","type":"way","role":""},{"id":"w17751083","type":"way","role":""},{"id":"w17747780","type":"way","role":""},{"id":"w41068082","type":"way","role":""},{"id":"w197025212","type":"way","role":""},{"id":"w17743874","type":"way","role":""},{"id":"w17751044","type":"way","role":""},{"id":"w17752167","type":"way","role":""},{"id":"w17751089","type":"way","role":""},{"id":"w17743879","type":"way","role":""},{"id":"w17751064","type":"way","role":""},{"id":"w197057073","type":"way","role":""},{"id":"w167699963","type":"way","role":""},{"id":"w167699972","type":"way","role":""},{"id":"w17967584","type":"way","role":""},{"id":"w167699964","type":"way","role":""},{"id":"w17967582","type":"way","role":"west"},{"id":"w41260270","type":"way","role":"west"},{"id":"w17965146","type":"way","role":"west"},{"id":"w41785752","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150836","type":"way","role":""},{"id":"w134150802","type":"way","role":""},{"id":"w41074896","type":"way","role":""},{"id":"w17966773","type":"way","role":""},{"id":"w17967415","type":"way","role":""},{"id":"w41074899","type":"way","role":""},{"id":"w17967581","type":"way","role":""},{"id":"w41074902","type":"way","role":""},{"id":"w41074906","type":"way","role":""},{"id":"w209707997","type":"way","role":""},{"id":"w209707998","type":"way","role":""},{"id":"w17964798","type":"way","role":""},{"id":"w17966034","type":"way","role":""},{"id":"w17967593","type":"way","role":""},{"id":"w41074888","type":"way","role":""},{"id":"w17733772","type":"way","role":""},{"id":"w41074813","type":"way","role":""},{"id":"w17742213","type":"way","role":""},{"id":"w17746863","type":"way","role":""},{"id":"w17745772","type":"way","role":""},{"id":"w17742222","type":"way","role":""},{"id":"w17745922","type":"way","role":""},{"id":"w17742198","type":"way","role":""},{"id":"w17747675","type":"way","role":""},{"id":"w17739927","type":"way","role":""},{"id":"w17745708","type":"way","role":""},{"id":"w41006323","type":"way","role":""},{"id":"w17744233","type":"way","role":""},{"id":"w17739436","type":"way","role":""},{"id":"w17742201","type":"way","role":""},{"id":"w151418616","type":"way","role":""},{"id":"w17750062","type":"way","role":""},{"id":"w17742227","type":"way","role":"east"},{"id":"w41006348","type":"way","role":"east"},{"id":"w41260984","type":"way","role":""},{"id":"w17832427","type":"way","role":""},{"id":"w17838408","type":"way","role":""},{"id":"w17835846","type":"way","role":""},{"id":"w17832923","type":"way","role":""},{"id":"w17839388","type":"way","role":""},{"id":"w17838390","type":"way","role":""},{"id":"w17831272","type":"way","role":""},{"id":"w17828581","type":"way","role":""},{"id":"w38240686","type":"way","role":""},{"id":"w17838405","type":"way","role":"east"},{"id":"w123323711","type":"way","role":"east"},{"id":"w17830167","type":"way","role":"east"},{"id":"w99011909","type":"way","role":"east"},{"id":"w41911361","type":"way","role":"east"},{"id":"w41911355","type":"way","role":"east"},{"id":"w41911356","type":"way","role":"east"},{"id":"w117148326","type":"way","role":"west"},{"id":"w41911352","type":"way","role":"west"},{"id":"w41911353","type":"way","role":"west"},{"id":"w41911354","type":"way","role":"west"},{"id":"w41911360","type":"way","role":"west"},{"id":"w38240676","type":"way","role":"west"},{"id":"w123323710","type":"way","role":"west"},{"id":"w41260271","type":"way","role":"east"},{"id":"w41260273","type":"way","role":"east"},{"id":"w17964031","type":"way","role":"east"},{"id":"w41006344","type":"way","role":"west"},{"id":"w41006351","type":"way","role":"west"}]},"n367813436":{"id":"n367813436","loc":[-85.63605205663384,41.94305506683346],"tags":{"amenity":"fire_station","name":"Three Rivers Fire Department"}},"n185948708":{"id":"n185948708","loc":[-85.6369828,41.9408789]},"n185948710":{"id":"n185948710","loc":[-85.6370184,41.9411346]},"n185954691":{"id":"n185954691","loc":[-85.634476,41.941475]},"n185954692":{"id":"n185954692","loc":[-85.635008,41.941846]},"n185954693":{"id":"n185954693","loc":[-85.635362,41.941962]},"n185954695":{"id":"n185954695","loc":[-85.63578,41.941978]},"n185972903":{"id":"n185972903","loc":[-85.63295,41.9430062]},"n185964971":{"id":"n185964971","loc":[-85.6346811,41.9431023]},"n1819805854":{"id":"n1819805854","loc":[-85.6331275,41.9404837]},"n1819805918":{"id":"n1819805918","loc":[-85.6331168,41.942798]},"n1819805762":{"id":"n1819805762","loc":[-85.6333034,41.9424123]},"n1819805907":{"id":"n1819805907","loc":[-85.6334819,41.9419121]},"n1819805915":{"id":"n1819805915","loc":[-85.6334554,41.9413588]},"n1819848888":{"id":"n1819848888","loc":[-85.6331625,41.942679]},"n1819848930":{"id":"n1819848930","loc":[-85.6338684,41.9431252]},"n1819858505":{"id":"n1819858505","loc":[-85.6346782,41.9429092]},"n1819858507":{"id":"n1819858507","loc":[-85.6339003,41.9414534]},"n1819858508":{"id":"n1819858508","loc":[-85.6345709,41.9427742]},"n1819858509":{"id":"n1819858509","loc":[-85.63419,41.9417322]},"n1819858511":{"id":"n1819858511","loc":[-85.6340666,41.9415652]},"n1819858512":{"id":"n1819858512","loc":[-85.6343295,41.9423027]},"n1819858514":{"id":"n1819858514","loc":[-85.6343241,41.942207]},"n1819858521":{"id":"n1819858521","loc":[-85.633391,41.941231]},"n1819858528":{"id":"n1819858528","loc":[-85.6343027,41.9419716]},"n185954683":{"id":"n185954683","loc":[-85.6335412,41.940147]},"n185954685":{"id":"n185954685","loc":[-85.6334296,41.9403023]},"n185954687":{"id":"n185954687","loc":[-85.6333988,41.9404704]},"n185954689":{"id":"n185954689","loc":[-85.6335511,41.9410225]},"n185954690":{"id":"n185954690","loc":[-85.6336721,41.9411669]},"n1820938802":{"id":"n1820938802","loc":[-85.6330671,41.941845]},"n1821006702":{"id":"n1821006702","loc":[-85.6344047,41.9395496]},"n2130304133":{"id":"n2130304133","loc":[-85.6349025,41.9427659]},"n2130304136":{"id":"n2130304136","loc":[-85.6346027,41.9422017]},"n2130304138":{"id":"n2130304138","loc":[-85.6348577,41.9421517]},"n2130304140":{"id":"n2130304140","loc":[-85.6348419,41.9422694]},"n2130304142":{"id":"n2130304142","loc":[-85.6349071,41.9423135]},"n2130304144":{"id":"n2130304144","loc":[-85.6350495,41.9423312]},"n2130304146":{"id":"n2130304146","loc":[-85.6351009,41.9422812]},"n2130304147":{"id":"n2130304147","loc":[-85.6351227,41.9421532]},"n2130304148":{"id":"n2130304148","loc":[-85.635526,41.9421547]},"n2130304149":{"id":"n2130304149","loc":[-85.6355339,41.9425768]},"n2130304150":{"id":"n2130304150","loc":[-85.6351582,41.9426562]},"n2130304151":{"id":"n2130304151","loc":[-85.6351207,41.9427032]},"n2138493807":{"id":"n2138493807","loc":[-85.6350923,41.9415216]},"n2138493808":{"id":"n2138493808","loc":[-85.6353603,41.9411061]},"n2138493809":{"id":"n2138493809","loc":[-85.6354421,41.9410942]},"n2138493810":{"id":"n2138493810","loc":[-85.6355079,41.9411044]},"n2138493811":{"id":"n2138493811","loc":[-85.6355693,41.9411246]},"n2138493812":{"id":"n2138493812","loc":[-85.6355829,41.9411061]},"n2138493813":{"id":"n2138493813","loc":[-85.6355624,41.9409777]},"n2138493814":{"id":"n2138493814","loc":[-85.6355011,41.9409152]},"n2138493815":{"id":"n2138493815","loc":[-85.635383,41.9409219]},"n2138493816":{"id":"n2138493816","loc":[-85.635299,41.9409658]},"n2138493817":{"id":"n2138493817","loc":[-85.6351695,41.941204]},"n2138493818":{"id":"n2138493818","loc":[-85.6348879,41.9415166]},"n2138493819":{"id":"n2138493819","loc":[-85.634897,41.9415757]},"n2138493820":{"id":"n2138493820","loc":[-85.6349606,41.9416399]},"n2138493821":{"id":"n2138493821","loc":[-85.6350219,41.9416669]},"n2138493822":{"id":"n2138493822","loc":[-85.6351241,41.9416314]},"n2138493823":{"id":"n2138493823","loc":[-85.6350855,41.9415622]},"n2138493824":{"id":"n2138493824","loc":[-85.6350401,41.9413603]},"n2138493825":{"id":"n2138493825","loc":[-85.6352206,41.9410765]},"n2138493826":{"id":"n2138493826","loc":[-85.6343865,41.9415594]},"n2138493827":{"id":"n2138493827","loc":[-85.6343506,41.9415873]},"n2138493828":{"id":"n2138493828","loc":[-85.6344158,41.9417557]},"n2138493829":{"id":"n2138493829","loc":[-85.6344614,41.9417968]},"n2138493830":{"id":"n2138493830","loc":[-85.6345005,41.9418186]},"n2138493831":{"id":"n2138493831","loc":[-85.6345965,41.9418162]},"n2138493832":{"id":"n2138493832","loc":[-85.6347317,41.9417242]},"n2138493833":{"id":"n2138493833","loc":[-85.6346722,41.941775]},"n2139858909":{"id":"n2139858909","loc":[-85.633403,41.9391006]},"n2139858910":{"id":"n2139858910","loc":[-85.6332973,41.9393967]},"n2139858911":{"id":"n2139858911","loc":[-85.633205,41.9396742]},"n2139858912":{"id":"n2139858912","loc":[-85.6332203,41.9397772]},"n2139858913":{"id":"n2139858913","loc":[-85.6333453,41.939936]},"n2139858914":{"id":"n2139858914","loc":[-85.6333761,41.9400018]},"n2139858915":{"id":"n2139858915","loc":[-85.63328,41.9402249]},"n2139858916":{"id":"n2139858916","loc":[-85.6332357,41.9403523]},"n2139858917":{"id":"n2139858917","loc":[-85.6332838,41.9405831]},"n2139858918":{"id":"n2139858918","loc":[-85.6333643,41.9408744]},"n2139858919":{"id":"n2139858919","loc":[-85.6334394,41.9410519]},"n2139858920":{"id":"n2139858920","loc":[-85.6335815,41.9411717]},"n2139858921":{"id":"n2139858921","loc":[-85.6337478,41.9412734]},"n2139858922":{"id":"n2139858922","loc":[-85.6343174,41.9415268]},"n2139858923":{"id":"n2139858923","loc":[-85.6343886,41.9417397]},"n2139858924":{"id":"n2139858924","loc":[-85.6344407,41.9418015]},"n2139858925":{"id":"n2139858925","loc":[-85.6345139,41.9418366]},"n2139858926":{"id":"n2139858926","loc":[-85.6344846,41.942005]},"n2139858927":{"id":"n2139858927","loc":[-85.6345775,41.9422218]},"n2139858928":{"id":"n2139858928","loc":[-85.6348771,41.9427814]},"n2139858929":{"id":"n2139858929","loc":[-85.6349487,41.9427995]},"n2139858930":{"id":"n2139858930","loc":[-85.6350415,41.9427874]},"n2139858931":{"id":"n2139858931","loc":[-85.6351246,41.9428589]},"n2139858978":{"id":"n2139858978","loc":[-85.6349658,41.9431481]},"n2139858979":{"id":"n2139858979","loc":[-85.6350081,41.9431287]},"n2139858980":{"id":"n2139858980","loc":[-85.6349967,41.9430997]},"n2139858981":{"id":"n2139858981","loc":[-85.6352158,41.9430352]},"n2139858982":{"id":"n2139858982","loc":[-85.6348174,41.94267]},"n2139858983":{"id":"n2139858983","loc":[-85.6346142,41.9425989]},"n2139858984":{"id":"n2139858984","loc":[-85.6344938,41.9423809]},"n2139858985":{"id":"n2139858985","loc":[-85.6344856,41.9422997]},"n2139870380":{"id":"n2139870380","loc":[-85.6346707,41.9417955]},"n2139870381":{"id":"n2139870381","loc":[-85.6345949,41.9418311]},"n2139870382":{"id":"n2139870382","loc":[-85.6343322,41.9418659]},"n2139870383":{"id":"n2139870383","loc":[-85.6342072,41.941885]},"n2139870384":{"id":"n2139870384","loc":[-85.6341325,41.9418919]},"n2139870385":{"id":"n2139870385","loc":[-85.6341314,41.9422028]},"n2139870386":{"id":"n2139870386","loc":[-85.6340472,41.9423271]},"n2139870387":{"id":"n2139870387","loc":[-85.6342185,41.9427933]},"n2139870388":{"id":"n2139870388","loc":[-85.6340605,41.9423924]},"n2139870389":{"id":"n2139870389","loc":[-85.6339889,41.9424069]},"n2139870390":{"id":"n2139870390","loc":[-85.633971,41.942356]},"n2139870391":{"id":"n2139870391","loc":[-85.63361,41.9424235]},"n2139870392":{"id":"n2139870392","loc":[-85.6337137,41.9426819]},"n2139870393":{"id":"n2139870393","loc":[-85.6336977,41.9428632]},"n2139870394":{"id":"n2139870394","loc":[-85.6338823,41.9428647]},"n2139870395":{"id":"n2139870395","loc":[-85.6339412,41.9430069]},"n2139870396":{"id":"n2139870396","loc":[-85.6338873,41.9430353]},"n2139870397":{"id":"n2139870397","loc":[-85.6337676,41.942815]},"n2139870398":{"id":"n2139870398","loc":[-85.6336822,41.9423505]},"n2139870399":{"id":"n2139870399","loc":[-85.634037,41.9422725]},"n2139870400":{"id":"n2139870400","loc":[-85.6340294,41.9422518]},"n2139870401":{"id":"n2139870401","loc":[-85.6336726,41.9423312]},"n2139870402":{"id":"n2139870402","loc":[-85.6342188,41.9425715]},"n2139870403":{"id":"n2139870403","loc":[-85.6342524,41.942565]},"n2139870404":{"id":"n2139870404","loc":[-85.6341438,41.942299]},"n2139870405":{"id":"n2139870405","loc":[-85.6341149,41.9423061]},"n2139870407":{"id":"n2139870407","loc":[-85.6340846,41.9431458]},"n2139870408":{"id":"n2139870408","loc":[-85.6339436,41.9429032]},"n2139870409":{"id":"n2139870409","loc":[-85.6343143,41.9428207]},"n2139870410":{"id":"n2139870410","loc":[-85.6343507,41.94277]},"n2139870411":{"id":"n2139870411","loc":[-85.6341527,41.942254]},"n2139870412":{"id":"n2139870412","loc":[-85.6340925,41.9422199]},"n2139870413":{"id":"n2139870413","loc":[-85.6335435,41.9423433]},"n2139870414":{"id":"n2139870414","loc":[-85.6335023,41.9423975]},"n2139870415":{"id":"n2139870415","loc":[-85.6335086,41.9424552]},"n2139870416":{"id":"n2139870416","loc":[-85.6336296,41.942665]},"n2139870417":{"id":"n2139870417","loc":[-85.6341396,41.9428596]},"n2139870418":{"id":"n2139870418","loc":[-85.6339701,41.9424487]},"n2139870419":{"id":"n2139870419","loc":[-85.6335514,41.9425294]},"n2139870420":{"id":"n2139870420","loc":[-85.6337406,41.9424929]},"n2139870421":{"id":"n2139870421","loc":[-85.6338939,41.9428687]},"n2139870422":{"id":"n2139870422","loc":[-85.6341323,41.9419538]},"n2139870423":{"id":"n2139870423","loc":[-85.6340321,41.9420376]},"n2139870424":{"id":"n2139870424","loc":[-85.6337648,41.942238]},"n2139870425":{"id":"n2139870425","loc":[-85.6337604,41.9422685]},"n2139870426":{"id":"n2139870426","loc":[-85.6337682,41.9422928]},"n2139870427":{"id":"n2139870427","loc":[-85.6338086,41.9423862]},"n2139870428":{"id":"n2139870428","loc":[-85.6349465,41.9416631]},"n2139870429":{"id":"n2139870429","loc":[-85.6351097,41.9416973]},"n2139870430":{"id":"n2139870430","loc":[-85.6353371,41.9416798]},"n2139870431":{"id":"n2139870431","loc":[-85.6349627,41.9422506]},"n2139870432":{"id":"n2139870432","loc":[-85.634979,41.9421815]},"n2139870433":{"id":"n2139870433","loc":[-85.634885,41.9421679]},"n2139870434":{"id":"n2139870434","loc":[-85.6348689,41.9422377]},"n2139870435":{"id":"n2139870435","loc":[-85.6349779,41.9419486]},"n2139870436":{"id":"n2139870436","loc":[-85.6349505,41.9418933]},"n2139870437":{"id":"n2139870437","loc":[-85.6347327,41.9419505]},"n2139870438":{"id":"n2139870438","loc":[-85.6347614,41.9420087]},"n2139870439":{"id":"n2139870439","loc":[-85.6351889,41.9416912]},"n2139870440":{"id":"n2139870440","loc":[-85.6351092,41.9418426]},"n2139870441":{"id":"n2139870441","loc":[-85.635086,41.9419659]},"n2139870442":{"id":"n2139870442","loc":[-85.6350584,41.9421466]},"n2139870443":{"id":"n2139870443","loc":[-85.6350993,41.9421606]},"n2139870444":{"id":"n2139870444","loc":[-85.6350993,41.9422132]},"n2139870445":{"id":"n2139870445","loc":[-85.6350794,41.9422855]},"n2139870446":{"id":"n2139870446","loc":[-85.6350474,41.9423159]},"n2139870447":{"id":"n2139870447","loc":[-85.6349251,41.9422998]},"n2139870448":{"id":"n2139870448","loc":[-85.634911,41.9422755]},"n2139870449":{"id":"n2139870449","loc":[-85.6349157,41.9422553]},"n2139870450":{"id":"n2139870450","loc":[-85.6347213,41.9419324]},"n2139870451":{"id":"n2139870451","loc":[-85.6349535,41.9418771]},"n2139870452":{"id":"n2139870452","loc":[-85.6350135,41.9419421]},"n2139870453":{"id":"n2139870453","loc":[-85.6348584,41.9418997]},"n2139870454":{"id":"n2139870454","loc":[-85.6348113,41.9418101]},"n2139870455":{"id":"n2139870455","loc":[-85.6347306,41.9417449]},"n2139870456":{"id":"n2139870456","loc":[-85.6349123,41.941776]},"n2139870457":{"id":"n2139870457","loc":[-85.6349423,41.9421448]},"n2139870458":{"id":"n2139870458","loc":[-85.6349436,41.9420652]},"n2139870459":{"id":"n2139870459","loc":[-85.6349136,41.9419963]},"n2139870460":{"id":"n2139870460","loc":[-85.6349814,41.9419789]},"n2139989328":{"id":"n2139989328","loc":[-85.6334188,41.9421725]},"n2139989330":{"id":"n2139989330","loc":[-85.6335087,41.9416308]},"n2139989335":{"id":"n2139989335","loc":[-85.6336856,41.9429371]},"n2139989337":{"id":"n2139989337","loc":[-85.6333713,41.9427217]},"n2139989339":{"id":"n2139989339","loc":[-85.6332912,41.9425383]},"n2139989341":{"id":"n2139989341","loc":[-85.6339369,41.9409198]},"n2139989344":{"id":"n2139989344","loc":[-85.634097,41.9409469]},"n2139989346":{"id":"n2139989346","loc":[-85.634137,41.9412852]},"n2139989348":{"id":"n2139989348","loc":[-85.6344536,41.9414151]},"n2139989350":{"id":"n2139989350","loc":[-85.6350794,41.9412392]},"n2139989351":{"id":"n2139989351","loc":[-85.6352541,41.9409387]},"n2139989353":{"id":"n2139989353","loc":[-85.6357198,41.9408007]},"n2139989355":{"id":"n2139989355","loc":[-85.6357235,41.9427088]},"n2139989357":{"id":"n2139989357","loc":[-85.6337119,41.9421256]},"n2139989359":{"id":"n2139989359","loc":[-85.6336913,41.9420655]},"n2139989360":{"id":"n2139989360","loc":[-85.633582,41.9420867]},"n2139989362":{"id":"n2139989362","loc":[-85.6336058,41.9421491]},"n2139989364":{"id":"n2139989364","loc":[-85.6339685,41.9410995]},"n2139989366":{"id":"n2139989366","loc":[-85.6339067,41.9411383]},"n2139989368":{"id":"n2139989368","loc":[-85.6339685,41.9411972]},"n2139989370":{"id":"n2139989370","loc":[-85.6340398,41.9411619]},"n2139870379":{"id":"n2139870379","loc":[-85.6348391,41.9416651]},"n2140006363":{"id":"n2140006363","loc":[-85.6353144,41.9430345]},"n2140006364":{"id":"n2140006364","loc":[-85.6349191,41.9431422]},"n2140018997":{"id":"n2140018997","loc":[-85.63645945147184,41.942986488012565],"tags":{"amenity":"townhall","name":"Three Rivers City Hall"}},"n2140018998":{"id":"n2140018998","loc":[-85.6370319,41.9427919]},"n2140018999":{"id":"n2140018999","loc":[-85.6360687,41.9427808]},"n2199856288":{"id":"n2199856288","loc":[-85.6344968,41.9407307]},"n2199856289":{"id":"n2199856289","loc":[-85.634492,41.9406036]},"n2199856290":{"id":"n2199856290","loc":[-85.634891,41.9406001]},"n2199856291":{"id":"n2199856291","loc":[-85.6348894,41.9405288]},"n2199856292":{"id":"n2199856292","loc":[-85.6349166,41.94053]},"n2199856293":{"id":"n2199856293","loc":[-85.6349166,41.9404956]},"n2199856294":{"id":"n2199856294","loc":[-85.6350219,41.9404956]},"n2199856295":{"id":"n2199856295","loc":[-85.6350251,41.94053]},"n2199856296":{"id":"n2199856296","loc":[-85.6350538,41.9405288]},"n2199856297":{"id":"n2199856297","loc":[-85.6350602,41.94079]},"n2199856298":{"id":"n2199856298","loc":[-85.6351703,41.9407912]},"n2199856299":{"id":"n2199856299","loc":[-85.6351688,41.9409171]},"n2199856300":{"id":"n2199856300","loc":[-85.6347889,41.9409135]},"n2199856301":{"id":"n2199856301","loc":[-85.6347921,41.94079]},"n2199856302":{"id":"n2199856302","loc":[-85.6348942,41.9407888]},"n2199856303":{"id":"n2199856303","loc":[-85.6348926,41.9407283]},"n185951869":{"id":"n185951869","loc":[-85.6387639,41.957288]},"n185958643":{"id":"n185958643","loc":[-85.636746,41.929221]},"n185958645":{"id":"n185958645","loc":[-85.636791,41.929363]},"n185958647":{"id":"n185958647","loc":[-85.6375975,41.9314987]},"n185958649":{"id":"n185958649","loc":[-85.637669,41.931667]},"n185958651":{"id":"n185958651","loc":[-85.637728,41.931901]},"n185958653":{"id":"n185958653","loc":[-85.637724,41.932187]},"n185958656":{"id":"n185958656","loc":[-85.637732,41.932761]},"n185958658":{"id":"n185958658","loc":[-85.637688,41.93398]},"n185958660":{"id":"n185958660","loc":[-85.637685,41.934223]},"n185958662":{"id":"n185958662","loc":[-85.6376468,41.9350232]},"n185958664":{"id":"n185958664","loc":[-85.637564,41.937028]},"n185958666":{"id":"n185958666","loc":[-85.637458,41.938197]},"n185958668":{"id":"n185958668","loc":[-85.637424,41.938692]},"n185964972":{"id":"n185964972","loc":[-85.6341901,41.9432732]},"n185971361":{"id":"n185971361","loc":[-85.635762,41.938208]},"n185971364":{"id":"n185971364","loc":[-85.635732,41.9384]},"n185971366":{"id":"n185971366","loc":[-85.635736,41.938697]},"n185972775":{"id":"n185972775","loc":[-85.635638,42.070357]},"n185972777":{"id":"n185972777","loc":[-85.635724,42.069929]},"n185972779":{"id":"n185972779","loc":[-85.635804,42.069248]},"n185972781":{"id":"n185972781","loc":[-85.635869,42.068361]},"n185972783":{"id":"n185972783","loc":[-85.635883,42.067582]},"n185972785":{"id":"n185972785","loc":[-85.635875,42.067114]},"n185972787":{"id":"n185972787","loc":[-85.635778,42.065359]},"n185972788":{"id":"n185972788","loc":[-85.635728,42.063416]},"n185972789":{"id":"n185972789","loc":[-85.635665,42.062491]},"n185972790":{"id":"n185972790","loc":[-85.635617,42.061928]},"n185972791":{"id":"n185972791","loc":[-85.635614,42.061898]},"n185972793":{"id":"n185972793","loc":[-85.635379,42.060288]},"n185972795":{"id":"n185972795","loc":[-85.635092,42.05799]},"n185972797":{"id":"n185972797","loc":[-85.634843,42.055781]},"n185972798":{"id":"n185972798","loc":[-85.634817,42.055549]},"n185972800":{"id":"n185972800","loc":[-85.634708,42.053942]},"n185972802":{"id":"n185972802","loc":[-85.634447,42.051809]},"n185972805":{"id":"n185972805","loc":[-85.634241,42.04946]},"n185972807":{"id":"n185972807","loc":[-85.633787,42.045926]},"n185972809":{"id":"n185972809","loc":[-85.633811,42.045645]},"n185972811":{"id":"n185972811","loc":[-85.63373,42.043626]},"n185972813":{"id":"n185972813","loc":[-85.633698,42.042184]},"n185972814":{"id":"n185972814","loc":[-85.63369,42.04181]},"n185972815":{"id":"n185972815","loc":[-85.633681,42.040714]},"n185972816":{"id":"n185972816","loc":[-85.633571,42.036322]},"n185972817":{"id":"n185972817","loc":[-85.633537,42.034044]},"n185972819":{"id":"n185972819","loc":[-85.633481,42.030785]},"n185972821":{"id":"n185972821","loc":[-85.633452,42.027538]},"n185972824":{"id":"n185972824","loc":[-85.633438,42.027427]},"n185972826":{"id":"n185972826","loc":[-85.633342,42.022656]},"n185972830":{"id":"n185972830","loc":[-85.63327,42.020724]},"n185972832":{"id":"n185972832","loc":[-85.633198,42.019106]},"n185972834":{"id":"n185972834","loc":[-85.633249,42.018363]},"n185972835":{"id":"n185972835","loc":[-85.633139,42.012944]},"n185972836":{"id":"n185972836","loc":[-85.63309,42.008284]},"n185972839":{"id":"n185972839","loc":[-85.63298,42.00005]},"n185972845":{"id":"n185972845","loc":[-85.6325369,41.9764959]},"n185972847":{"id":"n185972847","loc":[-85.6327549,41.9750005]},"n185972849":{"id":"n185972849","loc":[-85.6329374,41.9742527]},"n185972851":{"id":"n185972851","loc":[-85.6331387,41.9736039]},"n185972862":{"id":"n185972862","loc":[-85.6383589,41.9585023]},"n185972868":{"id":"n185972868","loc":[-85.6393633,41.9551716]},"n185972878":{"id":"n185972878","loc":[-85.639377,41.95335]},"n185972882":{"id":"n185972882","loc":[-85.6389179,41.9516944]},"n185972885":{"id":"n185972885","loc":[-85.6387444,41.9512105]},"n185972891":{"id":"n185972891","loc":[-85.636421,41.946392]},"n185972895":{"id":"n185972895","loc":[-85.635965,41.945809]},"n185972897":{"id":"n185972897","loc":[-85.635683,41.945449]},"n185972899":{"id":"n185972899","loc":[-85.635281,41.9450252]},"n185972905":{"id":"n185972905","loc":[-85.6324428,41.9425743]},"n185985217":{"id":"n185985217","loc":[-85.638243,41.943674]},"n185985219":{"id":"n185985219","loc":[-85.638228,41.943747]},"n185985221":{"id":"n185985221","loc":[-85.638163,41.943797]},"n185985222":{"id":"n185985222","loc":[-85.638089,41.943832]},"n185985223":{"id":"n185985223","loc":[-85.637969,41.943841]},"n185985225":{"id":"n185985225","loc":[-85.637841,41.943833]},"n185985227":{"id":"n185985227","loc":[-85.637601,41.943789]},"n185985229":{"id":"n185985229","loc":[-85.637449,41.943754]},"n185985231":{"id":"n185985231","loc":[-85.637342,41.943734]},"n185985233":{"id":"n185985233","loc":[-85.637218,41.943703]},"n185985235":{"id":"n185985235","loc":[-85.637151,41.943663]},"n185985238":{"id":"n185985238","loc":[-85.637118,41.943615]},"n185985240":{"id":"n185985240","loc":[-85.637073,41.943494]},"n185990434":{"id":"n185990434","loc":[-85.6329028,41.9984292],"tags":{"railway":"level_crossing"}},"n1475284023":{"id":"n1475284023","loc":[-85.6336163,41.9435806],"tags":{"railway":"level_crossing"}},"n1475293222":{"id":"n1475293222","loc":[-85.6394045,41.953658],"tags":{"railway":"level_crossing"}},"n1475293226":{"id":"n1475293226","loc":[-85.6364975,41.9638663],"tags":{"railway":"level_crossing"}},"n1475293234":{"id":"n1475293234","loc":[-85.6390449,41.9565145]},"n1475293240":{"id":"n1475293240","loc":[-85.636943,41.9473114]},"n1475293252":{"id":"n1475293252","loc":[-85.6392115,41.9559003]},"n1475293254":{"id":"n1475293254","loc":[-85.6348931,41.9685127],"tags":{"railway":"level_crossing"}},"n1475293260":{"id":"n1475293260","loc":[-85.6375999,41.9485401]},"n1475293261":{"id":"n1475293261","loc":[-85.6391256,41.9523817],"tags":{"railway":"level_crossing"}},"n1475293264":{"id":"n1475293264","loc":[-85.6394155,41.9546493],"tags":{"railway":"level_crossing"}},"n1819805614":{"id":"n1819805614","loc":[-85.6345652,41.9363097]},"n1819805618":{"id":"n1819805618","loc":[-85.6295334,41.9426862]},"n1819805622":{"id":"n1819805622","loc":[-85.6308208,41.9430773]},"n1819805626":{"id":"n1819805626","loc":[-85.6274734,41.9406592]},"n1819805629":{"id":"n1819805629","loc":[-85.6296943,41.9430533]},"n1819805632":{"id":"n1819805632","loc":[-85.6340931,41.9354477]},"n1819805636":{"id":"n1819805636","loc":[-85.6304131,41.9436598]},"n1819805639":{"id":"n1819805639","loc":[-85.6304882,41.9426623]},"n1819805641":{"id":"n1819805641","loc":[-85.6336103,41.9367487]},"n1819805643":{"id":"n1819805643","loc":[-85.6300376,41.9418084]},"n1819805645":{"id":"n1819805645","loc":[-85.6365286,41.9336679]},"n1819805647":{"id":"n1819805647","loc":[-85.632016,41.9429221]},"n1819805666":{"id":"n1819805666","loc":[-85.6314753,41.9442663]},"n1819805669":{"id":"n1819805669","loc":[-85.6268619,41.9402203]},"n1819805673":{"id":"n1819805673","loc":[-85.6296728,41.9412099]},"n1819805676":{"id":"n1819805676","loc":[-85.6354557,41.932766]},"n1819805680":{"id":"n1819805680","loc":[-85.632752,41.9431012]},"n1819805683":{"id":"n1819805683","loc":[-85.631147,41.9432014]},"n1819805687":{"id":"n1819805687","loc":[-85.635284,41.9343942]},"n1819805690":{"id":"n1819805690","loc":[-85.6249736,41.9405794]},"n1819805694":{"id":"n1819805694","loc":[-85.6294153,41.9417925]},"n1819805698":{"id":"n1819805698","loc":[-85.6323486,41.9426986]},"n1819805702":{"id":"n1819805702","loc":[-85.6340287,41.9373871]},"n1819805707":{"id":"n1819805707","loc":[-85.6353698,41.9316326]},"n1819805711":{"id":"n1819805711","loc":[-85.6284176,41.940356]},"n1819805715":{"id":"n1819805715","loc":[-85.6291471,41.9412897]},"n1819805718":{"id":"n1819805718","loc":[-85.6311105,41.943979]},"n1819805722":{"id":"n1819805722","loc":[-85.6320868,41.9400128]},"n1819805724":{"id":"n1819805724","loc":[-85.635166,41.9324627]},"n1819805727":{"id":"n1819805727","loc":[-85.6344686,41.9350567]},"n1819805728":{"id":"n1819805728","loc":[-85.6357132,41.9332369]},"n1819805731":{"id":"n1819805731","loc":[-85.629984,41.9434444]},"n1819805760":{"id":"n1819805760","loc":[-85.6330996,41.9378784]},"n1819805766":{"id":"n1819805766","loc":[-85.625274,41.9411141]},"n1819805770":{"id":"n1819805770","loc":[-85.6326321,41.9412173]},"n1819805774":{"id":"n1819805774","loc":[-85.6347047,41.9312096]},"n1819805777":{"id":"n1819805777","loc":[-85.6363569,41.9339552]},"n1819805780":{"id":"n1819805780","loc":[-85.6327392,41.941926]},"n1819805783":{"id":"n1819805783","loc":[-85.6357239,41.9338435]},"n1819805786":{"id":"n1819805786","loc":[-85.6356595,41.9346576]},"n1819805789":{"id":"n1819805789","loc":[-85.6316469,41.9436598]},"n1819805792":{"id":"n1819805792","loc":[-85.6350587,41.9354557]},"n1819805795":{"id":"n1819805795","loc":[-85.6360028,41.9322791]},"n1819805798":{"id":"n1819805798","loc":[-85.63125,41.9443062]},"n1819805802":{"id":"n1819805802","loc":[-85.6263362,41.9408109]},"n1819805805":{"id":"n1819805805","loc":[-85.6315075,41.9438753]},"n1819805808":{"id":"n1819805808","loc":[-85.6340008,41.9316051]},"n1819805810":{"id":"n1819805810","loc":[-85.6345545,41.9320557]},"n1819805812":{"id":"n1819805812","loc":[-85.6250809,41.9408587]},"n1819805814":{"id":"n1819805814","loc":[-85.6257783,41.9400926]},"n1819805834":{"id":"n1819805834","loc":[-85.6326408,41.9424363]},"n1819805838":{"id":"n1819805838","loc":[-85.6365607,41.9334365]},"n1819805842":{"id":"n1819805842","loc":[-85.6288253,41.9410343]},"n1819805846":{"id":"n1819805846","loc":[-85.6279133,41.9402921]},"n1819805849":{"id":"n1819805849","loc":[-85.6289433,41.9405156]},"n1819805852":{"id":"n1819805852","loc":[-85.6313787,41.9439152]},"n1819805858":{"id":"n1819805858","loc":[-85.6300805,41.9420398]},"n1819805861":{"id":"n1819805861","loc":[-85.6321941,41.9396297]},"n1819805864":{"id":"n1819805864","loc":[-85.6329129,41.9393903]},"n1819805868":{"id":"n1819805868","loc":[-85.632001,41.9434922]},"n1819805870":{"id":"n1819805870","loc":[-85.6314903,41.9431535]},"n1819805873":{"id":"n1819805873","loc":[-85.6251667,41.9401166]},"n1819805876":{"id":"n1819805876","loc":[-85.63287,41.939941]},"n1819805878":{"id":"n1819805878","loc":[-85.6307886,41.9437317]},"n1819805880":{"id":"n1819805880","loc":[-85.6321727,41.940348]},"n1819805883":{"id":"n1819805883","loc":[-85.6265872,41.940113]},"n1819805885":{"id":"n1819805885","loc":[-85.6268404,41.9406672]},"n1819805887":{"id":"n1819805887","loc":[-85.6325267,41.9389035]},"n1819805889":{"id":"n1819805889","loc":[-85.6364964,41.933189]},"n1819805911":{"id":"n1819805911","loc":[-85.6248663,41.9401804]},"n1819805922":{"id":"n1819805922","loc":[-85.633267,41.9387199]},"n1819805925":{"id":"n1819805925","loc":[-85.6293402,41.9408428]},"n1819848849":{"id":"n1819848849","loc":[-85.6464957,41.9695178]},"n1819848850":{"id":"n1819848850","loc":[-85.6497642,41.9611355]},"n1819848851":{"id":"n1819848851","loc":[-85.6480943,41.9624818]},"n1819848854":{"id":"n1819848854","loc":[-85.6500362,41.9657367]},"n1819848855":{"id":"n1819848855","loc":[-85.6493673,41.9783496]},"n1819848856":{"id":"n1819848856","loc":[-85.6457409,41.9548007]},"n1819848857":{"id":"n1819848857","loc":[-85.651313,41.9760426]},"n1819848858":{"id":"n1819848858","loc":[-85.6495819,41.9784772]},"n1819848859":{"id":"n1819848859","loc":[-85.6495105,41.9833722]},"n1819848860":{"id":"n1819848860","loc":[-85.6405053,41.9492792]},"n1819848863":{"id":"n1819848863","loc":[-85.6502293,41.9786826]},"n1819848865":{"id":"n1819848865","loc":[-85.6406877,41.9495106]},"n1819848870":{"id":"n1819848870","loc":[-85.6493136,41.9704611]},"n1819848871":{"id":"n1819848871","loc":[-85.6372249,41.9441284]},"n1819848873":{"id":"n1819848873","loc":[-85.6512379,41.9659441]},"n1819848875":{"id":"n1819848875","loc":[-85.6508087,41.9650187]},"n1819848877":{"id":"n1819848877","loc":[-85.6487166,41.9605352]},"n1819848878":{"id":"n1819848878","loc":[-85.6506478,41.9760665]},"n1819848879":{"id":"n1819848879","loc":[-85.651431,41.9758512]},"n1819848886":{"id":"n1819848886","loc":[-85.6477617,41.9563945]},"n1819848889":{"id":"n1819848889","loc":[-85.6497895,41.9832286]},"n1819848892":{"id":"n1819848892","loc":[-85.6504868,41.9791931]},"n1819848893":{"id":"n1819848893","loc":[-85.6498002,41.9615085]},"n1819848894":{"id":"n1819848894","loc":[-85.6404302,41.9502846]},"n1819848901":{"id":"n1819848901","loc":[-85.6354412,41.9439886]},"n1819848903":{"id":"n1819848903","loc":[-85.6472145,41.9698528]},"n1819848904":{"id":"n1819848904","loc":[-85.6401979,41.9486233]},"n1819848905":{"id":"n1819848905","loc":[-85.6475042,41.963503]},"n1819848909":{"id":"n1819848909","loc":[-85.6343405,41.94358]},"n1819848914":{"id":"n1819848914","loc":[-85.6503474,41.9737773]},"n1819848915":{"id":"n1819848915","loc":[-85.6389533,41.9470992]},"n1819848916":{"id":"n1819848916","loc":[-85.6483625,41.9577907]},"n1819848917":{"id":"n1819848917","loc":[-85.6484768,41.9617419]},"n1819848918":{"id":"n1819848918","loc":[-85.644078,41.9545693]},"n1819848919":{"id":"n1819848919","loc":[-85.6437169,41.9543041]},"n1819848920":{"id":"n1819848920","loc":[-85.6478331,41.9627949]},"n1819848922":{"id":"n1819848922","loc":[-85.6499144,41.9785889]},"n1819848924":{"id":"n1819848924","loc":[-85.647633,41.9720066]},"n1819848926":{"id":"n1819848926","loc":[-85.6487987,41.978868]},"n1819848927":{"id":"n1819848927","loc":[-85.6495105,41.9730355]},"n1819848928":{"id":"n1819848928","loc":[-85.648223,41.9829654]},"n1819848929":{"id":"n1819848929","loc":[-85.6514846,41.9659122]},"n1819848931":{"id":"n1819848931","loc":[-85.6498753,41.9731871]},"n1819848932":{"id":"n1819848932","loc":[-85.640906,41.9508575]},"n1819848933":{"id":"n1819848933","loc":[-85.649775,41.9799767]},"n1819848934":{"id":"n1819848934","loc":[-85.6507014,41.9739927]},"n1819848937":{"id":"n1819848937","loc":[-85.6479763,41.9840899]},"n1819848938":{"id":"n1819848938","loc":[-85.6501113,41.9600884]},"n1819848939":{"id":"n1819848939","loc":[-85.6389962,41.9478253]},"n1819848941":{"id":"n1819848941","loc":[-85.637469,41.9445791]},"n1819848942":{"id":"n1819848942","loc":[-85.6494569,41.9601682]},"n1819848943":{"id":"n1819848943","loc":[-85.6368803,41.9439351]},"n1819848945":{"id":"n1819848945","loc":[-85.6474398,41.9724213]},"n1819848946":{"id":"n1819848946","loc":[-85.6382629,41.9463666]},"n1819848948":{"id":"n1819848948","loc":[-85.6489633,41.9830771]},"n1819848952":{"id":"n1819848952","loc":[-85.6488882,41.9600326]},"n1819848953":{"id":"n1819848953","loc":[-85.6488094,41.9774324]},"n1819848954":{"id":"n1819848954","loc":[-85.6491135,41.9600485]},"n1819848955":{"id":"n1819848955","loc":[-85.6501435,41.9734583]},"n1819848956":{"id":"n1819848956","loc":[-85.6495534,41.960958]},"n1819848958":{"id":"n1819848958","loc":[-85.6474683,41.9561491]},"n1819848959":{"id":"n1819848959","loc":[-85.6401083,41.9485451]},"n1819848960":{"id":"n1819848960","loc":[-85.6481764,41.9678686]},"n1819848961":{"id":"n1819848961","loc":[-85.6484017,41.967382]},"n1819848962":{"id":"n1819848962","loc":[-85.6501328,41.959897]},"n1819848964":{"id":"n1819848964","loc":[-85.6403695,41.9504586]},"n1819848966":{"id":"n1819848966","loc":[-85.6398975,41.9491499]},"n1819848967":{"id":"n1819848967","loc":[-85.6412455,41.9510187]},"n1819848968":{"id":"n1819848968","loc":[-85.6482622,41.9619493]},"n1819848969":{"id":"n1819848969","loc":[-85.6405841,41.9501474]},"n1819848970":{"id":"n1819848970","loc":[-85.6478583,41.9703394]},"n1819848971":{"id":"n1819848971","loc":[-85.6493388,41.9832845]},"n1819848972":{"id":"n1819848972","loc":[-85.6485664,41.9829415]},"n1819848974":{"id":"n1819848974","loc":[-85.6491457,41.9779887]},"n1819848975":{"id":"n1819848975","loc":[-85.6468889,41.9697033]},"n1819848976":{"id":"n1819848976","loc":[-85.6452726,41.9546072]},"n1819848977":{"id":"n1819848977","loc":[-85.6448435,41.9546072]},"n1819848979":{"id":"n1819848979","loc":[-85.6485342,41.9763138]},"n1819848980":{"id":"n1819848980","loc":[-85.6495282,41.9664087]},"n1819848986":{"id":"n1819848986","loc":[-85.6486307,41.9603278]},"n1819848987":{"id":"n1819848987","loc":[-85.6492278,41.9791871]},"n1819848990":{"id":"n1819848990","loc":[-85.6501934,41.9800724]},"n1819848992":{"id":"n1819848992","loc":[-85.6482445,41.9819685]},"n1819848993":{"id":"n1819848993","loc":[-85.6481871,41.9704451]},"n1819848994":{"id":"n1819848994","loc":[-85.6371364,41.9457602]},"n1819848996":{"id":"n1819848996","loc":[-85.6500362,41.9801023]},"n1819849000":{"id":"n1819849000","loc":[-85.639007,41.9485914]},"n1819849001":{"id":"n1819849001","loc":[-85.6488882,41.9669253]},"n1819849002":{"id":"n1819849002","loc":[-85.6484698,41.9565062]},"n1819849004":{"id":"n1819849004","loc":[-85.6510769,41.9761064]},"n1819849005":{"id":"n1819849005","loc":[-85.6503581,41.9799029]},"n1819849006":{"id":"n1819849006","loc":[-85.6489381,41.9703893]},"n1819849008":{"id":"n1819849008","loc":[-85.6497457,41.9833588]},"n1819849011":{"id":"n1819849011","loc":[-85.6497358,41.9717593]},"n1819849012":{"id":"n1819849012","loc":[-85.6494676,41.9796796]},"n1819849019":{"id":"n1819849019","loc":[-85.6486093,41.9771034]},"n1819849021":{"id":"n1819849021","loc":[-85.6504546,41.9796556]},"n1819849022":{"id":"n1819849022","loc":[-85.6371294,41.9454154]},"n1819849023":{"id":"n1819849023","loc":[-85.6503436,41.9759249]},"n1819849025":{"id":"n1819849025","loc":[-85.6462382,41.9693822]},"n1819849026":{"id":"n1819849026","loc":[-85.6497573,41.983093]},"n1819849028":{"id":"n1819849028","loc":[-85.6497465,41.9602799]},"n1819849029":{"id":"n1819849029","loc":[-85.6374728,41.9460698]},"n1819849030":{"id":"n1819849030","loc":[-85.6486592,41.9566039]},"n1819849031":{"id":"n1819849031","loc":[-85.6515989,41.9654993]},"n1819849032":{"id":"n1819849032","loc":[-85.6387028,41.9482658]},"n1819849033":{"id":"n1819849033","loc":[-85.6464742,41.9688398]},"n1819849034":{"id":"n1819849034","loc":[-85.6495212,41.9589236]},"n1819849035":{"id":"n1819849035","loc":[-85.6490599,41.9790096]},"n1819849036":{"id":"n1819849036","loc":[-85.6489918,41.9800724]},"n1819849038":{"id":"n1819849038","loc":[-85.6499182,41.9659042]},"n1819849040":{"id":"n1819849040","loc":[-85.639758,41.9490143]},"n1819849041":{"id":"n1819849041","loc":[-85.6514846,41.9755241]},"n1819849042":{"id":"n1819849042","loc":[-85.6436633,41.9540647]},"n1819849045":{"id":"n1819849045","loc":[-85.6475541,41.9726387]},"n1819849046":{"id":"n1819849046","loc":[-85.6488308,41.9718331]},"n1819849047":{"id":"n1819849047","loc":[-85.6377694,41.9460953]},"n1819849048":{"id":"n1819849048","loc":[-85.6490706,41.9804452]},"n1819849049":{"id":"n1819849049","loc":[-85.6485449,41.9766248]},"n1819849051":{"id":"n1819849051","loc":[-85.6483625,41.9790256]},"n1819849052":{"id":"n1819849052","loc":[-85.6490706,41.9585167]},"n1819849053":{"id":"n1819849053","loc":[-85.6425008,41.9522874]},"n1819849054":{"id":"n1819849054","loc":[-85.6475793,41.9632158]},"n1819849055":{"id":"n1819849055","loc":[-85.6408631,41.9499399]},"n1819849056":{"id":"n1819849056","loc":[-85.6483373,41.9814681]},"n1819849057":{"id":"n1819849057","loc":[-85.6313548,41.9442876]},"n1819849058":{"id":"n1819849058","loc":[-85.6432663,41.9529796]},"n1819849059":{"id":"n1819849059","loc":[-85.6487128,41.9582873]},"n1819849060":{"id":"n1819849060","loc":[-85.6482338,41.9817612]},"n1819849062":{"id":"n1819849062","loc":[-85.6485664,41.9788661]},"n1819849063":{"id":"n1819849063","loc":[-85.6373081,41.9448824]},"n1819849064":{"id":"n1819849064","loc":[-85.6472215,41.9557582]},"n1819849065":{"id":"n1819849065","loc":[-85.6348984,41.9440414]},"n1819849066":{"id":"n1819849066","loc":[-85.6501972,41.9647315]},"n1819849067":{"id":"n1819849067","loc":[-85.6489741,41.9808281]},"n1819849068":{"id":"n1819849068","loc":[-85.6420111,41.9515034]},"n1819849069":{"id":"n1819849069","loc":[-85.6397972,41.9488882]},"n1819849070":{"id":"n1819849070","loc":[-85.6499718,41.9593465]},"n1819849071":{"id":"n1819849071","loc":[-85.6486844,41.9811311]},"n1819849072":{"id":"n1819849072","loc":[-85.6390392,41.9474663]},"n1819849074":{"id":"n1819849074","loc":[-85.6495642,41.9616362]},"n1819849075":{"id":"n1819849075","loc":[-85.6483518,41.9791931]},"n1819849076":{"id":"n1819849076","loc":[-85.6478974,41.9833104]},"n1819849077":{"id":"n1819849077","loc":[-85.640155,41.948719]},"n1819849078":{"id":"n1819849078","loc":[-85.6399366,41.9487845]},"n1819849079":{"id":"n1819849079","loc":[-85.6492959,41.9825348]},"n1819849080":{"id":"n1819849080","loc":[-85.6505083,41.9648352]},"n1819849081":{"id":"n1819849081","loc":[-85.6492959,41.9645241]},"n1819849082":{"id":"n1819849082","loc":[-85.6402049,41.9491835]},"n1819849083":{"id":"n1819849083","loc":[-85.6495175,41.9826963]},"n1819849084":{"id":"n1819849084","loc":[-85.6480836,41.9728361]},"n1819849085":{"id":"n1819849085","loc":[-85.6374349,41.9443425]},"n1819849086":{"id":"n1819849086","loc":[-85.6478331,41.9681238]},"n1819849089":{"id":"n1819849089","loc":[-85.639368,41.9486169]},"n1819849092":{"id":"n1819849092","loc":[-85.6503581,41.9788022]},"n1819849093":{"id":"n1819849093","loc":[-85.64862,41.9568014]},"n1819849094":{"id":"n1819849094","loc":[-85.6496999,41.9828877]},"n1819849095":{"id":"n1819849095","loc":[-85.647472,41.972198]},"n1819849096":{"id":"n1819849096","loc":[-85.6485771,41.9644523]},"n1819849097":{"id":"n1819849097","loc":[-85.6388353,41.9480488]},"n1819849099":{"id":"n1819849099","loc":[-85.6472752,41.9683312]},"n1819849104":{"id":"n1819849104","loc":[-85.6479548,41.9836035]},"n1819849105":{"id":"n1819849105","loc":[-85.6462489,41.9691668]},"n1819849107":{"id":"n1819849107","loc":[-85.6511912,41.9746328]},"n1819849108":{"id":"n1819849108","loc":[-85.6498646,41.9714881]},"n1819849111":{"id":"n1819849111","loc":[-85.6488239,41.961684]},"n1819849112":{"id":"n1819849112","loc":[-85.6469356,41.9553812]},"n1819849114":{"id":"n1819849114","loc":[-85.6479548,41.9640853]},"n1819849119":{"id":"n1819849119","loc":[-85.6491565,41.961692]},"n1819849121":{"id":"n1819849121","loc":[-85.651667,41.9656728]},"n1819849124":{"id":"n1819849124","loc":[-85.6388423,41.9484414]},"n1819849126":{"id":"n1819849126","loc":[-85.6371686,41.9450978]},"n1819849127":{"id":"n1819849127","loc":[-85.6502615,41.9656728]},"n1819849129":{"id":"n1819849129","loc":[-85.6498501,41.9613031]},"n1819849131":{"id":"n1819849131","loc":[-85.6513881,41.9653298]},"n1819849133":{"id":"n1819849133","loc":[-85.639883,41.9485291]},"n1819849139":{"id":"n1819849139","loc":[-85.6508693,41.9658264]},"n1819849140":{"id":"n1819849140","loc":[-85.6486806,41.9761642]},"n1819849141":{"id":"n1819849141","loc":[-85.6483159,41.9717613]},"n1819849144":{"id":"n1819849144","loc":[-85.6443714,41.9546232]},"n1819849146":{"id":"n1819849146","loc":[-85.641775,41.9513359]},"n1819849147":{"id":"n1819849147","loc":[-85.6495604,41.9757335]},"n1819849148":{"id":"n1819849148","loc":[-85.6465671,41.9551678]},"n1819849150":{"id":"n1819849150","loc":[-85.6485127,41.9794084]},"n1819849151":{"id":"n1819849151","loc":[-85.6499144,41.9757096]},"n1819849152":{"id":"n1819849152","loc":[-85.6433736,41.9531072]},"n1819849154":{"id":"n1819849154","loc":[-85.6489741,41.9607426]},"n1819849155":{"id":"n1819849155","loc":[-85.640627,41.9507697]},"n1819849156":{"id":"n1819849156","loc":[-85.6509659,41.9743058]},"n1819849157":{"id":"n1819849157","loc":[-85.6486844,41.9704431]},"n1819849158":{"id":"n1819849158","loc":[-85.6498538,41.9711132]},"n1819849159":{"id":"n1819849159","loc":[-85.6358937,41.943719]},"n1819849160":{"id":"n1819849160","loc":[-85.6497358,41.9707702]},"n1819849161":{"id":"n1819849161","loc":[-85.6480476,41.9564842]},"n1819849162":{"id":"n1819849162","loc":[-85.6482982,41.9574556]},"n1819849163":{"id":"n1819849163","loc":[-85.6501757,41.9757794]},"n1819849164":{"id":"n1819849164","loc":[-85.6372973,41.9459916]},"n1819849165":{"id":"n1819849165","loc":[-85.6513773,41.9750775]},"n1819849166":{"id":"n1819849166","loc":[-85.6436418,41.9537455]},"n1819849167":{"id":"n1819849167","loc":[-85.6483625,41.9571524]},"n1819849169":{"id":"n1819849169","loc":[-85.647751,41.9727962]},"n1819849170":{"id":"n1819849170","loc":[-85.6504546,41.9656808]},"n1819849171":{"id":"n1819849171","loc":[-85.6479977,41.971839]},"n1819849172":{"id":"n1819849172","loc":[-85.6482767,41.9642449]},"n1819849174":{"id":"n1819849174","loc":[-85.6414317,41.9512086]},"n1819849176":{"id":"n1819849176","loc":[-85.6469034,41.9685287]},"n1819849179":{"id":"n1819849179","loc":[-85.6408631,41.9497564]},"n1819849182":{"id":"n1819849182","loc":[-85.6476721,41.96384]},"n1819849183":{"id":"n1819849183","loc":[-85.6479725,41.983111]},"n1819849184":{"id":"n1819849184","loc":[-85.640788,41.9500516]},"n1819849185":{"id":"n1819849185","loc":[-85.6427798,41.9528778]},"n1819849186":{"id":"n1819849186","loc":[-85.6435308,41.9534124]},"n1819849187":{"id":"n1819849187","loc":[-85.6483733,41.9821998]},"n1819849189":{"id":"n1819849189","loc":[-85.6351752,41.9440796]},"n1819849191":{"id":"n1819849191","loc":[-85.6487021,41.9601463]},"n1819849192":{"id":"n1819849192","loc":[-85.6363811,41.9437605]},"n1819849193":{"id":"n1819849193","loc":[-85.6490883,41.9759728]},"n1819849194":{"id":"n1819849194","loc":[-85.6423292,41.9520081]},"n1819849195":{"id":"n1819849195","loc":[-85.6500003,41.960242]},"n1819849196":{"id":"n1819849196","loc":[-85.6385778,41.9466443]},"n1819849197":{"id":"n1819849197","loc":[-85.6494032,41.9718789]},"n1819849198":{"id":"n1819849198","loc":[-85.6404339,41.9506501]},"n1819849199":{"id":"n1819849199","loc":[-85.6426226,41.9527083]},"n1819849200":{"id":"n1819849200","loc":[-85.6439101,41.9545035]},"n1819849201":{"id":"n1819849201","loc":[-85.6516563,41.9657845]},"n1819849202":{"id":"n1819849202","loc":[-85.6473395,41.9699585]},"n1819858501":{"id":"n1819858501","loc":[-85.6361263,41.9437126]},"n1819858503":{"id":"n1819858503","loc":[-85.6350068,41.944034]},"n1819858513":{"id":"n1819858513","loc":[-85.6371402,41.9453282]},"n1819858518":{"id":"n1819858518","loc":[-85.6348713,41.9432923]},"n1819858523":{"id":"n1819858523","loc":[-85.6357047,41.943799]},"n1819858526":{"id":"n1819858526","loc":[-85.6349947,41.9435756]},"n1819858531":{"id":"n1819858531","loc":[-85.6350376,41.943827]},"n1820937508":{"id":"n1820937508","loc":[-85.1026013,42.0881722]},"n1820937509":{"id":"n1820937509","loc":[-85.0558088,42.102493]},"n1820937511":{"id":"n1820937511","loc":[-85.3030116,41.9724451]},"n1820937513":{"id":"n1820937513","loc":[-85.0353221,42.1027398]},"n1820937514":{"id":"n1820937514","loc":[-85.0835468,42.1015469]},"n1820937515":{"id":"n1820937515","loc":[-85.2421298,42.0106305]},"n1820937517":{"id":"n1820937517","loc":[-85.0090632,42.0910452]},"n1820937518":{"id":"n1820937518","loc":[-85.086626,42.0948838]},"n1820937520":{"id":"n1820937520","loc":[-85.2552039,42.0015448]},"n1820937521":{"id":"n1820937521","loc":[-85.3739614,41.9969917]},"n1820937522":{"id":"n1820937522","loc":[-85.4831166,41.993898]},"n1820937523":{"id":"n1820937523","loc":[-85.0341084,42.0977657]},"n1820937524":{"id":"n1820937524","loc":[-85.3272802,41.9710333]},"n1820937525":{"id":"n1820937525","loc":[-85.2125568,42.0414521]},"n1820937526":{"id":"n1820937526","loc":[-85.3798022,41.9992458]},"n1820937527":{"id":"n1820937527","loc":[-85.2652021,41.999768]},"n1820937528":{"id":"n1820937528","loc":[-85.3852739,42.0004896]},"n1820937529":{"id":"n1820937529","loc":[-85.3911919,42.0030513]},"n1820937530":{"id":"n1820937530","loc":[-85.5440349,41.9717109]},"n1820937531":{"id":"n1820937531","loc":[-85.2790155,41.9911764]},"n1820937532":{"id":"n1820937532","loc":[-85.4723277,41.9950518]},"n1820937533":{"id":"n1820937533","loc":[-85.5690546,41.9653931]},"n1820937535":{"id":"n1820937535","loc":[-85.5674882,41.9649623]},"n1820937536":{"id":"n1820937536","loc":[-85.6362815,41.9189165]},"n1820937537":{"id":"n1820937537","loc":[-85.5659003,41.963638]},"n1820937539":{"id":"n1820937539","loc":[-85.6391353,41.9122262]},"n1820937540":{"id":"n1820937540","loc":[-85.4834385,41.9894803]},"n1820937541":{"id":"n1820937541","loc":[-85.6399078,41.9160744]},"n1820937542":{"id":"n1820937542","loc":[-85.632874,41.941031]},"n1820937543":{"id":"n1820937543","loc":[-85.1307591,42.0726961]},"n1820937544":{"id":"n1820937544","loc":[-85.6444397,41.9128378]},"n1820937545":{"id":"n1820937545","loc":[-85.6197204,41.9420365]},"n1820937546":{"id":"n1820937546","loc":[-85.1164857,42.0864631]},"n1820937547":{"id":"n1820937547","loc":[-85.6476111,41.9142222]},"n1820937548":{"id":"n1820937548","loc":[-85.2915747,41.9774223]},"n1820937549":{"id":"n1820937549","loc":[-85.6430192,41.9102461]},"n1820937550":{"id":"n1820937550","loc":[-85.1597495,42.0639017]},"n1820937551":{"id":"n1820937551","loc":[-85.5504079,41.9701793]},"n1820937553":{"id":"n1820937553","loc":[-85.2781317,41.9948951]},"n1820937555":{"id":"n1820937555","loc":[-85.3724594,41.997518]},"n1820937556":{"id":"n1820937556","loc":[-85.5629434,41.9665155]},"n1820937557":{"id":"n1820937557","loc":[-85.3791971,41.9990808]},"n1820937558":{"id":"n1820937558","loc":[-85.001891,42.0878843]},"n1820937560":{"id":"n1820937560","loc":[-85.3140838,41.9709056]},"n1820937561":{"id":"n1820937561","loc":[-85.2468032,42.0146987]},"n1820937563":{"id":"n1820937563","loc":[-85.0877378,42.097255]},"n1820937564":{"id":"n1820937564","loc":[-85.2442498,42.0150654]},"n1820937566":{"id":"n1820937566","loc":[-85.3108973,41.9701478]},"n1820937568":{"id":"n1820937568","loc":[-85.0344584,42.1016572]},"n1820937569":{"id":"n1820937569","loc":[-85.2331025,42.0297387]},"n1820937570":{"id":"n1820937570","loc":[-85.5058446,41.9746996]},"n1820937571":{"id":"n1820937571","loc":[-85.5622739,41.9676427]},"n1820937572":{"id":"n1820937572","loc":[-85.2792687,41.9890337]},"n1820937574":{"id":"n1820937574","loc":[-84.9909302,42.08695]},"n1820937575":{"id":"n1820937575","loc":[-85.6218233,41.9418609]},"n1820937576":{"id":"n1820937576","loc":[-85.3577437,41.9931062]},"n1820937577":{"id":"n1820937577","loc":[-85.639028,41.9165853]},"n1820937578":{"id":"n1820937578","loc":[-84.9956576,42.0865348]},"n1820937579":{"id":"n1820937579","loc":[-85.4828376,41.990198]},"n1820937580":{"id":"n1820937580","loc":[-85.3244478,41.9720543]},"n1820937582":{"id":"n1820937582","loc":[-85.0517479,42.1035159]},"n1820937583":{"id":"n1820937583","loc":[-85.225646,42.0338025]},"n1820937584":{"id":"n1820937584","loc":[-84.9941019,42.0862163]},"n1820937586":{"id":"n1820937586","loc":[-85.1051762,42.0879452]},"n1820937587":{"id":"n1820937587","loc":[-85.1245203,42.0753162]},"n1820937588":{"id":"n1820937588","loc":[-85.3250808,41.9719506]},"n1820937589":{"id":"n1820937589","loc":[-85.2720109,41.997933]},"n1820937590":{"id":"n1820937590","loc":[-85.2556653,42.0027248]},"n1820937591":{"id":"n1820937591","loc":[-85.0872483,42.0943544]},"n1820937592":{"id":"n1820937592","loc":[-85.2778353,41.9955023]},"n1820937593":{"id":"n1820937593","loc":[-85.2984733,41.9735538]},"n1820937594":{"id":"n1820937594","loc":[-85.101578,42.0889552]},"n1820937595":{"id":"n1820937595","loc":[-85.3888745,42.0016959]},"n1820937596":{"id":"n1820937596","loc":[-84.9903508,42.0870654]},"n1820937597":{"id":"n1820937597","loc":[-85.6405558,41.9146261]},"n1820937598":{"id":"n1820937598","loc":[-85.6460704,41.9141311]},"n1820937599":{"id":"n1820937599","loc":[-85.0377468,42.1037428]},"n1820937600":{"id":"n1820937600","loc":[-85.2298345,42.0312899]},"n1820937601":{"id":"n1820937601","loc":[-85.1080958,42.0861964]},"n1820937602":{"id":"n1820937602","loc":[-85.6325307,41.9402329]},"n1820937603":{"id":"n1820937603","loc":[-85.1165984,42.0832184]},"n1820937604":{"id":"n1820937604","loc":[-85.6354446,41.9190602]},"n1820937605":{"id":"n1820937605","loc":[-85.1114592,42.0862959]},"n1820937606":{"id":"n1820937606","loc":[-85.0858763,42.1001646]},"n1820937607":{"id":"n1820937607","loc":[-85.0472083,42.1015151]},"n1820937608":{"id":"n1820937608","loc":[-85.0802477,42.1027609]},"n1820937610":{"id":"n1820937610","loc":[-85.0924585,42.0928564]},"n1820937611":{"id":"n1820937611","loc":[-85.0329617,42.09827]},"n1820937612":{"id":"n1820937612","loc":[-85.2814617,41.993465]},"n1820937613":{"id":"n1820937613","loc":[-85.3097708,41.9700282]},"n1820937614":{"id":"n1820937614","loc":[-85.2809427,41.993695]},"n1820937615":{"id":"n1820937615","loc":[-85.0583233,42.1026494]},"n1820937617":{"id":"n1820937617","loc":[-85.2801592,41.9840021]},"n1820937619":{"id":"n1820937619","loc":[-85.1064154,42.0863449]},"n1820937620":{"id":"n1820937620","loc":[-85.0423173,42.1014662]},"n1820937621":{"id":"n1820937621","loc":[-85.2168913,42.0398107]},"n1820937622":{"id":"n1820937622","loc":[-85.2798481,41.9833401]},"n1820937623":{"id":"n1820937623","loc":[-85.0575468,42.1028672]},"n1820937625":{"id":"n1820937625","loc":[-85.0130369,42.0893067]},"n1820937626":{"id":"n1820937626","loc":[-85.0346985,42.1018256]},"n1820937627":{"id":"n1820937627","loc":[-85.2231569,42.0372768]},"n1820937628":{"id":"n1820937628","loc":[-85.2956195,41.9732268]},"n1820937629":{"id":"n1820937629","loc":[-85.1052312,42.086893]},"n1820937630":{"id":"n1820937630","loc":[-85.4813356,41.9958436]},"n1820937631":{"id":"n1820937631","loc":[-85.0961599,42.0914672]},"n1820937632":{"id":"n1820937632","loc":[-85.308419,41.9704749]},"n1820937633":{"id":"n1820937633","loc":[-85.295952,41.9715119]},"n1820937634":{"id":"n1820937634","loc":[-85.3310933,41.9703923]},"n1820937635":{"id":"n1820937635","loc":[-85.2940745,41.9739686]},"n1820937636":{"id":"n1820937636","loc":[-85.3803343,42.000484]},"n1820937637":{"id":"n1820937637","loc":[-85.1174231,42.0845533]},"n1820937638":{"id":"n1820937638","loc":[-85.0095836,42.089839]},"n1820937639":{"id":"n1820937639","loc":[-85.3179354,41.9705866]},"n1820937640":{"id":"n1820937640","loc":[-85.257708,42.0001189]},"n1820937641":{"id":"n1820937641","loc":[-85.2563522,42.0002771]},"n1820937642":{"id":"n1820937642","loc":[-85.3181929,41.970419]},"n1820937643":{"id":"n1820937643","loc":[-85.2911884,41.9757154]},"n1820937644":{"id":"n1820937644","loc":[-85.2714423,41.9975862]},"n1820937645":{"id":"n1820937645","loc":[-85.0193669,42.089888]},"n1820937646":{"id":"n1820937646","loc":[-85.3889818,42.0039921]},"n1820937647":{"id":"n1820937647","loc":[-85.3408093,41.9853965]},"n1820937648":{"id":"n1820937648","loc":[-85.1258091,42.0748332]},"n1820937649":{"id":"n1820937649","loc":[-85.5722561,41.962782]},"n1820937650":{"id":"n1820937650","loc":[-85.3266902,41.9721819]},"n1820937651":{"id":"n1820937651","loc":[-85.1473255,42.065192]},"n1820937652":{"id":"n1820937652","loc":[-85.1462526,42.0655106]},"n1820937653":{"id":"n1820937653","loc":[-85.4641051,42.0013929]},"n1820937654":{"id":"n1820937654","loc":[-85.5620379,41.9700677]},"n1820937655":{"id":"n1820937655","loc":[-85.3226025,41.971121]},"n1820937656":{"id":"n1820937656","loc":[-85.0200965,42.0899516]},"n1820937657":{"id":"n1820937657","loc":[-85.0624714,42.1044711]},"n1820937658":{"id":"n1820937658","loc":[-85.5649562,41.9637178]},"n1820937659":{"id":"n1820937659","loc":[-85.2360315,42.0253315]},"n1820937660":{"id":"n1820937660","loc":[-85.3881449,41.9994475]},"n1820937661":{"id":"n1820937661","loc":[-85.5032911,41.976263]},"n1820937662":{"id":"n1820937662","loc":[-85.481297,41.9871414]},"n1820937663":{"id":"n1820937663","loc":[-85.1167056,42.0841898]},"n1820937664":{"id":"n1820937664","loc":[-85.2891714,41.9787223]},"n1820937665":{"id":"n1820937665","loc":[-85.4393429,42.0058736]},"n1820937666":{"id":"n1820937666","loc":[-85.0077007,42.0895762]},"n1820937667":{"id":"n1820937667","loc":[-85.2736202,41.9979171]},"n1820937668":{"id":"n1820937668","loc":[-84.9935332,42.0859296]},"n1820937669":{"id":"n1820937669","loc":[-85.0622769,42.1046713]},"n1820937670":{"id":"n1820937670","loc":[-85.2309031,42.0311249]},"n1820937671":{"id":"n1820937671","loc":[-85.0343726,42.10069]},"n1820937672":{"id":"n1820937672","loc":[-85.0596551,42.1048612]},"n1820937673":{"id":"n1820937673","loc":[-85.1338597,42.0707449]},"n1820937674":{"id":"n1820937674","loc":[-85.3117663,41.9689194]},"n1820937675":{"id":"n1820937675","loc":[-85.0705649,42.1057499]},"n1820937676":{"id":"n1820937676","loc":[-85.2441425,42.0180944]},"n1820937677":{"id":"n1820937677","loc":[-85.1171174,42.0862692]},"n1820937678":{"id":"n1820937678","loc":[-85.0346824,42.1005519]},"n1820937680":{"id":"n1820937680","loc":[-85.2389927,42.0229245]},"n1820937681":{"id":"n1820937681","loc":[-85.0834892,42.1018642]},"n1820937682":{"id":"n1820937682","loc":[-85.0619443,42.1049459]},"n1820937683":{"id":"n1820937683","loc":[-85.2845366,41.9811868]},"n1820937684":{"id":"n1820937684","loc":[-85.210411,42.0394123]},"n1820937685":{"id":"n1820937685","loc":[-85.4377383,42.0055942]},"n1820937686":{"id":"n1820937686","loc":[-85.2882058,41.9789138]},"n1820937687":{"id":"n1820937687","loc":[-85.2741191,41.9955808]},"n1820937688":{"id":"n1820937688","loc":[-85.3442211,41.9903575]},"n1820937689":{"id":"n1820937689","loc":[-85.2641413,41.9995237]},"n1820937690":{"id":"n1820937690","loc":[-85.2804489,41.9829174]},"n1820937691":{"id":"n1820937691","loc":[-85.5593342,41.9729074]},"n1820937692":{"id":"n1820937692","loc":[-85.3590912,41.9932601]},"n1820937694":{"id":"n1820937694","loc":[-85.4826445,41.9957479]},"n1820937695":{"id":"n1820937695","loc":[-85.4539127,42.0063041]},"n1820937696":{"id":"n1820937696","loc":[-85.2456767,42.0153683]},"n1820937697":{"id":"n1820937697","loc":[-85.5794015,41.9489631]},"n1820937698":{"id":"n1820937698","loc":[-85.4108686,42.0078507]},"n1820937699":{"id":"n1820937699","loc":[-85.0616386,42.1051529]},"n1820937700":{"id":"n1820937700","loc":[-85.4977979,41.978241]},"n1820937701":{"id":"n1820937701","loc":[-85.2488417,42.0086319]},"n1820937702":{"id":"n1820937702","loc":[-85.5588836,41.9728116]},"n1820937703":{"id":"n1820937703","loc":[-85.4557366,42.0051241]},"n1820937705":{"id":"n1820937705","loc":[-85.0723151,42.1056094]},"n1820937706":{"id":"n1820937706","loc":[-85.0057909,42.0887323]},"n1820937707":{"id":"n1820937707","loc":[-85.0756786,42.105677]},"n1820937708":{"id":"n1820937708","loc":[-85.0901504,42.0940001]},"n1820937709":{"id":"n1820937709","loc":[-85.0979999,42.0910213]},"n1820937710":{"id":"n1820937710","loc":[-85.2376301,42.0239686]},"n1820937711":{"id":"n1820937711","loc":[-85.2780671,41.9902299]},"n1820937712":{"id":"n1820937712","loc":[-85.251481,42.0113188]},"n1820937713":{"id":"n1820937713","loc":[-85.3114767,41.9690311]},"n1820937714":{"id":"n1820937714","loc":[-85.2649621,41.9975662]},"n1820937715":{"id":"n1820937715","loc":[-85.283807,41.9813383]},"n1820937716":{"id":"n1820937716","loc":[-85.5515451,41.9703867]},"n1820937717":{"id":"n1820937717","loc":[-85.1176605,42.0850896]},"n1820937718":{"id":"n1820937718","loc":[-85.1069317,42.0862441]},"n1820937719":{"id":"n1820937719","loc":[-85.2739314,41.9976938]},"n1820937720":{"id":"n1820937720","loc":[-85.5550212,41.9702112]},"n1820937721":{"id":"n1820937721","loc":[-85.3076679,41.9719904]},"n1820937722":{"id":"n1820937722","loc":[-85.592319,41.9440316]},"n1820937723":{"id":"n1820937723","loc":[-85.3139979,41.9704031]},"n1820937724":{"id":"n1820937724","loc":[-85.0421134,42.1013149]},"n1820937725":{"id":"n1820937725","loc":[-85.2508373,42.0102741]},"n1820937726":{"id":"n1820937726","loc":[-85.0830922,42.1038821]},"n1820937727":{"id":"n1820937727","loc":[-85.6342473,41.9360031]},"n1820937730":{"id":"n1820937730","loc":[-85.0500192,42.1024942]},"n1820937731":{"id":"n1820937731","loc":[-85.3498644,41.9926221]},"n1820937732":{"id":"n1820937732","loc":[-85.0234117,42.0918903]},"n1820937733":{"id":"n1820937733","loc":[-85.0464425,42.1009408]},"n1820937734":{"id":"n1820937734","loc":[-85.033938,42.099886]},"n1820937736":{"id":"n1820937736","loc":[-85.0152752,42.0886009]},"n1820937737":{"id":"n1820937737","loc":[-85.0441894,42.1012671]},"n1820937738":{"id":"n1820937738","loc":[-85.4668731,41.9979804]},"n1820937739":{"id":"n1820937739","loc":[-85.4407377,42.006033]},"n1820937740":{"id":"n1820937740","loc":[-85.2262253,42.0344878]},"n1820937741":{"id":"n1820937741","loc":[-85.2550001,42.0033706]},"n1820937742":{"id":"n1820937742","loc":[-85.3071422,41.9722617]},"n1820937743":{"id":"n1820937743","loc":[-85.6147852,41.942228]},"n1820937744":{"id":"n1820937744","loc":[-85.0183853,42.0901825]},"n1820937745":{"id":"n1820937745","loc":[-85.6323161,41.9228489]},"n1820937746":{"id":"n1820937746","loc":[-85.0095568,42.0901376]},"n1820937747":{"id":"n1820937747","loc":[-85.2524037,42.0113826]},"n1820937748":{"id":"n1820937748","loc":[-85.3186864,41.9708578]},"n1820937749":{"id":"n1820937749","loc":[-85.2805669,41.9870883]},"n1820937750":{"id":"n1820937750","loc":[-85.0585768,42.1038144]},"n1820937751":{"id":"n1820937751","loc":[-85.2970786,41.9715358]},"n1820937752":{"id":"n1820937752","loc":[-85.1315758,42.0723445]},"n1820937753":{"id":"n1820937753","loc":[-85.2448291,42.0175444]},"n1820937754":{"id":"n1820937754","loc":[-85.2446468,42.0174248]},"n1820937755":{"id":"n1820937755","loc":[-85.229165,42.032129]},"n1820937756":{"id":"n1820937756","loc":[-85.5612654,41.9724926]},"n1820937757":{"id":"n1820937757","loc":[-85.2331776,42.030854]},"n1820937758":{"id":"n1820937758","loc":[-85.2271909,42.0334519]},"n1820937759":{"id":"n1820937759","loc":[-85.1032396,42.0879214]},"n1820937760":{"id":"n1820937760","loc":[-85.0638447,42.1044154]},"n1820937761":{"id":"n1820937761","loc":[-85.1260706,42.0745556]},"n1820937762":{"id":"n1820937762","loc":[-85.3454485,41.99132]},"n1820937763":{"id":"n1820937763","loc":[-85.2639321,41.9980088]},"n1820937764":{"id":"n1820937764","loc":[-85.0837681,42.1013746]},"n1820937765":{"id":"n1820937765","loc":[-85.2808137,41.9869368]},"n1820937766":{"id":"n1820937766","loc":[-85.6338997,41.9309373]},"n1820937767":{"id":"n1820937767","loc":[-85.2267403,42.0332766]},"n1820937768":{"id":"n1820937768","loc":[-85.0605831,42.1052074]},"n1820937769":{"id":"n1820937769","loc":[-85.0259021,42.0930037]},"n1820937770":{"id":"n1820937770","loc":[-85.232963,42.0313162]},"n1820937771":{"id":"n1820937771","loc":[-85.2404947,42.0125381]},"n1820937772":{"id":"n1820937772","loc":[-85.0910892,42.0935742]},"n1820937773":{"id":"n1820937773","loc":[-85.2554829,42.0019435]},"n1820937774":{"id":"n1820937774","loc":[-85.2799339,41.9867773]},"n1820937775":{"id":"n1820937775","loc":[-85.1075432,42.0852767]},"n1820937776":{"id":"n1820937776","loc":[-85.1176927,42.0854001]},"n1820937777":{"id":"n1820937777","loc":[-85.1067064,42.0863357]},"n1820937778":{"id":"n1820937778","loc":[-85.2517492,42.0106333]},"n1820937779":{"id":"n1820937779","loc":[-85.0987174,42.0909031]},"n1820937780":{"id":"n1820937780","loc":[-85.1160083,42.0863994]},"n1820937781":{"id":"n1820937781","loc":[-85.1268645,42.0739703]},"n1820937782":{"id":"n1820937782","loc":[-85.0454702,42.1002852]},"n1820937783":{"id":"n1820937783","loc":[-85.1334145,42.0705418]},"n1820937784":{"id":"n1820937784","loc":[-85.5866542,41.947431]},"n1820937786":{"id":"n1820937786","loc":[-85.2359886,42.0250366]},"n1820937787":{"id":"n1820937787","loc":[-85.3138048,41.9698527]},"n1820937788":{"id":"n1820937788","loc":[-85.1274291,42.0733081]},"n1820937790":{"id":"n1820937790","loc":[-85.6292905,41.9411267]},"n1820937791":{"id":"n1820937791","loc":[-85.5958809,41.9417333]},"n1820937792":{"id":"n1820937792","loc":[-85.1271019,42.0737581]},"n1820937793":{"id":"n1820937793","loc":[-85.2312679,42.0314437]},"n1820937794":{"id":"n1820937794","loc":[-85.1081387,42.0863516]},"n1820937795":{"id":"n1820937795","loc":[-85.2424473,42.0212109]},"n1820937796":{"id":"n1820937796","loc":[-85.2710654,41.9975236]},"n1820937797":{"id":"n1820937797","loc":[-85.4798408,41.9863223]},"n1820937798":{"id":"n1820937798","loc":[-85.035939,42.104296]},"n1820937799":{"id":"n1820937799","loc":[-85.2178139,42.0395398]},"n1820937800":{"id":"n1820937800","loc":[-85.0630709,42.1042614]},"n1820937801":{"id":"n1820937801","loc":[-85.0440124,42.1014861]},"n1820937802":{"id":"n1820937802","loc":[-85.1321874,42.0720458]},"n1820937804":{"id":"n1820937804","loc":[-85.079427,42.1029121]},"n1820937805":{"id":"n1820937805","loc":[-85.2962632,41.9738968]},"n1820937806":{"id":"n1820937806","loc":[-85.6334748,41.9274627]},"n1820937807":{"id":"n1820937807","loc":[-85.1057341,42.0872804]},"n1820937808":{"id":"n1820937808","loc":[-85.4960169,41.9778263]},"n1820937809":{"id":"n1820937809","loc":[-85.2821226,41.9910273]},"n1820937810":{"id":"n1820937810","loc":[-85.0013868,42.0885054]},"n1820937811":{"id":"n1820937811","loc":[-85.2952547,41.9729795]},"n1820937812":{"id":"n1820937812","loc":[-85.1298375,42.0667842]},"n1820937813":{"id":"n1820937813","loc":[-85.1339201,42.0710025]},"n1820937814":{"id":"n1820937814","loc":[-85.0374356,42.103691]},"n1820937815":{"id":"n1820937815","loc":[-85.0061115,42.0880607]},"n1820937817":{"id":"n1820937817","loc":[-85.2398402,42.0226934]},"n1820937818":{"id":"n1820937818","loc":[-85.123501,42.076236]},"n1820937819":{"id":"n1820937819","loc":[-85.1209489,42.0791294]},"n1820937820":{"id":"n1820937820","loc":[-85.0818624,42.1025778]},"n1820937821":{"id":"n1820937821","loc":[-85.4428835,42.0054749]},"n1820937822":{"id":"n1820937822","loc":[-85.4710359,41.9961147]},"n1820937823":{"id":"n1820937823","loc":[-85.4253354,42.006198]},"n1820937824":{"id":"n1820937824","loc":[-85.5486483,41.9709451]},"n1820937825":{"id":"n1820937825","loc":[-85.2303238,42.0310452]},"n1820937826":{"id":"n1820937826","loc":[-85.6450405,41.9136361]},"n1820937828":{"id":"n1820937828","loc":[-85.2606853,41.9964073]},"n1820937830":{"id":"n1820937830","loc":[-85.097383,42.0911447]},"n1820937831":{"id":"n1820937831","loc":[-85.0498207,42.102136]},"n1820937832":{"id":"n1820937832","loc":[-85.1232435,42.0763793]},"n1820937833":{"id":"n1820937833","loc":[-85.394093,42.0055921]},"n1820937834":{"id":"n1820937834","loc":[-85.3566665,41.9928295]},"n1820937835":{"id":"n1820937835","loc":[-85.3543276,41.9920002]},"n1820937837":{"id":"n1820937837","loc":[-85.084668,42.1034932]},"n1820937838":{"id":"n1820937838","loc":[-85.4400296,42.0060649]},"n1820937839":{"id":"n1820937839","loc":[-85.2362246,42.025714]},"n1820937840":{"id":"n1820937840","loc":[-85.0409225,42.1012791]},"n1820937841":{"id":"n1820937841","loc":[-85.2442283,42.019832]},"n1820937842":{"id":"n1820937842","loc":[-85.1123001,42.084824]},"n1820937843":{"id":"n1820937843","loc":[-85.1603074,42.0638061]},"n1820937844":{"id":"n1820937844","loc":[-85.1359744,42.0650646]},"n1820937845":{"id":"n1820937845","loc":[-85.1757569,42.053849]},"n1820937846":{"id":"n1820937846","loc":[-85.5200925,41.9716686]},"n1820937848":{"id":"n1820937848","loc":[-85.5525322,41.9701315]},"n1820937849":{"id":"n1820937849","loc":[-85.0406489,42.10149]},"n1820937850":{"id":"n1820937850","loc":[-85.0142547,42.088825]},"n1820937851":{"id":"n1820937851","loc":[-85.343749,41.9881884]},"n1820937852":{"id":"n1820937852","loc":[-85.074996,42.1060205]},"n1820937853":{"id":"n1820937853","loc":[-85.2436275,42.0136864]},"n1820937854":{"id":"n1820937854","loc":[-85.2641453,41.9980897]},"n1820937856":{"id":"n1820937856","loc":[-85.2802343,41.9870086]},"n1820937857":{"id":"n1820937857","loc":[-85.0099256,42.0909946]},"n1820937858":{"id":"n1820937858","loc":[-85.493957,41.9786079]},"n1820937859":{"id":"n1820937859","loc":[-85.0739405,42.1059795]},"n1820937860":{"id":"n1820937860","loc":[-85.2331605,42.0301423]},"n1820937862":{"id":"n1820937862","loc":[-85.2035231,42.0438425]},"n1820937863":{"id":"n1820937863","loc":[-85.0884928,42.0986971]},"n1820937864":{"id":"n1820937864","loc":[-85.131597,42.0690142]},"n1820937865":{"id":"n1820937865","loc":[-85.3937454,42.0052677]},"n1820937866":{"id":"n1820937866","loc":[-85.2212729,42.0378561]},"n1820937867":{"id":"n1820937867","loc":[-85.0886068,42.0982421]},"n1820937868":{"id":"n1820937868","loc":[-85.0875004,42.0968064]},"n1820937869":{"id":"n1820937869","loc":[-85.0771323,42.1042642]},"n1820937870":{"id":"n1820937870","loc":[-85.0164554,42.0894887]},"n1820937871":{"id":"n1820937871","loc":[-85.6069102,41.9415577]},"n1820937872":{"id":"n1820937872","loc":[-85.3273875,41.9704908]},"n1820937873":{"id":"n1820937873","loc":[-85.3890891,41.9997983]},"n1820937875":{"id":"n1820937875","loc":[-85.5091276,41.9723705]},"n1820937876":{"id":"n1820937876","loc":[-85.0770626,42.1047696]},"n1820937877":{"id":"n1820937877","loc":[-85.612575,41.9419567]},"n1820937878":{"id":"n1820937878","loc":[-85.3868146,42.0036094]},"n1820937879":{"id":"n1820937879","loc":[-85.2722738,41.9981204]},"n1820937880":{"id":"n1820937880","loc":[-85.3064878,41.9723733]},"n1820937882":{"id":"n1820937882","loc":[-85.1270845,42.0727678]},"n1820937884":{"id":"n1820937884","loc":[-85.3316512,41.97923]},"n1820937885":{"id":"n1820937885","loc":[-85.3932519,42.0042472]},"n1820937886":{"id":"n1820937886","loc":[-85.2457411,42.0175444]},"n1820937887":{"id":"n1820937887","loc":[-85.1397509,42.0648415]},"n1820937891":{"id":"n1820937891","loc":[-85.3196735,41.9719665]},"n1820937892":{"id":"n1820937892","loc":[-85.3372473,41.9845033]},"n1820937894":{"id":"n1820937894","loc":[-85.3254778,41.9719745]},"n1820937897":{"id":"n1820937897","loc":[-85.3185148,41.9691268]},"n1820937899":{"id":"n1820937899","loc":[-85.5419106,41.9714556]},"n1820937901":{"id":"n1820937901","loc":[-85.3293509,41.9748368]},"n1820937903":{"id":"n1820937903","loc":[-85.0798078,42.1028365]},"n1820937905":{"id":"n1820937905","loc":[-85.3954191,42.0056025]},"n1820937909":{"id":"n1820937909","loc":[-85.3417534,41.9857155]},"n1820937913":{"id":"n1820937913","loc":[-84.9927822,42.0857107]},"n1820937915":{"id":"n1820937915","loc":[-85.5444212,41.9712801]},"n1820937917":{"id":"n1820937917","loc":[-85.259088,41.9981682]},"n1820937921":{"id":"n1820937921","loc":[-85.2784576,41.9876358]},"n1820937922":{"id":"n1820937922","loc":[-84.9971918,42.087753]},"n1820937924":{"id":"n1820937924","loc":[-85.5310688,41.966899]},"n1820937928":{"id":"n1820937928","loc":[-85.3766436,41.9979326]},"n1820937930":{"id":"n1820937930","loc":[-85.5494852,41.9704346]},"n1820937933":{"id":"n1820937933","loc":[-85.5548281,41.9695412]},"n1820937935":{"id":"n1820937935","loc":[-85.0768588,42.105088]},"n1820937937":{"id":"n1820937937","loc":[-85.2646885,41.9978054]},"n1820937939":{"id":"n1820937939","loc":[-85.2441532,42.0176082]},"n1820937941":{"id":"n1820937941","loc":[-85.105553,42.0877928]},"n1820937943":{"id":"n1820937943","loc":[-85.0879457,42.0958909]},"n1820937944":{"id":"n1820937944","loc":[-85.3187015,41.9704402]},"n1820937945":{"id":"n1820937945","loc":[-85.5624456,41.970626]},"n1820937946":{"id":"n1820937946","loc":[-85.0580176,42.1028644]},"n1820937948":{"id":"n1820937948","loc":[-85.3016061,41.9726286]},"n1820937949":{"id":"n1820937949","loc":[-85.4310388,42.0069418]},"n1820937950":{"id":"n1820937950","loc":[-85.2945144,41.9740723]},"n1820937951":{"id":"n1820937951","loc":[-85.1170222,42.082657]},"n1820937952":{"id":"n1820937952","loc":[-85.0864503,42.0947632]},"n1820937953":{"id":"n1820937953","loc":[-85.4285926,42.0059533]},"n1820937970":{"id":"n1820937970","loc":[-85.3629965,41.9938023]},"n1820937972":{"id":"n1820937972","loc":[-85.2438099,42.0199755]},"n1820937974":{"id":"n1820937974","loc":[-85.1327654,42.0699285]},"n1820937977":{"id":"n1820937977","loc":[-85.1515956,42.0611935]},"n1820937978":{"id":"n1820937978","loc":[-85.0107369,42.0896638]},"n1820937979":{"id":"n1820937979","loc":[-85.1152626,42.0862083]},"n1820937980":{"id":"n1820937980","loc":[-85.4531831,42.0062881]},"n1820937981":{"id":"n1820937981","loc":[-85.0341473,42.0985924]},"n1820937982":{"id":"n1820937982","loc":[-85.0877485,42.0960171]},"n1820937983":{"id":"n1820937983","loc":[-85.2756373,41.9951742]},"n1820937984":{"id":"n1820937984","loc":[-85.2965421,41.9714401]},"n1820937985":{"id":"n1820937985","loc":[-85.2409775,42.0226934]},"n1820937986":{"id":"n1820937986","loc":[-85.0170723,42.0900579]},"n1820937987":{"id":"n1820937987","loc":[-85.1034663,42.0880555]},"n1820937988":{"id":"n1820937988","loc":[-85.0585071,42.1031577]},"n1820937990":{"id":"n1820937990","loc":[-85.0819174,42.1032373]},"n1820937992":{"id":"n1820937992","loc":[-85.0546608,42.1030542]},"n1820937993":{"id":"n1820937993","loc":[-85.0100811,42.0906125]},"n1820937995":{"id":"n1820937995","loc":[-85.6304278,41.9432655]},"n1820937997":{"id":"n1820937997","loc":[-85.0255628,42.092778]},"n1820938011":{"id":"n1820938011","loc":[-85.2316756,42.0317146]},"n1820938012":{"id":"n1820938012","loc":[-85.4067917,42.008042]},"n1820938013":{"id":"n1820938013","loc":[-85.390398,42.0028759]},"n1820938014":{"id":"n1820938014","loc":[-85.0161604,42.0886527]},"n1820938015":{"id":"n1820938015","loc":[-85.125337,42.0744589]},"n1820938016":{"id":"n1820938016","loc":[-85.2151317,42.0404801]},"n1820938017":{"id":"n1820938017","loc":[-85.3165085,41.9706025]},"n1820938018":{"id":"n1820938018","loc":[-85.5641193,41.9640688]},"n1820938019":{"id":"n1820938019","loc":[-85.147583,42.0642203]},"n1820938022":{"id":"n1820938022","loc":[-85.2803781,41.9947886]},"n1820938024":{"id":"n1820938024","loc":[-85.2692469,41.9982053]},"n1820938026":{"id":"n1820938026","loc":[-85.4321975,42.0067505]},"n1820938028":{"id":"n1820938028","loc":[-85.572535,41.9633405]},"n1820938030":{"id":"n1820938030","loc":[-85.3237505,41.9716475]},"n1820938032":{"id":"n1820938032","loc":[-85.6487698,41.9141583]},"n1820938033":{"id":"n1820938033","loc":[-85.0526371,42.1038315]},"n1820938034":{"id":"n1820938034","loc":[-85.088069,42.0978731]},"n1820938035":{"id":"n1820938035","loc":[-85.2516312,42.0102267]},"n1820938039":{"id":"n1820938039","loc":[-85.2731374,41.9982958]},"n1820938040":{"id":"n1820938040","loc":[-85.5453224,41.9713439]},"n1820938041":{"id":"n1820938041","loc":[-85.4480548,42.0049647]},"n1820938043":{"id":"n1820938043","loc":[-85.2504081,42.010322]},"n1820938045":{"id":"n1820938045","loc":[-85.2663447,41.99919]},"n1820938046":{"id":"n1820938046","loc":[-85.0507287,42.102907]},"n1820938047":{"id":"n1820938047","loc":[-85.0408246,42.1024743]},"n1820938048":{"id":"n1820938048","loc":[-85.2796335,41.9866099]},"n1820938050":{"id":"n1820938050","loc":[-85.452475,42.0061127]},"n1820938051":{"id":"n1820938051","loc":[-85.2410569,42.0128147]},"n1820938052":{"id":"n1820938052","loc":[-85.0413302,42.1011477]},"n1820938053":{"id":"n1820938053","loc":[-85.6327409,41.9197627]},"n1820938056":{"id":"n1820938056","loc":[-85.1072039,42.0857994]},"n1820938057":{"id":"n1820938057","loc":[-85.2001114,42.0448145]},"n1820938058":{"id":"n1820938058","loc":[-85.2655347,41.9978186]},"n1820938059":{"id":"n1820938059","loc":[-85.2330918,42.0304874]},"n1820938060":{"id":"n1820938060","loc":[-85.2601113,41.9966545]},"n1820938061":{"id":"n1820938061","loc":[-85.5397863,41.9708494]},"n1820938062":{"id":"n1820938062","loc":[-85.2702085,41.9977217]},"n1820938063":{"id":"n1820938063","loc":[-85.2219982,42.03699]},"n1820938064":{"id":"n1820938064","loc":[-85.0668957,42.105121]},"n1820938065":{"id":"n1820938065","loc":[-85.2328665,42.0270769]},"n1820938066":{"id":"n1820938066","loc":[-85.3189654,41.9694778]},"n1820938067":{"id":"n1820938067","loc":[-85.3814115,42.0022915]},"n1820938068":{"id":"n1820938068","loc":[-85.2759108,41.9956008]},"n1820938069":{"id":"n1820938069","loc":[-85.0391938,42.1034853]},"n1820938070":{"id":"n1820938070","loc":[-85.2850623,41.9810353]},"n1820938071":{"id":"n1820938071","loc":[-85.538074,41.970855]},"n1820938073":{"id":"n1820938073","loc":[-85.1319661,42.0670932]},"n1820938074":{"id":"n1820938074","loc":[-85.2816763,41.9913678]},"n1820938075":{"id":"n1820938075","loc":[-85.3182144,41.9700282]},"n1820938076":{"id":"n1820938076","loc":[-85.5909028,41.9458989]},"n1820938077":{"id":"n1820938077","loc":[-85.4057617,42.0074361]},"n1820938078":{"id":"n1820938078","loc":[-85.2620438,41.9967729]},"n1820938079":{"id":"n1820938079","loc":[-85.1122143,42.0851107]},"n1820938080":{"id":"n1820938080","loc":[-85.2443785,42.0174567]},"n1820938081":{"id":"n1820938081","loc":[-85.0319733,42.0953853]},"n1820938082":{"id":"n1820938082","loc":[-85.0878276,42.09443]},"n1820938083":{"id":"n1820938083","loc":[-85.0271789,42.0935809]},"n1820938084":{"id":"n1820938084","loc":[-85.0326399,42.0974222]},"n1820938085":{"id":"n1820938085","loc":[-85.3989167,42.0065592]},"n1820938086":{"id":"n1820938086","loc":[-85.3263361,41.9721261]},"n1820938087":{"id":"n1820938087","loc":[-85.2547855,42.0037134]},"n1820938088":{"id":"n1820938088","loc":[-85.4373259,42.005746]},"n1820938089":{"id":"n1820938089","loc":[-85.3094275,41.9699245]},"n1820938090":{"id":"n1820938090","loc":[-85.2783246,41.9872793]},"n1820938092":{"id":"n1820938092","loc":[-85.0815633,42.1025169]},"n1820938093":{"id":"n1820938093","loc":[-85.1788511,42.0522134]},"n1820938095":{"id":"n1820938095","loc":[-85.2830345,41.9816733]},"n1820938096":{"id":"n1820938096","loc":[-85.0744984,42.1059835]},"n1820938097":{"id":"n1820938097","loc":[-85.2788396,41.9879333]},"n1820938098":{"id":"n1820938098","loc":[-85.3640093,41.9946531]},"n1820938099":{"id":"n1820938099","loc":[-85.291167,41.9787463]},"n1820938100":{"id":"n1820938100","loc":[-85.0772436,42.1038156]},"n1820938101":{"id":"n1820938101","loc":[-85.00563,42.0887482]},"n1820938102":{"id":"n1820938102","loc":[-85.0326881,42.0961245]},"n1820938104":{"id":"n1820938104","loc":[-85.0530448,42.1038634]},"n1820938105":{"id":"n1820938105","loc":[-85.2625266,41.9970639]},"n1820938106":{"id":"n1820938106","loc":[-85.2827556,41.9823512]},"n1820938107":{"id":"n1820938107","loc":[-85.2784319,41.9910752]},"n1820938108":{"id":"n1820938108","loc":[-85.0882099,42.094393]},"n1820938109":{"id":"n1820938109","loc":[-85.5718484,41.9645371]},"n1820938110":{"id":"n1820938110","loc":[-85.2559764,42.0099317]},"n1820938111":{"id":"n1820938111","loc":[-85.2969284,41.973179]},"n1820938113":{"id":"n1820938113","loc":[-85.3875055,42.0019726]},"n1820938114":{"id":"n1820938114","loc":[-85.4250779,42.0068199]},"n1820938115":{"id":"n1820938115","loc":[-85.0645367,42.104889]},"n1820938116":{"id":"n1820938116","loc":[-85.1636762,42.0623724]},"n1820938117":{"id":"n1820938117","loc":[-85.0757322,42.1055935]},"n1820938118":{"id":"n1820938118","loc":[-85.3695197,41.9981559]},"n1820938120":{"id":"n1820938120","loc":[-85.1297516,42.0671027]},"n1820938121":{"id":"n1820938121","loc":[-85.1057448,42.0875551]},"n1820938122":{"id":"n1820938122","loc":[-85.2805175,41.9943182]},"n1820938123":{"id":"n1820938123","loc":[-85.2545173,42.0040722]},"n1820938124":{"id":"n1820938124","loc":[-84.9966607,42.0871319]},"n1820938125":{"id":"n1820938125","loc":[-85.0099899,42.0904612]},"n1820938126":{"id":"n1820938126","loc":[-85.2489919,42.0091102]},"n1820938127":{"id":"n1820938127","loc":[-85.0342706,42.0979476]},"n1820938128":{"id":"n1820938128","loc":[-85.1080891,42.0855884]},"n1820938129":{"id":"n1820938129","loc":[-85.0128183,42.0905356]},"n1820938130":{"id":"n1820938130","loc":[-85.631608,41.9434251]},"n1820938131":{"id":"n1820938131","loc":[-85.2551975,42.0008524]},"n1820938132":{"id":"n1820938132","loc":[-85.6421823,41.9096233]},"n1820938133":{"id":"n1820938133","loc":[-85.0125059,42.0906284]},"n1820938134":{"id":"n1820938134","loc":[-85.5499358,41.9701793]},"n1820938135":{"id":"n1820938135","loc":[-85.5472107,41.9712323]},"n1820938136":{"id":"n1820938136","loc":[-85.2760758,41.9958691]},"n1820938137":{"id":"n1820938137","loc":[-85.276678,41.9960433]},"n1820938138":{"id":"n1820938138","loc":[-85.0570319,42.1024731]},"n1820938140":{"id":"n1820938140","loc":[-85.2394325,42.0227492]},"n1820938142":{"id":"n1820938142","loc":[-85.5666341,41.9638829]},"n1820938144":{"id":"n1820938144","loc":[-85.258101,41.9996353]},"n1820938147":{"id":"n1820938147","loc":[-85.2129645,42.0413565]},"n1820938149":{"id":"n1820938149","loc":[-84.9962369,42.0868373]},"n1820938151":{"id":"n1820938151","loc":[-85.2570386,42.0084968]},"n1820938153":{"id":"n1820938153","loc":[-85.3971142,42.0050285]},"n1820938155":{"id":"n1820938155","loc":[-85.1072093,42.0855566]},"n1820938157":{"id":"n1820938157","loc":[-85.2840323,41.9920959]},"n1820938159":{"id":"n1820938159","loc":[-85.1187924,42.0816458]},"n1820938161":{"id":"n1820938161","loc":[-85.2681324,41.9985788]},"n1820938163":{"id":"n1820938163","loc":[-85.0887034,42.0984969]},"n1820938165":{"id":"n1820938165","loc":[-85.4133405,42.0073141]},"n1820938166":{"id":"n1820938166","loc":[-85.0097445,42.0902888]},"n1820938167":{"id":"n1820938167","loc":[-85.0828133,42.1037388]},"n1820938168":{"id":"n1820938168","loc":[-85.0549599,42.1030833]},"n1820938169":{"id":"n1820938169","loc":[-85.4571528,42.0010421]},"n1820938178":{"id":"n1820938178","loc":[-85.2706644,41.9975941]},"n1820938180":{"id":"n1820938180","loc":[-85.2258606,42.0335794]},"n1820938182":{"id":"n1820938182","loc":[-85.2832276,41.9814659]},"n1820938184":{"id":"n1820938184","loc":[-85.1082299,42.0860928]},"n1820938185":{"id":"n1820938185","loc":[-85.3839392,42.0022381]},"n1820938186":{"id":"n1820938186","loc":[-85.2772131,41.995905]},"n1820938187":{"id":"n1820938187","loc":[-85.1044895,42.0879214]},"n1820938188":{"id":"n1820938188","loc":[-85.2135267,42.0407087]},"n1820938189":{"id":"n1820938189","loc":[-85.2543993,42.0044628]},"n1820938190":{"id":"n1820938190","loc":[-85.1501793,42.0617351]},"n1820938191":{"id":"n1820938191","loc":[-85.3350587,41.9820469]},"n1820938192":{"id":"n1820938192","loc":[-85.1350731,42.0655735]},"n1820938193":{"id":"n1820938193","loc":[-85.0404008,42.1028843]},"n1820938194":{"id":"n1820938194","loc":[-85.6323161,41.943042]},"n1820938195":{"id":"n1820938195","loc":[-85.1259593,42.0742837]},"n1820938196":{"id":"n1820938196","loc":[-85.4562988,42.0033758]},"n1820938197":{"id":"n1820938197","loc":[-85.256824,42.0056826]},"n1820938198":{"id":"n1820938198","loc":[-85.2742103,41.9963862]},"n1820938199":{"id":"n1820938199","loc":[-85.0380888,42.1037877]},"n1820938200":{"id":"n1820938200","loc":[-85.47404,41.9944721]},"n1820938201":{"id":"n1820938201","loc":[-85.103021,42.087948]},"n1820938202":{"id":"n1820938202","loc":[-85.4030151,42.0065113]},"n1820938203":{"id":"n1820938203","loc":[-85.2113981,42.040735]},"n1820938204":{"id":"n1820938204","loc":[-85.2603433,41.9965137]},"n1820938206":{"id":"n1820938206","loc":[-85.1669378,42.0607634]},"n1820938207":{"id":"n1820938207","loc":[-85.0642027,42.1046076]},"n1820938208":{"id":"n1820938208","loc":[-85.2812428,41.9915696]},"n1820938209":{"id":"n1820938209","loc":[-85.0839559,42.1038343]},"n1820938210":{"id":"n1820938210","loc":[-85.1239946,42.0769368]},"n1820938211":{"id":"n1820938211","loc":[-85.2311177,42.0283042]},"n1820938212":{"id":"n1820938212","loc":[-85.2791614,41.9882682]},"n1820938213":{"id":"n1820938213","loc":[-85.2674941,41.9987582]},"n1820938214":{"id":"n1820938214","loc":[-85.352787,41.9919579]},"n1820938215":{"id":"n1820938215","loc":[-85.0874146,42.0952182]},"n1820938216":{"id":"n1820938216","loc":[-85.0069711,42.0877092]},"n1820938217":{"id":"n1820938217","loc":[-85.2059049,42.0404004]},"n1820938218":{"id":"n1820938218","loc":[-85.2403552,42.0227332]},"n1820938219":{"id":"n1820938219","loc":[-85.2492923,42.0098915]},"n1820938220":{"id":"n1820938220","loc":[-85.269778,41.9979541]},"n1820938221":{"id":"n1820938221","loc":[-85.2097673,42.0389024]},"n1820938222":{"id":"n1820938222","loc":[-85.0845942,42.1032015]},"n1820938223":{"id":"n1820938223","loc":[-84.993206,42.0858142]},"n1820938224":{"id":"n1820938224","loc":[-85.2108187,42.0402729]},"n1820938225":{"id":"n1820938225","loc":[-84.9893959,42.0873043]},"n1820938226":{"id":"n1820938226","loc":[-85.2952332,41.9719984]},"n1820938227":{"id":"n1820938227","loc":[-85.4100961,42.0081536]},"n1820938228":{"id":"n1820938228","loc":[-85.3299088,41.9785696]},"n1820938229":{"id":"n1820938229","loc":[-85.2258176,42.0340097]},"n1820938230":{"id":"n1820938230","loc":[-85.3146739,41.9711449]},"n1820938231":{"id":"n1820938231","loc":[-85.5447645,41.9712801]},"n1820938232":{"id":"n1820938232","loc":[-85.5510087,41.9705941]},"n1820938233":{"id":"n1820938233","loc":[-85.5122389,41.9703445]},"n1820938234":{"id":"n1820938234","loc":[-85.2792687,41.9865381]},"n1820938235":{"id":"n1820938235","loc":[-85.1475229,42.0630151]},"n1820938237":{"id":"n1820938237","loc":[-85.0332889,42.0996034]},"n1820938238":{"id":"n1820938238","loc":[-85.2588882,41.9986877]},"n1820938239":{"id":"n1820938239","loc":[-85.0656458,42.1050892]},"n1820938240":{"id":"n1820938240","loc":[-84.9913915,42.086098]},"n1820938241":{"id":"n1820938241","loc":[-85.4752416,41.9944402]},"n1820938242":{"id":"n1820938242","loc":[-85.1214304,42.0791147]},"n1820938243":{"id":"n1820938243","loc":[-85.0075183,42.0886925]},"n1820938244":{"id":"n1820938244","loc":[-85.1052888,42.0872087]},"n1820938245":{"id":"n1820938245","loc":[-85.3104252,41.9703393]},"n1820938246":{"id":"n1820938246","loc":[-85.232109,42.0318158]},"n1820938247":{"id":"n1820938247","loc":[-85.0756075,42.1059528]},"n1820938248":{"id":"n1820938248","loc":[-85.0075612,42.0890866]},"n1820938249":{"id":"n1820938249","loc":[-85.1013312,42.0897474]},"n1820938250":{"id":"n1820938250","loc":[-85.1168076,42.0828919]},"n1820938251":{"id":"n1820938251","loc":[-85.2951367,41.9723334]},"n1820938252":{"id":"n1820938252","loc":[-85.0879363,42.0976053]},"n1820938253":{"id":"n1820938253","loc":[-85.0354763,42.1021838]},"n1820938254":{"id":"n1820938254","loc":[-85.2379627,42.0236339]},"n1820938255":{"id":"n1820938255","loc":[-85.1308245,42.0685364]},"n1820938256":{"id":"n1820938256","loc":[-85.0914446,42.0934774]},"n1820938257":{"id":"n1820938257","loc":[-85.2436812,42.014069]},"n1820938258":{"id":"n1820938258","loc":[-85.0682529,42.1056106]},"n1820938259":{"id":"n1820938259","loc":[-85.290652,41.9766805]},"n1820938260":{"id":"n1820938260","loc":[-85.0133494,42.0897434]},"n1820938261":{"id":"n1820938261","loc":[-85.2753047,41.9949429]},"n1820938262":{"id":"n1820938262","loc":[-85.0314691,42.0950788]},"n1820938263":{"id":"n1820938263","loc":[-85.3444786,41.9908359]},"n1820938264":{"id":"n1820938264","loc":[-85.0443115,42.1009061]},"n1820938265":{"id":"n1820938265","loc":[-85.0634853,42.1043159]},"n1820938267":{"id":"n1820938267","loc":[-85.3978223,42.0053952]},"n1820938268":{"id":"n1820938268","loc":[-85.0228659,42.0911885]},"n1820938269":{"id":"n1820938269","loc":[-85.0220237,42.0906272]},"n1820938270":{"id":"n1820938270","loc":[-85.1061525,42.0863369]},"n1820938271":{"id":"n1820938271","loc":[-85.2382309,42.0233708]},"n1820938272":{"id":"n1820938272","loc":[-85.310672,41.9702755]},"n1820938273":{"id":"n1820938273","loc":[-85.1448192,42.0652613]},"n1820938274":{"id":"n1820938274","loc":[-85.6036057,41.9403766]},"n1820938275":{"id":"n1820938275","loc":[-85.0778941,42.1032413]},"n1820938276":{"id":"n1820938276","loc":[-85.1279374,42.0723974]},"n1820938277":{"id":"n1820938277","loc":[-85.2806635,41.9847836]},"n1820938278":{"id":"n1820938278","loc":[-85.2653201,41.9976352]},"n1820938279":{"id":"n1820938279","loc":[-85.0351665,42.1001805]},"n1820938280":{"id":"n1820938280","loc":[-85.0718269,42.1056253]},"n1820938281":{"id":"n1820938281","loc":[-85.2574248,42.0075322]},"n1820938282":{"id":"n1820938282","loc":[-85.126666,42.0740778]},"n1820938283":{"id":"n1820938283","loc":[-85.077705,42.1034733]},"n1820938284":{"id":"n1820938284","loc":[-85.3535552,41.9919045]},"n1820938286":{"id":"n1820938286","loc":[-85.2810711,41.9866657]},"n1820938287":{"id":"n1820938287","loc":[-85.4567494,42.0019885]},"n1820938288":{"id":"n1820938288","loc":[-85.2642419,41.9992936]},"n1820938289":{"id":"n1820938289","loc":[-85.2643344,41.9980925]},"n1820938290":{"id":"n1820938290","loc":[-85.3270335,41.9776125]},"n1820938291":{"id":"n1820938291","loc":[-85.1200584,42.0795077]},"n1820938292":{"id":"n1820938292","loc":[-85.2290792,42.0340256]},"n1820938293":{"id":"n1820938293","loc":[-85.6015887,41.9401372]},"n1820938294":{"id":"n1820938294","loc":[-85.5370869,41.970488]},"n1820938295":{"id":"n1820938295","loc":[-85.3108866,41.9698048]},"n1820938297":{"id":"n1820938297","loc":[-85.1556511,42.0628184]},"n1820938298":{"id":"n1820938298","loc":[-85.0027922,42.0875221]},"n1820938300":{"id":"n1820938300","loc":[-85.3873338,42.0040614]},"n1820938301":{"id":"n1820938301","loc":[-85.0350753,42.1004034]},"n1820938302":{"id":"n1820938302","loc":[-85.6239476,41.9411906]},"n1820938304":{"id":"n1820938304","loc":[-85.0118246,42.0897964]},"n1820938306":{"id":"n1820938306","loc":[-85.4796877,41.995275]},"n1820938307":{"id":"n1820938307","loc":[-85.5388636,41.9707856]},"n1820938309":{"id":"n1820938309","loc":[-85.2971902,41.9727773]},"n1820938310":{"id":"n1820938310","loc":[-85.5426831,41.9715513]},"n1820938311":{"id":"n1820938311","loc":[-85.2798373,41.9836671]},"n1820938312":{"id":"n1820938312","loc":[-85.2432198,42.0104017]},"n1820938313":{"id":"n1820938313","loc":[-85.2650412,41.9987554]},"n1820938317":{"id":"n1820938317","loc":[-85.0015423,42.0882386]},"n1820938318":{"id":"n1820938318","loc":[-85.1409783,42.064879]},"n1820938319":{"id":"n1820938319","loc":[-85.1691908,42.058995]},"n1820938320":{"id":"n1820938320","loc":[-85.1059165,42.0864882]},"n1820938321":{"id":"n1820938321","loc":[-85.3664941,41.9965771]},"n1820938323":{"id":"n1820938323","loc":[-85.3143198,41.9710971]},"n1820938324":{"id":"n1820938324","loc":[-85.0016067,42.0880675]},"n1820938325":{"id":"n1820938325","loc":[-85.0148139,42.0887164]},"n1820938326":{"id":"n1820938326","loc":[-85.0324682,42.0959056]},"n1820938327":{"id":"n1820938327","loc":[-85.0898661,42.0939921]},"n1820938328":{"id":"n1820938328","loc":[-85.2556427,42.0004936]},"n1820938329":{"id":"n1820938329","loc":[-85.6287112,41.9407437]},"n1820938330":{"id":"n1820938330","loc":[-84.9913392,42.0866701]},"n1820938331":{"id":"n1820938331","loc":[-85.2685777,41.9984632]},"n1820938332":{"id":"n1820938332","loc":[-85.0078884,42.0901614]},"n1820938333":{"id":"n1820938333","loc":[-84.999642,42.0878616]},"n1820938334":{"id":"n1820938334","loc":[-85.0188909,42.0899186]},"n1820938335":{"id":"n1820938335","loc":[-85.2830238,41.9819843]},"n1820938336":{"id":"n1820938336","loc":[-85.2491421,42.0096204]},"n1820938337":{"id":"n1820938337","loc":[-85.0585701,42.1034295]},"n1820938338":{"id":"n1820938338","loc":[-85.0651965,42.1051636]},"n1820938339":{"id":"n1820938339","loc":[-85.0583944,42.104292]},"n1820938340":{"id":"n1820938340","loc":[-85.119876,42.0801567]},"n1820938341":{"id":"n1820938341","loc":[-85.0943937,42.0931323]},"n1820938342":{"id":"n1820938342","loc":[-85.1504583,42.0613209]},"n1820938343":{"id":"n1820938343","loc":[-85.0425426,42.1019836]},"n1820938345":{"id":"n1820938345","loc":[-84.9991391,42.0878206]},"n1820938346":{"id":"n1820938346","loc":[-85.2563841,42.0094614]},"n1820938347":{"id":"n1820938347","loc":[-85.0515387,42.103297]},"n1820938348":{"id":"n1820938348","loc":[-85.0857261,42.1003636]},"n1820938349":{"id":"n1820938349","loc":[-85.078971,42.1029241]},"n1820938350":{"id":"n1820938350","loc":[-85.5699558,41.958931]},"n1820938351":{"id":"n1820938351","loc":[-85.3181285,41.9696533]},"n1820938352":{"id":"n1820938352","loc":[-85.5998506,41.9402329]},"n1820938353":{"id":"n1820938353","loc":[-85.2567277,42.000317]},"n1820938354":{"id":"n1820938354","loc":[-85.3082795,41.9708338]},"n1820938355":{"id":"n1820938355","loc":[-85.3127856,41.9692784]},"n1820938356":{"id":"n1820938356","loc":[-85.0340775,42.1010721]},"n1820938357":{"id":"n1820938357","loc":[-85.3158111,41.9706583]},"n1820938359":{"id":"n1820938359","loc":[-85.2312035,42.0280412]},"n1820938360":{"id":"n1820938360","loc":[-85.2448613,42.018477]},"n1820938361":{"id":"n1820938361","loc":[-85.29077,41.9759068]},"n1820938364":{"id":"n1820938364","loc":[-85.3677387,41.9976615]},"n1820938365":{"id":"n1820938365","loc":[-85.0785204,42.1030355]},"n1820938366":{"id":"n1820938366","loc":[-85.2262039,42.0333722]},"n1820938367":{"id":"n1820938367","loc":[-85.1226011,42.0780902]},"n1820938368":{"id":"n1820938368","loc":[-85.3229673,41.971129]},"n1820938369":{"id":"n1820938369","loc":[-85.385334,42.0000056]},"n1820938370":{"id":"n1820938370","loc":[-85.000098,42.0879094]},"n1820938372":{"id":"n1820938372","loc":[-85.3852481,42.0025091]},"n1820938373":{"id":"n1820938373","loc":[-85.3770513,41.9982515]},"n1820938374":{"id":"n1820938374","loc":[-85.6278314,41.9405362]},"n1820938375":{"id":"n1820938375","loc":[-85.6355133,41.9344068]},"n1820938376":{"id":"n1820938376","loc":[-85.635642,41.9324753]},"n1820938377":{"id":"n1820938377","loc":[-85.3154463,41.970778]},"n1820938378":{"id":"n1820938378","loc":[-85.0920334,42.093411]},"n1820938379":{"id":"n1820938379","loc":[-85.3269155,41.9722297]},"n1820938381":{"id":"n1820938381","loc":[-85.1134334,42.0849184]},"n1820938382":{"id":"n1820938382","loc":[-85.005968,42.088585]},"n1820938384":{"id":"n1820938384","loc":[-85.1245203,42.0757183]},"n1820938385":{"id":"n1820938385","loc":[-85.020704,42.0905396]},"n1820938386":{"id":"n1820938386","loc":[-85.119585,42.0808984]},"n1820938387":{"id":"n1820938387","loc":[-85.0072447,42.0880117]},"n1820938388":{"id":"n1820938388","loc":[-85.2742908,41.9960273]},"n1820938389":{"id":"n1820938389","loc":[-85.3275807,41.9696852]},"n1820938390":{"id":"n1820938390","loc":[-85.2385635,42.0231556]},"n1820938392":{"id":"n1820938392","loc":[-85.0202856,42.0900778]},"n1820938393":{"id":"n1820938393","loc":[-85.2067847,42.0395398]},"n1820938394":{"id":"n1820938394","loc":[-85.5183544,41.9713495]},"n1820938396":{"id":"n1820938396","loc":[-85.5073037,41.9736787]},"n1820938397":{"id":"n1820938397","loc":[-85.2519638,42.0114225]},"n1820938398":{"id":"n1820938398","loc":[-85.287487,41.9793285]},"n1820938399":{"id":"n1820938399","loc":[-85.2298088,42.0336431]},"n1820938400":{"id":"n1820938400","loc":[-85.229444,42.0339141]},"n1820938401":{"id":"n1820938401","loc":[-85.2421791,42.0220239]},"n1820938402":{"id":"n1820938402","loc":[-85.2976687,41.9737612]},"n1820938403":{"id":"n1820938403","loc":[-85.3622069,41.993473]},"n1820938404":{"id":"n1820938404","loc":[-85.2465458,42.014906]},"n1820938405":{"id":"n1820938405","loc":[-85.5724663,41.9639412]},"n1820938406":{"id":"n1820938406","loc":[-85.3708501,41.9982037]},"n1820938408":{"id":"n1820938408","loc":[-85.2564592,42.0055311]},"n1820938409":{"id":"n1820938409","loc":[-85.1192846,42.0810856]},"n1820938410":{"id":"n1820938410","loc":[-85.5623812,41.971663]},"n1820938411":{"id":"n1820938411","loc":[-85.3221948,41.9719665]},"n1820938412":{"id":"n1820938412","loc":[-85.5168738,41.9710305]},"n1820938413":{"id":"n1820938413","loc":[-85.4546852,42.0061127]},"n1820938414":{"id":"n1820938414","loc":[-85.5896153,41.9463617]},"n1820938415":{"id":"n1820938415","loc":[-85.2978189,41.9722138]},"n1820938416":{"id":"n1820938416","loc":[-85.1021681,42.0883581]},"n1820938417":{"id":"n1820938417","loc":[-85.2797193,41.9912984]},"n1820938419":{"id":"n1820938419","loc":[-85.2362461,42.0248533]},"n1820938420":{"id":"n1820938420","loc":[-85.4833639,41.9846252]},"n1820938422":{"id":"n1820938422","loc":[-85.3281064,41.9689433]},"n1820938424":{"id":"n1820938424","loc":[-85.2416963,42.0130088]},"n1820938425":{"id":"n1820938425","loc":[-85.5718655,41.9564577]},"n1820938426":{"id":"n1820938426","loc":[-85.0512812,42.1030701]},"n1820938427":{"id":"n1820938427","loc":[-85.1273527,42.0723616]},"n1820938428":{"id":"n1820938428","loc":[-85.0215033,42.0904083]},"n1820938429":{"id":"n1820938429","loc":[-85.6169953,41.942228]},"n1820938430":{"id":"n1820938430","loc":[-85.2829165,41.9907243]},"n1820938431":{"id":"n1820938431","loc":[-85.2240796,42.0374203]},"n1820938432":{"id":"n1820938432","loc":[-85.0167598,42.0898442]},"n1820938433":{"id":"n1820938433","loc":[-85.2132649,42.0411334]},"n1820938434":{"id":"n1820938434","loc":[-85.2293839,42.031513]},"n1820938435":{"id":"n1820938435","loc":[-85.1203374,42.0792608]},"n1820938436":{"id":"n1820938436","loc":[-85.109571,42.086268]},"n1820938437":{"id":"n1820938437","loc":[-85.1079026,42.0853842]},"n1820938438":{"id":"n1820938438","loc":[-85.109237,42.0862413]},"n1820938439":{"id":"n1820938439","loc":[-85.2259936,42.0350831]},"n1820938440":{"id":"n1820938440","loc":[-85.3669705,41.99679]},"n1820938441":{"id":"n1820938441","loc":[-85.2418143,42.0223507]},"n1820938442":{"id":"n1820938442","loc":[-85.3101248,41.9702515]},"n1820938443":{"id":"n1820938443","loc":[-85.069315,42.1059688]},"n1820938444":{"id":"n1820938444","loc":[-85.205862,42.0410378]},"n1820938445":{"id":"n1820938445","loc":[-85.0388076,42.1036604]},"n1820938446":{"id":"n1820938446","loc":[-85.2225389,42.0370115]},"n1820938447":{"id":"n1820938447","loc":[-85.3241474,41.9719346]},"n1820938448":{"id":"n1820938448","loc":[-85.3125496,41.9690789]},"n1820938449":{"id":"n1820938449","loc":[-85.1146497,42.0857039]},"n1820938450":{"id":"n1820938450","loc":[-85.1333944,42.0714963]},"n1820938451":{"id":"n1820938451","loc":[-85.5619306,41.9720937]},"n1820938452":{"id":"n1820938452","loc":[-85.2553651,42.0006479]},"n1820938453":{"id":"n1820938453","loc":[-85.3151137,41.9710093]},"n1820938454":{"id":"n1820938454","loc":[-85.2592315,41.9977947]},"n1820938455":{"id":"n1820938455","loc":[-85.2655723,41.9995966]},"n1820938456":{"id":"n1820938456","loc":[-85.4820652,41.9959233]},"n1820938459":{"id":"n1820938459","loc":[-85.450737,42.0055068]},"n1820938460":{"id":"n1820938460","loc":[-85.2428658,42.0205573]},"n1820938461":{"id":"n1820938461","loc":[-85.0835576,42.1021559]},"n1820938462":{"id":"n1820938462","loc":[-85.244636,42.0194733]},"n1820938463":{"id":"n1820938463","loc":[-85.5702562,41.9581332]},"n1820938465":{"id":"n1820938465","loc":[-85.5680031,41.9659515]},"n1820938467":{"id":"n1820938467","loc":[-85.2798752,41.9948353]},"n1820938468":{"id":"n1820938468","loc":[-85.0477407,42.1015537]},"n1820938469":{"id":"n1820938469","loc":[-85.6403842,41.913732]},"n1820938470":{"id":"n1820938470","loc":[-85.0396029,42.103289]},"n1820938471":{"id":"n1820938471","loc":[-85.2824702,41.9907777]},"n1820938472":{"id":"n1820938472","loc":[-85.2969284,41.9735538]},"n1820938474":{"id":"n1820938474","loc":[-85.401041,42.0070853]},"n1820938475":{"id":"n1820938475","loc":[-85.4116625,42.0073883]},"n1820938476":{"id":"n1820938476","loc":[-85.0437764,42.1016214]},"n1820938477":{"id":"n1820938477","loc":[-85.3643269,41.9958436]},"n1820938478":{"id":"n1820938478","loc":[-85.3895182,42.0009465]},"n1820938479":{"id":"n1820938479","loc":[-85.636157,41.9333373]},"n1820938480":{"id":"n1820938480","loc":[-85.2811355,41.9858044]},"n1820938481":{"id":"n1820938481","loc":[-85.0239052,42.092153]},"n1820938482":{"id":"n1820938482","loc":[-85.2558798,42.0053557]},"n1820938483":{"id":"n1820938483","loc":[-85.2544422,42.0047339]},"n1820938484":{"id":"n1820938484","loc":[-85.4864683,41.9843183]},"n1820938485":{"id":"n1820938485","loc":[-85.2554185,42.0031075]},"n1820938486":{"id":"n1820938486","loc":[-85.3082795,41.9712486]},"n1820938487":{"id":"n1820938487","loc":[-85.2433378,42.0133436]},"n1820938488":{"id":"n1820938488","loc":[-85.0216696,42.0904162]},"n1820938489":{"id":"n1820938489","loc":[-85.2546138,42.0050289]},"n1820938490":{"id":"n1820938490","loc":[-85.2717521,41.9977349]},"n1820938491":{"id":"n1820938491","loc":[-85.0100489,42.0908195]},"n1820938492":{"id":"n1820938492","loc":[-85.207879,42.0392211]},"n1820938493":{"id":"n1820938493","loc":[-85.0007363,42.0882836]},"n1820938494":{"id":"n1820938494","loc":[-85.5775303,41.9504097]},"n1820938495":{"id":"n1820938495","loc":[-85.1131584,42.0847683]},"n1820938496":{"id":"n1820938496","loc":[-85.0887825,42.0941633]},"n1820938497":{"id":"n1820938497","loc":[-85.1185926,42.0818938]},"n1820938498":{"id":"n1820938498","loc":[-85.2748487,41.9948712]},"n1820938499":{"id":"n1820938499","loc":[-85.2566952,42.0090788]},"n1820938500":{"id":"n1820938500","loc":[-85.0774757,42.1036234]},"n1820938501":{"id":"n1820938501","loc":[-85.4190869,42.008903]},"n1820938502":{"id":"n1820938502","loc":[-85.1140395,42.0850577]},"n1820938503":{"id":"n1820938503","loc":[-85.1136104,42.0848627]},"n1820938504":{"id":"n1820938504","loc":[-85.5828089,41.9480638]},"n1820938505":{"id":"n1820938505","loc":[-85.625514,41.9405202]},"n1820938506":{"id":"n1820938506","loc":[-85.2063384,42.0398322]},"n1820938507":{"id":"n1820938507","loc":[-85.3395476,41.9851636]},"n1820938508":{"id":"n1820938508","loc":[-85.0328853,42.0963606]},"n1820938510":{"id":"n1820938510","loc":[-85.1170369,42.0843702]},"n1820938511":{"id":"n1820938511","loc":[-85.2784748,41.9868487]},"n1820938512":{"id":"n1820938512","loc":[-85.6310501,41.9435528]},"n1820938514":{"id":"n1820938514","loc":[-85.0334284,42.0981028]},"n1820938515":{"id":"n1820938515","loc":[-84.9912091,42.0868226]},"n1820938516":{"id":"n1820938516","loc":[-85.2806141,41.9940351]},"n1820938517":{"id":"n1820938517","loc":[-85.1233025,42.0776734]},"n1820938518":{"id":"n1820938518","loc":[-85.2047891,42.0429023]},"n1820938519":{"id":"n1820938519","loc":[-85.1475443,42.0648312]},"n1820938520":{"id":"n1820938520","loc":[-85.2644685,41.9990891]},"n1820938521":{"id":"n1820938521","loc":[-85.1056281,42.0872553]},"n1820938522":{"id":"n1820938522","loc":[-85.4813184,41.9930105]},"n1820938523":{"id":"n1820938523","loc":[-85.321551,41.9722936]},"n1820938524":{"id":"n1820938524","loc":[-85.1564664,42.0631211]},"n1820938525":{"id":"n1820938525","loc":[-85.4149885,42.0079144]},"n1820938527":{"id":"n1820938527","loc":[-85.2861888,41.9803653]},"n1820938528":{"id":"n1820938528","loc":[-85.1301379,42.0682178]},"n1820938529":{"id":"n1820938529","loc":[-85.4156537,42.0084247]},"n1820938530":{"id":"n1820938530","loc":[-85.245151,42.0176082]},"n1820938531":{"id":"n1820938531","loc":[-85.457818,42.0001651]},"n1820938532":{"id":"n1820938532","loc":[-85.310951,41.9694538]},"n1820938533":{"id":"n1820938533","loc":[-85.1509089,42.0611298]},"n1820938534":{"id":"n1820938534","loc":[-85.1108249,42.086321]},"n1820938535":{"id":"n1820938535","loc":[-85.1260344,42.0740687]},"n1820938536":{"id":"n1820938536","loc":[-85.4561228,42.0042791]},"n1820938537":{"id":"n1820938537","loc":[-85.2805082,41.9945761]},"n1820938538":{"id":"n1820938538","loc":[-85.273352,41.9981921]},"n1820938539":{"id":"n1820938539","loc":[-85.1084216,42.0864364]},"n1820938540":{"id":"n1820938540","loc":[-85.5009737,41.9773637]},"n1820938541":{"id":"n1820938541","loc":[-85.3960843,42.0051879]},"n1820938542":{"id":"n1820938542","loc":[-85.3425088,41.9865034]},"n1820938545":{"id":"n1820938545","loc":[-84.9937907,42.0860849]},"n1820938546":{"id":"n1820938546","loc":[-85.1084176,42.086065]},"n1820938547":{"id":"n1820938547","loc":[-85.3492851,41.9924786]},"n1820938548":{"id":"n1820938548","loc":[-85.2512235,42.0101147]},"n1820938549":{"id":"n1820938549","loc":[-85.3717298,41.9979326]},"n1820938551":{"id":"n1820938551","loc":[-85.2573712,42.0064081]},"n1820938552":{"id":"n1820938552","loc":[-85.2514596,42.010139]},"n1820938553":{"id":"n1820938553","loc":[-85.416512,42.0088073]},"n1820938554":{"id":"n1820938554","loc":[-85.4365964,42.0061606]},"n1820938555":{"id":"n1820938555","loc":[-85.4552431,42.0057301]},"n1820938556":{"id":"n1820938556","loc":[-85.2916283,41.9778769]},"n1820938557":{"id":"n1820938557","loc":[-85.100709,42.0902968]},"n1820938558":{"id":"n1820938558","loc":[-85.4703064,41.9965771]},"n1820938559":{"id":"n1820938559","loc":[-85.3134722,41.9696134]},"n1820938560":{"id":"n1820938560","loc":[-85.4834213,41.9885768]},"n1820938561":{"id":"n1820938561","loc":[-85.2740641,41.9975236]},"n1820938562":{"id":"n1820938562","loc":[-85.148334,42.0623405]},"n1820938563":{"id":"n1820938563","loc":[-85.2358598,42.0263675]},"n1820938565":{"id":"n1820938565","loc":[-85.2902979,41.9790892]},"n1820938566":{"id":"n1820938566","loc":[-85.2528865,42.0112869]},"n1820938567":{"id":"n1820938567","loc":[-85.2595319,41.9973003]},"n1820938568":{"id":"n1820938568","loc":[-85.071151,42.105689]},"n1820938570":{"id":"n1820938570","loc":[-85.299278,41.9732188]},"n1820938571":{"id":"n1820938571","loc":[-85.0354669,42.1024771]},"n1820938583":{"id":"n1820938583","loc":[-85.3313937,41.972562]},"n1820938585":{"id":"n1820938585","loc":[-85.0756933,42.1058334]},"n1820938587":{"id":"n1820938587","loc":[-85.3130324,41.9694219]},"n1820938590":{"id":"n1820938590","loc":[-85.0934227,42.0931681]},"n1820938592":{"id":"n1820938592","loc":[-85.3517956,41.9922553]},"n1820938593":{"id":"n1820938593","loc":[-85.4023971,42.0065169]},"n1820938594":{"id":"n1820938594","loc":[-85.3506798,41.9925583]},"n1820938595":{"id":"n1820938595","loc":[-85.3673524,41.9971193]},"n1820938596":{"id":"n1820938596","loc":[-85.1073608,42.0853523]},"n1820938597":{"id":"n1820938597","loc":[-85.2976579,41.972477]},"n1820938598":{"id":"n1820938598","loc":[-85.5616517,41.9694295]},"n1820938599":{"id":"n1820938599","loc":[-85.3552074,41.9921915]},"n1820938600":{"id":"n1820938600","loc":[-85.4665126,41.9999953]},"n1820938601":{"id":"n1820938601","loc":[-85.2740695,41.9966226]},"n1820938602":{"id":"n1820938602","loc":[-85.279376,41.9886669]},"n1820938603":{"id":"n1820938603","loc":[-85.0771109,42.1040413]},"n1820938604":{"id":"n1820938604","loc":[-85.2636049,41.9977895]},"n1820938605":{"id":"n1820938605","loc":[-85.3762145,41.9976456]},"n1820938606":{"id":"n1820938606","loc":[-85.2321369,42.0289577]},"n1820938620":{"id":"n1820938620","loc":[-85.4947724,41.9776189]},"n1820938622":{"id":"n1820938622","loc":[-85.1547069,42.0622768]},"n1820938624":{"id":"n1820938624","loc":[-85.0005056,42.0880249]},"n1820938626":{"id":"n1820938626","loc":[-85.0735596,42.1059357]},"n1820938628":{"id":"n1820938628","loc":[-85.4665298,41.99932]},"n1820938629":{"id":"n1820938629","loc":[-85.434515,42.0065273]},"n1820938630":{"id":"n1820938630","loc":[-85.117462,42.0823823]},"n1820938631":{"id":"n1820938631","loc":[-85.0131777,42.0890707]},"n1820938632":{"id":"n1820938632","loc":[-85.0875326,42.0961934]},"n1820938634":{"id":"n1820938634","loc":[-85.6433839,41.9112042]},"n1820938635":{"id":"n1820938635","loc":[-85.1366181,42.064969]},"n1820938636":{"id":"n1820938636","loc":[-85.073109,42.1057925]},"n1820938638":{"id":"n1820938638","loc":[-85.161406,42.0632541]},"n1820938640":{"id":"n1820938640","loc":[-85.6343932,41.9188845]},"n1820938642":{"id":"n1820938642","loc":[-85.2500004,42.010306]},"n1820938644":{"id":"n1820938644","loc":[-85.291918,41.9753166]},"n1820938663":{"id":"n1820938663","loc":[-85.2841611,41.9916812]},"n1820938664":{"id":"n1820938664","loc":[-85.1052955,42.0868134]},"n1820938665":{"id":"n1820938665","loc":[-85.4606118,42.0005534]},"n1820938666":{"id":"n1820938666","loc":[-85.5672736,41.9642922]},"n1820938667":{"id":"n1820938667","loc":[-85.6348481,41.9316932]},"n1820938668":{"id":"n1820938668","loc":[-85.0224904,42.0909576]},"n1820938669":{"id":"n1820938669","loc":[-85.0133856,42.0899755]},"n1820938670":{"id":"n1820938670","loc":[-85.344779,41.991139]},"n1820938671":{"id":"n1820938671","loc":[-85.632874,41.9425313]},"n1820938673":{"id":"n1820938673","loc":[-85.4941501,41.9779698]},"n1820938675":{"id":"n1820938675","loc":[-85.0862559,42.0997519]},"n1820938676":{"id":"n1820938676","loc":[-85.0097874,42.0898032]},"n1820938678":{"id":"n1820938678","loc":[-84.9913553,42.0863675]},"n1820938680":{"id":"n1820938680","loc":[-85.0533666,42.1038315]},"n1820938682":{"id":"n1820938682","loc":[-85.2950294,41.9743914]},"n1820938684":{"id":"n1820938684","loc":[-85.2517385,42.0104499]},"n1820938686":{"id":"n1820938686","loc":[-85.0247971,42.0922514]},"n1820938688":{"id":"n1820938688","loc":[-85.0807037,42.1026017]},"n1820938690":{"id":"n1820938690","loc":[-85.52462,41.9722748]},"n1820938694":{"id":"n1820938694","loc":[-85.2586535,41.9988818]},"n1820938695":{"id":"n1820938695","loc":[-85.0931612,42.092948]},"n1820938697":{"id":"n1820938697","loc":[-85.2470822,42.016564]},"n1820938698":{"id":"n1820938698","loc":[-85.4143018,42.0075158]},"n1820938699":{"id":"n1820938699","loc":[-85.0771484,42.104487]},"n1820938700":{"id":"n1820938700","loc":[-85.0291208,42.0942775]},"n1820938701":{"id":"n1820938701","loc":[-85.6367964,41.9185971]},"n1820938702":{"id":"n1820938702","loc":[-85.085419,42.1010693]},"n1820938703":{"id":"n1820938703","loc":[-85.0583877,42.1040584]},"n1820938705":{"id":"n1820938705","loc":[-85.2573379,42.0003182]},"n1820938706":{"id":"n1820938706","loc":[-85.2655937,41.9981575]},"n1820938707":{"id":"n1820938707","loc":[-85.023181,42.0915758]},"n1820938708":{"id":"n1820938708","loc":[-85.2318687,42.0274674]},"n1820938709":{"id":"n1820938709","loc":[-85.1056389,42.0866184]},"n1820938710":{"id":"n1820938710","loc":[-85.5276265,41.9700978]},"n1820938711":{"id":"n1820938711","loc":[-85.0864128,42.0945761]},"n1820938712":{"id":"n1820938712","loc":[-84.9897071,42.0871888]},"n1820938714":{"id":"n1820938714","loc":[-85.1328845,42.0665611]},"n1820938715":{"id":"n1820938715","loc":[-85.0336537,42.0991377]},"n1820938716":{"id":"n1820938716","loc":[-85.087597,42.0986692]},"n1820938717":{"id":"n1820938717","loc":[-85.1241394,42.0761882]},"n1820938718":{"id":"n1820938718","loc":[-85.1176002,42.0847723]},"n1820938719":{"id":"n1820938719","loc":[-85.2423615,42.0216572]},"n1820938721":{"id":"n1820938721","loc":[-85.2196378,42.0387908]},"n1820938722":{"id":"n1820938722","loc":[-85.0164272,42.0890082]},"n1820938723":{"id":"n1820938723","loc":[-85.5917182,41.9451807]},"n1820938724":{"id":"n1820938724","loc":[-85.2458806,42.0086638]},"n1820938725":{"id":"n1820938725","loc":[-85.1264474,42.0740527]},"n1820938726":{"id":"n1820938726","loc":[-85.1961631,42.04738]},"n1820938727":{"id":"n1820938727","loc":[-85.2784643,41.9943648]},"n1820938728":{"id":"n1820938728","loc":[-85.2905554,41.9763216]},"n1820938729":{"id":"n1820938729","loc":[-85.2913386,41.9771511]},"n1820938730":{"id":"n1820938730","loc":[-85.0112519,42.0895683]},"n1820938732":{"id":"n1820938732","loc":[-85.4290261,42.0064531]},"n1820938733":{"id":"n1820938733","loc":[-85.3867073,42.0031629]},"n1820938734":{"id":"n1820938734","loc":[-85.4943647,41.9836005]},"n1820938735":{"id":"n1820938735","loc":[-85.4900303,41.9860728]},"n1820938736":{"id":"n1820938736","loc":[-85.0866153,42.0944539]},"n1820938737":{"id":"n1820938737","loc":[-85.0869532,42.0990911]},"n1820938738":{"id":"n1820938738","loc":[-85.6321659,41.9208851]},"n1820938739":{"id":"n1820938739","loc":[-85.5930485,41.9433453]},"n1820938740":{"id":"n1820938740","loc":[-85.0406851,42.102733]},"n1820938741":{"id":"n1820938741","loc":[-85.1051131,42.0869846]},"n1820938742":{"id":"n1820938742","loc":[-85.1377554,42.0648893]},"n1820938743":{"id":"n1820938743","loc":[-85.2795694,41.994604]},"n1820938745":{"id":"n1820938745","loc":[-85.4948153,41.9826594]},"n1820938746":{"id":"n1820938746","loc":[-85.4488916,42.0050923]},"n1820938747":{"id":"n1820938747","loc":[-85.1052526,42.0866144]},"n1820938748":{"id":"n1820938748","loc":[-85.1468749,42.0653991]},"n1820938749":{"id":"n1820938749","loc":[-85.0856886,42.1006104]},"n1820938750":{"id":"n1820938750","loc":[-85.2144022,42.0404004]},"n1820938751":{"id":"n1820938751","loc":[-85.277771,41.9907458]},"n1820938752":{"id":"n1820938752","loc":[-85.1474542,42.0636149]},"n1820938753":{"id":"n1820938753","loc":[-85.0820515,42.1028075]},"n1820938754":{"id":"n1820938754","loc":[-85.1122948,42.08525]},"n1820938756":{"id":"n1820938756","loc":[-85.0173352,42.0901933]},"n1820938757":{"id":"n1820938757","loc":[-85.2259721,42.0354018]},"n1820938758":{"id":"n1820938758","loc":[-85.0872389,42.0987795]},"n1820938759":{"id":"n1820938759","loc":[-85.2291436,42.031874]},"n1820938760":{"id":"n1820938760","loc":[-85.3802485,42.0016002]},"n1820938761":{"id":"n1820938761","loc":[-85.3945822,42.0057938]},"n1820938762":{"id":"n1820938762","loc":[-85.5273237,41.9713017]},"n1820938763":{"id":"n1820938763","loc":[-85.2868862,41.9798629]},"n1820938764":{"id":"n1820938764","loc":[-85.2516677,42.0107899]},"n1820938766":{"id":"n1820938766","loc":[-85.3183002,41.9693103]},"n1820938768":{"id":"n1820938768","loc":[-85.2159042,42.0401932]},"n1820938770":{"id":"n1820938770","loc":[-85.0094481,42.0911141]},"n1820938771":{"id":"n1820938771","loc":[-85.0244538,42.0922155]},"n1820938772":{"id":"n1820938772","loc":[-85.231697,42.028862]},"n1820938773":{"id":"n1820938773","loc":[-85.2102394,42.0390617]},"n1820938774":{"id":"n1820938774","loc":[-85.2463419,42.0151212]},"n1820938775":{"id":"n1820938775","loc":[-85.0726195,42.1056424]},"n1820938776":{"id":"n1820938776","loc":[-85.0060431,42.0883262]},"n1820938778":{"id":"n1820938778","loc":[-85.425889,42.0056982]},"n1820938779":{"id":"n1820938779","loc":[-85.1183042,42.0820638]},"n1820938780":{"id":"n1820938780","loc":[-85.441596,42.0058257]},"n1820938781":{"id":"n1820938781","loc":[-85.1124879,42.0847086]},"n1820938782":{"id":"n1820938782","loc":[-85.2452733,42.0153894]},"n1820938783":{"id":"n1820938783","loc":[-85.2741191,41.9969244]},"n1820938784":{"id":"n1820938784","loc":[-85.2829487,41.9822236]},"n1820938785":{"id":"n1820938785","loc":[-85.3202743,41.972142]},"n1820938786":{"id":"n1820938786","loc":[-85.2345402,42.0266465]},"n1820938787":{"id":"n1820938787","loc":[-85.3037626,41.9724611]},"n1820938789":{"id":"n1820938789","loc":[-85.2474792,42.0161973]},"n1820938790":{"id":"n1820938790","loc":[-85.2951045,41.9727323]},"n1820938791":{"id":"n1820938791","loc":[-85.322345,41.9712726]},"n1820938792":{"id":"n1820938792","loc":[-85.2402372,42.0110394]},"n1820938793":{"id":"n1820938793","loc":[-85.5135693,41.9698659]},"n1820938794":{"id":"n1820938794","loc":[-85.4695339,41.9967366]},"n1820938796":{"id":"n1820938796","loc":[-85.0418492,42.1011131]},"n1820938797":{"id":"n1820938797","loc":[-85.3334107,41.9806337]},"n1820938798":{"id":"n1820938798","loc":[-85.5625314,41.9711685]},"n1820938799":{"id":"n1820938799","loc":[-85.3755707,41.9973585]},"n1820938800":{"id":"n1820938800","loc":[-85.5227532,41.9722429]},"n1820938801":{"id":"n1820938801","loc":[-85.4267687,42.0052836]},"n1820938803":{"id":"n1820938803","loc":[-85.0284704,42.0940837]},"n1820938804":{"id":"n1820938804","loc":[-85.015585,42.0885305]},"n1820938805":{"id":"n1820938805","loc":[-85.0765905,42.1053865]},"n1820938806":{"id":"n1820938806","loc":[-85.2614953,41.9964551]},"n1820938808":{"id":"n1820938808","loc":[-85.0307355,42.0947313]},"n1820938810":{"id":"n1820938810","loc":[-85.3894753,42.0003565]},"n1820938812":{"id":"n1820938812","loc":[-85.0868848,42.095006]},"n1820938813":{"id":"n1820938813","loc":[-85.3854198,42.0009465]},"n1820938814":{"id":"n1820938814","loc":[-85.2659692,41.9993534]},"n1820938815":{"id":"n1820938815","loc":[-85.1234259,42.0765266]},"n1820938816":{"id":"n1820938816","loc":[-85.1426906,42.0648893]},"n1820938818":{"id":"n1820938818","loc":[-85.1014533,42.0893067]},"n1820938819":{"id":"n1820938819","loc":[-85.0883064,42.098067]},"n1820938820":{"id":"n1820938820","loc":[-85.0503156,42.102704]},"n1820938821":{"id":"n1820938821","loc":[-85.1179649,42.0821884]},"n1820938822":{"id":"n1820938822","loc":[-85.3484697,41.9921596]},"n1820938823":{"id":"n1820938823","loc":[-85.3732962,41.9970874]},"n1820938824":{"id":"n1820938824","loc":[-85.2784104,41.9898312]},"n1820938825":{"id":"n1820938825","loc":[-85.4441709,42.0052198]},"n1820938826":{"id":"n1820938826","loc":[-85.3925438,42.0038326]},"n1820938829":{"id":"n1820938829","loc":[-85.5717582,41.9621861]},"n1820938830":{"id":"n1820938830","loc":[-85.0866314,42.0995051]},"n1820938831":{"id":"n1820938831","loc":[-85.576672,41.9522769]},"n1820938832":{"id":"n1820938832","loc":[-85.1587238,42.0636205]},"n1820938833":{"id":"n1820938833","loc":[-85.3804245,41.9999155]},"n1820938834":{"id":"n1820938834","loc":[-85.280083,41.9948843]},"n1820938836":{"id":"n1820938836","loc":[-85.561892,41.9686693]},"n1820938837":{"id":"n1820938837","loc":[-85.0158975,42.0885253]},"n1820938838":{"id":"n1820938838","loc":[-85.4248204,42.007633]},"n1820938839":{"id":"n1820938839","loc":[-85.0352738,42.1039657]},"n1820938840":{"id":"n1820938840","loc":[-85.211956,42.0411812]},"n1820938841":{"id":"n1820938841","loc":[-85.4816575,41.9908997]},"n1820938842":{"id":"n1820938842","loc":[-85.3807635,42.0020308]},"n1820938843":{"id":"n1820938843","loc":[-85.0100865,42.0898521]},"n1820938844":{"id":"n1820938844","loc":[-85.0103936,42.0897434]},"n1820938848":{"id":"n1820938848","loc":[-85.2430052,42.0131363]},"n1820938849":{"id":"n1820938849","loc":[-85.112559,42.0853723]},"n1820938851":{"id":"n1820938851","loc":[-85.3641553,41.9952535]},"n1820938852":{"id":"n1820938852","loc":[-85.2087373,42.0390777]},"n1820938853":{"id":"n1820938853","loc":[-85.2473933,42.0148263]},"n1820938854":{"id":"n1820938854","loc":[-85.0213464,42.090509]},"n1820938855":{"id":"n1820938855","loc":[-85.0673208,42.1052353]},"n1820938856":{"id":"n1820938856","loc":[-85.1003053,42.0905528]},"n1820938857":{"id":"n1820938857","loc":[-85.2617367,41.9965389]},"n1820938858":{"id":"n1820938858","loc":[-85.280363,41.9916015]},"n1820938859":{"id":"n1820938859","loc":[-85.0038866,42.0873469]},"n1820938860":{"id":"n1820938860","loc":[-85.2476401,42.0151451]},"n1820938861":{"id":"n1820938861","loc":[-85.193717,42.0499294]},"n1820938862":{"id":"n1820938862","loc":[-85.3478689,41.9917609]},"n1820938863":{"id":"n1820938863","loc":[-85.5638017,41.9648881]},"n1820938864":{"id":"n1820938864","loc":[-85.4356308,42.0064476]},"n1820938865":{"id":"n1820938865","loc":[-85.0561722,42.1023509]},"n1820938867":{"id":"n1820938867","loc":[-85.2256031,42.0356034]},"n1820938868":{"id":"n1820938868","loc":[-85.6102576,41.9420844]},"n1820938869":{"id":"n1820938869","loc":[-85.2285213,42.0339938]},"n1820938870":{"id":"n1820938870","loc":[-85.0326238,42.0978003]},"n1820938871":{"id":"n1820938871","loc":[-85.0131389,42.0903736]},"n1820938872":{"id":"n1820938872","loc":[-85.2550859,42.0012259]},"n1820938873":{"id":"n1820938873","loc":[-85.1130029,42.0846966]},"n1820938874":{"id":"n1820938874","loc":[-85.1579041,42.06336]},"n1820938875":{"id":"n1820938875","loc":[-85.0430522,42.1020234]},"n1820938876":{"id":"n1820938876","loc":[-85.2786679,41.9865935]},"n1820938877":{"id":"n1820938877","loc":[-85.1221666,42.0788706]},"n1820938878":{"id":"n1820938878","loc":[-85.2554614,42.0103303]},"n1820938879":{"id":"n1820938879","loc":[-85.2349801,42.0265748]},"n1820938880":{"id":"n1820938880","loc":[-85.0997434,42.0907864]},"n1820938881":{"id":"n1820938881","loc":[-85.0045464,42.0878167]},"n1820938882":{"id":"n1820938882","loc":[-85.2728048,41.9982519]},"n1820938883":{"id":"n1820938883","loc":[-85.3111333,41.9691587]},"n1820938884":{"id":"n1820938884","loc":[-85.3219802,41.9721899]},"n1820938885":{"id":"n1820938885","loc":[-85.3091378,41.9699325]},"n1820938887":{"id":"n1820938887","loc":[-85.4242367,42.0085203]},"n1820938888":{"id":"n1820938888","loc":[-84.9968377,42.0874504]},"n1820938890":{"id":"n1820938890","loc":[-85.5443139,41.9714078]},"n1820938891":{"id":"n1820938891","loc":[-85.6404013,41.9154676]},"n1820938892":{"id":"n1820938892","loc":[-85.3644986,41.9962582]},"n1820938893":{"id":"n1820938893","loc":[-85.0496772,42.1018323]},"n1820938894":{"id":"n1820938894","loc":[-85.297261,41.9737373]},"n1820938895":{"id":"n1820938895","loc":[-85.0327096,42.098071]},"n1820938896":{"id":"n1820938896","loc":[-85.3856773,41.9996867]},"n1820938897":{"id":"n1820938897","loc":[-85.0493862,42.1015509]},"n1820938898":{"id":"n1820938898","loc":[-84.9969879,42.0876614]},"n1820938899":{"id":"n1820938899","loc":[-85.0848625,42.1013587]},"n1820938900":{"id":"n1820938900","loc":[-85.5853195,41.9479201]},"n1820938901":{"id":"n1820938901","loc":[-85.6329169,41.9387964]},"n1820938902":{"id":"n1820938902","loc":[-85.0843046,42.1029468]},"n1820938903":{"id":"n1820938903","loc":[-85.1228747,42.0778474]},"n1820938904":{"id":"n1820938904","loc":[-85.4855456,41.984095]},"n1820938905":{"id":"n1820938905","loc":[-85.0573269,42.1026801]},"n1820938906":{"id":"n1820938906","loc":[-85.2425868,42.0131523]},"n1820938907":{"id":"n1820938907","loc":[-85.1149622,42.0860053]},"n1820938908":{"id":"n1820938908","loc":[-85.4833097,41.9951578]},"n1820938909":{"id":"n1820938909","loc":[-85.075979,42.1056372]},"n1820938910":{"id":"n1820938910","loc":[-85.0338509,42.0977139]},"n1820938911":{"id":"n1820938911","loc":[-85.6384272,41.9115715]},"n1820938912":{"id":"n1820938912","loc":[-85.0458363,42.1004074]},"n1820938913":{"id":"n1820938913","loc":[-85.0592138,42.1048305]},"n1820938914":{"id":"n1820938914","loc":[-85.2807493,41.9916653]},"n1820938915":{"id":"n1820938915","loc":[-85.1103274,42.0864193]},"n1820938916":{"id":"n1820938916","loc":[-85.6267156,41.9404404]},"n1820938918":{"id":"n1820938918","loc":[-85.0331374,42.0982911]},"n1820938919":{"id":"n1820938919","loc":[-85.5637331,41.965409]},"n1820938920":{"id":"n1820938920","loc":[-85.5457515,41.9714237]},"n1820938922":{"id":"n1820938922","loc":[-85.082073,42.1030104]},"n1820938923":{"id":"n1820938923","loc":[-85.0780765,42.103102]},"n1820938924":{"id":"n1820938924","loc":[-85.4208035,42.0089508]},"n1820938925":{"id":"n1820938925","loc":[-85.3469934,41.9914795]},"n1820938926":{"id":"n1820938926","loc":[-85.0322,42.095619]},"n1820938927":{"id":"n1820938927","loc":[-85.4784431,41.9949401]},"n1820938928":{"id":"n1820938928","loc":[-85.1303095,42.0667523]},"n1820938929":{"id":"n1820938929","loc":[-85.2463784,42.0084781]},"n1820938930":{"id":"n1820938930","loc":[-85.6299986,41.9427707]},"n1820938931":{"id":"n1820938931","loc":[-85.6325907,41.9238499]},"n1820938932":{"id":"n1820938932","loc":[-85.4808464,41.9914476]},"n1820938934":{"id":"n1820938934","loc":[-85.2411599,42.0105292]},"n1820938935":{"id":"n1820938935","loc":[-85.0163213,42.0892379]},"n1820938936":{"id":"n1820938936","loc":[-85.3290934,41.9682322]},"n1820938937":{"id":"n1820938937","loc":[-85.4925623,41.9853231]},"n1820938938":{"id":"n1820938938","loc":[-85.0338294,42.09892]},"n1820938940":{"id":"n1820938940","loc":[-85.4174561,42.008903]},"n1820938941":{"id":"n1820938941","loc":[-85.1165595,42.0838845]},"n1820938942":{"id":"n1820938942","loc":[-85.2954585,41.9717192]},"n1820938943":{"id":"n1820938943","loc":[-85.6330199,41.9257338]},"n1820938944":{"id":"n1820938944","loc":[-85.2294654,42.0324478]},"n1820938945":{"id":"n1820938945","loc":[-85.5601282,41.9728914]},"n1820938946":{"id":"n1820938946","loc":[-85.1176324,42.08568]},"n1820938947":{"id":"n1820938947","loc":[-85.0210245,42.0906005]},"n1820938948":{"id":"n1820938948","loc":[-85.0251887,42.09253]},"n1820938949":{"id":"n1820938949","loc":[-85.0895832,42.0939551]},"n1820938950":{"id":"n1820938950","loc":[-84.9915109,42.085842]},"n1820938951":{"id":"n1820938951","loc":[-85.2187366,42.0393486]},"n1820938952":{"id":"n1820938952","loc":[-85.006605,42.087579]},"n1820938953":{"id":"n1820938953","loc":[-85.046641,42.1012393]},"n1820938954":{"id":"n1820938954","loc":[-85.052102,42.103695]},"n1820938955":{"id":"n1820938955","loc":[-85.283925,41.9912825]},"n1820938956":{"id":"n1820938956","loc":[-85.2326626,42.0316349]},"n1820938957":{"id":"n1820938957","loc":[-85.1174298,42.0859694]},"n1820938958":{"id":"n1820938958","loc":[-85.3802056,41.9994794]},"n1820938959":{"id":"n1820938959","loc":[-85.4586334,41.9999737]},"n1820938960":{"id":"n1820938960","loc":[-85.4302234,42.0069418]},"n1820938961":{"id":"n1820938961","loc":[-85.092201,42.0930674]},"n1820938962":{"id":"n1820938962","loc":[-85.3684511,41.9979382]},"n1820938963":{"id":"n1820938963","loc":[-85.4618735,42.0011856]},"n1820938964":{"id":"n1820938964","loc":[-85.4828205,41.9877793]},"n1820938965":{"id":"n1820938965","loc":[-85.0837789,42.1025726]},"n1820938966":{"id":"n1820938966","loc":[-85.0176195,42.090253]},"n1820938967":{"id":"n1820938967","loc":[-85.3801627,42.001074]},"n1820938968":{"id":"n1820938968","loc":[-85.4767007,41.994488]},"n1820938969":{"id":"n1820938969","loc":[-85.274268,41.9957495]},"n1820938970":{"id":"n1820938970","loc":[-85.2977438,41.9719506]},"n1820938971":{"id":"n1820938971","loc":[-85.2425546,42.0208682]},"n1820938972":{"id":"n1820938972","loc":[-85.2557082,42.002382]},"n1820938973":{"id":"n1820938973","loc":[-85.3187937,41.9691986]},"n1820938975":{"id":"n1820938975","loc":[-85.2448077,42.0153045]},"n1820938977":{"id":"n1820938977","loc":[-85.0343015,42.0997718]},"n1820938978":{"id":"n1820938978","loc":[-85.2449364,42.01874]},"n1820938979":{"id":"n1820938979","loc":[-85.2598391,41.9969602]},"n1820938980":{"id":"n1820938980","loc":[-85.4294724,42.0067665]},"n1820938981":{"id":"n1820938981","loc":[-85.428082,42.0055124]},"n1820938983":{"id":"n1820938983","loc":[-85.5436315,41.9717484]},"n1820938985":{"id":"n1820938985","loc":[-85.5978336,41.9407437]},"n1820938986":{"id":"n1820938986","loc":[-85.491661,41.9860249]},"n1820938987":{"id":"n1820938987","loc":[-85.4942789,41.9801392]},"n1820938988":{"id":"n1820938988","loc":[-85.0416306,42.1010841]},"n1820938989":{"id":"n1820938989","loc":[-85.2653644,41.9984433]},"n1820938990":{"id":"n1820938990","loc":[-85.1028266,42.0881124]},"n1820938991":{"id":"n1820938991","loc":[-85.0163146,42.0887932]},"n1820938992":{"id":"n1820938992","loc":[-85.5282209,41.9678112]},"n1820938993":{"id":"n1820938993","loc":[-85.5442752,41.9715888]},"n1820938994":{"id":"n1820938994","loc":[-85.5634327,41.9658558]},"n1820938995":{"id":"n1820938995","loc":[-85.0384227,42.1037627]},"n1820938996":{"id":"n1820938996","loc":[-85.1144258,42.0854439]},"n1820938997":{"id":"n1820938997","loc":[-85.1870651,42.0506305]},"n1820938998":{"id":"n1820938998","loc":[-85.1256159,42.0747376]},"n1820938999":{"id":"n1820938999","loc":[-85.3272695,41.9715836]},"n1820939000":{"id":"n1820939000","loc":[-85.0543067,42.103098]},"n1820939001":{"id":"n1820939001","loc":[-85.4678173,41.9973585]},"n1820939003":{"id":"n1820939003","loc":[-85.0266626,42.0933154]},"n1820939004":{"id":"n1820939004","loc":[-85.0353046,42.1019728]},"n1820939005":{"id":"n1820939005","loc":[-85.1237961,42.0762798]},"n1820939006":{"id":"n1820939006","loc":[-85.2812214,41.9826702]},"n1820939007":{"id":"n1820939007","loc":[-85.2927763,41.9747343]},"n1820939008":{"id":"n1820939008","loc":[-85.3270979,41.9720862]},"n1820939009":{"id":"n1820939009","loc":[-85.488657,41.9856581]},"n1820939010":{"id":"n1820939010","loc":[-85.3087301,41.9701399]},"n1820939011":{"id":"n1820939011","loc":[-85.0276939,42.093768]},"n1820939012":{"id":"n1820939012","loc":[-85.2956516,41.9748779]},"n1820939013":{"id":"n1820939013","loc":[-85.1298579,42.0726443]},"n1820939014":{"id":"n1820939014","loc":[-85.105144,42.0870893]},"n1820939015":{"id":"n1820939015","loc":[-85.0677486,42.1053917]},"n1820939016":{"id":"n1820939016","loc":[-85.0333681,42.0993459]},"n1820939017":{"id":"n1820939017","loc":[-85.6384272,41.910805]},"n1820939018":{"id":"n1820939018","loc":[-85.399496,42.006894]},"n1820939019":{"id":"n1820939019","loc":[-85.2648427,41.9998318]},"n1820939020":{"id":"n1820939020","loc":[-85.1237424,42.0766779]},"n1820939021":{"id":"n1820939021","loc":[-85.2515025,42.0109442]},"n1820939022":{"id":"n1820939022","loc":[-85.5566306,41.9718385]},"n1820939023":{"id":"n1820939023","loc":[-85.090644,42.0938369]},"n1820939024":{"id":"n1820939024","loc":[-85.1245525,42.074914]},"n1820939025":{"id":"n1820939025","loc":[-85.1099934,42.0863926]},"n1820939026":{"id":"n1820939026","loc":[-85.1251653,42.0744589]},"n1820939027":{"id":"n1820939027","loc":[-85.401792,42.0068143]},"n1820939028":{"id":"n1820939028","loc":[-85.0094763,42.0899584]},"n1820939029":{"id":"n1820939029","loc":[-85.1330779,42.0705605]},"n1820939030":{"id":"n1820939030","loc":[-85.4935064,41.984398]},"n1820939031":{"id":"n1820939031","loc":[-85.5713334,41.9613939]},"n1820939032":{"id":"n1820939032","loc":[-85.0873945,42.0964669]},"n1820939033":{"id":"n1820939033","loc":[-85.0886497,42.0986481]},"n1820939034":{"id":"n1820939034","loc":[-85.3276343,41.9758897]},"n1820939035":{"id":"n1820939035","loc":[-85.1304386,42.0727387]},"n1820939036":{"id":"n1820939036","loc":[-85.2551932,42.0052999]},"n1820939037":{"id":"n1820939037","loc":[-85.2206936,42.0384458]},"n1820939038":{"id":"n1820939038","loc":[-85.2313645,42.0286389]},"n1820939039":{"id":"n1820939039","loc":[-85.0754586,42.1059835]},"n1820939040":{"id":"n1820939040","loc":[-85.0663324,42.1050812]},"n1820939041":{"id":"n1820939041","loc":[-85.2406234,42.0106887]},"n1820939042":{"id":"n1820939042","loc":[-85.0685962,42.1058175]},"n1820939043":{"id":"n1820939043","loc":[-85.0689462,42.1059437]},"n1820939044":{"id":"n1820939044","loc":[-85.0586144,42.1046144]},"n1820939045":{"id":"n1820939045","loc":[-85.3650565,41.9965452]},"n1820939047":{"id":"n1820939047","loc":[-85.5752558,41.9536014]},"n1820939048":{"id":"n1820939048","loc":[-85.5110159,41.9710624]},"n1820939050":{"id":"n1820939050","loc":[-85.2832641,41.9926477]},"n1820939051":{"id":"n1820939051","loc":[-85.0078402,42.0898947]},"n1820939052":{"id":"n1820939052","loc":[-85.3882737,42.0017916]},"n1820939053":{"id":"n1820939053","loc":[-85.1718945,42.0564937]},"n1820939054":{"id":"n1820939054","loc":[-85.0947048,42.0929293]},"n1820939055":{"id":"n1820939055","loc":[-85.4456944,42.0051082]},"n1820939056":{"id":"n1820939056","loc":[-85.3139872,41.9706903]},"n1820939057":{"id":"n1820939057","loc":[-85.3893895,42.0034021]},"n1820939058":{"id":"n1820939058","loc":[-85.2425332,42.0106089]},"n1820939059":{"id":"n1820939059","loc":[-85.6085624,41.9420844]},"n1820939060":{"id":"n1820939060","loc":[-85.210411,42.0397789]},"n1820939061":{"id":"n1820939061","loc":[-85.2762542,41.9960473]},"n1820939062":{"id":"n1820939062","loc":[-85.4686584,41.9969973]},"n1820939063":{"id":"n1820939063","loc":[-85.3860421,42.0018394]},"n1820939064":{"id":"n1820939064","loc":[-85.5636944,41.9644414]},"n1820939065":{"id":"n1820939065","loc":[-85.3267331,41.9766554]},"n1820939066":{"id":"n1820939066","loc":[-85.0868996,42.0943822]},"n1820939067":{"id":"n1820939067","loc":[-85.104861,42.0880038]},"n1820939068":{"id":"n1820939068","loc":[-85.5537123,41.9695093]},"n1820939069":{"id":"n1820939069","loc":[-85.6325092,41.9396743]},"n1820939070":{"id":"n1820939070","loc":[-85.3869648,42.0024454]},"n1820939071":{"id":"n1820939071","loc":[-85.2775349,41.9957335]},"n1820939072":{"id":"n1820939072","loc":[-85.2055616,42.0421533]},"n1820939073":{"id":"n1820939073","loc":[-85.4731431,41.9946531]},"n1820939074":{"id":"n1820939074","loc":[-85.0399609,42.1030833]},"n1820939075":{"id":"n1820939075","loc":[-85.3055758,41.9725169]},"n1820939076":{"id":"n1820939076","loc":[-85.4834599,41.994488]},"n1820939077":{"id":"n1820939077","loc":[-85.3819866,42.0023018]},"n1820939078":{"id":"n1820939078","loc":[-85.1218756,42.0789992]},"n1820939079":{"id":"n1820939079","loc":[-85.2793159,41.9944458]},"n1820939080":{"id":"n1820939080","loc":[-85.2495498,42.0101466]},"n1820939081":{"id":"n1820939081","loc":[-85.0035969,42.0872434]},"n1820939082":{"id":"n1820939082","loc":[-85.1054243,42.0865626]},"n1820939083":{"id":"n1820939083","loc":[-85.0917665,42.0934774]},"n1820939084":{"id":"n1820939084","loc":[-85.3442211,41.988938]},"n1820939086":{"id":"n1820939086","loc":[-85.273989,41.9953588]},"n1820939087":{"id":"n1820939087","loc":[-85.1142541,42.0852488]},"n1820939089":{"id":"n1820939089","loc":[-85.1526684,42.0615758]},"n1820939090":{"id":"n1820939090","loc":[-85.2538843,42.0110159]},"n1820939091":{"id":"n1820939091","loc":[-85.28341,41.9909635]},"n1820939092":{"id":"n1820939092","loc":[-85.3963178,42.0050217]},"n1820939093":{"id":"n1820939093","loc":[-85.0851682,42.1012472]},"n1820939095":{"id":"n1820939095","loc":[-85.2811784,41.986243]},"n1820939096":{"id":"n1820939096","loc":[-85.4274125,42.0052995]},"n1820939097":{"id":"n1820939097","loc":[-85.0871262,42.0951652]},"n1820939099":{"id":"n1820939099","loc":[-85.1314253,42.0671665]},"n1820939100":{"id":"n1820939100","loc":[-85.2778997,41.991001]},"n1820939101":{"id":"n1820939101","loc":[-85.112107,42.0862812]},"n1820939102":{"id":"n1820939102","loc":[-85.299911,41.9729955]},"n1820939103":{"id":"n1820939103","loc":[-85.639822,41.9094796]},"n1820939104":{"id":"n1820939104","loc":[-85.122294,42.0785334]},"n1820939105":{"id":"n1820939105","loc":[-85.2476294,42.015719]},"n1820939106":{"id":"n1820939106","loc":[-85.4946007,41.9814631]},"n1820939107":{"id":"n1820939107","loc":[-85.0879524,42.0986919]},"n1820939108":{"id":"n1820939108","loc":[-85.0342814,42.098274]},"n1820939109":{"id":"n1820939109","loc":[-85.2450695,42.0095463]},"n1820939110":{"id":"n1820939110","loc":[-85.3847546,42.0024135]},"n1820939111":{"id":"n1820939111","loc":[-85.2961344,41.9742558]},"n1820939112":{"id":"n1820939112","loc":[-85.27899,41.994317]},"n1820939114":{"id":"n1820939114","loc":[-85.1017644,42.0886618]},"n1820939115":{"id":"n1820939115","loc":[-85.076215,42.1056333]},"n1820939116":{"id":"n1820939116","loc":[-85.1198009,42.0805349]},"n1820939117":{"id":"n1820939117","loc":[-85.11988,42.0798513]},"n1820939118":{"id":"n1820939118","loc":[-85.147819,42.0625476]},"n1820939119":{"id":"n1820939119","loc":[-85.0585969,42.1029042]},"n1820939120":{"id":"n1820939120","loc":[-85.1248596,42.0745744]},"n1820939121":{"id":"n1820939121","loc":[-85.3023786,41.9725249]},"n1820939123":{"id":"n1820939123","loc":[-85.0119332,42.0900699]},"n1820939124":{"id":"n1820939124","loc":[-85.2466852,42.0170343]},"n1820939125":{"id":"n1820939125","loc":[-85.0033019,42.0872792]},"n1820939126":{"id":"n1820939126","loc":[-85.0042084,42.0875778]},"n1820939128":{"id":"n1820939128","loc":[-85.0052961,42.0885424]},"n1820939130":{"id":"n1820939130","loc":[-85.0647942,42.10508]},"n1820939131":{"id":"n1820939131","loc":[-85.2824123,41.9825107]},"n1820939132":{"id":"n1820939132","loc":[-85.3210039,41.9723255]},"n1820939133":{"id":"n1820939133","loc":[-85.0491033,42.1014184]},"n1820939134":{"id":"n1820939134","loc":[-85.1127776,42.0855168]},"n1820939135":{"id":"n1820939135","loc":[-85.1243768,42.0759322]},"n1820939137":{"id":"n1820939137","loc":[-85.125974,42.0747547]},"n1820939138":{"id":"n1820939138","loc":[-85.1071248,42.0859973]},"n1820939139":{"id":"n1820939139","loc":[-85.5326175,41.9674833]},"n1820939140":{"id":"n1820939140","loc":[-85.1338715,42.0660833]},"n1820939142":{"id":"n1820939142","loc":[-85.649671,41.9135675]},"n1820939144":{"id":"n1820939144","loc":[-85.0236545,42.0920444]},"n1820939145":{"id":"n1820939145","loc":[-85.1084391,42.0859376]},"n1820939146":{"id":"n1820939146","loc":[-85.1539988,42.0618626]},"n1820939147":{"id":"n1820939147","loc":[-85.2354521,42.026511]},"n1820939148":{"id":"n1820939148","loc":[-85.2362246,42.0260408]},"n1820939149":{"id":"n1820939149","loc":[-85.2401342,42.0115233]},"n1820939150":{"id":"n1820939150","loc":[-85.295319,41.9747423]},"n1820939151":{"id":"n1820939151","loc":[-85.1164696,42.0835409]},"n1820939152":{"id":"n1820939152","loc":[-85.3232891,41.9712885]},"n1820939153":{"id":"n1820939153","loc":[-85.2574463,42.0068944]},"n1820939155":{"id":"n1820939155","loc":[-85.5704064,41.9598246]},"n1820939156":{"id":"n1820939156","loc":[-85.0349077,42.0998116]},"n1820939157":{"id":"n1820939157","loc":[-85.0949529,42.0925619]},"n1820939159":{"id":"n1820939159","loc":[-85.0179829,42.0902343]},"n1820939160":{"id":"n1820939160","loc":[-85.0405832,42.1016942]},"n1820939161":{"id":"n1820939161","loc":[-85.2534015,42.0111833]},"n1820939162":{"id":"n1820939162","loc":[-85.0839881,42.102708]},"n1820939163":{"id":"n1820939163","loc":[-85.0341996,42.1008385]},"n1820939164":{"id":"n1820939164","loc":[-85.1037761,42.0879731]},"n1820939173":{"id":"n1820939173","loc":[-85.0460616,42.1005786]},"n1820939177":{"id":"n1820939177","loc":[-85.0061651,42.0878059]},"n1820939181":{"id":"n1820939181","loc":[-85.1456775,42.0654684]},"n1820939183":{"id":"n1820939183","loc":[-85.1325508,42.0718439]},"n1820939185":{"id":"n1820939185","loc":[-85.2485842,42.008329]},"n1820939187":{"id":"n1820939187","loc":[-85.2744128,41.9949322]},"n1820939189":{"id":"n1820939189","loc":[-85.2579025,41.9999542]},"n1820939191":{"id":"n1820939191","loc":[-85.3358998,41.9828987]},"n1820939193":{"id":"n1820939193","loc":[-85.3192658,41.9716714]},"n1820939194":{"id":"n1820939194","loc":[-85.6400795,41.9130725]},"n1820939195":{"id":"n1820939195","loc":[-85.3278489,41.9780591]},"n1820939196":{"id":"n1820939196","loc":[-85.2800197,41.983061]},"n1820939197":{"id":"n1820939197","loc":[-85.3278167,41.9692943]},"n1820939198":{"id":"n1820939198","loc":[-85.3366894,41.9838653]},"n1820939199":{"id":"n1820939199","loc":[-85.0328383,42.0969923]},"n1820939201":{"id":"n1820939201","loc":[-85.3259284,41.9720383]},"n1820939217":{"id":"n1820939217","loc":[-85.1840181,42.0503277]},"n1820939220":{"id":"n1820939220","loc":[-85.422563,42.0089986]},"n1820939222":{"id":"n1820939222","loc":[-85.555386,41.9707856]},"n1820939224":{"id":"n1820939224","loc":[-85.3830809,42.002254]},"n1820939226":{"id":"n1820939226","loc":[-84.9917938,42.0857517]},"n1820939227":{"id":"n1820939227","loc":[-85.2936775,41.9740484]},"n1820939228":{"id":"n1820939228","loc":[-85.2632133,41.9975024]},"n1820939229":{"id":"n1820939229","loc":[-85.2809424,41.9853259]},"n1820939230":{"id":"n1820939230","loc":[-85.242104,42.0131204]},"n1820939232":{"id":"n1820939232","loc":[-85.2610246,41.9963901]},"n1820939233":{"id":"n1820939233","loc":[-85.2335531,42.0268378]},"n1820939234":{"id":"n1820939234","loc":[-85.3188839,41.9713575]},"n1820939235":{"id":"n1820939235","loc":[-85.2413637,42.0225658]},"n1820939237":{"id":"n1820939237","loc":[-85.0010796,42.0887215]},"n1820939239":{"id":"n1820939239","loc":[-85.2241697,42.0362624]},"n1820939243":{"id":"n1820939243","loc":[-85.0368456,42.1040134]},"n1820939244":{"id":"n1820939244","loc":[-85.1327986,42.069524]},"n1820939260":{"id":"n1820939260","loc":[-85.5408163,41.9711206]},"n1820939261":{"id":"n1820939261","loc":[-85.2959199,41.9746546]},"n1820939262":{"id":"n1820939262","loc":[-85.3298659,41.9683598]},"n1820939263":{"id":"n1820939263","loc":[-85.2240581,42.0358425]},"n1820939264":{"id":"n1820939264","loc":[-85.2438206,42.0101944]},"n1820939265":{"id":"n1820939265","loc":[-85.3984489,42.0059589]},"n1820939266":{"id":"n1820939266","loc":[-85.2330811,42.0294279]},"n1820939268":{"id":"n1820939268","loc":[-85.1126877,42.0857704]},"n1820939271":{"id":"n1820939271","loc":[-85.254925,42.0106253]},"n1820939273":{"id":"n1820939273","loc":[-85.4328046,42.0064662]},"n1820939277":{"id":"n1820939277","loc":[-85.289622,41.9789616]},"n1820939279":{"id":"n1820939279","loc":[-85.4574532,42.0004043]},"n1820939281":{"id":"n1820939281","loc":[-85.4803486,41.9867211]},"n1820939283":{"id":"n1820939283","loc":[-85.157475,42.0631848]},"n1820939285":{"id":"n1820939285","loc":[-85.2571458,42.0059935]},"n1820939287":{"id":"n1820939287","loc":[-85.2818544,41.9825984]},"n1820939289":{"id":"n1820939289","loc":[-85.2298302,42.0328781]},"n1820939291":{"id":"n1820939291","loc":[-85.4819523,41.984821]},"n1820939301":{"id":"n1820939301","loc":[-85.3139765,41.9701159]},"n1820939304":{"id":"n1820939304","loc":[-85.0424447,42.101742]},"n1820939306":{"id":"n1820939306","loc":[-85.6360283,41.9338482]},"n1820939310":{"id":"n1820939310","loc":[-85.3463025,41.9913622]},"n1820939312":{"id":"n1820939312","loc":[-85.4664869,41.9988097]},"n1820939314":{"id":"n1820939314","loc":[-85.149364,42.0622449]},"n1820939316":{"id":"n1820939316","loc":[-85.2460415,42.0153125]},"n1820939318":{"id":"n1820939318","loc":[-85.4806103,41.9924523]},"n1820939320":{"id":"n1820939320","loc":[-85.2449042,42.0190987]},"n1820939322":{"id":"n1820939322","loc":[-85.5280165,41.9689263]},"n1820939324":{"id":"n1820939324","loc":[-85.0051204,42.0882625]},"n1820939326":{"id":"n1820939326","loc":[-85.1240925,42.0771546]},"n1820939329":{"id":"n1820939329","loc":[-85.2261653,42.0342225]},"n1820939331":{"id":"n1820939331","loc":[-85.5259933,41.972211]},"n1820939333":{"id":"n1820939333","loc":[-85.0074754,42.0883183]},"n1820939335":{"id":"n1820939335","loc":[-85.0764014,42.1055549]},"n1820939336":{"id":"n1820939336","loc":[-85.2908773,41.9769597]},"n1820939337":{"id":"n1820939337","loc":[-85.4095382,42.0083449]},"n1820939346":{"id":"n1820939346","loc":[-85.2514166,42.0111753]},"n1820939348":{"id":"n1820939348","loc":[-85.0030377,42.0873799]},"n1820939350":{"id":"n1820939350","loc":[-85.3659362,41.9964974]},"n1820939352":{"id":"n1820939352","loc":[-85.226058,42.0348281]},"n1820939355":{"id":"n1820939355","loc":[-85.1902408,42.0507101]},"n1820939357":{"id":"n1820939357","loc":[-85.2781854,41.9946001]},"n1820939359":{"id":"n1820939359","loc":[-85.2139988,42.0405175]},"n1820939361":{"id":"n1820939361","loc":[-85.0086609,42.0908262]},"n1820939363":{"id":"n1820939363","loc":[-85.0627128,42.1043398]},"n1820939365":{"id":"n1820939365","loc":[-85.1311346,42.072501]},"n1820939369":{"id":"n1820939369","loc":[-85.248198,42.0082652]},"n1820939370":{"id":"n1820939370","loc":[-84.99792,42.087794]},"n1820939371":{"id":"n1820939371","loc":[-85.2786775,41.9942783]},"n1820939372":{"id":"n1820939372","loc":[-85.0342103,42.1013957]},"n1820939373":{"id":"n1820939373","loc":[-85.2022357,42.0444799]},"n1820939374":{"id":"n1820939374","loc":[-85.2279205,42.0337388]},"n1820939375":{"id":"n1820939375","loc":[-85.1337699,42.0712614]},"n1820939376":{"id":"n1820939376","loc":[-85.317517,41.9707062]},"n1820939377":{"id":"n1820939377","loc":[-85.1326326,42.070218]},"n1820939394":{"id":"n1820939394","loc":[-85.0197746,42.0899118]},"n1820939397":{"id":"n1820939397","loc":[-85.2590076,41.9984632]},"n1820939399":{"id":"n1820939399","loc":[-85.2469964,42.0083449]},"n1820939400":{"id":"n1820939400","loc":[-85.2470929,42.0146668]},"n1820939401":{"id":"n1820939401","loc":[-84.9984095,42.0878087]},"n1820939402":{"id":"n1820939402","loc":[-85.2372653,42.0243273]},"n1820939403":{"id":"n1820939403","loc":[-85.2454986,42.0091955]},"n1820939404":{"id":"n1820939404","loc":[-85.0539205,42.1035995]},"n1820939405":{"id":"n1820939405","loc":[-85.550601,41.9706101]},"n1820939406":{"id":"n1820939406","loc":[-85.0351343,42.0999656]},"n1820939407":{"id":"n1820939407","loc":[-85.0082908,42.0905755]},"n1820939408":{"id":"n1820939408","loc":[-85.0132904,42.0902251]},"n1820939410":{"id":"n1820939410","loc":[-85.0892546,42.094012]},"n1820939412":{"id":"n1820939412","loc":[-85.0350793,42.1030315]},"n1820939416":{"id":"n1820939416","loc":[-85.0012406,42.0886777]},"n1820939418":{"id":"n1820939418","loc":[-85.0577453,42.1029229]},"n1820939420":{"id":"n1820939420","loc":[-85.1230786,42.0776722]},"n1820939422":{"id":"n1820939422","loc":[-85.571136,41.9649304]},"n1820939436":{"id":"n1820939436","loc":[-85.1137968,42.0848997]},"n1820939437":{"id":"n1820939437","loc":[-85.3559584,41.9925105]},"n1820939438":{"id":"n1820939438","loc":[-85.0080172,42.0903565]},"n1820939439":{"id":"n1820939439","loc":[-85.0048897,42.0880913]},"n1820939441":{"id":"n1820939441","loc":[-85.0406959,42.1018574]},"n1820939443":{"id":"n1820939443","loc":[-85.3897328,42.0029078]},"n1820939445":{"id":"n1820939445","loc":[-85.122349,42.0782814]},"n1820939448":{"id":"n1820939448","loc":[-85.4872193,41.985036]},"n1820939450":{"id":"n1820939450","loc":[-85.0120459,42.0904919]},"n1820939452":{"id":"n1820939452","loc":[-85.6320543,41.921982]},"n1820939456":{"id":"n1820939456","loc":[-85.0844749,42.1036843]},"n1820939458":{"id":"n1820939458","loc":[-85.0968037,42.091296]},"n1820939463":{"id":"n1820939463","loc":[-85.5339747,41.9681841]},"n1820939465":{"id":"n1820939465","loc":[-85.4125423,42.0072129]},"n1820939467":{"id":"n1820939467","loc":[-85.6335563,41.9303626]},"n1820939469":{"id":"n1820939469","loc":[-85.2821014,41.9932126]},"n1820939471":{"id":"n1820939471","loc":[-85.374691,41.9969917]},"n1820939485":{"id":"n1820939485","loc":[-85.4471321,42.0049806]},"n1820939487":{"id":"n1820939487","loc":[-85.3752532,41.9972206]},"n1820939489":{"id":"n1820939489","loc":[-85.4517283,42.005927]},"n1820939492":{"id":"n1820939492","loc":[-85.4662552,42.0005693]},"n1820939494":{"id":"n1820939494","loc":[-85.0120083,42.0902928]},"n1820939496":{"id":"n1820939496","loc":[-85.044463,42.1004631]},"n1820939498":{"id":"n1820939498","loc":[-85.418293,42.0089667]},"n1820939500":{"id":"n1820939500","loc":[-85.0554762,42.1027358]},"n1820939504":{"id":"n1820939504","loc":[-85.1246289,42.0746858]},"n1820939507":{"id":"n1820939507","loc":[-85.0408139,42.1021838]},"n1820939508":{"id":"n1820939508","loc":[-85.1236204,42.0775169]},"n1820939509":{"id":"n1820939509","loc":[-85.0350109,42.1037428]},"n1820939510":{"id":"n1820939510","loc":[-85.0551583,42.1029878]},"n1820939511":{"id":"n1820939511","loc":[-85.0956771,42.0916662]},"n1820939512":{"id":"n1820939512","loc":[-85.2323408,42.0273638]},"n1820939513":{"id":"n1820939513","loc":[-85.1232771,42.0762388]},"n1820939531":{"id":"n1820939531","loc":[-85.264608,41.9997828]},"n1820939533":{"id":"n1820939533","loc":[-85.4198808,42.0087914]},"n1820939535":{"id":"n1820939535","loc":[-85.3080864,41.9715677]},"n1820939536":{"id":"n1820939536","loc":[-85.1189426,42.0812596]},"n1820939537":{"id":"n1820939537","loc":[-85.2642741,41.9996764]},"n1820939538":{"id":"n1820939538","loc":[-85.2572531,42.0079627]},"n1820939539":{"id":"n1820939539","loc":[-85.2907807,41.9790174]},"n1820939540":{"id":"n1820939540","loc":[-85.3171415,41.9707301]},"n1820939541":{"id":"n1820939541","loc":[-85.08777,42.0953841]},"n1820939542":{"id":"n1820939542","loc":[-85.1239262,42.0773218]},"n1820939543":{"id":"n1820939543","loc":[-84.9973956,42.0877968]},"n1820939544":{"id":"n1820939544","loc":[-85.011606,42.0896161]},"n1820939545":{"id":"n1820939545","loc":[-85.4077358,42.0082971]},"n1820939546":{"id":"n1820939546","loc":[-85.3614945,41.9933717]},"n1820939547":{"id":"n1820939547","loc":[-85.3189118,41.9697649]},"n1820939550":{"id":"n1820939550","loc":[-85.1262691,42.0740221]},"n1820939551":{"id":"n1820939551","loc":[-85.3863639,41.9994635]},"n1820939552":{"id":"n1820939552","loc":[-85.2836034,41.9923953]},"n1820939554":{"id":"n1820939554","loc":[-85.3222377,41.9715916]},"n1820939555":{"id":"n1820939555","loc":[-85.0122658,42.0906312]},"n1820939556":{"id":"n1820939556","loc":[-85.0022652,42.0877581]},"n1820939557":{"id":"n1820939557","loc":[-85.1011314,42.0899954]},"n1820939559":{"id":"n1820939559","loc":[-85.0008181,42.0885293]},"n1820939561":{"id":"n1820939561","loc":[-85.3637046,41.9942488]},"n1820939562":{"id":"n1820939562","loc":[-85.4500117,42.0052892]},"n1820939563":{"id":"n1820939563","loc":[-85.0537636,42.1036365]},"n1820939565":{"id":"n1820939565","loc":[-85.2367503,42.0246939]},"n1820939566":{"id":"n1820939566","loc":[-85.0448479,42.1002653]},"n1820939567":{"id":"n1820939567","loc":[-85.6337065,41.9295006]},"n1820939568":{"id":"n1820939568","loc":[-85.0879792,42.095623]},"n1820939569":{"id":"n1820939569","loc":[-85.6347623,41.9352369]},"n1820939570":{"id":"n1820939570","loc":[-85.1497931,42.0620378]},"n1820939571":{"id":"n1820939571","loc":[-85.5676169,41.9656324]},"n1820939572":{"id":"n1820939572","loc":[-85.638041,41.9166971]},"n1820939573":{"id":"n1820939573","loc":[-85.4993429,41.9781293]},"n1820939574":{"id":"n1820939574","loc":[-85.5352831,41.9692127]},"n1820939575":{"id":"n1820939575","loc":[-84.9924429,42.0857118]},"n1820939577":{"id":"n1820939577","loc":[-85.0581101,42.1026721]},"n1820939578":{"id":"n1820939578","loc":[-85.641088,41.9094477]},"n1820939579":{"id":"n1820939579","loc":[-85.2548821,42.0052282]},"n1820939580":{"id":"n1820939580","loc":[-85.1124463,42.0859734]},"n1820939581":{"id":"n1820939581","loc":[-85.1083479,42.0857624]},"n1820939583":{"id":"n1820939583","loc":[-85.1387424,42.0648893]},"n1820939584":{"id":"n1820939584","loc":[-85.5152645,41.9700892]},"n1820939585":{"id":"n1820939585","loc":[-85.5463738,41.9713439]},"n1820939586":{"id":"n1820939586","loc":[-85.360207,41.9933717]},"n1820939587":{"id":"n1820939587","loc":[-85.2402372,42.0120917]},"n1820939588":{"id":"n1820939588","loc":[-85.3936381,42.0047255]},"n1820939589":{"id":"n1820939589","loc":[-85.3310246,41.973784]},"n1820939590":{"id":"n1820939590","loc":[-85.0329403,42.096642]},"n1820939591":{"id":"n1820939591","loc":[-85.0097271,42.0910981]},"n1820939593":{"id":"n1820939593","loc":[-85.0446562,42.1003437]},"n1820939595":{"id":"n1820939595","loc":[-85.0856671,42.1008452]},"n1820939596":{"id":"n1820939596","loc":[-85.4087228,42.0083449]},"n1820939597":{"id":"n1820939597","loc":[-85.0609519,42.1052564]},"n1820939598":{"id":"n1820939598","loc":[-85.3432126,41.9874548]},"n1820939599":{"id":"n1820939599","loc":[-85.4041738,42.0067027]},"n1820939600":{"id":"n1820939600","loc":[-85.0825437,42.1035768]},"n1820939601":{"id":"n1820939601","loc":[-85.048422,42.101498]},"n1820939602":{"id":"n1820939602","loc":[-85.0336256,42.0999031]},"n1820939603":{"id":"n1820939603","loc":[-85.046818,42.1014104]},"n1820939605":{"id":"n1820939605","loc":[-85.2856524,41.98078]},"n1820939607":{"id":"n1820939607","loc":[-85.1118173,42.0864245]},"n1820939609":{"id":"n1820939609","loc":[-85.0443397,42.1006263]},"n1820939610":{"id":"n1820939610","loc":[-85.0336698,42.0978361]},"n1820939611":{"id":"n1820939611","loc":[-85.4630322,42.0014248]},"n1820939612":{"id":"n1820939612","loc":[-85.0613127,42.1052353]},"n1820939613":{"id":"n1820939613","loc":[-85.0137571,42.0887801]},"n1820939614":{"id":"n1820939614","loc":[-85.272487,41.9982013]},"n1820939616":{"id":"n1820939616","loc":[-85.4665727,41.9983791]},"n1820939617":{"id":"n1820939617","loc":[-85.1288078,42.0725476]},"n1820939618":{"id":"n1820939618","loc":[-85.4653282,42.00109]},"n1820939619":{"id":"n1820939619","loc":[-85.2314717,42.0276746]},"n1820939620":{"id":"n1820939620","loc":[-85.255982,42.0003569]},"n1820939621":{"id":"n1820939621","loc":[-85.2886779,41.9787223]},"n1820939622":{"id":"n1820939622","loc":[-85.22438,42.0367509]},"n1820939623":{"id":"n1820939623","loc":[-85.0334713,42.0998382]},"n1820939624":{"id":"n1820939624","loc":[-85.2236504,42.037484]},"n1820939625":{"id":"n1820939625","loc":[-85.636908,41.9175162]},"n1820939627":{"id":"n1820939627","loc":[-85.2669187,41.9989707]},"n1820939628":{"id":"n1820939628","loc":[-85.3247268,41.9720702]},"n1820939629":{"id":"n1820939629","loc":[-85.3785104,41.9987299]},"n1820939630":{"id":"n1820939630","loc":[-85.5267658,41.9720515]},"n1820939631":{"id":"n1820939631","loc":[-85.2445116,42.0098811]},"n1820939632":{"id":"n1820939632","loc":[-85.1271448,42.0725077]},"n1820939633":{"id":"n1820939633","loc":[-85.0345751,42.099724]},"n1820939634":{"id":"n1820939634","loc":[-85.4217476,42.0089986]},"n1820939635":{"id":"n1820939635","loc":[-85.3121848,41.9689433]},"n1820939636":{"id":"n1820939636","loc":[-85.2826419,41.9929985]},"n1820939637":{"id":"n1820939637","loc":[-85.3160257,41.9706344]},"n1820939638":{"id":"n1820939638","loc":[-85.5684967,41.9657919]},"n1820939640":{"id":"n1820939640","loc":[-85.225131,42.0356194]},"n1820939642":{"id":"n1820939642","loc":[-85.1324124,42.0693328]},"n1820939644":{"id":"n1820939644","loc":[-84.9994073,42.0878843]},"n1820939645":{"id":"n1820939645","loc":[-85.1087596,42.0863329]},"n1820939646":{"id":"n1820939646","loc":[-85.2915532,41.9782996]},"n1820939647":{"id":"n1820939647","loc":[-84.9988708,42.0877808]},"n1820939648":{"id":"n1820939648","loc":[-85.2243628,42.0356728]},"n1820939649":{"id":"n1820939649","loc":[-85.0427397,42.1020524]},"n1820939650":{"id":"n1820939650","loc":[-85.6388392,41.9100752]},"n1820939651":{"id":"n1820939651","loc":[-85.0133709,42.0888557]},"n1820939652":{"id":"n1820939652","loc":[-85.318798,41.9701211]},"n1820939653":{"id":"n1820939653","loc":[-85.6335778,41.9190602]},"n1820939654":{"id":"n1820939654","loc":[-85.6338396,41.9370247]},"n1820939655":{"id":"n1820939655","loc":[-85.0939069,42.0931988]},"n1820939656":{"id":"n1820939656","loc":[-85.5702347,41.9651378]},"n1820939657":{"id":"n1820939657","loc":[-85.4235286,42.0088392]},"n1820939658":{"id":"n1820939658","loc":[-85.2740856,41.9972206]},"n1820939659":{"id":"n1820939659","loc":[-85.4824299,41.9934195]},"n1820939660":{"id":"n1820939660","loc":[-85.3857846,42.0014408]},"n1820939661":{"id":"n1820939661","loc":[-85.0451658,42.10028]},"n1820939662":{"id":"n1820939662","loc":[-85.3893036,42.001377]},"n1820939664":{"id":"n1820939664","loc":[-85.2455845,42.0088607]},"n1820939665":{"id":"n1820939665","loc":[-85.2741071,41.9951116]},"n1820939666":{"id":"n1820939666","loc":[-85.1298375,42.0677718]},"n1820939667":{"id":"n1820939667","loc":[-85.5491848,41.9707377]},"n1820939669":{"id":"n1820939669","loc":[-85.2780298,41.995238]},"n1820939670":{"id":"n1820939670","loc":[-85.1330068,42.0716926]},"n1820939671":{"id":"n1820939671","loc":[-85.0811342,42.1025129]},"n1820939672":{"id":"n1820939672","loc":[-85.2325124,42.0290135]},"n1820939673":{"id":"n1820939673","loc":[-85.2975077,41.9716953]},"n1820939674":{"id":"n1820939674","loc":[-85.0951729,42.0922394]},"n1820939676":{"id":"n1820939676","loc":[-85.0363252,42.1043119]},"n1820939677":{"id":"n1820939677","loc":[-85.2960057,41.97349]},"n1820939678":{"id":"n1820939678","loc":[-85.3701849,41.9982515]},"n1820939679":{"id":"n1820939679","loc":[-85.3381486,41.9848861]},"n1820939680":{"id":"n1820939680","loc":[-85.2058448,42.0417286]},"n1820939682":{"id":"n1820939682","loc":[-85.0819335,42.1034443]},"n1820939683":{"id":"n1820939683","loc":[-85.3872223,41.9993359]},"n1820939684":{"id":"n1820939684","loc":[-85.095366,42.091909]},"n1820939685":{"id":"n1820939685","loc":[-85.2327914,42.0291888]},"n1820939686":{"id":"n1820939686","loc":[-85.0433459,42.1018773]},"n1820939687":{"id":"n1820939687","loc":[-85.0585339,42.1027318]},"n1820939688":{"id":"n1820939688","loc":[-85.0062885,42.0876347]},"n1820939689":{"id":"n1820939689","loc":[-85.246299,42.017377]},"n1820939690":{"id":"n1820939690","loc":[-85.2932376,41.9742877]},"n1820939691":{"id":"n1820939691","loc":[-85.2962846,41.9736815]},"n1820939692":{"id":"n1820939692","loc":[-85.6052365,41.9409193]},"n1820939693":{"id":"n1820939693","loc":[-85.2570536,42.0003341]},"n1820939694":{"id":"n1820939694","loc":[-85.0488458,42.1014064]},"n1820939695":{"id":"n1820939695","loc":[-85.4050321,42.0069578]},"n1820939696":{"id":"n1820939696","loc":[-85.4847517,41.9845894]},"n1820939697":{"id":"n1820939697","loc":[-85.0844655,42.1013826]},"n1820939698":{"id":"n1820939698","loc":[-85.1437206,42.0650008]},"n1820939699":{"id":"n1820939699","loc":[-85.1168183,42.0864034]},"n1820939700":{"id":"n1820939700","loc":[-85.5479831,41.9711366]},"n1820939701":{"id":"n1820939701","loc":[-85.0349948,42.1034124]},"n1820939702":{"id":"n1820939702","loc":[-85.0835589,42.1038821]},"n1820939703":{"id":"n1820939703","loc":[-85.0203875,42.0902649]},"n1820939704":{"id":"n1820939704","loc":[-85.0371191,42.1038184]},"n1820939705":{"id":"n1820939705","loc":[-85.1273312,42.0735681]},"n1820939707":{"id":"n1820939707","loc":[-85.1272239,42.0730226]},"n1820939710":{"id":"n1820939710","loc":[-85.0349881,42.1019012]},"n1820939712":{"id":"n1820939712","loc":[-85.2440459,42.0178313]},"n1820939713":{"id":"n1820939713","loc":[-85.2444751,42.0182618]},"n1820939714":{"id":"n1820939714","loc":[-85.0539996,42.1032863]},"n1820939715":{"id":"n1820939715","loc":[-85.2215905,42.0373246]},"n1820939716":{"id":"n1820939716","loc":[-85.0649712,42.1051994]},"n1820939717":{"id":"n1820939717","loc":[-85.0927146,42.0927581]},"n1820939718":{"id":"n1820939718","loc":[-85.3884668,42.0042312]},"n1820939719":{"id":"n1820939719","loc":[-85.0840672,42.1013241]},"n1820939720":{"id":"n1820939720","loc":[-85.304739,41.9725408]},"n1820939721":{"id":"n1820939721","loc":[-85.2243585,42.0371334]},"n1820939722":{"id":"n1820939722","loc":[-85.0599823,42.1049686]},"n1820939723":{"id":"n1820939723","loc":[-85.0298825,42.0944288]},"n1820939724":{"id":"n1820939724","loc":[-85.0366095,42.1042443]},"n1820939725":{"id":"n1820939725","loc":[-85.0698783,42.1058135]},"n1820939726":{"id":"n1820939726","loc":[-85.1054551,42.0873361]},"n1820939727":{"id":"n1820939727","loc":[-84.9952324,42.0864285]},"n1820939728":{"id":"n1820939728","loc":[-85.3442211,41.9897993]},"n1820939729":{"id":"n1820939729","loc":[-85.4386134,42.0056822]},"n1820939730":{"id":"n1820939730","loc":[-85.2438528,42.0146589]},"n1820939731":{"id":"n1820939731","loc":[-85.0355581,42.1041846]},"n1820939732":{"id":"n1820939732","loc":[-85.557682,41.9724447]},"n1820939734":{"id":"n1820939734","loc":[-85.2299418,42.033314]},"n1820939735":{"id":"n1820939735","loc":[-85.6297412,41.9419088]},"n1820939736":{"id":"n1820939736","loc":[-85.2645101,41.9980259]},"n1820939738":{"id":"n1820939738","loc":[-85.082195,42.1035649]},"n1820939739":{"id":"n1820939739","loc":[-85.234272,42.0267102]},"n1820939740":{"id":"n1820939740","loc":[-85.0130758,42.0895006]},"n1820939741":{"id":"n1820939741","loc":[-85.4594702,42.0000375]},"n1820939742":{"id":"n1820939742","loc":[-84.9946745,42.0863687]},"n1820939743":{"id":"n1820939743","loc":[-85.6438775,41.9120186]},"n1820939744":{"id":"n1820939744","loc":[-85.6372685,41.9168089]},"n1820939745":{"id":"n1820939745","loc":[-85.2789468,41.9893208]},"n1820939747":{"id":"n1820939747","loc":[-85.3775019,41.998427]},"n1820939749":{"id":"n1820939749","loc":[-85.0993571,42.0909178]},"n1820939750":{"id":"n1820939750","loc":[-85.1308503,42.0669339]},"n1820939751":{"id":"n1820939751","loc":[-85.4802566,41.9856659]},"n1820939752":{"id":"n1820939752","loc":[-85.2543563,42.0108804]},"n1820939753":{"id":"n1820939753","loc":[-85.1041033,42.0878815]},"n1820939755":{"id":"n1820939755","loc":[-85.4000969,42.0071651]},"n1820939757":{"id":"n1820939757","loc":[-85.3858275,42.0022381]},"n1820939758":{"id":"n1820939758","loc":[-85.3653998,41.996609]},"n1820939759":{"id":"n1820939759","loc":[-85.2432949,42.0202305]},"n1820939760":{"id":"n1820939760","loc":[-85.3878874,42.0042472]},"n1820939761":{"id":"n1820939761","loc":[-85.2516741,42.0114145]},"n1820939762":{"id":"n1820939762","loc":[-85.2788825,41.9865142]},"n1820939763":{"id":"n1820939763","loc":[-85.0009147,42.0886686]},"n1820939764":{"id":"n1820939764","loc":[-85.3918142,42.003434]},"n1820939765":{"id":"n1820939765","loc":[-85.5532832,41.9696848]},"n1820939766":{"id":"n1820939766","loc":[-85.5545063,41.969254]},"n1820939768":{"id":"n1820939768","loc":[-85.1327989,42.0704769]},"n1820939770":{"id":"n1820939770","loc":[-85.0588558,42.1047696]},"n1820939772":{"id":"n1820939772","loc":[-85.555798,41.9713017]},"n1820939773":{"id":"n1820939773","loc":[-85.0565853,42.1023589]},"n1820939774":{"id":"n1820939774","loc":[-85.2582941,41.9992765]},"n1820939775":{"id":"n1820939775","loc":[-85.3007264,41.9727642]},"n1820939776":{"id":"n1820939776","loc":[-85.2477045,42.0082652]},"n1820939777":{"id":"n1820939777","loc":[-85.2415247,42.0104973]},"n1821006698":{"id":"n1821006698","loc":[-85.6345227,41.9382009]},"n1821006700":{"id":"n1821006700","loc":[-85.6344894,41.938975]},"n1821006704":{"id":"n1821006704","loc":[-85.6351181,41.9370157]},"n1821006706":{"id":"n1821006706","loc":[-85.6357554,41.9361657]},"n1821006708":{"id":"n1821006708","loc":[-85.6351235,41.9368481]},"n1821006710":{"id":"n1821006710","loc":[-85.6352844,41.9364211]},"n1821006712":{"id":"n1821006712","loc":[-85.6351503,41.937307]},"n1821006716":{"id":"n1821006716","loc":[-85.6350366,41.9379774]},"n1821006725":{"id":"n1821006725","loc":[-85.6352147,41.9375903]},"n1821137607":{"id":"n1821137607","loc":[-85.5297057,41.9669915]},"n1821137608":{"id":"n1821137608","loc":[-85.5288598,41.9673094]},"n1821139530":{"id":"n1821139530","loc":[-85.4832228,41.9881686]},"n1821139531":{"id":"n1821139531","loc":[-85.4812101,41.9851258]},"n1821139532":{"id":"n1821139532","loc":[-85.4799127,41.9860244]},"n1821139533":{"id":"n1821139533","loc":[-85.4800313,41.9865555]},"n1841425201":{"id":"n1841425201","loc":[-85.4334577,42.0063713]},"n1841425222":{"id":"n1841425222","loc":[-85.4382449,42.0055785]},"n1914861007":{"id":"n1914861007","loc":[-85.394959,42.0057472]},"n1914861057":{"id":"n1914861057","loc":[-85.3967185,42.0049695]},"n1914861112":{"id":"n1914861112","loc":[-85.394179,42.0056906]},"n1914861306":{"id":"n1914861306","loc":[-85.3900226,42.0028488]},"n2114807565":{"id":"n2114807565","loc":[-85.6385979,41.9577824]},"n2114807568":{"id":"n2114807568","loc":[-85.6325097,41.9775713]},"n2114807572":{"id":"n2114807572","loc":[-85.6328996,41.9980965]},"n2114807578":{"id":"n2114807578","loc":[-85.6344818,41.9696956]},"n2114807583":{"id":"n2114807583","loc":[-85.6326289,41.9757853]},"n2114807593":{"id":"n2114807593","loc":[-85.6360828,41.9650674]},"n2130304159":{"id":"n2130304159","loc":[-85.6352537,41.9450015],"tags":{"railway":"level_crossing"}},"n2139795852":{"id":"n2139795852","loc":[-85.6374708,41.9311633]},"n2139858882":{"id":"n2139858882","loc":[-85.635178,41.9356158]},"n2139858883":{"id":"n2139858883","loc":[-85.63533,41.9355886]},"n2139858884":{"id":"n2139858884","loc":[-85.6353819,41.93556]},"n2139858885":{"id":"n2139858885","loc":[-85.6353665,41.9355157]},"n2139858886":{"id":"n2139858886","loc":[-85.6353165,41.9354971]},"n2139858887":{"id":"n2139858887","loc":[-85.6352454,41.9355328]},"n2139858888":{"id":"n2139858888","loc":[-85.6350184,41.9357846]},"n2139858889":{"id":"n2139858889","loc":[-85.634978,41.9359448]},"n2139858890":{"id":"n2139858890","loc":[-85.6347723,41.9361523]},"n2139858891":{"id":"n2139858891","loc":[-85.6347165,41.9362667]},"n2139858892":{"id":"n2139858892","loc":[-85.6346992,41.9364312]},"n2139858893":{"id":"n2139858893","loc":[-85.634603,41.9366329]},"n2139858894":{"id":"n2139858894","loc":[-85.6345973,41.9367488]},"n2139858895":{"id":"n2139858895","loc":[-85.6345127,41.9369734]},"n2139858896":{"id":"n2139858896","loc":[-85.634478,41.9371923]},"n2139858897":{"id":"n2139858897","loc":[-85.6344838,41.9373768]},"n2139858898":{"id":"n2139858898","loc":[-85.6346242,41.9375299]},"n2139858899":{"id":"n2139858899","loc":[-85.6347723,41.9376357]},"n2139858900":{"id":"n2139858900","loc":[-85.6347607,41.9377788]},"n2139858901":{"id":"n2139858901","loc":[-85.6346204,41.9379533]},"n2139858902":{"id":"n2139858902","loc":[-85.6344184,41.9380105]},"n2139858903":{"id":"n2139858903","loc":[-85.6341627,41.9380406]},"n2139858904":{"id":"n2139858904","loc":[-85.634005,41.9381679]},"n2139858905":{"id":"n2139858905","loc":[-85.63393,41.9383353]},"n2139858906":{"id":"n2139858906","loc":[-85.6338588,41.9384597]},"n2139858907":{"id":"n2139858907","loc":[-85.6336627,41.9387759]},"n2139858908":{"id":"n2139858908","loc":[-85.6335127,41.9389361]},"n2139858933":{"id":"n2139858933","loc":[-85.6353118,41.9432646]},"n2139858934":{"id":"n2139858934","loc":[-85.6353952,41.9433002]},"n2139858935":{"id":"n2139858935","loc":[-85.6356496,41.9433255]},"n2139858936":{"id":"n2139858936","loc":[-85.6363128,41.9433373]},"n2139858937":{"id":"n2139858937","loc":[-85.6365467,41.9433779]},"n2139858938":{"id":"n2139858938","loc":[-85.6368692,41.9435265]},"n2139858939":{"id":"n2139858939","loc":[-85.6370986,41.9437039]},"n2139858940":{"id":"n2139858940","loc":[-85.6372371,41.9437732]},"n2139858941":{"id":"n2139858941","loc":[-85.6374756,41.9438171]},"n2139858942":{"id":"n2139858942","loc":[-85.6376164,41.9439286]},"n2139858943":{"id":"n2139858943","loc":[-85.6377504,41.944138]},"n2139858944":{"id":"n2139858944","loc":[-85.6384204,41.9443137]},"n2139858945":{"id":"n2139858945","loc":[-85.6385726,41.9444506]},"n2139858946":{"id":"n2139858946","loc":[-85.638702,41.9445739]},"n2139858947":{"id":"n2139858947","loc":[-85.6387179,41.9446516]},"n2139858948":{"id":"n2139858948","loc":[-85.6387088,41.9447985]},"n2139858949":{"id":"n2139858949","loc":[-85.6387656,41.9449877]},"n2139858950":{"id":"n2139858950","loc":[-85.638777,41.9451448]},"n2139858951":{"id":"n2139858951","loc":[-85.6387088,41.9452631]},"n2139858964":{"id":"n2139858964","loc":[-85.6383346,41.9442912]},"n2139858966":{"id":"n2139858966","loc":[-85.6384724,41.9443605]},"n2139858967":{"id":"n2139858967","loc":[-85.6354078,41.9434285]},"n2139858968":{"id":"n2139858968","loc":[-85.635271,41.943654]},"n2139858969":{"id":"n2139858969","loc":[-85.6352657,41.9437437]},"n2139858970":{"id":"n2139858970","loc":[-85.635271,41.9438195]},"n2139858971":{"id":"n2139858971","loc":[-85.6351563,41.9438906]},"n2139858972":{"id":"n2139858972","loc":[-85.6351384,41.9438882]},"n2139858973":{"id":"n2139858973","loc":[-85.6351514,41.9438034]},"n2139858974":{"id":"n2139858974","loc":[-85.6351237,41.9436641]},"n2139858975":{"id":"n2139858975","loc":[-85.6351498,41.9436108]},"n2139858976":{"id":"n2139858976","loc":[-85.6351058,41.9435345]},"n2139858977":{"id":"n2139858977","loc":[-85.6349641,41.9432051]},"n2139858986":{"id":"n2139858986","loc":[-85.6341205,41.9380746]},"n2139858990":{"id":"n2139858990","loc":[-85.6345671,41.9381816]},"n2139858995":{"id":"n2139858995","loc":[-85.6339783,41.9382273]},"n2139859003":{"id":"n2139859003","loc":[-85.6340477,41.9373489]},"n2139859004":{"id":"n2139859004","loc":[-85.6339784,41.9374752]},"n2139870406":{"id":"n2139870406","loc":[-85.6342265,41.9432605]},"n2139877106":{"id":"n2139877106","loc":[-85.6346323,41.9438746]},"n2139982399":{"id":"n2139982399","loc":[-85.6324055,41.9408537]},"n2139982400":{"id":"n2139982400","loc":[-85.632488,41.941063],"tags":{"leisure":"slipway"}},"n2139982401":{"id":"n2139982401","loc":[-85.6327261,41.9415366]},"n2139982402":{"id":"n2139982402","loc":[-85.6326391,41.9413598]},"n2139982403":{"id":"n2139982403","loc":[-85.6327041,41.9414391]},"n2139982405":{"id":"n2139982405","loc":[-85.6322891,41.9406009]},"n2139982406":{"id":"n2139982406","loc":[-85.6325412,41.9425257]},"n2139989333":{"id":"n2139989333","loc":[-85.6340584,41.9431731]},"n2140006331":{"id":"n2140006331","loc":[-85.6361751,41.9459744]},"n2140006334":{"id":"n2140006334","loc":[-85.636528,41.9459751]},"n2140006336":{"id":"n2140006336","loc":[-85.6370918,41.9458926]},"n2140006338":{"id":"n2140006338","loc":[-85.6378806,41.9456474]},"n2140006340":{"id":"n2140006340","loc":[-85.6385831,41.9454343]},"n2140006342":{"id":"n2140006342","loc":[-85.639341,41.945157]},"n2140006344":{"id":"n2140006344","loc":[-85.6393497,41.9450232]},"n2140006346":{"id":"n2140006346","loc":[-85.6388245,41.9450145]},"n2140006348":{"id":"n2140006348","loc":[-85.6388167,41.9441739]},"n2140006351":{"id":"n2140006351","loc":[-85.6382915,41.9441797]},"n2140006353":{"id":"n2140006353","loc":[-85.63828,41.9438109]},"n2140006355":{"id":"n2140006355","loc":[-85.6381949,41.9436009]},"n2140006357":{"id":"n2140006357","loc":[-85.6371904,41.9435918]},"n2140006359":{"id":"n2140006359","loc":[-85.6366966,41.9432727]},"n2140006361":{"id":"n2140006361","loc":[-85.6353755,41.9432744]},"n2140006365":{"id":"n2140006365","loc":[-85.6350906,41.9435472]},"n2140006366":{"id":"n2140006366","loc":[-85.6343461,41.9441573]},"n2140006395":{"id":"n2140006395","loc":[-85.6351171,41.9437175]},"n2140006397":{"id":"n2140006397","loc":[-85.635352,41.9450206]},"n2140006399":{"id":"n2140006399","loc":[-85.6358194,41.9454937]},"n2140006401":{"id":"n2140006401","loc":[-85.6348693,41.9445739]},"n2140006431":{"id":"n2140006431","loc":[-85.6376737,41.9438023]},"n2140006437":{"id":"n2140006437","loc":[-85.6382631,41.9442724]},"n2189123379":{"id":"n2189123379","loc":[-85.6342671,41.9352665]},"w203974076":{"id":"w203974076","tags":{"highway":"footway"},"nodes":["n2139870442","n2139870457","n2139870458","n2139870459","n2139870460","n2139870452"]},"w170989131":{"id":"w170989131","tags":{"name":"St Joseph River","waterway":"river"},"nodes":["n1820938225","n1820938712","n1820937596","n1820937574","n1820938515","n1820938330","n1820938678","n1820938240","n1820938950","n1820939226","n1820939575","n1820937913","n1820938223","n1820937668","n1820938545","n1820937584","n1820939742","n1820939727","n1820937578","n1820938149","n1820938124","n1820938888","n1820938898","n1820937922","n1820939543","n1820939370","n1820939401","n1820939647","n1820938345","n1820939644","n1820938333","n1820938370","n1820938624","n1820938493","n1820939559","n1820939763","n1820939237","n1820939416","n1820937810","n1820938317","n1820938324","n1820937558","n1820939556","n1820938298","n1820939348","n1820939125","n1820939081","n1820938859","n1820939126","n1820938881","n1820939439","n1820939324","n1820939128","n1820938101","n1820937706","n1820938382","n1820938776","n1820937815","n1820939177","n1820939688","n1820938952","n1820938216","n1820938387","n1820939333","n1820938243","n1820938248","n1820937666","n1820939051","n1820938332","n1820939438","n1820939407","n1820939361","n1820937517","n1820938770","n1820939591","n1820937857","n1820938491","n1820937993","n1820938125","n1820938166","n1820937746","n1820939028","n1820937638","n1820938676","n1820938843","n1820938844","n1820937978","n1820938730","n1820939544","n1820938304","n1820939123","n1820939494","n1820939450","n1820939555","n1820938133","n1820938129","n1820938871","n1820939408","n1820938669","n1820938260","n1820939740","n1820937625","n1820938631","n1820939651","n1820939613","n1820937850","n1820938325","n1820937736","n1820938804","n1820938837","n1820938014","n1820938991","n1820938722","n1820938935","n1820937870","n1820938432","n1820937986","n1820938756","n1820938966","n1820939159","n1820937744","n1820938334","n1820937645","n1820939394","n1820937656","n1820938392","n1820939703","n1820938385","n1820938947","n1820938854","n1820938428","n1820938488","n1820938269","n1820938668","n1820938268","n1820938707","n1820937732","n1820939144","n1820938481","n1820938771","n1820938686","n1820938948","n1820937997","n1820937769","n1820939003","n1820938083","n1820939011","n1820938803","n1820938700","n1820939723","n1820938808","n1820938262","n1820938081","n1820938926","n1820938326","n1820938102","n1820938508","n1820939590","n1820939199","n1820938084","n1820938870","n1820938895","n1820937611","n1820938918","n1820938514","n1820939610","n1820938910","n1820937523","n1820938127","n1820939108","n1820937981","n1820938938","n1820938715","n1820939016","n1820938237","n1820939623","n1820939602","n1820937734","n1820938977","n1820939633","n1820939156","n1820939406","n1820938279","n1820938301","n1820937678","n1820937671","n1820939163","n1820938356","n1820939372","n1820937568","n1820937626","n1820939710","n1820939004","n1820938253","n1820938571","n1820937513","n1820939412","n1820939701","n1820939509","n1820938839","n1820939731","n1820937798","n1820939676","n1820939724","n1820939243","n1820939704","n1820937814","n1820937599","n1820938199","n1820938995","n1820938445","n1820938069","n1820938470","n1820939074","n1820938193","n1820938740","n1820938047","n1820939507","n1820939441","n1820939160","n1820937849","n1820937840","n1820938052","n1820938988","n1820938796","n1820937724","n1820937620","n1820939304","n1820938343","n1820939649","n1820938875","n1820939686","n1820938476","n1820937801","n1820937737","n1820938264","n1820939609","n1820939496","n1820939593","n1820939566","n1820939661","n1820937782","n1820938912","n1820939173","n1820937733","n1820938953","n1820939603","n1820937607","n1820938468","n1820939601","n1820939694","n1820939133","n1820938897","n1820938893","n1820937831","n1820937730","n1820938820","n1820938046","n1820938426","n1820938347","n1820937582","n1820938954","n1820938033","n1820938104","n1820938680","n1820939563","n1820939404","n1820939714","n1820939000","n1820937992","n1820938168","n1820939510","n1820939500","n1820937509","n1820938865","n1820939773","n1820938138","n1820938905","n1820937623","n1820939418","n1820937946","n1820939577","n1820937615","n1820939687","n1820939119","n1820937988","n1820938337","n1820937750","n1820938703","n1820938339","n1820939044","n1820939770","n1820938913","n1820937672","n1820939722","n1820937768","n1820939597","n1820939612","n1820937699","n1820937682","n1820937669","n1820937657","n1820939363","n1820937800","n1820938265","n1820937760","n1820938207","n1820938115","n1820939130","n1820939716","n1820938338","n1820938239","n1820939040","n1820938064","n1820938855","n1820939015","n1820938258","n1820939042","n1820939043","n1820938443","n1820939725","n1820937675","n1820938568","n1820938280","n1820937705","n1820938775","n1820938636","n1820938626","n1820937859","n1820938096","n1820937852","n1820939039","n1820938247","n1820938585","n1820937707","n1820938117","n1820938909","n1820939115","n1820939335","n1820938805","n1820937935","n1820937876","n1820938699","n1820937869","n1820938603","n1820938100","n1820938500","n1820938283","n1820938275","n1820938923","n1820938365","n1820938349","n1820937804","n1820937903","n1820937608","n1820938688","n1820939671","n1820938092","n1820937820","n1820938753","n1820938922","n1820937990","n1820939682","n1820939738","n1820939600","n1820938167","n1820937726","n1820939702","n1820938209","n1820939456","n1820937837","n1820938222","n1820938902","n1820939162","n1820938965","n1820938461","n1820937681","n1820937514","n1820937764","n1820939719","n1820939697","n1820938899","n1820939093","n1820938702","n1820939595","n1820938749","n1820938348","n1820937606","n1820938675","n1820938830","n1820938737","n1820938758","n1820938716","n1820939107","n1820937863","n1820939033","n1820938163","n1820937867","n1820938819","n1820938034","n1820938252","n1820937563","n1820937868","n1820939032","n1820938632","n1820937982","n1820937943","n1820939568","n1820939541","n1820938215","n1820939097","n1820938812","n1820937518","n1820937952","n1820938711","n1820938736","n1820939066","n1820937591","n1820938082","n1820938108","n1820938496","n1820939410","n1820938949","n1820938327","n1820937708","n1820939023","n1820937772","n1820938256","n1820939083","n1820938378","n1820938961","n1820937610","n1820939717","n1820938695","n1820938590","n1820939655","n1820938341","n1820939054","n1820939157","n1820939674","n1820939684","n1820939511","n1820937631","n1820939458","n1820937830","n1820937709","n1820937779","n1820939749","n1820938880","n1820938856","n1820938557","n1820939557","n1820938249","n1820938818","n1820937594","n1820939114","n1820938416","n1820937508","n1820938990","n1820938201","n1820937759","n1820937987","n1820939164","n1820939753","n1820938187","n1820939067","n1820937586","n1820937941","n1820938121","n1820937807","n1820938521","n1820939726","n1820938244","n1820939014","n1820938741","n1820937629","n1820938664","n1820938747","n1820939082","n1820938709","n1820938320","n1820938270","n1820937619","n1820937777","n1820937718","n1820939138","n1820938056","n1820938155","n1820938596","n1820937775","n1820938437","n1820938128","n1820939581","n1820939145","n1820938546","n1820938184","n1820937601","n1820937794","n1820938539","n1820939645","n1820938438","n1820938436","n1820939025","n1820938915","n1820938534","n1820937605","n1820939607","n1820939101","n1820939580","n1820939268","n1820939134","n1820938849","n1820938754","n1820938079","n1820937842","n1820938781","n1820938873","n1820938495","n1820938381","n1820938503","n1820939436","n1820938502","n1820939087","n1820938996","n1820938449","n1820938907","n1820937979","n1820937780","n1820937546","n1820939699","n1820937677","n1820938957","n1820938946","n1820937776","n1820937717","n1820938718","n1820937637","n1820938510","n1820937663","n1820938941","n1820939151","n1820937603","n1820938250","n1820937951","n1820938630","n1820938821","n1820938779","n1820938497","n1820938159","n1820939536","n1820938409","n1820938386","n1820939116","n1820938340","n1820939117","n1820938291","n1820938435","n1820937819","n1820938242","n1820939078","n1820938877","n1820939104","n1820939445","n1820938367","n1820938903","n1820939420","n1820938517","n1820939508","n1820939542","n1820939326","n1820938210","n1820939020","n1820938815","n1820937832","n1820939513","n1820937818","n1820939005","n1820938717","n1820939135","n1820938384","n1820937587","n1820939024","n1820939504","n1820939120","n1820939026","n1820938015","n1820938998","n1820937648","n1820939137","n1820937761","n1820938195","n1820938535","n1820939550","n1820938725","n1820938282","n1820937781","n1820937792","n1820939705","n1820937788","n1820939707","n1820937882","n1820939632","n1820938427","n1820938276","n1820939617","n1820939013","n1820939035","n1820937543","n1820939365","n1820937752","n1820937802","n1820939183","n1820939670","n1820938450","n1820939375","n1820937813","n1820937673","n1820937783","n1820939029","n1820939768","n1820939377","n1820937974","n1820939244","n1820939642","n1820937864","n1820938255","n1820938528","n1820939666","n1820938120","n1820937812","n1820938928","n1820939750","n1820939099","n1820938073","n1820938714","n1820939140","n1820938192","n1820937844","n1820938635","n1820938742","n1820939583","n1820937887","n1820938318","n1820938816","n1820939698","n1820938273","n1820939181","n1820937652","n1820938748","n1820937651","n1820938519","n1820938019","n1820938752","n1820938235","n1820939118","n1820938562","n1820939314","n1820939570","n1820938190","n1820938342","n1820938533","n1820937977","n1820939089","n1820939146","n1820938622","n1820938297","n1820938524","n1820939283","n1820938874","n1820938832","n1820937550","n1820937843","n1820938638","n1820938116","n1820938206","n1820938319","n1820939053","n1820937845","n1820938093","n1820939217","n1820938997","n1820939355","n1820938861","n1820938726","n1820938057","n1820939373","n1820937862","n1820938518","n1820939072","n1820939680","n1820938444","n1820938217","n1820938506","n1820938393","n1820938492","n1820938852","n1820938221","n1820938773","n1820937684","n1820939060","n1820938224","n1820938203","n1820938840","n1820937525","n1820938147","n1820938433","n1820938188","n1820939359","n1820938750","n1820938016","n1820938768","n1820937621","n1820937799","n1820938951","n1820938721","n1820939037","n1820937866","n1820939715","n1820938063","n1820938446","n1820937627","n1820939624","n1820938431","n1820939721","n1820939622","n1820939239","n1820939263","n1820939648","n1820939640","n1820938867","n1820938757","n1820938439","n1820939352","n1820937740","n1820939329","n1820938229","n1820937583","n1820938180","n1820938366","n1820937767","n1820937758","n1820939374","n1820938869","n1820938292","n1820938400","n1820938399","n1820939734","n1820939289","n1820938944","n1820937755","n1820938759","n1820938434","n1820937600","n1820937825","n1820937670","n1820937793","n1820938011","n1820938246","n1820938956","n1820937770","n1820937757","n1820938059","n1820937860","n1820937569","n1820939266","n1820939685","n1820939672","n1820938606","n1820938772","n1820939038","n1820938211","n1820938359","n1820939619","n1820938708","n1820939512","n1820938065","n1820939233","n1820939739","n1820938786","n1820938879","n1820939147","n1820938563","n1820939148","n1820937839","n1820937659","n1820937786","n1820938419","n1820939565","n1820939402","n1820937710","n1820938254","n1820938271","n1820938390","n1820937680","n1820938140","n1820937817","n1820938218","n1820937985","n1820939235","n1820938441","n1820938401","n1820938719","n1820937795","n1820938971","n1820938460","n1820939759","n1820937972","n1820937841","n1820938462","n1820939320","n1820938978","n1820938360","n1820939713","n1820937676","n1820939712","n1820937939","n1820938080","n1820937754","n1820937753","n1820938530","n1820937886","n1820939689","n1820939124","n1820938697","n1820938789","n1820939105","n1820938860","n1820938853","n1820939400","n1820937561","n1820938404","n1820938774","n1820939316","n1820937696","n1820938782","n1820938975","n1820937564","n1820939730","n1820938257","n1820937853","n1820938487","n1820938848","n1820938906","n1820939230","n1820938424","n1820938051","n1820937771","n1820939587","n1820939149","n1820938792","n1820939041","n1820938934","n1820939777","n1820937515","n1820939058","n1820938312","n1820939264","n1820939631","n1820939109","n1820939403","n1820939664","n1820938724","n1820938929","n1820939399","n1820939776","n1820939369","n1820939185","n1820937701","n1820938126","n1820938336","n1820938219","n1820939080","n1820938642","n1820938043","n1820937725","n1820938548","n1820938552","n1820938035","n1820938684","n1820937778","n1820938764","n1820939021","n1820939346","n1820937712","n1820939761","n1820938397","n1820937747","n1820938566","n1820939161","n1820939090","n1820939752","n1820939271","n1820938878","n1820938110","n1820938346","n1820938499","n1820938151","n1820939538","n1820938281","n1820939153","n1820938551","n1820939285","n1820938197","n1820938408","n1820938482","n1820939036","n1820939579","n1820938489","n1820938483","n1820938189","n1820938123","n1820938087","n1820937741","n1820938485","n1820937590","n1820938972","n1820937773","n1820937520","n1820938872","n1820938131","n1820938452","n1820938328","n1820939620","n1820937641","n1820938353","n1820939693","n1820938705","n1820937640","n1820939189","n1820938144","n1820939774","n1820938694","n1820938238","n1820939397","n1820937917","n1820938454","n1820938567","n1820938979","n1820938060","n1820938204","n1820937828","n1820939232","n1820938806","n1820938857","n1820938078","n1820938105","n1820939228","n1820938604","n1820937763","n1820937854","n1820938289","n1820939736","n1820937937","n1820937714","n1820938278","n1820938058","n1820938706","n1820938989","n1820938313","n1820938520","n1820938288","n1820937689","n1820939537","n1820939531","n1820939019","n1820937527","n1820938455","n1820938814","n1820938045","n1820939627","n1820938213","n1820938161","n1820938331","n1820938024","n1820938220","n1820938062","n1820938178","n1820937796","n1820937644","n1820938490","n1820937589","n1820937879","n1820939614","n1820938882","n1820938039","n1820938538","n1820937667","n1820937719","n1820938561","n1820939658","n1820938783","n1820938601","n1820938198","n1820938388","n1820938969","n1820937687","n1820939086","n1820939665","n1820939187","n1820938498","n1820938261","n1820937983","n1820938068","n1820938136","n1820939061","n1820938137","n1820938186","n1820939071","n1820937592","n1820939669","n1820937553","n1820939357","n1820938727","n1820939371","n1820939112","n1820939079","n1820938743","n1820938467","n1820938834","n1820938022","n1820938537","n1820938122","n1820938516","n1820937614","n1820937612","n1820939469","n1820939636","n1820939050","n1820939552","n1820938157","n1820938663","n1820938955","n1820939091","n1820938430","n1820938471","n1820937809","n1820938074","n1820938208","n1820938914","n1820938858","n1820938417","n1820937531","n1820938107","n1820939100","n1820938751","n1820937711","n1820938824","n1820939745","n1820937572","n1820938602","n1820938212","n1820938097","n1820937921","n1820938090","n1820938511","n1820938876","n1820939762","n1820938234","n1820938048","n1820937774","n1820937856","n1820937749","n1820937765","n1820938286","n1820939095","n1820938480","n1820939229","n1820938277","n1820937617","n1820938311","n1820937622","n1820939196","n1820937690","n1820939006","n1820939287","n1820939131","n1820938106","n1820938784","n1820938335","n1820938095","n1820938182","n1820937715","n1820937683","n1820938070","n1820939605","n1820938527","n1820938763","n1820938398","n1820937686","n1820939621","n1820937664","n1820939277","n1820938565","n1820939539","n1820938099","n1820939646","n1820938556","n1820937548","n1820938729","n1820939336","n1820938259","n1820938728","n1820938361","n1820937643","n1820938644","n1820939007","n1820939690","n1820939227","n1820937635","n1820937950","n1820938682","n1820939150","n1820939012","n1820939261","n1820939111","n1820937805","n1820939691","n1820939677","n1820937628","n1820937811","n1820938790","n1820938251","n1820938226","n1820938942","n1820937633","n1820937984","n1820937751","n1820939673","n1820938970","n1820938415","n1820938597","n1820938309","n1820938111","n1820938472","n1820938894","n1820938402","n1820937593","n1820938570","n1820939102","n1820939775","n1820937948","n1820939121","n1820937511","n1820938787","n1820939720","n1820939075","n1820937880","n1820937742","n1820937721","n1820939535","n1820938486","n1820938354","n1820937632","n1820939010","n1820938885","n1820938089","n1820937613","n1820938442","n1820938245","n1820938272","n1820937566","n1820938295","n1820938532","n1820938883","n1820937713","n1820937674","n1820939635","n1820938448","n1820938355","n1820938587","n1820938559","n1820937787","n1820939301","n1820937723","n1820939056","n1820937560","n1820938323","n1820938230","n1820938453","n1820938377","n1820938357","n1820939637","n1820938017","n1820939540","n1820939376","n1820937639","n1820937642","n1820938075","n1820938351","n1820938766","n1820937897","n1820938973","n1820938066","n1820939547","n1820939652","n1820937944","n1820937748","n1820939234","n1820939193","n1820937891","n1820938785","n1820939132","n1820938523","n1820938884","n1820938411","n1820939554","n1820938791","n1820937655","n1820938368","n1820939152","n1820938030","n1820938447","n1820937580","n1820939628","n1820937588","n1820937894","n1820939201","n1820938086","n1820937650","n1820938379","n1820939008","n1820938999","n1820937524","n1820937872","n1820938389","n1820939197","n1820938422","n1820938936","n1820939262","n1820937634","n1820938583","n1820939589","n1820937901","n1820939034","n1820939065","n1820938290","n1820939195","n1820938228","n1820937884","n1820938797","n1820938191","n1820939191","n1820939198","n1820937892","n1820939679","n1820938507","n1820937647","n1820937909","n1820938542","n1820939598","n1820937851","n1820939084","n1820939728","n1820937688","n1820938263","n1820938670","n1820937762","n1820939310","n1820938925","n1820938862","n1820938822","n1820938547","n1820937731","n1820938594","n1820938592","n1820938214","n1820938284","n1820937835","n1820938599","n1820939437","n1820937834","n1820937576","n1820937692","n1820939586","n1820939546","n1820938403","n1820937970","n1820939561","n1820938098","n1820938851","n1820938477","n1820938892","n1820939045","n1820939758","n1820939350","n1820938321","n1820938440","n1820938595","n1820938364","n1820938962","n1820938118","n1820939678","n1820938406","n1820938549","n1820937555","n1820938823","n1820937521","n1820939471","n1820939487","n1820938799","n1820938605","n1820937928","n1820938373","n1820939747","n1820939629","n1820937557","n1820937526","n1820938958","n1820938833","n1820937636","n1820938967","n1820938760","n1820938842","n1820938067","n1820939077","n1820939224","n1820938185","n1820939110","n1820938372","n1820939757","n1820939063","n1820939660","n1820938813","n1820937528","n1820938369","n1820938896","n1820939551","n1820939683","n1820937660","n1820937873","n1820938810","n1820938478","n1820939662","n1820937595","n1820939052","n1820938113","n1820939070","n1820938733","n1820937878","n1820938300","n1820939760","n1820939718","n1820937646","n1820939057","n1820939443","n1914861306","n1820938013","n1820937529","n1820939764","n1820938826","n1820937885","n1820939588","n1820937865","n1820937833","n1914861112","n1820938761","n1914861007","n1820937905","n1820938541","n1820939092","n1914861057","n1820938153","n1820938267","n1820939265","n1820938085","n1820939018","n1820939755","n1820938474","n1820939027","n1820938593","n1820938202","n1820939599","n1820939695","n1820938077","n1820938012","n1820939545","n1820939596","n1820939337","n1820938227","n1820937698","n1820938475","n1820939465","n1820938165","n1820938698","n1820938525","n1820938529","n1820938553","n1820938940","n1820939498","n1820938501","n1820939533","n1820938924","n1820939634","n1820939220","n1820939657","n1820938887","n1820938838","n1820938114","n1820937823","n1820938778","n1820938801","n1820939096","n1820938981","n1820937953","n1820938732","n1820938980","n1820938960","n1820937949","n1820938026","n1820939273","n1841425201","n1820938629","n1820938864","n1820938554","n1820938088","n1820937685","n1841425222","n1820939729","n1820937665","n1820937838","n1820937739","n1820938780","n1820937821","n1820938825","n1820939055","n1820939485","n1820938041","n1820938746","n1820939562","n1820938459","n1820939489","n1820938050","n1820937980","n1820937695","n1820938413","n1820938555","n1820937703","n1820938536","n1820938196","n1820938287","n1820938169","n1820939279","n1820938531","n1820938959","n1820939741","n1820938665","n1820938963","n1820939611","n1820937653","n1820939618","n1820939492","n1820938600","n1820938628","n1820939312","n1820939616","n1820937738","n1820939001","n1820939062","n1820938794","n1820938558","n1820937822","n1820937532","n1820939073","n1820938200","n1820938241","n1820938968","n1820938927","n1820938306","n1820937630","n1820938456","n1820937694","n1820938908","n1820939076","n1820937522","n1820939659","n1820938522","n1820939318","n1820938932","n1820938841","n1820937579","n1820937540","n1820938560","n1821139530","n1820938964","n1820937662","n1820939281","n1821139533","n1820937797","n1821139532","n1820939751","n1821139531","n1820939291","n1820938420","n1820939696","n1820938904","n1820938484","n1820939448","n1820939009","n1820938735","n1820938986","n1820938937","n1820939030","n1820938734","n1820938745","n1820939106","n1820938987","n1820937858","n1820938673","n1820938620","n1820937808","n1820937700","n1820939573","n1820938540","n1820937661","n1820937570","n1820938396","n1820937875","n1820939048","n1820938233","n1820938793","n1820939584","n1820938412","n1820938394","n1820937846","n1820938800","n1820938690","n1820939331","n1820939630","n1820938762","n1820938710","n1820939322","n1820938992","n1821137608","n1821137607","n1820937924","n1820939139","n1820939463","n1820939574","n1820938294","n1820938071","n1820938307","n1820938061","n1820939260","n1820937899","n1820938310","n1820938983","n1820937530","n1820938993","n1820938890","n1820937915","n1820938231","n1820938040","n1820938920","n1820939585","n1820938135","n1820939700","n1820937824","n1820939667","n1820937930","n1820938134","n1820937551","n1820939405","n1820938232","n1820937716","n1820937848","n1820939765","n1820939068","n1820939766","n1820937933","n1820937720","n1820939222","n1820939772","n1820939022","n1820939732","n1820937702","n1820937691","n1820938945","n1820937756","n1820938451","n1820938410","n1820938798","n1820937945","n1820937654","n1820938598","n1820938836","n1820937571","n1820937556","n1820938994","n1820938919","n1820938863","n1820939064","n1820938018","n1820937658","n1820937537","n1820938142","n1820938666","n1820937535","n1820939571","n1820938465","n1820939638","n1820937533","n1820939656","n1820939422","n1820938109","n1820938405","n1820938028","n1820937649","n1820938829","n1820939031","n1820939155","n1820938350","n1820938463","n1820938425","n1820939047","n1820938831","n1820938494","n1820937697","n1820938504","n1820938900","n1820937784","n1820938414","n1820938076","n1820938723","n1820937722","n1820938739","n1820937791","n1820938985","n1820938352","n1820938293","n1820938274","n1820939692","n1820937871","n1820939059","n1820938868","n1820937877","n1820937743","n1820938429","n1820937545","n1820937575","n1820938302","n1820938505","n1820938916","n1820938374","n1820938329","n1820937790","n1820939735","n1820938930","n1820937995","n1820938512","n1820938130","n1820938194","n1820938671","n1820938802","n1820937542","n1820937602","n1820939069","n1820938901","n1820939654","n1820937727","n1820939569","n1820938375","n1820939306","n1820938479","n1820938376","n1820938667","n1820937766","n1820939467","n1820939567","n1820937806","n1820938943","n1820938931","n1820937745","n1820939452","n1820938738","n1820938053","n1820939653","n1820938640","n1820937604","n1820937536","n1820938701","n1820939625","n1820939744","n1820939572","n1820937577","n1820937541","n1820938891","n1820937597","n1820938469","n1820939194","n1820937539","n1820938911","n1820939017","n1820939650","n1820939103","n1820939578","n1820938132","n1820937549","n1820938634","n1820939743","n1820937544","n1820937826","n1820937598","n1820937547","n1820938032","n1820939142"]},"w17963021":{"id":"w17963021","tags":{"highway":"residential"},"nodes":["n185948706","n185948708","n185948710"]},"w203974069":{"id":"w203974069","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870431","n2139870432","n2139870433","n2139870434","n2139870431"]},"w209816575":{"id":"w209816575","tags":{"area":"yes","building":"yes"},"nodes":["n2199856288","n2199856289","n2199856290","n2199856291","n2199856292","n2199856293","n2199856294","n2199856295","n2199856296","n2199856297","n2199856298","n2199856299","n2199856300","n2199856301","n2199856302","n2199856303","n2199856288"]},"w203841838":{"id":"w203841838","tags":{"area":"yes","natural":"water"},"nodes":["n2138493826","n2138493827","n2138493828","n2138493829","n2138493830","n2138493831","n2138493833","n2138493832","n2138493826"]},"w203972937":{"id":"w203972937","tags":{"highway":"path","name":"Riverwalk Trail","surface":"asphalt","width":"3"},"nodes":["n2139858882","n2139858883","n2139858884","n2139858885","n2139858886","n2139858887","n2139858882","n2139858888","n2139858889","n2139858890","n2139858891","n2139858892","n2139858893","n2139858894","n2139858895","n2139858896","n2139858897","n2139858898","n2139858899","n2139858900","n2139858901","n2139858902","n2139858903","n2139858986","n2139858904","n2139858995","n2139858905","n2139858906","n2139858907","n2139858908","n2139858909","n2139858910","n2139858911","n2139858912","n2139858913","n2139858914","n2139858915","n2139858916","n2139858917","n2139858918","n2139858919","n2139858920","n2139858921","n2139858922","n2139858923","n2139858924","n2139858925","n2139858926","n2139858927","n2139858982","n2139858928","n2139858929","n2139858930","n2139858931","n2139858932","n2139858981","n2139858933","n2139858934","n2139858935","n2139858936","n2139858937","n2139858938","n2139858939","n2139858940","n2139858941","n2139858942","n2139858943","n2140006437","n2139858964","n2139858944","n2139858966","n2139858945","n2139858946","n2139858947","n2139858948","n2139858949","n2139858950","n2139858951"]},"w17964015":{"id":"w17964015","tags":{"highway":"residential"},"nodes":["n185954680","n185954683","n185954685","n185954687","n185954689","n185954690","n185954691","n2139870379","n2139870456","n185954692","n185954693","n185954695"]},"w17967315":{"id":"w17967315","tags":{"highway":"residential","name":"South Andrews Street"},"nodes":["n185981999","n185974477","n185964963"]},"w203974071":{"id":"w203974071","tags":{"highway":"footway"},"nodes":["n2139870439","n2139870440","n2139870441","n2139870442","n2139870443","n2139870444","n2139870445","n2139870446","n2139870447","n2139870448","n2139870449"]},"w170848824":{"id":"w170848824","tags":{"name":"Rocky River","waterway":"river"},"nodes":["n1819858503","n1819858531","n1819858526","n1819858518","n1819858505","n1819858508","n1819858512","n1819858514","n1819858528","n1819858509","n1819858511","n1819858507","n1819858521"]},"w203986458":{"id":"w203986458","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989357","n2139989359","n2139989360","n2139989362","n2139989357"]},"w170844917":{"id":"w170844917","tags":{"waterway":"riverbank"},"nodes":["n1819805911","n1819805690","n1819805812","n1819805766","n1819805802","n1819805885","n1819805626","n1819805842","n1819805715","n1819805694","n1819805618","n1819805629","n1819805731","n1819805636","n1819805878","n1819805718","n1819805798","n1819849057","n1819805666","n1819805852","n1819805805","n1819805789","n1819805868","n1819805680","n1819805918","n1819848888","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n1819858521","n1819805854","n1819805876","n1819805864","n1819805922","n2139859004","n1819805702","n2139859003","n1819805614","n1819805792","n1819805786","n1819805777","n1819805645","n1819805838","n1819805889","n1819805795","n1819805707","n1819805774","n1819805808","n1819805810","n1819805724","n1819805676","n1819805728","n1819805783","n1819805687","n1819805727","n2189123379","n1819805632","n1819805641","n1819805760","n1819805887","n1819805861","n1819805722","n1819805880","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n1819805698","n1819805647","n1819805870","n1819805683","n1819805622","n1819805639","n1819805858","n1819805643","n1819805673","n1819805925","n1819805849","n1819805711","n1819805846","n1819805669","n1819805883","n1819805814","n1819805873","n1819805911"]},"w17967326":{"id":"w17967326","tags":{"highway":"residential","name":"North Constantine Street"},"nodes":["n185985217","n185985219","n185985221","n185985222","n185985223","n185985225","n2140006431","n185985227","n185985229","n185985231","n185985233","n185985235","n185985238","n185985240","n2140018998","n185964965"]},"w134150789":{"id":"w134150789","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60"},"nodes":["n185964971","n2139870406","n185964972"]},"w17966400":{"id":"w17966400","tags":{"highway":"tertiary","name":"South Constantine Street"},"nodes":["n185958672","n185964965"]},"w203974066":{"id":"w203974066","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870417","n2139870418","n2139870420","n2139870419"]},"w17965998":{"id":"w17965998","tags":{"name":"Conrail Railroad","railway":"rail"},"nodes":["n185972775","n185972777","n185972779","n185972781","n185972783","n185972785","n185972787","n185972788","n185972789","n185972790","n185972791","n185972793","n185972795","n185972797","n185972798","n185972800","n185972802","n185972805","n185972807","n185972809","n185972811","n185972813","n185972814","n185972815","n185972816","n185972817","n185972819","n185972821","n185972824","n185972826","n185972830","n185972832","n185972834","n185972835","n185972836","n185972839","n185990434","n2114807572","n2114807568","n185972845","n2114807583","n185972847","n185972849","n185972851","n2114807578","n1475293254","n2114807593","n1475293226","n185972862","n2114807565","n185951869","n1475293234","n1475293252","n185972868","n1475293264","n1475293222","n185972878","n1475293261","n185972882","n185972885","n1475293260","n1475293240","n185972891","n185972895","n185972897","n185972899","n2130304159","n1475284023","n185972903"]},"w134150795":{"id":"w134150795","tags":{"bridge":"yes","highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60"},"nodes":["n185964970","n185964971"]},"w203974067":{"id":"w203974067","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870420","n2139870421"]},"w170995908":{"id":"w170995908","tags":{"highway":"residential","name":"Thomas Street"},"nodes":["n1821006702","n1821006700","n1821006698","n2139858990","n1821006716","n1821006725","n1821006712","n1821006704","n1821006708","n1821006710","n1821006706"]},"w17965834":{"id":"w17965834","tags":{"highway":"residential","name":"Spring Street"},"nodes":["n185971361","n185971364","n185971366","n185971368","n185954695","n185964968"]},"w203974070":{"id":"w203974070","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870435","n2139870436","n2139870437","n2139870438","n2139870435"]},"w203989879":{"id":"w203989879","tags":{"highway":"service"},"nodes":["n2140018998","n2140018999","n2140019000"]},"w203974062":{"id":"w203974062","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870387","n2139870388","n2139870389","n2139870390","n2139870391","n2139870392","n2139870397","n2139870393","n2139870396","n2139870395","n2139870394","n2139870387"]},"w203974061":{"id":"w203974061","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2139870382","n2139870383"]},"w203049587":{"id":"w203049587","tags":{"area":"yes","name":"Scidmore Park Petting Zoo","tourism":"zoo","zoo":"petting_zoo"},"nodes":["n2130304133","n2130304136","n2130304138","n2130304140","n2130304142","n2130304144","n2130304146","n2130304147","n2130304148","n2130304149","n2130304150","n2130304151","n2130304133"]},"w203972941":{"id":"w203972941","tags":{"highway":"path"},"nodes":["n2139858982","n2139858983","n2139858984","n2139858985","n2139858927"]},"w203974065":{"id":"w203974065","tags":{"highway":"service"},"nodes":["n2139870406","n2139870407","n2139870408","n2139870417","n2139870409","n2139870410","n2139870411","n2139870412","n2139870426","n2139870413","n2139870414","n2139870415","n2139870419","n2139870416","n2139870421","n2139870408"]},"w203972940":{"id":"w203972940","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858934","n2139858967","n2139858968","n2139858969","n2139858970","n2139858971","n2139858972","n2139858973","n2139858974","n2139858975","n2139858976","n2139858977","n2139858978","n2139858979","n2139858980","n2139858981"]},"w203974072":{"id":"w203974072","tags":{"highway":"footway"},"nodes":["n2139858925","n2139870450","n2139870453","n2139870451","n2139870452","n2139870441"]},"w203974074":{"id":"w203974074","tags":{"highway":"footway"},"nodes":["n2139870454","n2139870456","n2139870429"]},"w203974060":{"id":"w203974060","tags":{"highway":"footway"},"nodes":["n2139870383","n2139870384","n2139870422","n2139870385","n2139870386","n2139870388"]},"w203841837":{"id":"w203841837","tags":{"area":"yes","natural":"water"},"nodes":["n2138493807","n2138493808","n2138493809","n2138493810","n2138493811","n2138493812","n2138493813","n2138493814","n2138493815","n2138493816","n2138493825","n2138493817","n2138493824","n2138493818","n2138493819","n2138493820","n2138493821","n2138493822","n2138493823","n2138493807"]},"w134150845":{"id":"w134150845","tags":{"bridge":"yes","name":"Conrail Railroad","railway":"rail"},"nodes":["n185972903","n185972905"]},"w203974059":{"id":"w203974059","tags":{"highway":"footway"},"nodes":["n2139870430","n2139870439","n2139870429","n2139870428","n2139870379","n2139870455","n2139870380","n2139870381","n2139858925","n2139870382"]},"w203986457":{"id":"w203986457","tags":{"area":"yes","leisure":"park","name":"Scidmore Park"},"nodes":["n2139989333","n2139989335","n2139989337","n2139989339","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n2139989341","n2139989344","n2139989346","n2139989348","n2139989350","n2139989351","n2139989353","n2139989355","n2139989333"]},"w170848331":{"id":"w170848331","tags":{"name":"Rocky River","waterway":"river"},"nodes":["n1819848937","n1819849104","n1819849076","n1819849183","n1819848928","n1819848972","n1819848948","n1819848971","n1819848859","n1819849008","n1819848889","n1819849026","n1819849094","n1819849083","n1819849079","n1819849187","n1819848992","n1819849060","n1819849056","n1819849071","n1819849067","n1819849048","n1819849036","n1819849150","n1819849075","n1819849051","n1819849062","n1819848926","n1819849035","n1819848987","n1819849012","n1819848933","n1819848996","n1819848990","n1819849005","n1819849021","n1819848892","n1819849092","n1819848863","n1819848922","n1819848858","n1819848855","n1819848974","n1819848953","n1819849019","n1819849049","n1819848979","n1819849140","n1819849193","n1819849147","n1819849151","n1819849163","n1819849023","n1819848878","n1819849004","n1819848857","n1819848879","n1819849041","n1819849165","n1819849107","n1819849156","n1819848934","n1819848914","n1819848955","n1819848931","n1819848927","n1819849084","n1819849169","n1819849045","n1819848945","n1819849095","n1819848924","n1819849171","n1819849141","n1819849046","n1819849197","n1819849011","n1819849108","n1819849158","n1819849160","n1819848870","n1819849006","n1819849157","n1819848993","n1819848970","n1819849202","n1819848903","n1819848975","n1819848849","n1819849025","n1819849105","n1819849033","n1819849176","n1819849099","n1819849086","n1819848960","n1819848961","n1819849001","n1819848980","n1819849038","n1819848854","n1819849127","n1819849170","n1819849139","n1819848873","n1819848929","n1819849201","n1819849121","n1819849031","n1819849131","n1819848875","n1819849080","n1819849066","n1819849081","n1819849096","n1819849172","n1819849114","n1819849182","n1819848905","n1819849054","n1819848920","n1819848851","n1819848968","n1819848917","n1819849111","n1819849119","n1819849074","n1819848893","n1819849129","n1819848850","n1819848956","n1819849154","n1819848877","n1819848986","n1819849191","n1819848952","n1819848954","n1819848942","n1819849028","n1819849195","n1819848938","n1819848962","n1819849070","n1819849034","n1819849052","n1819849059","n1819848916","n1819849162","n1819849167","n1819849093","n1819849030","n1819849002","n1819849161","n1819848886","n1819848958","n1819849064","n1819849112","n1819849148","n1819848856","n1819848976","n1819848977","n1819849144","n1819848918","n1819849200","n1819848919","n1819849042","n1819849166","n1819849186","n1819849152","n1819849058","n1819849185","n1819849199","n1819849053","n1819849194","n1819849068","n1819849146","n1819849174","n1819848967","n1819848932","n1819849155","n1819849198","n1819848964","n1819848894","n1819848969","n1819849184","n1819849055","n1819849179","n1819848865","n1819848860","n1819849082","n1819848966","n1819849040","n1819849069","n1819849078","n1819849077","n1819848904","n1819848959","n1819849133","n1819849089","n1819849000","n1819849124","n1819849032","n1819849097","n1819848939","n1819849072","n1819848915","n1819849196","n1819848946","n1819849047","n1819849029","n1819849164","n1819848994","n1819849022","n1819858513","n1819849126","n1819849063","n1819848941","n1819849085","n1819848871","n1819848943","n1819849192","n1819858501","n1819849159","n1819858523","n1819848901","n1819849189","n1819858503","n1819849065","n2139877106","n1819848909","n1819848930","n1819848888"]},"w17967397":{"id":"w17967397","tags":{"highway":"residential","name":"North Andrews Street"},"nodes":["n185964963","n185985217"]},"w17964497":{"id":"w17964497","tags":{"highway":"tertiary","name":"Constantine St"},"nodes":["n185958643","n185958645","n2139795852","n185958647","n185958649","n185958651","n185958653","n185958656","n185958658","n185958660","n185958662","n185958664","n185958666","n185958668","n185958670","n185948710","n185958672"]},"w203974068":{"id":"w203974068","tags":{"highway":"footway"},"nodes":["n2139870422","n2139870423","n2139870424","n2139870425","n2139870426","n2139870427"]},"w203974063":{"id":"w203974063","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870398","n2139870399","n2139870400","n2139870401","n2139870398"]},"w203986459":{"id":"w203986459","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989364","n2139989366","n2139989368","n2139989370","n2139989364"]},"w203988286":{"id":"w203988286","tags":{"area":"yes","leisure":"park","name":"Memory Isle Park"},"nodes":["n2140006331","n2140006334","n2140006336","n2140006338","n2140006340","n2140006342","n2140006344","n2140006346","n2140006348","n2140006351","n2140006353","n2140006355","n2140006357","n2140006359","n2140006361","n2140006363","n2140006364","n2140006365","n2140006395","n2140006366","n2140006401","n2140006397","n2140006399","n2140006331"]},"w203974073":{"id":"w203974073","tags":{"highway":"footway"},"nodes":["n2139870453","n2139870454","n2139870455"]},"w203974064":{"id":"w203974064","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870402","n2139870403","n2139870404","n2139870405","n2139870402"]},"n185966959":{"id":"n185966959","loc":[-85.642185,41.946411]},"n1475283980":{"id":"n1475283980","loc":[-85.6398249,41.9451425]},"n1475284013":{"id":"n1475284013","loc":[-85.6396448,41.9451666]},"n1475284042":{"id":"n1475284042","loc":[-85.6386382,41.9454789]},"n185975925":{"id":"n185975925","loc":[-85.6393332,41.9452388]},"n185975919":{"id":"n185975919","loc":[-85.6391279,41.9453044]},"n185975917":{"id":"n185975917","loc":[-85.6389034,41.9453872]},"n2140006369":{"id":"n2140006369","loc":[-85.6386163,41.9451631]},"n2140006370":{"id":"n2140006370","loc":[-85.6385144,41.9449357]},"n2140006417":{"id":"n2140006417","loc":[-85.6385785,41.9450299]},"n2140006419":{"id":"n2140006419","loc":[-85.6385781,41.9452152]},"n2189123361":{"id":"n2189123361","loc":[-85.6404948,41.947015]},"n2189123363":{"id":"n2189123363","loc":[-85.6395765,41.946495]},"n2189123365":{"id":"n2189123365","loc":[-85.6389347,41.9460875]},"n185966962":{"id":"n185966962","loc":[-85.644417,41.946364]},"n185975911":{"id":"n185975911","loc":[-85.637532,41.9458276]},"n185975913":{"id":"n185975913","loc":[-85.6376323,41.9457936]},"n185975915":{"id":"n185975915","loc":[-85.6383596,41.9455425]},"n185975932":{"id":"n185975932","loc":[-85.644403,41.945088]},"n185975934":{"id":"n185975934","loc":[-85.645486,41.945084]},"n185979974":{"id":"n185979974","loc":[-85.644381,41.943831]},"n2139795809":{"id":"n2139795809","loc":[-85.6464756,41.9450813]},"n2139795810":{"id":"n2139795810","loc":[-85.6466646,41.945174]},"n2139858952":{"id":"n2139858952","loc":[-85.6383567,41.9454039]},"n2139858953":{"id":"n2139858953","loc":[-85.6380506,41.9455301]},"n2139858954":{"id":"n2139858954","loc":[-85.6377321,41.9455546]},"n2139858955":{"id":"n2139858955","loc":[-85.6376571,41.9455245]},"n2139858956":{"id":"n2139858956","loc":[-85.6375859,41.9454544]},"n2139858957":{"id":"n2139858957","loc":[-85.6376686,41.9453185]},"n2139858958":{"id":"n2139858958","loc":[-85.6378936,41.9451712]},"n2139858959":{"id":"n2139858959","loc":[-85.6379225,41.9450825]},"n2139858960":{"id":"n2139858960","loc":[-85.6379302,41.9447564]},"n2139858961":{"id":"n2139858961","loc":[-85.6379763,41.9446963]},"n2139858962":{"id":"n2139858962","loc":[-85.6380436,41.9446706]},"n2139858963":{"id":"n2139858963","loc":[-85.6381286,41.9445969]},"n2139858965":{"id":"n2139858965","loc":[-85.6382523,41.9444134]},"n2140006367":{"id":"n2140006367","loc":[-85.6380923,41.9454418]},"n2140006368":{"id":"n2140006368","loc":[-85.6384089,41.9453146]},"n2140006372":{"id":"n2140006372","loc":[-85.6383252,41.9447706]},"n2140006374":{"id":"n2140006374","loc":[-85.6381033,41.9447436]},"n2140006376":{"id":"n2140006376","loc":[-85.6379759,41.9447815]},"n2140006378":{"id":"n2140006378","loc":[-85.6379832,41.9448654]},"n2140006380":{"id":"n2140006380","loc":[-85.6380632,41.9450738]},"n2140006382":{"id":"n2140006382","loc":[-85.6380414,41.9452064]},"n2140006389":{"id":"n2140006389","loc":[-85.6379068,41.9453092]},"n2140006391":{"id":"n2140006391","loc":[-85.637925,41.9453904]},"n2140006393":{"id":"n2140006393","loc":[-85.6379977,41.94545]},"n2189123275":{"id":"n2189123275","loc":[-85.6371346,41.9462544]},"n2189123278":{"id":"n2189123278","loc":[-85.6368371,41.9466153]},"n2189123280":{"id":"n2189123280","loc":[-85.6379537,41.9489088]},"n2189123282":{"id":"n2189123282","loc":[-85.6383816,41.9497858]},"n2189123285":{"id":"n2189123285","loc":[-85.6393673,41.9512417]},"n2189123287":{"id":"n2189123287","loc":[-85.640554,41.9517766]},"n2189123289":{"id":"n2189123289","loc":[-85.6411,41.9522344]},"n2189123291":{"id":"n2189123291","loc":[-85.6417418,41.9526574]},"n2189123293":{"id":"n2189123293","loc":[-85.642321,41.9529407]},"n2189123295":{"id":"n2189123295","loc":[-85.6427697,41.9532278]},"n2189123297":{"id":"n2189123297","loc":[-85.6433332,41.9538254]},"n2189123300":{"id":"n2189123300","loc":[-85.6435785,41.9543648]},"n2189123301":{"id":"n2189123301","loc":[-85.6444394,41.9541048]},"n2189123303":{"id":"n2189123303","loc":[-85.6450603,41.954]},"n2189123312":{"id":"n2189123312","loc":[-85.6454829,41.9539108]},"n2189123314":{"id":"n2189123314","loc":[-85.6460464,41.9538526]},"n2189123315":{"id":"n2189123315","loc":[-85.6463178,41.9537167]},"n2189123316":{"id":"n2189123316","loc":[-85.646276,41.9534141]},"n2189123317":{"id":"n2189123317","loc":[-85.6459995,41.9531541]},"n2189123318":{"id":"n2189123318","loc":[-85.645222,41.9531929]},"n2189123319":{"id":"n2189123319","loc":[-85.6447316,41.9531813]},"n2189123320":{"id":"n2189123320","loc":[-85.6440637,41.9532977]},"n2189123321":{"id":"n2189123321","loc":[-85.6438185,41.9531774]},"n2189123322":{"id":"n2189123322","loc":[-85.6440011,41.9528398]},"n2189123323":{"id":"n2189123323","loc":[-85.6442672,41.9525914]},"n2189123324":{"id":"n2189123324","loc":[-85.6442881,41.9523276]},"n2189123326":{"id":"n2189123326","loc":[-85.644262,41.952153]},"n2189123328":{"id":"n2189123328","loc":[-85.6441681,41.9520404]},"n2189123330":{"id":"n2189123330","loc":[-85.6442098,41.9517494]},"n2189123333":{"id":"n2189123333","loc":[-85.6438498,41.9515864]},"n2189123336":{"id":"n2189123336","loc":[-85.6435889,41.9513225]},"n2189123339":{"id":"n2189123339","loc":[-85.6425349,41.9510315]},"n2189123342":{"id":"n2189123342","loc":[-85.6422688,41.9508802]},"n2189123345":{"id":"n2189123345","loc":[-85.6418775,41.9508142]},"n2189123348":{"id":"n2189123348","loc":[-85.6415488,41.9508064]},"n2189123351":{"id":"n2189123351","loc":[-85.6411027,41.9505488]},"n2189123353":{"id":"n2189123353","loc":[-85.6410374,41.9498208]},"n2189123355":{"id":"n2189123355","loc":[-85.6410061,41.9494327]},"n2189123357":{"id":"n2189123357","loc":[-85.6411522,41.9482569]},"n2189123359":{"id":"n2189123359","loc":[-85.6410548,41.9473036]},"n2189123368":{"id":"n2189123368","loc":[-85.6380216,41.9458974]},"n2189123370":{"id":"n2189123370","loc":[-85.6386721,41.9507782]},"w17968193":{"id":"w17968193","tags":{"highway":"residential","name":"French St"},"nodes":["n185970906","n185982877","n185967774","n185985823","n185979974"]},"w203972939":{"id":"w203972939","tags":{"highway":"path"},"nodes":["n2139858965","n2139858966"]},"w203988289":{"id":"w203988289","tags":{"area":"yes","natural":"water"},"nodes":["n2140006367","n2140006368","n2140006419","n2140006369","n2140006417","n2140006370","n2140006372","n2140006374","n2140006376","n2140006378","n2140006380","n2140006382","n2140006389","n2140006391","n2140006393","n2140006367"]},"w208640157":{"id":"w208640157","tags":{"area":"yes","natural":"wetland"},"nodes":["n1819849029","n2189123275","n2189123278","n2189123280","n2189123282","n2189123370","n2189123285","n2189123287","n2189123289","n2189123291","n2189123293","n2189123295","n2189123297","n2189123300","n2189123301","n2189123303","n2189123312","n2189123314","n2189123315","n2189123316","n2189123317","n2189123318","n2189123319","n2189123320","n2189123321","n2189123322","n2189123323","n2189123324","n2189123326","n2189123328","n2189123330","n2189123333","n2189123336","n2189123339","n2189123342","n2189123345","n2189123348","n2189123351","n2189123353","n2189123355","n2189123357","n2189123359","n2189123361","n2189123363","n2189123365","n2189123368","n1819849029"]},"w17966281":{"id":"w17966281","tags":{"highway":"residential","name":"Pealer St"},"nodes":["n185975911","n185975913","n185975915","n1475284042","n185975917","n185975919","n185975925","n185970909","n1475284013","n1475283980","n185975928","n185967775","n185975930","n185975932","n185975934","n2139795809","n2139795810"]},"w17965353":{"id":"w17965353","tags":{"highway":"residential","name":"Yauney St"},"nodes":["n185966958","n185966959","n185966960","n185966962"]},"w203972938":{"id":"w203972938","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858964","n2139858965","n2139858963","n2139858962","n2139858961","n2139858960","n2139858959","n2139858958","n2139858957","n2139858956","n2139858955","n2139858954","n2139858953","n2139858952","n2139858951"]},"n354002665":{"id":"n354002665","loc":[-85.6366599,41.9444923],"tags":{"name":"Memory Isle","place":"island"}},"n354031301":{"id":"n354031301","loc":[-85.635,41.9463889],"tags":{"amenity":"post_office","name":"Three Rivers Post Office"}},"n185963454":{"id":"n185963454","loc":[-85.633686,41.946072]},"n185963455":{"id":"n185963455","loc":[-85.633815,41.946131]},"n185963456":{"id":"n185963456","loc":[-85.633951,41.946174]},"n185978375":{"id":"n185978375","loc":[-85.634385,41.94559]},"n185978377":{"id":"n185978377","loc":[-85.634544,41.945725]},"n185978379":{"id":"n185978379","loc":[-85.634573,41.945764]},"n185978381":{"id":"n185978381","loc":[-85.634616,41.945849]},"n185978383":{"id":"n185978383","loc":[-85.634629,41.945893]},"n185984011":{"id":"n185984011","loc":[-85.636058,41.946201]},"n185984013":{"id":"n185984013","loc":[-85.636112,41.946366]},"n185984015":{"id":"n185984015","loc":[-85.636143,41.946551]},"n185988237":{"id":"n185988237","loc":[-85.6354162,41.946044]},"n185988969":{"id":"n185988969","loc":[-85.635374,41.945325]},"n185988971":{"id":"n185988971","loc":[-85.635643,41.945585]},"n185988972":{"id":"n185988972","loc":[-85.635853,41.94586]},"n1475283992":{"id":"n1475283992","loc":[-85.6372968,41.9459007]},"n1475284011":{"id":"n1475284011","loc":[-85.6359415,41.9459797]},"n1475284019":{"id":"n1475284019","loc":[-85.6364433,41.9460423]},"n185984009":{"id":"n185984009","loc":[-85.6360524,41.9460485]},"n185988239":{"id":"n185988239","loc":[-85.6358187,41.9460423]},"n185988243":{"id":"n185988243","loc":[-85.6366156,41.9460282]},"n185988244":{"id":"n185988244","loc":[-85.6368316,41.9460046]},"n185988245":{"id":"n185988245","loc":[-85.6370133,41.9459704]},"n185988241":{"id":"n185988241","loc":[-85.636291,41.9460461]},"n185964976":{"id":"n185964976","loc":[-85.633923,41.9434157]},"n185964980":{"id":"n185964980","loc":[-85.6333656,41.9437293]},"n185978388":{"id":"n185978388","loc":[-85.6346449,41.9460571]},"n1819858504":{"id":"n1819858504","loc":[-85.6365343,41.9447926]},"n1819858506":{"id":"n1819858506","loc":[-85.6370546,41.9451882]},"n1819858516":{"id":"n1819858516","loc":[-85.6358369,41.9444654]},"n1819858519":{"id":"n1819858519","loc":[-85.6361534,41.9446176]},"n1819858525":{"id":"n1819858525","loc":[-85.6368025,41.9449442]},"n1819858527":{"id":"n1819858527","loc":[-85.6334199,41.9457495]},"n185963452":{"id":"n185963452","loc":[-85.633564,41.9458519]},"n185963453":{"id":"n185963453","loc":[-85.6336152,41.9459804]},"n185963451":{"id":"n185963451","loc":[-85.6332888,41.9456871]},"n2130304152":{"id":"n2130304152","loc":[-85.6359466,41.9454599]},"n2130304153":{"id":"n2130304153","loc":[-85.6362773,41.9452683]},"n2130304154":{"id":"n2130304154","loc":[-85.6352028,41.9442868]},"n2130304155":{"id":"n2130304155","loc":[-85.6348756,41.9444769]},"n2130304156":{"id":"n2130304156","loc":[-85.6349723,41.9444207]},"n2130304157":{"id":"n2130304157","loc":[-85.6338698,41.9434443]},"n2130304158":{"id":"n2130304158","loc":[-85.635094,41.9451026]},"n2130304160":{"id":"n2130304160","loc":[-85.6353716,41.9449322]},"n2130304162":{"id":"n2130304162","loc":[-85.6365942,41.9459352]},"n2130304163":{"id":"n2130304163","loc":[-85.6369006,41.9457469]},"n2130304164":{"id":"n2130304164","loc":[-85.6363292,41.9452278]},"n2130304165":{"id":"n2130304165","loc":[-85.6360248,41.9454175]},"n2139824683":{"id":"n2139824683","loc":[-85.6339825,41.9446441]},"n2139824689":{"id":"n2139824689","loc":[-85.6340437,41.9446925]},"n2139824702":{"id":"n2139824702","loc":[-85.6340961,41.9447551]},"n2139824705":{"id":"n2139824705","loc":[-85.6337467,41.944809]},"n2139824707":{"id":"n2139824707","loc":[-85.6341598,41.9448129]},"n2139824710":{"id":"n2139824710","loc":[-85.6342771,41.9448223]},"n2139824712":{"id":"n2139824712","loc":[-85.6346058,41.944841]},"n2139824713":{"id":"n2139824713","loc":[-85.633808,41.9448574]},"n2139824714":{"id":"n2139824714","loc":[-85.6340889,41.9448589]},"n2139824716":{"id":"n2139824716","loc":[-85.6343335,41.944871]},"n2139824717":{"id":"n2139824717","loc":[-85.6343341,41.9448717]},"n2139824720":{"id":"n2139824720","loc":[-85.6338757,41.9449069]},"n2139824721":{"id":"n2139824721","loc":[-85.6341445,41.9449071]},"n2139824724":{"id":"n2139824724","loc":[-85.6334787,41.9449262]},"n2139824726":{"id":"n2139824726","loc":[-85.6347119,41.9449332]},"n2139824727":{"id":"n2139824727","loc":[-85.6347175,41.9449418]},"n2139824728":{"id":"n2139824728","loc":[-85.6344284,41.9449538]},"n2139824729":{"id":"n2139824729","loc":[-85.6339339,41.9449573]},"n2139824730":{"id":"n2139824730","loc":[-85.6339179,41.9449682]},"n2139824732":{"id":"n2139824732","loc":[-85.6335472,41.9449895]},"n2139824733":{"id":"n2139824733","loc":[-85.6339736,41.9450164]},"n2139824735":{"id":"n2139824735","loc":[-85.6336034,41.9450415]},"n2139824736":{"id":"n2139824736","loc":[-85.6348317,41.945043]},"n2139824737":{"id":"n2139824737","loc":[-85.63403,41.9450651]},"n2139824738":{"id":"n2139824738","loc":[-85.6336611,41.9450949]},"n2139824740":{"id":"n2139824740","loc":[-85.6336582,41.9450966]},"n2139824744":{"id":"n2139824744","loc":[-85.6331702,41.9451107]},"n2139824745":{"id":"n2139824745","loc":[-85.6333388,41.9451142]},"n2139824746":{"id":"n2139824746","loc":[-85.6337131,41.9451341]},"n2139824747":{"id":"n2139824747","loc":[-85.6337021,41.9451372]},"n2139824748":{"id":"n2139824748","loc":[-85.6341244,41.9451472]},"n2139824749":{"id":"n2139824749","loc":[-85.6333952,41.945166]},"n2139824750":{"id":"n2139824750","loc":[-85.633395,41.9451661]},"n2139824751":{"id":"n2139824751","loc":[-85.6346258,41.9451725]},"n2139824752":{"id":"n2139824752","loc":[-85.6332387,41.9451741]},"n2139824753":{"id":"n2139824753","loc":[-85.6346901,41.9451853]},"n2139824754":{"id":"n2139824754","loc":[-85.6346611,41.9452035]},"n2139824755":{"id":"n2139824755","loc":[-85.6346574,41.9452059]},"n2139824756":{"id":"n2139824756","loc":[-85.6345611,41.9452133]},"n2139824757":{"id":"n2139824757","loc":[-85.633453,41.9452194]},"n2139824758":{"id":"n2139824758","loc":[-85.6335508,41.9452283]},"n2139824759":{"id":"n2139824759","loc":[-85.6347424,41.9452312]},"n2139824760":{"id":"n2139824760","loc":[-85.6342305,41.9452395]},"n2139824761":{"id":"n2139824761","loc":[-85.6342319,41.9452449]},"n2139824762":{"id":"n2139824762","loc":[-85.6334969,41.94526]},"n2139824763":{"id":"n2139824763","loc":[-85.63468,41.9452706]},"n2139824764":{"id":"n2139824764","loc":[-85.6346772,41.9452724]},"n2139824765":{"id":"n2139824765","loc":[-85.6338611,41.9452763]},"n2139824766":{"id":"n2139824766","loc":[-85.6347811,41.9452939]},"n2139824767":{"id":"n2139824767","loc":[-85.6347375,41.9453211]},"n2139824768":{"id":"n2139824768","loc":[-85.6339171,41.9453301]},"n2139824769":{"id":"n2139824769","loc":[-85.6348307,41.9453377]},"n2139824770":{"id":"n2139824770","loc":[-85.6347067,41.9453405]},"n2139824771":{"id":"n2139824771","loc":[-85.6343461,41.9453461]},"n2139824772":{"id":"n2139824772","loc":[-85.6343481,41.9453475]},"n2139824773":{"id":"n2139824773","loc":[-85.634805,41.9453538]},"n2139824774":{"id":"n2139824774","loc":[-85.6336997,41.9453692]},"n2139824775":{"id":"n2139824775","loc":[-85.6339709,41.9453818]},"n2139824776":{"id":"n2139824776","loc":[-85.6336229,41.9454134]},"n2139824777":{"id":"n2139824777","loc":[-85.6349022,41.9454141]},"n2139824778":{"id":"n2139824778","loc":[-85.6348854,41.9454246]},"n2139824779":{"id":"n2139824779","loc":[-85.6340286,41.9454373]},"n2139824780":{"id":"n2139824780","loc":[-85.6336963,41.9454572]},"n2139824781":{"id":"n2139824781","loc":[-85.6336789,41.9454672]},"n2139824782":{"id":"n2139824782","loc":[-85.6344933,41.945475]},"n2139824783":{"id":"n2139824783","loc":[-85.6340854,41.9454918]},"n2139824784":{"id":"n2139824784","loc":[-85.6350036,41.9455034]},"n2139824785":{"id":"n2139824785","loc":[-85.6337501,41.9455089]},"n2139824786":{"id":"n2139824786","loc":[-85.6337497,41.9455091]},"n2139824787":{"id":"n2139824787","loc":[-85.6345425,41.9455186]},"n2139824788":{"id":"n2139824788","loc":[-85.6341459,41.9455372]},"n2139824789":{"id":"n2139824789","loc":[-85.6341376,41.945542]},"n2139824790":{"id":"n2139824790","loc":[-85.6338394,41.9455462]},"n2139824791":{"id":"n2139824791","loc":[-85.6349171,41.9455588]},"n2139824792":{"id":"n2139824792","loc":[-85.6338074,41.9455646]},"n2139824793":{"id":"n2139824793","loc":[-85.6346229,41.9455894]},"n2139824794":{"id":"n2139824794","loc":[-85.6338983,41.9455995]},"n2139824795":{"id":"n2139824795","loc":[-85.6338962,41.9456007]},"n2139824796":{"id":"n2139824796","loc":[-85.6342475,41.9456348]},"n2139824797":{"id":"n2139824797","loc":[-85.6339505,41.9456497]},"n2139824798":{"id":"n2139824798","loc":[-85.6347243,41.9456788]},"n2139824799":{"id":"n2139824799","loc":[-85.635057,41.9456831]},"n2139824800":{"id":"n2139824800","loc":[-85.635287,41.9457056]},"n2139824801":{"id":"n2139824801","loc":[-85.6350753,41.9457068]},"n2139824802":{"id":"n2139824802","loc":[-85.6347753,41.9457252]},"n2139824803":{"id":"n2139824803","loc":[-85.6340521,41.9457473]},"n2139824804":{"id":"n2139824804","loc":[-85.6352875,41.9457611]},"n2139824805":{"id":"n2139824805","loc":[-85.6352941,41.9457611]},"n2139824806":{"id":"n2139824806","loc":[-85.6350758,41.9457623]},"n2139824807":{"id":"n2139824807","loc":[-85.6348194,41.9457638]},"n2139824808":{"id":"n2139824808","loc":[-85.635296,41.9459428]},"n2139824809":{"id":"n2139824809","loc":[-85.6348212,41.9459455]},"n2139832635":{"id":"n2139832635","loc":[-85.6354612,41.9448791]},"n2139832636":{"id":"n2139832636","loc":[-85.6360241,41.9453844]},"n2139832637":{"id":"n2139832637","loc":[-85.6361452,41.9453121]},"n2139832639":{"id":"n2139832639","loc":[-85.6355997,41.944797]},"n2139832641":{"id":"n2139832641","loc":[-85.6351346,41.9443541]},"n2139832647":{"id":"n2139832647","loc":[-85.6329883,41.9453692]},"n2139832653":{"id":"n2139832653","loc":[-85.6333643,41.9456293]},"n2139832663":{"id":"n2139832663","loc":[-85.6335394,41.9455339]},"n2139832665":{"id":"n2139832665","loc":[-85.6332375,41.9452476]},"n2139832667":{"id":"n2139832667","loc":[-85.6331664,41.9452161]},"n2139832669":{"id":"n2139832669","loc":[-85.6331144,41.9451875]},"n2139832671":{"id":"n2139832671","loc":[-85.6330779,41.9451274]},"n2139832673":{"id":"n2139832673","loc":[-85.6330664,41.9450802]},"n2139832678":{"id":"n2139832678","loc":[-85.6332218,41.9453585]},"n2139832686":{"id":"n2139832686","loc":[-85.6334246,41.945541]},"n2139832691":{"id":"n2139832691","loc":[-85.6329898,41.9454997]},"n2139832693":{"id":"n2139832693","loc":[-85.6343554,41.9443274]},"n2139832694":{"id":"n2139832694","loc":[-85.6336339,41.9437089]},"n2139832696":{"id":"n2139832696","loc":[-85.633532,41.9437708]},"n2139832697":{"id":"n2139832697","loc":[-85.6338316,41.9440868]},"n2139832698":{"id":"n2139832698","loc":[-85.6342258,41.9444141]},"n2139832699":{"id":"n2139832699","loc":[-85.6339164,41.9442166]},"n2139832700":{"id":"n2139832700","loc":[-85.6341389,41.944384]},"n2139832701":{"id":"n2139832701","loc":[-85.634235,41.9443259]},"n2139832702":{"id":"n2139832702","loc":[-85.633613,41.9437875]},"n2139832703":{"id":"n2139832703","loc":[-85.633915,41.9436132]},"n2139832704":{"id":"n2139832704","loc":[-85.6340019,41.9435613]},"n2139832706":{"id":"n2139832706","loc":[-85.6343197,41.9438427]},"n2139832708":{"id":"n2139832708","loc":[-85.6342361,41.9438936]},"n2139832709":{"id":"n2139832709","loc":[-85.6353839,41.9460401]},"n2139832710":{"id":"n2139832710","loc":[-85.6354032,41.9456763]},"n2139832711":{"id":"n2139832711","loc":[-85.6356839,41.9459252]},"n2139832712":{"id":"n2139832712","loc":[-85.6356109,41.945735]},"n2139832713":{"id":"n2139832713","loc":[-85.6353997,41.9457421]},"n2139832714":{"id":"n2139832714","loc":[-85.6353895,41.9459347]},"n2139832715":{"id":"n2139832715","loc":[-85.6334777,41.9436628]},"n2139832716":{"id":"n2139832716","loc":[-85.6333137,41.9435382]},"n2139832717":{"id":"n2139832717","loc":[-85.6330938,41.9435406]},"n2139832721":{"id":"n2139832721","loc":[-85.6333023,41.9434922]},"n2139832722":{"id":"n2139832722","loc":[-85.6330466,41.943623]},"n2139832723":{"id":"n2139832723","loc":[-85.6332746,41.9435624]},"n2139832724":{"id":"n2139832724","loc":[-85.6333511,41.9435176]},"n2139832725":{"id":"n2139832725","loc":[-85.6332241,41.9434001]},"n2139832726":{"id":"n2139832726","loc":[-85.6332355,41.9433686]},"n2139870373":{"id":"n2139870373","loc":[-85.6351783,41.9439117]},"n2139870374":{"id":"n2139870374","loc":[-85.6351431,41.9439217]},"n2139870375":{"id":"n2139870375","loc":[-85.6348853,41.9439117]},"n2139870376":{"id":"n2139870376","loc":[-85.6348317,41.9439105]},"n2139870377":{"id":"n2139870377","loc":[-85.6346384,41.944007]},"n2139870378":{"id":"n2139870378","loc":[-85.6345563,41.9440523]},"n2140006403":{"id":"n2140006403","loc":[-85.6359942,41.9450097]},"n2140006405":{"id":"n2140006405","loc":[-85.6363884,41.9446079]},"n2140006407":{"id":"n2140006407","loc":[-85.6362148,41.9447874]},"n2140006409":{"id":"n2140006409","loc":[-85.6379476,41.9445869]},"n2140006411":{"id":"n2140006411","loc":[-85.6378485,41.9445674]},"n2140006413":{"id":"n2140006413","loc":[-85.6378952,41.9444547]},"n2140006415":{"id":"n2140006415","loc":[-85.6379962,41.944477]},"n2140006421":{"id":"n2140006421","loc":[-85.6355248,41.9433702]},"n2140006423":{"id":"n2140006423","loc":[-85.6378471,41.9439233]},"n2140006425":{"id":"n2140006425","loc":[-85.6378913,41.9441238]},"n2140006426":{"id":"n2140006426","loc":[-85.6381674,41.9442289]},"n2140006427":{"id":"n2140006427","loc":[-85.6382359,41.9440975]},"n2140006428":{"id":"n2140006428","loc":[-85.6382071,41.9440252]},"n2140006429":{"id":"n2140006429","loc":[-85.6381409,41.9439973]},"n2140006430":{"id":"n2140006430","loc":[-85.6380569,41.9440153]},"n2140006433":{"id":"n2140006433","loc":[-85.6379071,41.9442467]},"n2140006435":{"id":"n2140006435","loc":[-85.6381634,41.9443125]},"n2140006436":{"id":"n2140006436","loc":[-85.6382407,41.944301]},"n2140006438":{"id":"n2140006438","loc":[-85.6382761,41.9442188]},"n2140006439":{"id":"n2140006439","loc":[-85.6382429,41.9441761]},"n2140006440":{"id":"n2140006440","loc":[-85.6382016,41.9441632]},"n2140006441":{"id":"n2140006441","loc":[-85.6378185,41.9439835]},"n2166205688":{"id":"n2166205688","loc":[-85.6349963,41.9444392]},"n2168544780":{"id":"n2168544780","loc":[-85.633944,41.945807]},"n2168544781":{"id":"n2168544781","loc":[-85.6340783,41.9458621]},"n2168544782":{"id":"n2168544782","loc":[-85.6338184,41.9457548]},"n2168544783":{"id":"n2168544783","loc":[-85.6339925,41.9459777]},"n2168544784":{"id":"n2168544784","loc":[-85.6337317,41.9458698]},"n2168544785":{"id":"n2168544785","loc":[-85.6337297,41.9460042]},"n2168544786":{"id":"n2168544786","loc":[-85.633919,41.9460797]},"n2168544787":{"id":"n2168544787","loc":[-85.6338672,41.9459263]},"n2168544788":{"id":"n2168544788","loc":[-85.6338246,41.9459853]},"n2168544789":{"id":"n2168544789","loc":[-85.6337615,41.9459601]},"n2168544790":{"id":"n2168544790","loc":[-85.6342079,41.9460399]},"n2168544791":{"id":"n2168544791","loc":[-85.6343346,41.9458503]},"n2168544792":{"id":"n2168544792","loc":[-85.6343759,41.9458116]},"n2168544793":{"id":"n2168544793","loc":[-85.6344394,41.9458109]},"n2168544795":{"id":"n2168544795","loc":[-85.6344827,41.945851]},"n2168544797":{"id":"n2168544797","loc":[-85.6344807,41.945969]},"n2168544798":{"id":"n2168544798","loc":[-85.6344404,41.9459697]},"n2168544799":{"id":"n2168544799","loc":[-85.6344413,41.9460333]},"n2168544800":{"id":"n2168544800","loc":[-85.6342173,41.9460705]},"n2168544801":{"id":"n2168544801","loc":[-85.6342162,41.9460392]},"n2168544802":{"id":"n2168544802","loc":[-85.6344251,41.9460351]},"n2168544805":{"id":"n2168544805","loc":[-85.6344257,41.9460507]},"n2168544807":{"id":"n2168544807","loc":[-85.6344721,41.9460498]},"n2168544809":{"id":"n2168544809","loc":[-85.6344754,41.9461427]},"n2168544811":{"id":"n2168544811","loc":[-85.6344311,41.9461435]},"n2168544813":{"id":"n2168544813","loc":[-85.6344317,41.9461592]},"n2168544815":{"id":"n2168544815","loc":[-85.6343708,41.9461604]},"n2168544817":{"id":"n2168544817","loc":[-85.6343715,41.9461786]},"n2168544819":{"id":"n2168544819","loc":[-85.6343229,41.9461795]},"n2168544821":{"id":"n2168544821","loc":[-85.6343222,41.9461606]},"n2168544823":{"id":"n2168544823","loc":[-85.6342476,41.9461621]},"n2168544825":{"id":"n2168544825","loc":[-85.6342444,41.94607]},"n2168544827":{"id":"n2168544827","loc":[-85.634138,41.9461632]},"n2168544829":{"id":"n2168544829","loc":[-85.6342016,41.9460703]},"n2168544830":{"id":"n2168544830","loc":[-85.6332929,41.9463092]},"n2168544831":{"id":"n2168544831","loc":[-85.633122,41.946239]},"n2168544832":{"id":"n2168544832","loc":[-85.6332954,41.9460055]},"n2168544833":{"id":"n2168544833","loc":[-85.6333954,41.9460466]},"n2168544834":{"id":"n2168544834","loc":[-85.6334044,41.9460345]},"n2168544835":{"id":"n2168544835","loc":[-85.6334594,41.9460571]},"n2168544836":{"id":"n2168544836","loc":[-85.6333871,41.9461544]},"n2168544837":{"id":"n2168544837","loc":[-85.633403,41.9461609]},"n2168544838":{"id":"n2168544838","loc":[-85.6341683,41.9464167]},"n2168544839":{"id":"n2168544839","loc":[-85.6341711,41.9463411]},"n2168544840":{"id":"n2168544840","loc":[-85.6344471,41.9463469]},"n2168544841":{"id":"n2168544841","loc":[-85.6344441,41.9464243]},"n2168544842":{"id":"n2168544842","loc":[-85.6343622,41.9464226]},"n2168544843":{"id":"n2168544843","loc":[-85.6343593,41.9464989]},"n2168544844":{"id":"n2168544844","loc":[-85.6342812,41.9464973]},"n2168544845":{"id":"n2168544845","loc":[-85.634283,41.9464504]},"n2168544846":{"id":"n2168544846","loc":[-85.6342609,41.9464499]},"n2168544847":{"id":"n2168544847","loc":[-85.6342621,41.9464187]},"n2168544848":{"id":"n2168544848","loc":[-85.6348414,41.9463396]},"n2168544849":{"id":"n2168544849","loc":[-85.6348387,41.9461872]},"n2168544850":{"id":"n2168544850","loc":[-85.6351186,41.9461844]},"n2168544851":{"id":"n2168544851","loc":[-85.635119,41.9462112]},"n2168544852":{"id":"n2168544852","loc":[-85.6351918,41.9462104]},"n2168544853":{"id":"n2168544853","loc":[-85.6351944,41.9463515]},"n2168544854":{"id":"n2168544854","loc":[-85.6351049,41.9463524]},"n2168544855":{"id":"n2168544855","loc":[-85.6351046,41.946337]},"n2189153180":{"id":"n2189153180","loc":[-85.6340369,41.9469572]},"n2189153181":{"id":"n2189153181","loc":[-85.6342531,41.946953]},"n2189153183":{"id":"n2189153183","loc":[-85.6348115,41.9465468]},"n2189153184":{"id":"n2189153184","loc":[-85.6348105,41.9464569]},"n2189153185":{"id":"n2189153185","loc":[-85.6351431,41.9464549]},"n2189153186":{"id":"n2189153186","loc":[-85.6351441,41.9465448]},"n2189153187":{"id":"n2189153187","loc":[-85.6350077,41.9465456]},"n2189153188":{"id":"n2189153188","loc":[-85.635008,41.9465721]},"n2189153189":{"id":"n2189153189","loc":[-85.6348965,41.9465727]},"n2189153190":{"id":"n2189153190","loc":[-85.6348962,41.9465463]},"n2189153191":{"id":"n2189153191","loc":[-85.6348963,41.9471586]},"n2189153192":{"id":"n2189153192","loc":[-85.6348944,41.947032]},"n2189153193":{"id":"n2189153193","loc":[-85.6350241,41.947031]},"n2189153194":{"id":"n2189153194","loc":[-85.635026,41.9471575]},"n2189153195":{"id":"n2189153195","loc":[-85.6352328,41.9471053]},"n2189153196":{"id":"n2189153196","loc":[-85.6352359,41.9469906]},"n2189153197":{"id":"n2189153197","loc":[-85.6353694,41.9469925]},"n2189153198":{"id":"n2189153198","loc":[-85.6353664,41.9471072]},"n2189153199":{"id":"n2189153199","loc":[-85.6348241,41.9469287]},"n2189153200":{"id":"n2189153200","loc":[-85.6348248,41.9468185]},"n2189153201":{"id":"n2189153201","loc":[-85.6351199,41.9468195]},"n2189153202":{"id":"n2189153202","loc":[-85.6351192,41.9469298]},"n2189153203":{"id":"n2189153203","loc":[-85.6347965,41.9468057]},"n2189153204":{"id":"n2189153204","loc":[-85.634792,41.9466044]},"n2189153205":{"id":"n2189153205","loc":[-85.6349483,41.9466025]},"n2189153206":{"id":"n2189153206","loc":[-85.6349493,41.9466448]},"n2189153207":{"id":"n2189153207","loc":[-85.6349753,41.9466445]},"n2189153208":{"id":"n2189153208","loc":[-85.6349743,41.9465995]},"n2189153209":{"id":"n2189153209","loc":[-85.6351173,41.9465977]},"n2189153210":{"id":"n2189153210","loc":[-85.6351219,41.9468015]},"n2189153211":{"id":"n2189153211","loc":[-85.6349806,41.9468032]},"n2189153212":{"id":"n2189153212","loc":[-85.6349794,41.9467519]},"n2189153213":{"id":"n2189153213","loc":[-85.6349521,41.9467523]},"n2189153214":{"id":"n2189153214","loc":[-85.6349532,41.9468037]},"n2189153215":{"id":"n2189153215","loc":[-85.6346302,41.9468381]},"n2189153216":{"id":"n2189153216","loc":[-85.6343028,41.9468449]},"n2189153217":{"id":"n2189153217","loc":[-85.6342006,41.9468297]},"n2189153218":{"id":"n2189153218","loc":[-85.6336698,41.9465918]},"n2189153219":{"id":"n2189153219","loc":[-85.6344663,41.9466639]},"n2189153220":{"id":"n2189153220","loc":[-85.6344639,41.9466015]},"n2189153221":{"id":"n2189153221","loc":[-85.6342283,41.9466065]},"n2189153222":{"id":"n2189153222","loc":[-85.6342303,41.9466587]},"n2189153223":{"id":"n2189153223","loc":[-85.6342843,41.9466575]},"n2189153224":{"id":"n2189153224","loc":[-85.6342851,41.9466794]},"n2189153225":{"id":"n2189153225","loc":[-85.6343475,41.9466781]},"n2189153226":{"id":"n2189153226","loc":[-85.634347,41.9466664]},"n2189153227":{"id":"n2189153227","loc":[-85.6354428,41.9470148]},"n2189153228":{"id":"n2189153228","loc":[-85.6354432,41.9468005]},"n2189153229":{"id":"n2189153229","loc":[-85.6360277,41.9468011]},"n2189153230":{"id":"n2189153230","loc":[-85.6360273,41.9470154]},"n2189153231":{"id":"n2189153231","loc":[-85.6354565,41.9465823]},"n2189153232":{"id":"n2189153232","loc":[-85.6354496,41.946218]},"n2189153233":{"id":"n2189153233","loc":[-85.6356355,41.9465788]},"n2189153234":{"id":"n2189153234","loc":[-85.6357155,41.9468008]},"n2189153235":{"id":"n2189153235","loc":[-85.6359539,41.9467969]},"n2189153236":{"id":"n2189153236","loc":[-85.6359561,41.9463036]},"n2189153237":{"id":"n2189153237","loc":[-85.6360129,41.9464793]},"n2189153238":{"id":"n2189153238","loc":[-85.6360152,41.9463898]},"n2189153239":{"id":"n2189153239","loc":[-85.6359607,41.9464928]},"n2189153240":{"id":"n2189153240","loc":[-85.6356903,41.9462227]},"n2189153242":{"id":"n2189153242","loc":[-85.6354163,41.946142]},"n2189153243":{"id":"n2189153243","loc":[-85.6357546,41.9462214]},"n2189153244":{"id":"n2189153244","loc":[-85.6357937,41.9462542]},"n2189153245":{"id":"n2189153245","loc":[-85.6358723,41.9467048]},"n2189153246":{"id":"n2189153246","loc":[-85.6361494,41.946757]},"n2189153247":{"id":"n2189153247","loc":[-85.6354173,41.9469082]},"n2189153248":{"id":"n2189153248","loc":[-85.635443,41.9469079]},"n2189153249":{"id":"n2189153249","loc":[-85.6360275,41.9469093]},"n2189153250":{"id":"n2189153250","loc":[-85.6361542,41.946915]},"n2189153251":{"id":"n2189153251","loc":[-85.6358654,41.9464843]},"n2189153252":{"id":"n2189153252","loc":[-85.6359549,41.9467499]},"n2189153253":{"id":"n2189153253","loc":[-85.6357172,41.9466335]},"n2189153254":{"id":"n2189153254","loc":[-85.6355644,41.9461768]},"n2189153255":{"id":"n2189153255","loc":[-85.6355655,41.946528]},"n2189153256":{"id":"n2189153256","loc":[-85.6357055,41.9465971]},"n2189153257":{"id":"n2189153257","loc":[-85.635869,41.9465971]},"n2189153259":{"id":"n2189153259","loc":[-85.6354561,41.9470278]},"n2189153260":{"id":"n2189153260","loc":[-85.6357961,41.9470233]},"n2189153261":{"id":"n2189153261","loc":[-85.6357977,41.9470907]},"n2189153262":{"id":"n2189153262","loc":[-85.6357297,41.9470916]},"n2189153263":{"id":"n2189153263","loc":[-85.635733,41.947233]},"n2189153264":{"id":"n2189153264","loc":[-85.6362674,41.9468637]},"n2189153265":{"id":"n2189153265","loc":[-85.6362646,41.9467047]},"n2189153266":{"id":"n2189153266","loc":[-85.6363267,41.9467047]},"n2189153267":{"id":"n2189153267","loc":[-85.6362633,41.9465848]},"n2189153268":{"id":"n2189153268","loc":[-85.6363805,41.9465468]},"n2189153269":{"id":"n2189153269","loc":[-85.6364604,41.9466842]},"n2189153270":{"id":"n2189153270","loc":[-85.6364604,41.9468647]},"n2199109756":{"id":"n2199109756","loc":[-85.6337134,41.9471841]},"n2199109757":{"id":"n2199109757","loc":[-85.6336514,41.94716]},"n2199109758":{"id":"n2199109758","loc":[-85.6337043,41.9470847]},"n2199109759":{"id":"n2199109759","loc":[-85.6335997,41.9470441]},"n2199109760":{"id":"n2199109760","loc":[-85.6335064,41.9471771]},"n185960195":{"id":"n185960195","loc":[-85.6295992,41.9524346]},"n185960796":{"id":"n185960796","loc":[-85.634723,41.953681]},"n185961396":{"id":"n185961396","loc":[-85.634767,41.959009]},"n185962625":{"id":"n185962625","loc":[-85.635175,41.97201]},"n185964982":{"id":"n185964982","loc":[-85.632799,41.9440543]},"n185965289":{"id":"n185965289","loc":[-85.634621,41.947323]},"n185965291":{"id":"n185965291","loc":[-85.636166,41.947296]},"n185965399":{"id":"n185965399","loc":[-85.634776,41.959834]},"n185966937":{"id":"n185966937","loc":[-85.633183,41.947315]},"n185966948":{"id":"n185966948","loc":[-85.626406,41.957188]},"n185967422":{"id":"n185967422","loc":[-85.6320229,41.9490123]},"n185967917":{"id":"n185967917","loc":[-85.634763,41.958292]},"n185967918":{"id":"n185967918","loc":[-85.636271,41.958311]},"n185968100":{"id":"n185968100","loc":[-85.630835,41.950656]},"n185970515":{"id":"n185970515","loc":[-85.634832,41.963866]},"n185971578":{"id":"n185971578","loc":[-85.634641,41.948627]},"n185971580":{"id":"n185971580","loc":[-85.6361818,41.9486135]},"n185971631":{"id":"n185971631","loc":[-85.634729,41.954667]},"n185971632":{"id":"n185971632","loc":[-85.636236,41.954656]},"n185972155":{"id":"n185972155","loc":[-85.623333,41.961987]},"n185974583":{"id":"n185974583","loc":[-85.634686,41.951158]},"n185974585":{"id":"n185974585","loc":[-85.6362059,41.9511457]},"n185975064":{"id":"n185975064","loc":[-85.636218,41.953667]},"n185975735":{"id":"n185975735","loc":[-85.634923,41.969269]},"n185978390":{"id":"n185978390","loc":[-85.634668,41.949875]},"n185978392":{"id":"n185978392","loc":[-85.634686,41.952415]},"n185978394":{"id":"n185978394","loc":[-85.634726,41.955921]},"n185978399":{"id":"n185978399","loc":[-85.6347861,41.9606613]},"n185978402":{"id":"n185978402","loc":[-85.634806,41.961485]},"n185978406":{"id":"n185978406","loc":[-85.6348298,41.964783]},"n185978410":{"id":"n185978410","loc":[-85.6348766,41.9677088]},"n185978414":{"id":"n185978414","loc":[-85.634938,41.971566]},"n185978415":{"id":"n185978415","loc":[-85.634942,41.971611]},"n185978417":{"id":"n185978417","loc":[-85.634952,41.971655]},"n185978419":{"id":"n185978419","loc":[-85.634989,41.971741]},"n185978420":{"id":"n185978420","loc":[-85.635063,41.971864]},"n185978787":{"id":"n185978787","loc":[-85.627936,41.954693]},"n185978790":{"id":"n185978790","loc":[-85.626832,41.954677]},"n185978967":{"id":"n185978967","loc":[-85.632278,41.948613]},"n185980735":{"id":"n185980735","loc":[-85.628639,41.953725]},"n185982163":{"id":"n185982163","loc":[-85.636233,41.952398]},"n185982193":{"id":"n185982193","loc":[-85.6313855,41.9499125]},"n185982195":{"id":"n185982195","loc":[-85.6304857,41.9511945]},"n185982196":{"id":"n185982196","loc":[-85.626336,41.957291]},"n185982197":{"id":"n185982197","loc":[-85.625578,41.958664]},"n185982198":{"id":"n185982198","loc":[-85.624619,41.960145]},"n185982200":{"id":"n185982200","loc":[-85.624494,41.960338]},"n185984017":{"id":"n185984017","loc":[-85.636163,41.947382]},"n185984020":{"id":"n185984020","loc":[-85.636188,41.9498803]},"n185984022":{"id":"n185984022","loc":[-85.636276,41.955919]},"n185984024":{"id":"n185984024","loc":[-85.636279,41.956901]},"n185988036":{"id":"n185988036","loc":[-85.631422,41.948294]},"n185988867":{"id":"n185988867","loc":[-85.63102,41.948805]},"n185988869":{"id":"n185988869","loc":[-85.630773,41.949209]},"n185988871":{"id":"n185988871","loc":[-85.63005,41.95016]},"n185988872":{"id":"n185988872","loc":[-85.629423,41.951016]},"n185988873":{"id":"n185988873","loc":[-85.629252,41.951256]},"n185988875":{"id":"n185988875","loc":[-85.629126,41.951489]},"n185988877":{"id":"n185988877","loc":[-85.628991,41.951704]},"n185988878":{"id":"n185988878","loc":[-85.628689,41.952112]},"n185988879":{"id":"n185988879","loc":[-85.628313,41.952666]},"n185988880":{"id":"n185988880","loc":[-85.627687,41.953529]},"n185988882":{"id":"n185988882","loc":[-85.627394,41.953947]},"n185988884":{"id":"n185988884","loc":[-85.627287,41.954128]},"n1819858502":{"id":"n1819858502","loc":[-85.6328435,41.9455473]},"n1819858510":{"id":"n1819858510","loc":[-85.6324841,41.9453438]},"n1819858515":{"id":"n1819858515","loc":[-85.6318511,41.9446409]},"n1819858520":{"id":"n1819858520","loc":[-85.6326558,41.9454708]},"n1819858522":{"id":"n1819858522","loc":[-85.6319048,41.9447407]},"n1819858524":{"id":"n1819858524","loc":[-85.6317718,41.9443666]},"n1819858530":{"id":"n1819858530","loc":[-85.632055,41.9449128]},"n2139795768":{"id":"n2139795768","loc":[-85.6243023,41.9606102]},"n2139832645":{"id":"n2139832645","loc":[-85.6324455,41.9448607]},"n2139832649":{"id":"n2139832649","loc":[-85.6328043,41.9454773]},"n2139832651":{"id":"n2139832651","loc":[-85.6322547,41.9449621]},"n2139832675":{"id":"n2139832675","loc":[-85.6327356,41.944757]},"n2139832677":{"id":"n2139832677","loc":[-85.6325433,41.9448599]},"n2139832680":{"id":"n2139832680","loc":[-85.6328885,41.9455614]},"n2139832682":{"id":"n2139832682","loc":[-85.6320913,41.9449492]},"n2139832684":{"id":"n2139832684","loc":[-85.6325366,41.9447133]},"n2139832688":{"id":"n2139832688","loc":[-85.6322786,41.94485]},"n2139832718":{"id":"n2139832718","loc":[-85.6327486,41.9432475]},"n2139832719":{"id":"n2139832719","loc":[-85.6327926,41.9431773]},"n2139832720":{"id":"n2139832720","loc":[-85.6329033,41.943153]},"n2139832727":{"id":"n2139832727","loc":[-85.6328975,41.9430783]},"n2139844839":{"id":"n2139844839","loc":[-85.6326261,41.9432308]},"n2189015992":{"id":"n2189015992","loc":[-85.6347706,41.9593383]},"n2189153179":{"id":"n2189153179","loc":[-85.6340476,41.9472565]},"n2189153182":{"id":"n2189153182","loc":[-85.6342638,41.9472522]},"n2189153241":{"id":"n2189153241","loc":[-85.6354184,41.9473091]},"n2189153258":{"id":"n2189153258","loc":[-85.6354611,41.9472366]},"n2189153277":{"id":"n2189153277","loc":[-85.6328948,41.9462374]},"n2199109755":{"id":"n2199109755","loc":[-85.6336729,41.9472417]},"w203970139":{"id":"w203970139","tags":{"building":"yes"},"nodes":["n2139824793","n2139824787","n2139824773","n2139824778","n2139824793"]},"w203970098":{"id":"w203970098","tags":{"building":"yes"},"nodes":["n2139824748","n2139824712","n2139824726","n2139824760","n2139824748"]},"w208643132":{"id":"w208643132","tags":{"area":"yes","building":"yes"},"nodes":["n2189153195","n2189153196","n2189153197","n2189153198","n2189153195"]},"w203970094":{"id":"w203970094","tags":{"building":"yes"},"nodes":["n2139824755","n2139824753","n2139824759","n2139824764","n2139824763","n2139824767","n2139824770","n2139824782","n2139824772","n2139824756","n2139824751","n2139824754","n2139824755"]},"w208643138":{"id":"w208643138","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153231","n2189153232","n2189153240","n2189153244","n2189153236","n2189153238","n2189153237","n2189153239","n2189153252","n2189153235","n2189153234","n2189153253","n2189153233","n2189153231"]},"w203970125":{"id":"w203970125","tags":{"building":"yes"},"nodes":["n2139824735","n2139824738","n2139824757","n2139824749","n2139824735"]},"w170848823":{"id":"w170848823","tags":{"name":"Rocky River","waterway":"river"},"nodes":["n1819849189","n1819858516","n1819858519","n1819858504","n1819858525","n1819858506","n1819858513"]},"w203970898":{"id":"w203970898","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832645","n2139832647","n2139832649","n2139832651","n2139832645"]},"w203970134":{"id":"w203970134","tags":{"building":"yes"},"nodes":["n2139824796","n2139824803","n2139824797","n2139824788","n2139824796"]},"w203970104":{"id":"w203970104","tags":{"building":"yes"},"nodes":["n2139824733","n2139824730","n2139824714","n2139824721","n2139824733"]},"w206805245":{"id":"w206805245","tags":{"area":"yes","building":"yes"},"nodes":["n2168544780","n2168544781","n2139824796","n2139824803","n2168544780"]},"w206805252":{"id":"w206805252","tags":{"area":"yes","building":"yes"},"nodes":["n2168544838","n2168544839","n2168544840","n2168544841","n2168544842","n2168544843","n2168544844","n2168544845","n2168544846","n2168544847","n2168544838"]},"w203970099":{"id":"w203970099","tags":{"building":"yes"},"nodes":["n2139824783","n2139824795","n2139824790","n2139824779","n2139824783"]},"w17967730":{"id":"w17967730","tags":{"highway":"residential","name":"Water St"},"nodes":["n185963451","n2189153277","n185988036","n185988867","n185988869","n185988871","n185988872","n185988873","n185988875","n185988877","n185988878","n185988879","n185988880","n185988882","n185988884","n185978790"]},"w208643133":{"id":"w208643133","tags":{"area":"yes","building":"yes"},"nodes":["n2189153199","n2189153200","n2189153201","n2189153202","n2189153199"]},"w203970127":{"id":"w203970127","tags":{"building":"yes"},"nodes":["n2139824794","n2139824783","n2139824789","n2139824797","n2139824794"]},"w208643139":{"id":"w208643139","tags":{"highway":"service"},"nodes":["n185988237","n2189153242","n2189153247","n2189153241"]},"w203988297":{"id":"w203988297","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140006423","n2140006441","n2140006425","n2140006426","n2140006440","n2140006427","n2140006428","n2140006429","n2140006430","n2140006423"]},"w206805250":{"id":"w206805250","tags":{"area":"yes","building":"yes"},"nodes":["n2168544827","n2168544823","n2168544825","n2168544800","n2168544829","n2168544827"]},"w208643140":{"id":"w208643140","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153242","n2189153254","n2189153243","n2189153244","n2189153251","n2189153257","n2189153245","n2189153252","n2189153246"]},"w203974055":{"id":"w203974055","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870376","n2139870377"]},"w206805247":{"id":"w206805247","tags":{"area":"yes","building":"yes"},"nodes":["n2168544785","n2168544786","n2168544783","n2168544787","n2168544788","n2168544789","n2168544785"]},"w17964996":{"id":"w17964996","tags":{"highway":"residential","name":"Foster St"},"nodes":["n1819858524","n1819858515","n1819858522","n1819858530","n2139832682","n1819858510","n1819858520","n1819858502","n2139832680","n185963451","n1819858527","n185963452","n185963453","n185963454","n185963455","n185963456"]},"w208643144":{"id":"w208643144","tags":{"area":"yes","building":"yes"},"nodes":["n2189153264","n2189153265","n2189153266","n2189153267","n2189153268","n2189153269","n2189153270","n2189153264"]},"w203970914":{"id":"w203970914","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832722","n2139832723","n2139832724","n2139832725","n2139832726","n2139832727","n2139844839","n2139832722"]},"w208643143":{"id":"w208643143","tags":{"area":"yes","building":"yes"},"nodes":["n2189153258","n2189153259","n2189153260","n2189153261","n2189153262","n2189153263","n2189153258"]},"w203049590":{"id":"w203049590","tags":{"amenity":"parking","area":"yes"},"nodes":["n2130304152","n2130304153","n2140006403","n2130304154","n2130304156","n2130304155","n2130304160","n2130304152"]},"w203974054":{"id":"w203974054","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858971","n2139870373","n2139870374"]},"w203049595":{"id":"w203049595","tags":{"highway":"service"},"nodes":["n2130304158","n2130304159","n2130304160","n2139832635","n2139832639"]},"w203970913":{"id":"w203970913","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832715","n2139832716","n2139832717","n2139832718","n2139832719","n2139832720","n2139832721","n2139832716"]},"w208643134":{"id":"w208643134","tags":{"area":"yes","building":"yes"},"nodes":["n2189153203","n2189153204","n2189153205","n2189153206","n2189153207","n2189153208","n2189153209","n2189153210","n2189153211","n2189153212","n2189153213","n2189153214","n2189153203"]},"w134150808":{"id":"w134150808","tags":{"bridge":"yes","highway":"residential","name":"Moore St"},"nodes":["n185988239","n185984009","n185988241","n1475284019"]},"w203970115":{"id":"w203970115","tags":{"building":"yes"},"nodes":["n2139824761","n2139824727","n2139824736","n2139824771","n2139824761"]},"w208643130":{"id":"w208643130","tags":{"area":"yes","building":"yes"},"nodes":["n2189153183","n2189153184","n2189153185","n2189153186","n2189153187","n2189153188","n2189153189","n2189153190","n2189153183"]},"w206805246":{"id":"w206805246","tags":{"area":"yes","building":"yes"},"nodes":["n2168544782","n2168544780","n2168544781","n2168544783","n2168544787","n2168544784","n2168544782"]},"w203970138":{"id":"w203970138","tags":{"building":"yes"},"nodes":["n2139824729","n2139824720","n2139824702","n2139824707","n2139824729"]},"w203970133":{"id":"w203970133","tags":{"building":"yes"},"nodes":["n2139824748","n2139824737","n2139824717","n2139824728","n2139824748"]},"w203970907":{"id":"w203970907","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832700","n2139832701","n2139832702"]},"w203974056":{"id":"w203974056","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870377","n2139870378"]},"w203970897":{"id":"w203970897","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2130304156","n2166205688","n2139832635","n2139832636","n2139832637","n2139832639","n2139832641","n2166205688"]},"w203974057":{"id":"w203974057","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870375","n2139870376"]},"w203049594":{"id":"w203049594","tags":{"highway":"service"},"nodes":["n2130304156","n2139870378","n2139832706","n2139832704","n2130304157"]},"w203970122":{"id":"w203970122","tags":{"building":"yes"},"nodes":["n2139824757","n2139824740","n2139824747","n2139824762","n2139824757"]},"w208643136":{"id":"w208643136","tags":{"area":"yes","building":"yes"},"nodes":["n2189153219","n2189153220","n2189153221","n2189153222","n2189153223","n2189153224","n2189153225","n2189153226","n2189153219"]},"w203970128":{"id":"w203970128","tags":{"building":"yes"},"nodes":["n2139824732","n2139824752","n2139824744","n2139824724","n2139824732"]},"w203970097":{"id":"w203970097","tags":{"building":"yes"},"nodes":["n2139824737","n2139824733","n2139824710","n2139824716","n2139824737"]},"w203970137":{"id":"w203970137","tags":{"building":"yes"},"nodes":["n2139824765","n2139824774","n2139824758","n2139824746","n2139824765"]},"w134150840":{"id":"w134150840","tags":{"highway":"residential","name":"Moore St"},"nodes":["n1475284019","n185988243","n185988244","n185988245"]},"w17967628":{"id":"w17967628","tags":{"highway":"residential","name":"Moore St"},"nodes":["n185978388","n2139832709","n185988237","n185988239"]},"w203988292":{"id":"w203988292","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2140006407","n2140006405"]},"w203970118":{"id":"w203970118","tags":{"building":"yes"},"nodes":["n2139824775","n2139824785","n2139824780","n2139824768","n2139824775"]},"w203970121":{"id":"w203970121","tags":{"building":"yes"},"nodes":["n2139824768","n2139824781","n2139824776","n2139824765","n2139824768"]},"w17967752":{"id":"w17967752","tags":{"highway":"residential","name":"Railroad Drive"},"nodes":["n185964980","n2139832699","n2139832700","n2130304158","n185988969","n185988971","n185988972","n1475284011"]},"w203970136":{"id":"w203970136","tags":{"building":"yes"},"nodes":["n2139824798","n2139824793","n2139824777","n2139824784","n2139824798"]},"w203970142":{"id":"w203970142","tags":{"building":"yes"},"nodes":["n2139824808","n2139824809","n2139824807","n2139824806","n2139824801","n2139824800","n2139824804","n2139824805","n2139824808"]},"w208643137":{"id":"w208643137","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153227","n2189153248","n2189153228","n2189153234","n2189153235","n2189153229","n2189153249","n2189153230","n2189153227"]},"w208643129":{"id":"w208643129","tags":{"area":"yes","building":"yes"},"nodes":["n2189153179","n2189153180","n2189153181","n2189153182","n2189153179"]},"w203970909":{"id":"w203970909","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832703","n2139832704","n2139832706","n2139832708","n2139832703"]},"w203970905":{"id":"w203970905","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832688","n2139832691"]},"w203988298":{"id":"w203988298","tags":{"highway":"service"},"nodes":["n2140006431","n2140006433","n2140006435","n2140006436","n2140006437","n2140006438","n2140006439","n2140006440"]},"w203970106":{"id":"w203970106","tags":{"building":"yes"},"nodes":["n2139824798","n2139824791","n2139824799","n2139824802","n2139824798"]},"w203970129":{"id":"w203970129","tags":{"building":"yes"},"nodes":["n2139824787","n2139824782","n2139824766","n2139824769","n2139824787"]},"w208643131":{"id":"w208643131","tags":{"area":"yes","building":"yes"},"nodes":["n2189153191","n2189153192","n2189153193","n2189153194","n2189153191"]},"w206805249":{"id":"w206805249","tags":{"area":"yes","building":"yes"},"nodes":["n2168544800","n2168544801","n2168544802","n2168544805","n2168544807","n2168544809","n2168544811","n2168544813","n2168544815","n2168544817","n2168544819","n2168544821","n2168544823","n2168544825","n2168544800"]},"w134150800":{"id":"w134150800","tags":{"bridge":"yes","highway":"primary","name":"W Michigan Ave","old_ref":"US 131","ref":"US 131 Business;M 60"},"nodes":["n185964972","n185964976"]},"w17966984":{"id":"w17966984","tags":{"highway":"residential","name":"Portage Avenue"},"nodes":["n185978375","n185963456","n2189153218","n185966937","n185978967","n185967422","n185982193","n185968100","n185982195","n185960195","n185980735","n185978787","n185966948","n185982196","n185982197","n185982198","n185982200","n2139795768","n185972155"]},"w203988294":{"id":"w203988294","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2140006409","n2140006411","n2140006413","n2140006415","n2140006409"]},"w203970912":{"id":"w203970912","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832711","n2139832712","n2139832713","n2139832714","n2139832711"]},"w203970119":{"id":"w203970119","tags":{"building":"yes"},"nodes":["n2139824713","n2139824705","n2139824683","n2139824689","n2139824713"]},"w203970114":{"id":"w203970114","tags":{"building":"yes"},"nodes":["n2139824735","n2139824750","n2139824745","n2139824732","n2139824735"]},"w208643142":{"id":"w208643142","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153254","n2189153255","n2189153256","n2189153257"]},"w206805253":{"id":"w206805253","tags":{"area":"yes","building":"yes"},"nodes":["n2168544848","n2168544849","n2168544850","n2168544851","n2168544852","n2168544853","n2168544854","n2168544855","n2168544848"]},"w143497377":{"id":"w143497377","tags":{"highway":"primary","name":"North Main Street","old_ref":"US 131","ref":"US 131 Business"},"nodes":["n185962625","n185978420","n185978419","n185978417","n185978415","n185978414","n185975735","n1475293254","n185978410","n185978406","n185970515","n185978402","n185978399","n185965399","n2189015992","n185961396","n185967917","n185978394","n185971631","n185960796","n185978392","n185974583","n185978390","n185971578","n185965289","n2189153215","n185978388","n185978383","n185978381","n185978379","n185978377","n185978375","n185964982"]},"w134150811":{"id":"w134150811","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60"},"nodes":["n185964976","n2130304157","n1475284023","n2139832715","n185964980","n185964982"]},"w208643135":{"id":"w208643135","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153215","n2189153216","n2189153217","n2189153218"]},"w17967183":{"id":"w17967183","tags":{"highway":"residential","name":"West Street"},"nodes":["n1475284011","n185984011","n185984013","n185984015","n2189153246","n2189153250","n185965291","n185984017","n185971580","n185984020","n185974585","n185982163","n185975064","n185971632","n185984022","n185984024","n185967918"]},"w134150778":{"id":"w134150778","tags":{"bridge":"yes","highway":"residential","name":"Moore St"},"nodes":["n185988245","n1475283992","n185975911"]},"w206805248":{"id":"w206805248","tags":{"area":"yes","building":"yes"},"nodes":["n2168544790","n2168544791","n2168544792","n2168544793","n2168544795","n2168544797","n2168544798","n2168544799","n2168544802","n2168544801","n2168544790"]},"w203974058":{"id":"w203974058","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870374","n2139870375"]},"w203970902":{"id":"w203970902","tags":{"highway":"service"},"nodes":["n2139832678","n2139832691","n2139832680"]},"w203988296":{"id":"w203988296","tags":{"highway":"path"},"nodes":["n2139858967","n2140006421","n2139858935"]},"w206805251":{"id":"w206805251","tags":{"area":"yes","building":"yes"},"nodes":["n2168544830","n2168544831","n2168544832","n2168544833","n2168544834","n2168544835","n2168544836","n2168544837","n2168544830"]},"w203970906":{"id":"w203970906","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832693","n2139832694","n2139832696","n2139832697","n2139832698","n2139832693"]},"w203049598":{"id":"w203049598","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2130304162","n2130304163","n2130304164","n2130304165","n2130304162"]},"w203970911":{"id":"w203970911","tags":{"highway":"service"},"nodes":["n2139832709","n2139832714","n2139832713","n2139832710","n185988971"]},"w203970105":{"id":"w203970105","tags":{"building":"yes"},"nodes":["n2139824779","n2139824792","n2139824786","n2139824775","n2139824779"]},"w203988290":{"id":"w203988290","tags":{"highway":"footway"},"nodes":["n2140006403","n2140006407"]},"w203970900":{"id":"w203970900","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832653","n2139832663","n2139832665","n2139832667","n2139832669","n2139832671","n2139832673","n2139832675","n2139832677","n2139832653"]},"w209717048":{"id":"w209717048","tags":{"area":"yes","building":"yes"},"nodes":["n2199109755","n2199109756","n2199109757","n2199109758","n2199109759","n2199109760","n2199109755"]},"w208643141":{"id":"w208643141","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153247","n2189153248","n2189153249","n2189153250"]},"w203970903":{"id":"w203970903","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832682","n2139832688","n2139832684","n2139832678","n2139832686"]},"n354002527":{"id":"n354002527","loc":[-85.6236039,41.9458813],"tags":{"amenity":"school","name":"Barrows School"}},"n185963396":{"id":"n185963396","loc":[-85.627401,41.943496]},"n185963397":{"id":"n185963397","loc":[-85.627403,41.943625]},"n185965101":{"id":"n185965101","loc":[-85.626409,41.943215]},"n185971474":{"id":"n185971474","loc":[-85.624884,41.943508]},"n185971475":{"id":"n185971475","loc":[-85.625191,41.943509]},"n185971482":{"id":"n185971482","loc":[-85.624882,41.94382]},"n185983135":{"id":"n185983135","loc":[-85.624893,41.945616]},"n185983137":{"id":"n185983137","loc":[-85.624912,41.946524]},"n185988027":{"id":"n185988027","loc":[-85.622721,41.946535]},"n185963398":{"id":"n185963398","loc":[-85.6273993,41.9446899]},"n185983238":{"id":"n185983238","loc":[-85.6227157,41.9456321]},"n185980374":{"id":"n185980374","loc":[-85.6248856,41.9447242]},"n185980373":{"id":"n185980373","loc":[-85.6226744,41.9447371]},"n2196831342":{"id":"n2196831342","loc":[-85.6250924,41.945063]},"n2196831343":{"id":"n2196831343","loc":[-85.6252335,41.9450636]},"n2196831344":{"id":"n2196831344","loc":[-85.6252286,41.9448707]},"n2196831345":{"id":"n2196831345","loc":[-85.6250661,41.9448707]},"n2196831346":{"id":"n2196831346","loc":[-85.6250243,41.9449012]},"n2196831347":{"id":"n2196831347","loc":[-85.6250251,41.9449244]},"n2196831348":{"id":"n2196831348","loc":[-85.6250867,41.9449257]},"n2196831349":{"id":"n2196831349","loc":[-85.625349,41.9445058]},"n2196831350":{"id":"n2196831350","loc":[-85.6253471,41.9443882]},"n2196831351":{"id":"n2196831351","loc":[-85.6251516,41.94439]},"n2196831352":{"id":"n2196831352","loc":[-85.6251522,41.9444308]},"n2196831353":{"id":"n2196831353","loc":[-85.6251344,41.9444309]},"n2196831354":{"id":"n2196831354","loc":[-85.6251356,41.9445077]},"n2196831355":{"id":"n2196831355","loc":[-85.6232357,41.9463406]},"n2196831356":{"id":"n2196831356","loc":[-85.6232409,41.9460668]},"n2196831357":{"id":"n2196831357","loc":[-85.6232072,41.9460665]},"n2196831358":{"id":"n2196831358","loc":[-85.6232117,41.9458272]},"n2196831359":{"id":"n2196831359","loc":[-85.6229808,41.9458248]},"n2196831360":{"id":"n2196831360","loc":[-85.6229763,41.9460627]},"n2196831361":{"id":"n2196831361","loc":[-85.623006,41.946063]},"n2196831362":{"id":"n2196831362","loc":[-85.6230023,41.9462557]},"n2196831363":{"id":"n2196831363","loc":[-85.6230755,41.9462565]},"n2196831364":{"id":"n2196831364","loc":[-85.6230739,41.9463389]},"n185947349":{"id":"n185947349","loc":[-85.618327,41.945607]},"n185947359":{"id":"n185947359","loc":[-85.615453,41.945597]},"n185947378":{"id":"n185947378","loc":[-85.617231,41.945603]},"n185947474":{"id":"n185947474","loc":[-85.616136,41.945602]},"n185948972":{"id":"n185948972","loc":[-85.615273,41.945637]},"n185955019":{"id":"n185955019","loc":[-85.620172,41.945627]},"n185960682":{"id":"n185960682","loc":[-85.622759,41.951845]},"n185961369":{"id":"n185961369","loc":[-85.622758,41.947444]},"n185961371":{"id":"n185961371","loc":[-85.624908,41.947416]},"n185963392":{"id":"n185963392","loc":[-85.6270462,41.9409953]},"n185963393":{"id":"n185963393","loc":[-85.627295,41.941304]},"n185963394":{"id":"n185963394","loc":[-85.627352,41.94148]},"n185963395":{"id":"n185963395","loc":[-85.62737,41.942261]},"n185965099":{"id":"n185965099","loc":[-85.6264,41.942263]},"n185965108":{"id":"n185965108","loc":[-85.622769,41.949224]},"n185965110":{"id":"n185965110","loc":[-85.624937,41.949237]},"n185966295":{"id":"n185966295","loc":[-85.6299942,41.9446689]},"n185966342":{"id":"n185966342","loc":[-85.624873,41.942022]},"n185970222":{"id":"n185970222","loc":[-85.622761,41.948357]},"n185970224":{"id":"n185970224","loc":[-85.624924,41.9483338]},"n185971477":{"id":"n185971477","loc":[-85.620051,41.94383]},"n185971478":{"id":"n185971478","loc":[-85.621219,41.943801]},"n185971481":{"id":"n185971481","loc":[-85.621812,41.943807]},"n185973866":{"id":"n185973866","loc":[-85.627629,41.946498]},"n185974699":{"id":"n185974699","loc":[-85.6227688,41.950119]},"n185978800":{"id":"n185978800","loc":[-85.623953,41.954684]},"n185980372":{"id":"n185980372","loc":[-85.621459,41.944756]},"n185980378":{"id":"n185980378","loc":[-85.6286375,41.9446764]},"n185980380":{"id":"n185980380","loc":[-85.630139,41.944661]},"n185980382":{"id":"n185980382","loc":[-85.630298,41.944635]},"n185980384":{"id":"n185980384","loc":[-85.630759,41.94454]},"n185980386":{"id":"n185980386","loc":[-85.6312369,41.9444548]},"n185983133":{"id":"n185983133","loc":[-85.6248672,41.9415903]},"n185983139":{"id":"n185983139","loc":[-85.624951,41.950239]},"n185983140":{"id":"n185983140","loc":[-85.624934,41.950681]},"n185983141":{"id":"n185983141","loc":[-85.624813,41.950983]},"n185983143":{"id":"n185983143","loc":[-85.6246225,41.951591]},"n185983144":{"id":"n185983144","loc":[-85.623908,41.9539165]},"n185983145":{"id":"n185983145","loc":[-85.6238903,41.9540956]},"n185983146":{"id":"n185983146","loc":[-85.623898,41.95431]},"n185983236":{"id":"n185983236","loc":[-85.628481,41.945611]},"n185985914":{"id":"n185985914","loc":[-85.620072,41.946538]},"n185986812":{"id":"n185986812","loc":[-85.6227785,41.9510005]},"n185988028":{"id":"n185988028","loc":[-85.6281401,41.9469632]},"n185988030":{"id":"n185988030","loc":[-85.6282451,41.9470314]},"n185988032":{"id":"n185988032","loc":[-85.6283312,41.9470656]},"w17964989":{"id":"w17964989","tags":{"highway":"residential","name":"Middle St"},"nodes":["n185963392","n185963393","n185963394","n185963395","n185963396","n185963397","n185963398"]},"w17965158":{"id":"w17965158","tags":{"access":"private","highway":"service","name":"Battle St"},"nodes":["n185965099","n185965101"]},"w41074896":{"id":"w41074896","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60"},"nodes":["n185980372","n185980373","n185980374","n185963398","n185980378","n185966295","n185980380","n185980382","n185980384","n185980386"]},"w17965846":{"id":"w17965846","tags":{"highway":"residential","name":"2nd Ave"},"nodes":["n185971477","n185971478","n185971481","n185971482"]},"w209470306":{"id":"w209470306","tags":{"area":"yes","building":"yes"},"nodes":["n2196831349","n2196831350","n2196831351","n2196831352","n2196831353","n2196831354","n2196831349"]},"w17965845":{"id":"w17965845","tags":{"highway":"residential","name":"2nd Ave"},"nodes":["n185971474","n185971475","n185963396"]},"w209470307":{"id":"w209470307","tags":{"area":"yes","building":"yes"},"nodes":["n2196831355","n2196831356","n2196831357","n2196831358","n2196831359","n2196831360","n2196831361","n2196831362","n2196831363","n2196831364","n2196831355"]},"w17968192":{"id":"w17968192","tags":{"highway":"residential","name":"Washington St"},"nodes":["n185980373","n185983238","n185988027","n185961369","n185970222","n185965108","n185974699","n185986812","n185960682"]},"w17967603":{"id":"w17967603","tags":{"highway":"residential","name":"5th Ave"},"nodes":["n185985914","n185988027","n185983137","n185973866","n185988028","n185988030","n185988032"]},"w209470305":{"id":"w209470305","tags":{"area":"yes","building":"yes"},"nodes":["n2196831342","n2196831343","n2196831344","n2196831345","n2196831346","n2196831347","n2196831348","n2196831342"]},"w17967092":{"id":"w17967092","tags":{"highway":"residential","name":"Wood St"},"nodes":["n185983133","n185966342","n185971474","n185971482","n185980374","n185983135","n185983137","n185961371","n185970224","n185965110","n185983139","n185983140","n185983141","n185983143","n185983144","n185983145","n185983146","n185978800"]},"w17967107":{"id":"w17967107","tags":{"highway":"residential","name":"4th Ave"},"nodes":["n185983236","n185983135","n185983238","n185955019","n185947349","n185947378","n185947474","n185947359","n185948972"]},"n354030330":{"id":"n354030330","loc":[-85.6297222,41.9444444],"tags":{"leisure":"park","name":"Scouter Park"}},"n185966296":{"id":"n185966296","loc":[-85.629998,41.944078]},"n185966298":{"id":"n185966298","loc":[-85.629972,41.943927]},"n185966300":{"id":"n185966300","loc":[-85.629948,41.943783]},"n185980391":{"id":"n185980391","loc":[-85.6322992,41.9442766]},"n185980393":{"id":"n185980393","loc":[-85.6324925,41.9442136]},"n185980389":{"id":"n185980389","loc":[-85.6320272,41.9443281]},"n185980388":{"id":"n185980388","loc":[-85.6315778,41.9443959]},"n354031320":{"id":"n354031320","loc":[-85.6280556,41.9447222],"tags":{"amenity":"place_of_worship","name":"Riverside Church","religion":"christian"}},"n185987309":{"id":"n185987309","loc":[-85.6286497,41.9453531]},"n185987311":{"id":"n185987311","loc":[-85.6285942,41.9454805]},"n185988034":{"id":"n185988034","loc":[-85.6285815,41.9471692]},"n185988896":{"id":"n185988896","loc":[-85.6318433,41.9437929]},"n185977764":{"id":"n185977764","loc":[-85.6322988,41.943472]},"n1819848852":{"id":"n1819848852","loc":[-85.6315188,41.9448808]},"n1819848912":{"id":"n1819848912","loc":[-85.6284289,41.9472189]},"n1819848925":{"id":"n1819848925","loc":[-85.6314501,41.9451617]},"n1819848949":{"id":"n1819848949","loc":[-85.6309394,41.9455192]},"n1819848951":{"id":"n1819848951","loc":[-85.6290297,41.9457187]},"n1819848963":{"id":"n1819848963","loc":[-85.630521,41.9455591]},"n1819848981":{"id":"n1819848981","loc":[-85.6292936,41.9455846]},"n1819848989":{"id":"n1819848989","loc":[-85.6298451,41.9455431]},"n1819848998":{"id":"n1819848998","loc":[-85.6314973,41.9446254]},"n1819849018":{"id":"n1819849018","loc":[-85.6302807,41.9455527]},"n1819849043":{"id":"n1819849043","loc":[-85.6285533,41.9469731]},"n1819849087":{"id":"n1819849087","loc":[-85.6314501,41.9453532]},"n1819849090":{"id":"n1819849090","loc":[-85.628843,41.9461033]},"n1819849109":{"id":"n1819849109","loc":[-85.6311926,41.9454729]},"n1819849116":{"id":"n1819849116","loc":[-85.6288967,41.9459437]},"n1819849177":{"id":"n1819849177","loc":[-85.6287894,41.9464544]},"n1819858529":{"id":"n1819858529","loc":[-85.6325485,41.9445625]},"n2189112797":{"id":"n2189112797","loc":[-85.6275271,41.944555]},"n2189112798":{"id":"n2189112798","loc":[-85.6275196,41.9437258]},"n2189112799":{"id":"n2189112799","loc":[-85.6278937,41.943723]},"n2189112800":{"id":"n2189112800","loc":[-85.6278969,41.9439191]},"n2189112801":{"id":"n2189112801","loc":[-85.6279907,41.9439345]},"n2189112802":{"id":"n2189112802","loc":[-85.6280817,41.9439663]},"n2189112803":{"id":"n2189112803","loc":[-85.6281768,41.9440145]},"n2189112804":{"id":"n2189112804","loc":[-85.6281933,41.9440483]},"n2189112805":{"id":"n2189112805","loc":[-85.6281671,41.9440535]},"n2189112806":{"id":"n2189112806","loc":[-85.6281933,41.9440935]},"n2189112807":{"id":"n2189112807","loc":[-85.6282126,41.9441437]},"n2189112808":{"id":"n2189112808","loc":[-85.628214,41.9441991]},"n2189112809":{"id":"n2189112809","loc":[-85.6283298,41.944196]},"n2189112810":{"id":"n2189112810","loc":[-85.6283285,41.9442616]},"n2189112811":{"id":"n2189112811","loc":[-85.6281727,41.9442616]},"n2189112812":{"id":"n2189112812","loc":[-85.6281713,41.9442934]},"n2189112813":{"id":"n2189112813","loc":[-85.6280386,41.9442963]},"n2189112814":{"id":"n2189112814","loc":[-85.6280405,41.9443292]},"n2189112815":{"id":"n2189112815","loc":[-85.627829,41.9443349]},"n2189112816":{"id":"n2189112816","loc":[-85.6278347,41.9445495]},"n2189153271":{"id":"n2189153271","loc":[-85.6321053,41.9460342]},"n2189153272":{"id":"n2189153272","loc":[-85.632278,41.9457841]},"n2189153273":{"id":"n2189153273","loc":[-85.632823,41.9459936]},"n2189153274":{"id":"n2189153274","loc":[-85.6326845,41.9461963]},"n2189153275":{"id":"n2189153275","loc":[-85.6325664,41.9461507]},"n2189153276":{"id":"n2189153276","loc":[-85.6325323,41.946198]},"n2189153278":{"id":"n2189153278","loc":[-85.6321916,41.9459733]},"n2189153279":{"id":"n2189153279","loc":[-85.6322598,41.9458703]},"n2189153280":{"id":"n2189153280","loc":[-85.6327208,41.9460358]},"n2189153281":{"id":"n2189153281","loc":[-85.6326413,41.9461422]},"n185959079":{"id":"n185959079","loc":[-85.6293702,41.9474668]},"n185966301":{"id":"n185966301","loc":[-85.629692,41.943136]},"n185966304":{"id":"n185966304","loc":[-85.629565,41.942916]},"n185966308":{"id":"n185966308","loc":[-85.629501,41.942751]},"n185966315":{"id":"n185966315","loc":[-85.629472,41.942578]},"n185966319":{"id":"n185966319","loc":[-85.629444,41.942414]},"n185966321":{"id":"n185966321","loc":[-85.629391,41.94205]},"n185966323":{"id":"n185966323","loc":[-85.629369,41.941858]},"n185966327":{"id":"n185966327","loc":[-85.629297,41.941604]},"n185966331":{"id":"n185966331","loc":[-85.629233,41.941549]},"n185966336":{"id":"n185966336","loc":[-85.628504,41.941364]},"n185966338":{"id":"n185966338","loc":[-85.628275,41.941303]},"n185966340":{"id":"n185966340","loc":[-85.6269038,41.9410983]},"n185973867":{"id":"n185973867","loc":[-85.626843,41.947333]},"n185977762":{"id":"n185977762","loc":[-85.6318441,41.9429453]},"n1819848853":{"id":"n1819848853","loc":[-85.625854,41.9492218]},"n1819848861":{"id":"n1819848861","loc":[-85.6251459,41.9552376]},"n1819848874":{"id":"n1819848874","loc":[-85.6267445,41.9482961]},"n1819848882":{"id":"n1819848882","loc":[-85.6257209,41.9552396]},"n1819848883":{"id":"n1819848883","loc":[-85.624706,41.9523173]},"n1819848907":{"id":"n1819848907","loc":[-85.62609,41.9561471]},"n1819848908":{"id":"n1819848908","loc":[-85.6244013,41.9549284]},"n1819848911":{"id":"n1819848911","loc":[-85.6265578,41.9553672]},"n1819848923":{"id":"n1819848923","loc":[-85.6246802,41.9550959]},"n1819848936":{"id":"n1819848936","loc":[-85.6241588,41.9539291]},"n1819848940":{"id":"n1819848940","loc":[-85.62506,41.9511129]},"n1819848944":{"id":"n1819848944","loc":[-85.624942,41.9515912]},"n1819848950":{"id":"n1819848950","loc":[-85.6273989,41.9475461]},"n1819848957":{"id":"n1819848957","loc":[-85.627695,41.947404]},"n1819849009":{"id":"n1819849009","loc":[-85.6259248,41.94896]},"n1819849037":{"id":"n1819849037","loc":[-85.6257252,41.9502112]},"n1819849061":{"id":"n1819849061","loc":[-85.6270084,41.9479626]},"n1819849073":{"id":"n1819849073","loc":[-85.6243734,41.9534583]},"n1819849091":{"id":"n1819849091","loc":[-85.6241373,41.9543918]},"n1819849130":{"id":"n1819849130","loc":[-85.6282572,41.9473067]},"n1819849143":{"id":"n1819849143","loc":[-85.625281,41.9506596]},"n1819849153":{"id":"n1819849153","loc":[-85.6258647,41.9498043]},"n1819849168":{"id":"n1819849168","loc":[-85.6265084,41.9559317]},"n1819849173":{"id":"n1819849173","loc":[-85.6263325,41.9552156]},"n1819849175":{"id":"n1819849175","loc":[-85.6266372,41.9556764]},"n1819849178":{"id":"n1819849178","loc":[-85.6242232,41.9545993]},"n1819849181":{"id":"n1819849181","loc":[-85.6262187,41.9486712]},"n1819849188":{"id":"n1819849188","loc":[-85.6245558,41.9530434]},"n1819849190":{"id":"n1819849190","loc":[-85.6255982,41.9563017]},"n2168544738":{"id":"n2168544738","loc":[-85.6245707,41.9529711]},"w208643145":{"id":"w208643145","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153271","n2189153272","n2189153273","n2189153274","n2189153275","n2189153276","n2189153271"]},"w17967561":{"id":"w17967561","tags":{"highway":"residential","name":"Garden St"},"nodes":["n185980378","n185987309","n185987311","n185983236","n185973866"]},"w134150802":{"id":"w134150802","tags":{"bridge":"yes","highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60"},"nodes":["n185980386","n185980388"]},"w208639462":{"id":"w208639462","tags":{"area":"yes","building":"yes"},"nodes":["n2189112797","n2189112798","n2189112799","n2189112800","n2189112801","n2189112802","n2189112803","n2189112804","n2189112805","n2189112806","n2189112807","n2189112808","n2189112809","n2189112810","n2189112811","n2189112812","n2189112813","n2189112814","n2189112815","n2189112816","n2189112797"]},"w134150830":{"id":"w134150830","tags":{"bridge":"yes","highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86"},"nodes":["n185977762","n185977764"]},"w134150801":{"id":"w134150801","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86"},"nodes":["n185977764","n185964982"]},"w208643146":{"id":"w208643146","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153277","n2189153281","n2189153278","n2189153279","n2189153280","n2189153281"]},"w17966061":{"id":"w17966061","tags":{"highway":"residential","name":"John Glenn Ct"},"nodes":["n185973866","n185973867"]},"w134150772":{"id":"w134150772","tags":{"highway":"residential","name":"5th Ave"},"nodes":["n185988034","n185959079","n185988036","n185978967"]},"w134150836":{"id":"w134150836","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60"},"nodes":["n185980388","n1819858524","n185980389","n185980391","n185980393","n185964982"]},"w17967734":{"id":"w17967734","tags":{"highway":"residential","name":"Water Street"},"nodes":["n185988896","n185980391","n1819858529"]},"w17965305":{"id":"w17965305","tags":{"highway":"residential","name":"River Dr"},"nodes":["n185966295","n185966296","n185966298","n185966300","n185966301","n185966304","n185966308","n185966315","n185966319","n185966321","n185966323","n185966327","n185966331","n185966336","n185966338","n185963392","n185966340","n185966342"]},"w134150826":{"id":"w134150826","tags":{"bridge":"yes","highway":"residential","name":"5th Ave"},"nodes":["n185988032","n185988034"]},"w170848330":{"id":"w170848330","tags":{"name":"Portage River","waterway":"river"},"nodes":["n1819849190","n1819848907","n1819849168","n1819849175","n1819848911","n1819849173","n1819848882","n1819848861","n1819848923","n1819848908","n1819849178","n1819849091","n1819848936","n1819849073","n1819849188","n2168544738","n1819848883","n1819848944","n1819848940","n1819849143","n1819849037","n1819849153","n1819848853","n1819849009","n1819849181","n1819848874","n1819849061","n1819848950","n1819848957","n1819849130","n1819848912","n1819849043","n1819849177","n1819849090","n1819849116","n1819848951","n1819848981","n1819848989","n1819849018","n1819848963","n1819848949","n1819849109","n1819849087","n1819848925","n1819848852","n1819848998","n1819849057"]},"r270264":{"id":"r270264","tags":{"network":"US:MI","ref":"86","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-86_%28Michigan_highway%29"},"members":[{"id":"w17737723","type":"way","role":""},{"id":"w17735949","type":"way","role":""},{"id":"w17740404","type":"way","role":""},{"id":"w17966273","type":"way","role":""},{"id":"w17964745","type":"way","role":""},{"id":"w151538068","type":"way","role":""},{"id":"w151538067","type":"way","role":""},{"id":"w17964960","type":"way","role":""},{"id":"w17966099","type":"way","role":""},{"id":"w17968009","type":"way","role":""},{"id":"w41259499","type":"way","role":""},{"id":"w151540401","type":"way","role":""},{"id":"w151540418","type":"way","role":""},{"id":"w17967997","type":"way","role":""},{"id":"w17966029","type":"way","role":""},{"id":"w17964801","type":"way","role":""},{"id":"w41259496","type":"way","role":""},{"id":"w151540399","type":"way","role":""},{"id":"w17968004","type":"way","role":""},{"id":"w17966462","type":"way","role":""},{"id":"w134150830","type":"way","role":""},{"id":"w134150801","type":"way","role":""},{"id":"w17732295","type":"way","role":""}]},"n185980093":{"id":"n185980093","loc":[-85.6271414,41.9407274]},"n185964330":{"id":"n185964330","loc":[-85.6235688,41.9399111]},"n185964328":{"id":"n185964328","loc":[-85.6235609,41.9391301]},"n185958034":{"id":"n185958034","loc":[-85.627102,41.939125]},"n185964331":{"id":"n185964331","loc":[-85.623571,41.940124]},"n185964329":{"id":"n185964329","loc":[-85.623562,41.9392411]},"n185972756":{"id":"n185972756","loc":[-85.623802,41.939102]},"n185972757":{"id":"n185972757","loc":[-85.623584,41.93913]},"n185975325":{"id":"n185975325","loc":[-85.624835,41.939318]},"n185975326":{"id":"n185975326","loc":[-85.624811,41.939435]},"n185975327":{"id":"n185975327","loc":[-85.624635,41.939703]},"n185975328":{"id":"n185975328","loc":[-85.624366,41.940055]},"n185975330":{"id":"n185975330","loc":[-85.624287,41.940113]},"n185975332":{"id":"n185975332","loc":[-85.624215,41.940134]},"n185980088":{"id":"n185980088","loc":[-85.627127,41.940086]},"n185988943":{"id":"n185988943","loc":[-85.622643,41.940128]},"n185988961":{"id":"n185988961","loc":[-85.627263,41.940082]},"n185990192":{"id":"n185990192","loc":[-85.622933,41.939224]},"n185990194":{"id":"n185990194","loc":[-85.621976,41.939203]},"n185991378":{"id":"n185991378","loc":[-85.622643,41.940635]},"n1475283999":{"id":"n1475283999","loc":[-85.6271165,41.9408429]},"n185980090":{"id":"n185980090","loc":[-85.6271315,41.9402001]},"n185958036":{"id":"n185958036","loc":[-85.6248366,41.9391615]},"n1819800188":{"id":"n1819800188","loc":[-85.6246947,41.9401644]},"n1819800199":{"id":"n1819800199","loc":[-85.6233686,41.9430896]},"n1819800204":{"id":"n1819800204","loc":[-85.6223236,41.9408587]},"n1819800213":{"id":"n1819800213","loc":[-85.6247526,41.9414138]},"n1819800216":{"id":"n1819800216","loc":[-85.6230961,41.9407151]},"n1819800218":{"id":"n1819800218","loc":[-85.621991,41.9429336]},"n1819800221":{"id":"n1819800221","loc":[-85.6246088,41.9424708]},"n1819800227":{"id":"n1819800227","loc":[-85.6241368,41.9403081]},"n1819800230":{"id":"n1819800230","loc":[-85.6226776,41.9431012]},"n1819800231":{"id":"n1819800231","loc":[-85.6243728,41.9401644]},"n1819800232":{"id":"n1819800232","loc":[-85.6249629,41.9408907]},"n1819800248":{"id":"n1819800248","loc":[-85.6238685,41.9405555]},"n1819800266":{"id":"n1819800266","loc":[-85.6246882,41.9418367]},"n1819800271":{"id":"n1819800271","loc":[-85.62492,41.9413695]},"n1819800294":{"id":"n1819800294","loc":[-85.6243556,41.9427465]},"n1819800304":{"id":"n1819800304","loc":[-85.6251453,41.94117]},"n1819800325":{"id":"n1819800325","loc":[-85.6248234,41.9405714]},"n1819800362":{"id":"n1819800362","loc":[-85.6239544,41.9429416]},"n1819800368":{"id":"n1819800368","loc":[-85.6243406,41.9402283]},"n1819800375":{"id":"n1819800375","loc":[-85.6226562,41.940755]},"n1819800377":{"id":"n1819800377","loc":[-85.6232033,41.9406512]},"n185945133":{"id":"n185945133","loc":[-85.623501,41.933232]},"n185945135":{"id":"n185945135","loc":[-85.624776,41.933205]},"n185945395":{"id":"n185945395","loc":[-85.624741,41.93019]},"n185952239":{"id":"n185952239","loc":[-85.615166,41.9382]},"n185954490":{"id":"n185954490","loc":[-85.624721,41.929278]},"n185957831":{"id":"n185957831","loc":[-85.625041,41.938662]},"n185958030":{"id":"n185958030","loc":[-85.629033,41.93913]},"n185958032":{"id":"n185958032","loc":[-85.628429,41.939143]},"n185958498":{"id":"n185958498","loc":[-85.621605,41.940143]},"n185961186":{"id":"n185961186","loc":[-85.624792,41.935214]},"n185963099":{"id":"n185963099","loc":[-85.6204461,41.9401485]},"n185963698":{"id":"n185963698","loc":[-85.6297342,41.9400783]},"n185964320":{"id":"n185964320","loc":[-85.623511,41.934216]},"n185964322":{"id":"n185964322","loc":[-85.6235312,41.9362084]},"n185964324":{"id":"n185964324","loc":[-85.6235488,41.9371726]},"n185964326":{"id":"n185964326","loc":[-85.6235512,41.9381718]},"n185967077":{"id":"n185967077","loc":[-85.617359,41.940161]},"n185967634":{"id":"n185967634","loc":[-85.6248039,41.9362012]},"n185970833":{"id":"n185970833","loc":[-85.6248019,41.9381684]},"n185972752":{"id":"n185972752","loc":[-85.624582,41.938848]},"n185972754":{"id":"n185972754","loc":[-85.6242,41.939008]},"n185973251":{"id":"n185973251","loc":[-85.602727,41.936012]},"n185974509":{"id":"n185974509","loc":[-85.62478,41.93217]},"n185975315":{"id":"n185975315","loc":[-85.624703,41.925597]},"n185975316":{"id":"n185975316","loc":[-85.624716,41.927359]},"n185975317":{"id":"n185975317","loc":[-85.62475,41.93119]},"n185975318":{"id":"n185975318","loc":[-85.624782,41.934218]},"n185975320":{"id":"n185975320","loc":[-85.6247949,41.9371708]},"n185977754":{"id":"n185977754","loc":[-85.6276,41.937412]},"n185980075":{"id":"n185980075","loc":[-85.627451,41.937549]},"n185980077":{"id":"n185980077","loc":[-85.627375,41.937618]},"n185980078":{"id":"n185980078","loc":[-85.627278,41.937728]},"n185980079":{"id":"n185980079","loc":[-85.627199,41.937842]},"n185980081":{"id":"n185980081","loc":[-85.627141,41.937981]},"n185980083":{"id":"n185980083","loc":[-85.627109,41.938153]},"n185980085":{"id":"n185980085","loc":[-85.627101,41.938699]},"n185981173":{"id":"n185981173","loc":[-85.61433,41.940167]},"n185987021":{"id":"n185987021","loc":[-85.628311,41.942261]},"n185988963":{"id":"n185988963","loc":[-85.628439,41.940086]},"n185990195":{"id":"n185990195","loc":[-85.621225,41.939143]},"n185990196":{"id":"n185990196","loc":[-85.620576,41.939033]},"n185990198":{"id":"n185990198","loc":[-85.619081,41.938804]},"n185990200":{"id":"n185990200","loc":[-85.617593,41.938552]},"n185990202":{"id":"n185990202","loc":[-85.617372,41.938535]},"n185990204":{"id":"n185990204","loc":[-85.616087,41.93832]},"n185990206":{"id":"n185990206","loc":[-85.615754,41.938289]},"n185990209":{"id":"n185990209","loc":[-85.615438,41.938251]},"n185990211":{"id":"n185990211","loc":[-85.613469,41.937867]},"n185990212":{"id":"n185990212","loc":[-85.610172,41.937298]},"n185990213":{"id":"n185990213","loc":[-85.605537,41.936497]},"n185990214":{"id":"n185990214","loc":[-85.604014,41.936234]},"n1819800180":{"id":"n1819800180","loc":[-85.588775,41.9455032]},"n1819800181":{"id":"n1819800181","loc":[-85.6074212,41.9408827]},"n1819800182":{"id":"n1819800182","loc":[-85.6131397,41.9427022]},"n1819800183":{"id":"n1819800183","loc":[-85.6171523,41.9416807]},"n1819800184":{"id":"n1819800184","loc":[-85.602465,41.9397415]},"n1819800185":{"id":"n1819800185","loc":[-85.6109296,41.9410583]},"n1819800186":{"id":"n1819800186","loc":[-85.6165729,41.9418004]},"n1819800189":{"id":"n1819800189","loc":[-85.5866293,41.9458224]},"n1819800191":{"id":"n1819800191","loc":[-85.5853311,41.9466603]},"n1819800201":{"id":"n1819800201","loc":[-85.6101142,41.9433406]},"n1819800202":{"id":"n1819800202","loc":[-85.600963,41.9428618]},"n1819800206":{"id":"n1819800206","loc":[-85.6154357,41.9427501]},"n1819800207":{"id":"n1819800207","loc":[-85.6040309,41.9414094]},"n1819800209":{"id":"n1819800209","loc":[-85.6113694,41.943189]},"n1819800211":{"id":"n1819800211","loc":[-85.618032,41.9416408]},"n1819800214":{"id":"n1819800214","loc":[-85.5959419,41.9402602]},"n1819800219":{"id":"n1819800219","loc":[-85.5972117,41.9420043]},"n1819800223":{"id":"n1819800223","loc":[-85.6117171,41.9430019]},"n1819800224":{"id":"n1819800224","loc":[-85.5977873,41.9395579]},"n1819800226":{"id":"n1819800226","loc":[-85.5917362,41.9432209]},"n1819800228":{"id":"n1819800228","loc":[-85.6055759,41.9419122]},"n1819800229":{"id":"n1819800229","loc":[-85.6203395,41.9425595]},"n1819800233":{"id":"n1819800233","loc":[-85.6107579,41.9433007]},"n1819800234":{"id":"n1819800234","loc":[-85.6039773,41.9412498]},"n1819800235":{"id":"n1819800235","loc":[-85.6000977,41.9412861]},"n1819800236":{"id":"n1819800236","loc":[-85.6026689,41.9407231]},"n1819800237":{"id":"n1819800237","loc":[-85.615161,41.9428662]},"n1819800238":{"id":"n1819800238","loc":[-85.5878953,41.9454314]},"n1819800239":{"id":"n1819800239","loc":[-85.6035267,41.941569]},"n1819800240":{"id":"n1819800240","loc":[-85.5929738,41.9450208]},"n1819800241":{"id":"n1819800241","loc":[-85.6186329,41.9416488]},"n1819800242":{"id":"n1819800242","loc":[-85.5881136,41.9483963]},"n1819800243":{"id":"n1819800243","loc":[-85.5909208,41.9466922]},"n1819800244":{"id":"n1819800244","loc":[-85.5997721,41.9394941]},"n1819800245":{"id":"n1819800245","loc":[-85.6202064,41.9425712]},"n1819800246":{"id":"n1819800246","loc":[-85.591071,41.9448808]},"n1819800247":{"id":"n1819800247","loc":[-85.5866078,41.9490622]},"n1819800250":{"id":"n1819800250","loc":[-85.602383,41.9420841]},"n1819800251":{"id":"n1819800251","loc":[-85.5957418,41.9426906]},"n1819800255":{"id":"n1819800255","loc":[-85.6157039,41.9416727]},"n1819800256":{"id":"n1819800256","loc":[-85.6080328,41.9410982]},"n1819800258":{"id":"n1819800258","loc":[-85.6192551,41.9414892]},"n1819800260":{"id":"n1819800260","loc":[-85.6104253,41.94117]},"n1819800261":{"id":"n1819800261","loc":[-85.6204503,41.9425709]},"n1819800263":{"id":"n1819800263","loc":[-85.5872194,41.9455431]},"n1819800264":{"id":"n1819800264","loc":[-85.616176,41.9418244]},"n1819800268":{"id":"n1819800268","loc":[-85.6120883,41.9426703]},"n1819800269":{"id":"n1819800269","loc":[-85.5894547,41.9474946]},"n1819800272":{"id":"n1819800272","loc":[-85.6209181,41.9425027]},"n1819800274":{"id":"n1819800274","loc":[-85.6122814,41.9412817]},"n1819800276":{"id":"n1819800276","loc":[-85.5895153,41.9452798]},"n1819800277":{"id":"n1819800277","loc":[-85.5884317,41.9455272]},"n1819800279":{"id":"n1819800279","loc":[-85.5884103,41.9480966]},"n1819800287":{"id":"n1819800287","loc":[-85.5904917,41.9453915]},"n1819800288":{"id":"n1819800288","loc":[-85.6212292,41.9412977]},"n1819800289":{"id":"n1819800289","loc":[-85.5954377,41.9406832]},"n1819800290":{"id":"n1819800290","loc":[-85.593721,41.9420957]},"n1819800291":{"id":"n1819800291","loc":[-85.6162832,41.9427102]},"n1819800292":{"id":"n1819800292","loc":[-85.605018,41.9401804]},"n1819800293":{"id":"n1819800293","loc":[-85.6086443,41.941146]},"n1819800296":{"id":"n1819800296","loc":[-85.6204675,41.9413775]},"n1819800297":{"id":"n1819800297","loc":[-85.612496,41.9424947]},"n1819800299":{"id":"n1819800299","loc":[-85.6065629,41.9423431]},"n1819800301":{"id":"n1819800301","loc":[-85.6036125,41.9398452]},"n1819800303":{"id":"n1819800303","loc":[-85.6114767,41.94117]},"n1819800306":{"id":"n1819800306","loc":[-85.592616,41.9428139]},"n1819800308":{"id":"n1819800308","loc":[-85.6023041,41.9419521]},"n1819800310":{"id":"n1819800310","loc":[-85.6218944,41.9411061]},"n1819800311":{"id":"n1819800311","loc":[-85.6097816,41.941162]},"n1819800312":{"id":"n1819800312","loc":[-85.5922549,41.9457869]},"n1819800313":{"id":"n1819800313","loc":[-85.5986027,41.9417206]},"n1819800314":{"id":"n1819800314","loc":[-85.5918687,41.946138]},"n1819800315":{"id":"n1819800315","loc":[-85.5872875,41.948883]},"n1819800316":{"id":"n1819800316","loc":[-85.594272,41.9436642]},"n1819800317":{"id":"n1819800317","loc":[-85.6176351,41.941577]},"n1819800318":{"id":"n1819800318","loc":[-85.6137834,41.9430853]},"n1819800319":{"id":"n1819800319","loc":[-85.6195383,41.942622],"tags":{"leisure":"slipway"}},"n1819800320":{"id":"n1819800320","loc":[-85.5971006,41.9398053]},"n1819800321":{"id":"n1819800321","loc":[-85.601714,41.9406752]},"n1819800322":{"id":"n1819800322","loc":[-85.5908028,41.9453117]},"n1819800323":{"id":"n1819800323","loc":[-85.6062732,41.9404597]},"n1819800324":{"id":"n1819800324","loc":[-85.62124,41.9425905]},"n1819800327":{"id":"n1819800327","loc":[-85.6008664,41.942766]},"n1819800328":{"id":"n1819800328","loc":[-85.6179355,41.9428538]},"n1819800330":{"id":"n1819800330","loc":[-85.6045566,41.9415131]},"n1819800331":{"id":"n1819800331","loc":[-85.5944935,41.9414653]},"n1819800333":{"id":"n1819800333","loc":[-85.6088911,41.943181]},"n1819800334":{"id":"n1819800334","loc":[-85.5946367,41.943369]},"n1819800336":{"id":"n1819800336","loc":[-85.6150494,41.9429656]},"n1819800343":{"id":"n1819800343","loc":[-85.6096099,41.9433326]},"n1819800345":{"id":"n1819800345","loc":[-85.5915216,41.9435401]},"n1819800347":{"id":"n1819800347","loc":[-85.607786,41.9428698]},"n1819800349":{"id":"n1819800349","loc":[-85.6187616,41.9426623]},"n1819800350":{"id":"n1819800350","loc":[-85.6012527,41.9426064]},"n1819800352":{"id":"n1819800352","loc":[-85.6214867,41.9428379]},"n1819800354":{"id":"n1819800354","loc":[-85.61338,41.94293]},"n1819800355":{"id":"n1819800355","loc":[-85.5923156,41.9428139]},"n1819800357":{"id":"n1819800357","loc":[-85.5901591,41.9453197]},"n1819800359":{"id":"n1819800359","loc":[-85.6033979,41.9408827]},"n1819800360":{"id":"n1819800360","loc":[-85.6186543,41.9414653]},"n1819800363":{"id":"n1819800363","loc":[-85.6128607,41.9425665]},"n1819800365":{"id":"n1819800365","loc":[-85.614234,41.9412977]},"n1819800367":{"id":"n1819800367","loc":[-85.6089662,41.9410902]},"n1819800369":{"id":"n1819800369","loc":[-85.6197379,41.9413695]},"n1819800370":{"id":"n1819800370","loc":[-85.6037348,41.941733]},"n1819800371":{"id":"n1819800371","loc":[-85.5993467,41.9415654]},"n1819800372":{"id":"n1819800372","loc":[-85.598077,41.94196]},"n1819800373":{"id":"n1819800373","loc":[-85.5984203,41.9394781]},"n1819800374":{"id":"n1819800374","loc":[-85.6013315,41.9427066]},"n1819800376":{"id":"n1819800376","loc":[-85.5934673,41.944167]},"n1819800378":{"id":"n1819800378","loc":[-85.6011062,41.9407753]},"n1819800379":{"id":"n1819800379","loc":[-85.6150602,41.9415131]},"n1819800380":{"id":"n1819800380","loc":[-85.6132148,41.9412338]},"n1819800381":{"id":"n1819800381","loc":[-85.5889038,41.9453835]},"n2139966621":{"id":"n2139966621","loc":[-85.6198719,41.9426184]},"n2139966622":{"id":"n2139966622","loc":[-85.6197551,41.9426123]},"n2139966623":{"id":"n2139966623","loc":[-85.6196467,41.9426279]},"n2139966624":{"id":"n2139966624","loc":[-85.6191519,41.9426221]},"n2139966625":{"id":"n2139966625","loc":[-85.6194153,41.9426256]},"n2139966626":{"id":"n2139966626","loc":[-85.6200497,41.9425812]},"n2139966629":{"id":"n2139966629","loc":[-85.6192123,41.9426229]},"n2203933101":{"id":"n2203933101","loc":[-85.6030009,41.9360592]},"w17967539":{"id":"w17967539","tags":{"highway":"residential","name":"1st Ave"},"nodes":["n185965099","n185963395","n185987021"]},"w17967751":{"id":"w17967751","tags":{"highway":"residential","name":"River St"},"nodes":["n185980088","n185988961","n185988963","n185963698"]},"w17965088":{"id":"w17965088","tags":{"highway":"residential","name":"9th St"},"nodes":["n185945133","n185964320","n185964322","n185964324","n185964326","n185964328","n185964329","n185964330","n185964331"]},"w17964467":{"id":"w17964467","tags":{"highway":"residential","name":"Mechanic St"},"nodes":["n185958030","n185958032","n185958034","n185958036"]},"w134150842":{"id":"w134150842","tags":{"bridge":"yes","highway":"residential","name":"6th St"},"nodes":["n185980090","n185980093"]},"w17966740":{"id":"w17966740","tags":{"highway":"residential","name":"6th St"},"nodes":["n185977754","n185980075","n185980077","n185980078","n185980079","n185980081","n185980083","n185980085","n185958034","n185980088","n185980090"]},"w170844765":{"id":"w170844765","tags":{"waterway":"dam"},"nodes":["n1819800304","n1819800232","n1819800325","n1819800188"]},"w17967745":{"id":"w17967745","tags":{"highway":"residential","name":"River St"},"nodes":["n185981173","n185967077","n185963099","n185958498","n185988943","n185964331","n185975332"]},"w17968113":{"id":"w17968113","tags":{"highway":"residential","name":"Green St"},"nodes":["n185988943","n185991378"]},"w134150833":{"id":"w134150833","tags":{"highway":"residential","name":"6th St"},"nodes":["n185980093","n1475283999","n185963392"]},"w17967935":{"id":"w17967935","tags":{"name":"Michigan Central Railroad","railway":"abandoned"},"nodes":["n185972757","n185990192","n185990194","n185990195","n185990196","n185990198","n185990200","n185990202","n185990204","n185990206","n185990209","n185952239","n185990211","n185990212","n185990213","n185990214","n2203933101","n185973251"]},"w17965993":{"id":"w17965993","tags":{"name":"Conrail Railroad","railway":"abandoned"},"nodes":["n185957831","n185972752","n185972754","n185972756","n185972757"]},"w17966211":{"id":"w17966211","tags":{"highway":"residential","name":"8th St"},"nodes":["n185975315","n185975316","n185954490","n185945395","n185975317","n185974509","n185945135","n185975318","n185961186","n185967634","n185975320","n185970833","n185958036","n185975325","n185975326","n185975327","n185975328","n185975330","n185975332"]},"w170844766":{"id":"w170844766","tags":{"waterway":"riverbank"},"nodes":["n1819800229","n1819800245","n2139966626","n2139966621","n2139966622","n2139966623","n1819800319","n2139966625","n2139966629","n2139966624","n1819800349","n1819800328","n1819800291","n1819800206","n1819800237","n1819800336","n1819800318","n1819800354","n1819800182","n1819800363","n1819800297","n1819800268","n1819800223","n1819800209","n1819800233","n1819800201","n1819800343","n1819800333","n1819800347","n1819800299","n1819800228","n1819800330","n1819800370","n1819800250","n1819800374","n1819800202","n1819800327","n1819800350","n1819800308","n1819800239","n1819800207","n1819800234","n1819800359","n1819800236","n1819800321","n1819800378","n1819800235","n1819800371","n1819800313","n1819800372","n1819800219","n1819800251","n1819800334","n1819800316","n1819800376","n1819800240","n1819800312","n1819800314","n1819800243","n1819800269","n1819800279","n1819800242","n1819800315","n1819800247","n1819800191","n1819800189","n1819800263","n1819800238","n1819800277","n1819800180","n1819800381","n1819800276","n1819800357","n1819800287","n1819800322","n1819800246","n1819800345","n1819800226","n1819800355","n1819800306","n1819800290","n1819800331","n1819800289","n1819800214","n1819800320","n1819800224","n1819800373","n1819800244","n1819800184","n1819800301","n1819800292","n1819800323","n1819800181","n1819800256","n1819800293","n1819800367","n1819800311","n1819800260","n1819800185","n1819800303","n1819800274","n1819800380","n1819800365","n1819800379","n1819800255","n1819800264","n1819800186","n1819800183","n1819800317","n1819800211","n1819800241","n1819800360","n1819800258","n1819800369","n1819800296","n1819800288","n1819800310","n1819800204","n1819800375","n1819800216","n1819800377","n1819800248","n1819800227","n1819800368","n1819800231","n1819800188","n1819800325","n1819800232","n1819800304","n1819800271","n1819800213","n1819800266","n1819800221","n1819800294","n1819800362","n1819800199","n1819800230","n1819800218","n1819800352","n1819800324","n1819800272","n1819800261","n1819800229"]},"n1875654132":{"id":"n1875654132","loc":[-85.6297439,41.939808]},"n1475293263":{"id":"n1475293263","loc":[-85.6296235,41.939922]},"n185947850":{"id":"n185947850","loc":[-85.631594,41.942613]},"n185952745":{"id":"n185952745","loc":[-85.630986,41.941786]},"n185972907":{"id":"n185972907","loc":[-85.631797,41.9420055]},"n185972911":{"id":"n185972911","loc":[-85.6309723,41.9411623]},"n185972915":{"id":"n185972915","loc":[-85.6295971,41.939267]},"n1475293223":{"id":"n1475293223","loc":[-85.6313962,41.9416114],"tags":{"railway":"level_crossing"}},"n1475293231":{"id":"n1475293231","loc":[-85.6318779,41.9415447]},"n1475293241":{"id":"n1475293241","loc":[-85.6304613,41.9405499]},"n1475293246":{"id":"n1475293246","loc":[-85.6297512,41.9395393],"tags":{"railway":"level_crossing"}},"n1475293251":{"id":"n1475293251","loc":[-85.6316633,41.9415128]},"n2139982404":{"id":"n2139982404","loc":[-85.6313283,41.9413748]},"n2139982407":{"id":"n2139982407","loc":[-85.6325545,41.9417787]},"n2139982408":{"id":"n2139982408","loc":[-85.6324499,41.9417693]},"n2139982409":{"id":"n2139982409","loc":[-85.6324753,41.9416444]},"n2139982410":{"id":"n2139982410","loc":[-85.6325814,41.9416538]},"n2139982411":{"id":"n2139982411","loc":[-85.6319572,41.9413515]},"n2139982412":{"id":"n2139982412","loc":[-85.6322925,41.941139]},"n2139982413":{"id":"n2139982413","loc":[-85.6323153,41.941153]},"n2139982414":{"id":"n2139982414","loc":[-85.6323019,41.9412617]},"n2139982415":{"id":"n2139982415","loc":[-85.6323703,41.9412667]},"n2139982416":{"id":"n2139982416","loc":[-85.6323555,41.941538]},"n2139982417":{"id":"n2139982417","loc":[-85.6321343,41.9416777]},"n2139982418":{"id":"n2139982418","loc":[-85.6319425,41.9416866]},"n2139982419":{"id":"n2139982419","loc":[-85.6320303,41.9416941]},"n2139982420":{"id":"n2139982420","loc":[-85.6321665,41.9415554]},"n2139982421":{"id":"n2139982421","loc":[-85.632412,41.9414164]},"n2139982422":{"id":"n2139982422","loc":[-85.6324801,41.9413421]},"n2139982423":{"id":"n2139982423","loc":[-85.6325023,41.9412585]},"n2139982424":{"id":"n2139982424","loc":[-85.6324532,41.9411607]},"n2139982425":{"id":"n2139982425","loc":[-85.6323502,41.941103]},"n2139982426":{"id":"n2139982426","loc":[-85.6322362,41.9411183]},"n2139982427":{"id":"n2139982427","loc":[-85.6318941,41.9413551]},"n2139982428":{"id":"n2139982428","loc":[-85.6318592,41.9414105]},"n2139982429":{"id":"n2139982429","loc":[-85.6320111,41.9415866]},"n2139982430":{"id":"n2139982430","loc":[-85.632446,41.9413792]},"n2139982431":{"id":"n2139982431","loc":[-85.6325112,41.941416]},"n2139982432":{"id":"n2139982432","loc":[-85.6325449,41.9416345]},"n2139982433":{"id":"n2139982433","loc":[-85.6326122,41.94164]},"n2139982434":{"id":"n2139982434","loc":[-85.6325954,41.9421966]},"n2139982435":{"id":"n2139982435","loc":[-85.6325655,41.9422411]},"n2139982436":{"id":"n2139982436","loc":[-85.632515,41.9422564]},"n2139982437":{"id":"n2139982437","loc":[-85.6324495,41.94223]},"n2139982438":{"id":"n2139982438","loc":[-85.6324009,41.9421743]},"n2139982439":{"id":"n2139982439","loc":[-85.6323915,41.9421145]},"n2139982440":{"id":"n2139982440","loc":[-85.6320287,41.9418585]},"n2139982441":{"id":"n2139982441","loc":[-85.6318285,41.9416387]},"n1475293258":{"id":"n1475293258","loc":[-85.6318289,41.9415077]},"n2168544754":{"id":"n2168544754","loc":[-85.6312814,41.9431198]},"n2168544755":{"id":"n2168544755","loc":[-85.6314212,41.9430646]},"n2168544756":{"id":"n2168544756","loc":[-85.6313387,41.942949]},"n2168544757":{"id":"n2168544757","loc":[-85.6311989,41.9430041]},"n2168544758":{"id":"n2168544758","loc":[-85.6311024,41.9429313]},"n2168544759":{"id":"n2168544759","loc":[-85.6310087,41.9428087]},"n2168544760":{"id":"n2168544760","loc":[-85.6313831,41.9426504]},"n2168544761":{"id":"n2168544761","loc":[-85.6314768,41.9427729]},"n2168544762":{"id":"n2168544762","loc":[-85.6306376,41.942809]},"n2168544763":{"id":"n2168544763","loc":[-85.6307378,41.9429427]},"n2168544764":{"id":"n2168544764","loc":[-85.630841,41.9428998]},"n2168544765":{"id":"n2168544765","loc":[-85.6307408,41.9427662]},"n2168544766":{"id":"n2168544766","loc":[-85.6305404,41.9426029]},"n2168544767":{"id":"n2168544767","loc":[-85.6304976,41.9426194]},"n2168544768":{"id":"n2168544768","loc":[-85.6305673,41.9427184]},"n2168544769":{"id":"n2168544769","loc":[-85.6306164,41.9426984]},"n2168544770":{"id":"n2168544770","loc":[-85.6306418,41.9427302]},"n2168544771":{"id":"n2168544771","loc":[-85.6306861,41.9427137]},"n2168544772":{"id":"n2168544772","loc":[-85.6307146,41.9427537]},"n2168544773":{"id":"n2168544773","loc":[-85.6308999,41.9426807]},"n2168544774":{"id":"n2168544774","loc":[-85.6308429,41.9426053]},"n2168544775":{"id":"n2168544775","loc":[-85.6308999,41.9425806]},"n2168544776":{"id":"n2168544776","loc":[-85.6308318,41.9424875]},"n2168544777":{"id":"n2168544777","loc":[-85.6307732,41.9425087]},"n2168544778":{"id":"n2168544778","loc":[-85.6307178,41.9424357]},"n2168544779":{"id":"n2168544779","loc":[-85.630485,41.942524]},"n2189099387":{"id":"n2189099387","loc":[-85.631203,41.9393371]},"n2189099404":{"id":"n2189099404","loc":[-85.6301963,41.9391363]},"n2189099405":{"id":"n2189099405","loc":[-85.6304447,41.9391352]},"n2189099406":{"id":"n2189099406","loc":[-85.6304463,41.9393391]},"n2189099407":{"id":"n2189099407","loc":[-85.6308435,41.9393373]},"n2189099408":{"id":"n2189099408","loc":[-85.6308418,41.9391251]},"n2189099409":{"id":"n2189099409","loc":[-85.6310929,41.939124]},"n2189099410":{"id":"n2189099410","loc":[-85.6310946,41.9393376]},"n2189112720":{"id":"n2189112720","loc":[-85.6314677,41.9412327]},"n2189112721":{"id":"n2189112721","loc":[-85.6313337,41.9411397]},"n2189112722":{"id":"n2189112722","loc":[-85.6320521,41.9405678]},"n2189112723":{"id":"n2189112723","loc":[-85.6321899,41.9406633]},"n2189112724":{"id":"n2189112724","loc":[-85.6313229,41.9408344]},"n2189112725":{"id":"n2189112725","loc":[-85.6311223,41.9410018]},"n2189112726":{"id":"n2189112726","loc":[-85.6313205,41.9411333]},"n2189112727":{"id":"n2189112727","loc":[-85.6315211,41.9409659]},"n2189112728":{"id":"n2189112728","loc":[-85.6311035,41.9402529]},"n2189112729":{"id":"n2189112729","loc":[-85.631226,41.9402107]},"n2189112730":{"id":"n2189112730","loc":[-85.6315966,41.9408051]},"n2189112731":{"id":"n2189112731","loc":[-85.6314741,41.9408473]},"n2189112732":{"id":"n2189112732","loc":[-85.6318114,41.940534]},"n2189112733":{"id":"n2189112733","loc":[-85.631588,41.94061]},"n2189112734":{"id":"n2189112734","loc":[-85.6314379,41.940366]},"n2189112735":{"id":"n2189112735","loc":[-85.6316613,41.94029]},"n2189112736":{"id":"n2189112736","loc":[-85.6306214,41.9400415]},"n2189112737":{"id":"n2189112737","loc":[-85.6304362,41.9397728]},"n2189112738":{"id":"n2189112738","loc":[-85.6305899,41.9397142]},"n2189112739":{"id":"n2189112739","loc":[-85.6307751,41.9399828]},"n2189112740":{"id":"n2189112740","loc":[-85.6304695,41.9401673]},"n2189112741":{"id":"n2189112741","loc":[-85.6301298,41.9396855]},"n2189112742":{"id":"n2189112742","loc":[-85.6303016,41.9396184]},"n2189112743":{"id":"n2189112743","loc":[-85.6306413,41.9401003]},"n2189112744":{"id":"n2189112744","loc":[-85.6309656,41.9406189]},"n2189112745":{"id":"n2189112745","loc":[-85.6308738,41.940493]},"n2189112746":{"id":"n2189112746","loc":[-85.6309333,41.940469]},"n2189112747":{"id":"n2189112747","loc":[-85.6307634,41.9402358]},"n2189112748":{"id":"n2189112748","loc":[-85.6308798,41.9401889]},"n2189112749":{"id":"n2189112749","loc":[-85.6311416,41.940548]},"n2189112750":{"id":"n2189112750","loc":[-85.6309577,41.9408708]},"n2189112751":{"id":"n2189112751","loc":[-85.630874,41.9407777]},"n2189112752":{"id":"n2189112752","loc":[-85.6310622,41.9406841]},"n2189112753":{"id":"n2189112753","loc":[-85.6311459,41.9407772]},"n2189112754":{"id":"n2189112754","loc":[-85.6320308,41.9405747]},"n2189112755":{"id":"n2189112755","loc":[-85.6317769,41.9401857]},"n2189112756":{"id":"n2189112756","loc":[-85.6313462,41.9401785]},"n2189112757":{"id":"n2189112757","loc":[-85.6313423,41.9401199]},"n2189112758":{"id":"n2189112758","loc":[-85.6318308,41.9401184]},"n2189112759":{"id":"n2189112759","loc":[-85.6321154,41.9405433]},"n2189112760":{"id":"n2189112760","loc":[-85.6310307,41.941683]},"n2189112761":{"id":"n2189112761","loc":[-85.6309808,41.9416078]},"n2189112762":{"id":"n2189112762","loc":[-85.6312094,41.9415156]},"n2189112763":{"id":"n2189112763","loc":[-85.6312636,41.9415865]},"n2189112764":{"id":"n2189112764","loc":[-85.6309384,41.94155]},"n2189112765":{"id":"n2189112765","loc":[-85.631156,41.9414619]},"n2189112766":{"id":"n2189112766","loc":[-85.6311968,41.94152]},"n2189112767":{"id":"n2189112767","loc":[-85.6308946,41.9414851]},"n2189112768":{"id":"n2189112768","loc":[-85.6308237,41.9413888]},"n2189112769":{"id":"n2189112769","loc":[-85.6309858,41.9413228]},"n2189112770":{"id":"n2189112770","loc":[-85.6310567,41.9414192]},"n2189112771":{"id":"n2189112771","loc":[-85.6307774,41.9413276]},"n2189112772":{"id":"n2189112772","loc":[-85.6309068,41.9412735]},"n2189112773":{"id":"n2189112773","loc":[-85.6309531,41.9413347]},"n2189112774":{"id":"n2189112774","loc":[-85.6307975,41.9412466]},"n2189112775":{"id":"n2189112775","loc":[-85.6307006,41.9411699]},"n2189112776":{"id":"n2189112776","loc":[-85.6308289,41.941113]},"n2189112777":{"id":"n2189112777","loc":[-85.6308997,41.9412012]},"n2189112778":{"id":"n2189112778","loc":[-85.630765,41.9412062]},"n2189112779":{"id":"n2189112779","loc":[-85.630739,41.9412177]},"n2189112780":{"id":"n2189112780","loc":[-85.6305822,41.9410391]},"n2189112781":{"id":"n2189112781","loc":[-85.6304117,41.9408177]},"n2189112782":{"id":"n2189112782","loc":[-85.6305086,41.9407769]},"n2189112783":{"id":"n2189112783","loc":[-85.6306779,41.9410044]},"n2189112784":{"id":"n2189112784","loc":[-85.6307734,41.9421663]},"n2189112785":{"id":"n2189112785","loc":[-85.630708,41.9420741]},"n2189112786":{"id":"n2189112786","loc":[-85.630863,41.9420133]},"n2189112787":{"id":"n2189112787","loc":[-85.6309285,41.9421055]},"n2189112788":{"id":"n2189112788","loc":[-85.6307014,41.9420263]},"n2189112789":{"id":"n2189112789","loc":[-85.6306648,41.941971]},"n2189112790":{"id":"n2189112790","loc":[-85.6307927,41.9419178]},"n2189112791":{"id":"n2189112791","loc":[-85.6308366,41.9419696]},"n2189112792":{"id":"n2189112792","loc":[-85.6307574,41.9418708]},"n2189112793":{"id":"n2189112793","loc":[-85.6306288,41.9419231]},"n2189112794":{"id":"n2189112794","loc":[-85.6306943,41.9417835]},"n2189112795":{"id":"n2189112795","loc":[-85.6305344,41.9418474]},"n2189112796":{"id":"n2189112796","loc":[-85.6305981,41.9419355]},"n2189123410":{"id":"n2189123410","loc":[-85.6315476,41.9393801]},"n2189123412":{"id":"n2189123412","loc":[-85.6315247,41.9399188]},"n2189123415":{"id":"n2189123415","loc":[-85.6316484,41.9400433]},"n185945138":{"id":"n185945138","loc":[-85.627073,41.93319]},"n185945142":{"id":"n185945142","loc":[-85.6296891,41.9331674]},"n185945401":{"id":"n185945401","loc":[-85.6269,41.930199]},"n185945405":{"id":"n185945405","loc":[-85.6296598,41.9301676]},"n185956891":{"id":"n185956891","loc":[-85.6251617,41.9255049]},"n185959979":{"id":"n185959979","loc":[-85.626333,41.928347]},"n185959983":{"id":"n185959983","loc":[-85.6296419,41.9283288]},"n185961192":{"id":"n185961192","loc":[-85.627053,41.9352031]},"n185961200":{"id":"n185961200","loc":[-85.6297088,41.9351902]},"n185963655":{"id":"n185963655","loc":[-85.6296112,41.9273948]},"n185963665":{"id":"n185963665","loc":[-85.626047,41.92737]},"n185963688":{"id":"n185963688","loc":[-85.6296503,41.9292199]},"n185963689":{"id":"n185963689","loc":[-85.6296694,41.931157]},"n185963690":{"id":"n185963690","loc":[-85.6296791,41.9321485]},"n185963691":{"id":"n185963691","loc":[-85.6296991,41.9341973]},"n185967638":{"id":"n185967638","loc":[-85.627089,41.9361884]},"n185972917":{"id":"n185972917","loc":[-85.6293759,41.9388605]},"n185972919":{"id":"n185972919","loc":[-85.6290337,41.9380234]},"n185972921":{"id":"n185972921","loc":[-85.628424,41.936212]},"n185972923":{"id":"n185972923","loc":[-85.628367,41.936029]},"n185974511":{"id":"n185974511","loc":[-85.627064,41.932169]},"n185977728":{"id":"n185977728","loc":[-85.625605,41.925842]},"n185977729":{"id":"n185977729","loc":[-85.625685,41.926163]},"n185977731":{"id":"n185977731","loc":[-85.6257845,41.9264872]},"n185977733":{"id":"n185977733","loc":[-85.62663,41.929251]},"n185977734":{"id":"n185977734","loc":[-85.627008,41.930642]},"n185977736":{"id":"n185977736","loc":[-85.627029,41.930775]},"n185977738":{"id":"n185977738","loc":[-85.627041,41.930946]},"n185977739":{"id":"n185977739","loc":[-85.6270379,41.9311746]},"n185977742":{"id":"n185977742","loc":[-85.627055,41.934206]},"n185977744":{"id":"n185977744","loc":[-85.627084,41.936804]},"n185977746":{"id":"n185977746","loc":[-85.627104,41.936914]},"n185977748":{"id":"n185977748","loc":[-85.627156,41.937026]},"n185977750":{"id":"n185977750","loc":[-85.6272406,41.9371672]},"n185977752":{"id":"n185977752","loc":[-85.627317,41.93723]},"n185977753":{"id":"n185977753","loc":[-85.627422,41.937312]},"n185977755":{"id":"n185977755","loc":[-85.627754,41.937504]},"n185977757":{"id":"n185977757","loc":[-85.627883,41.937623]},"n185977761":{"id":"n185977761","loc":[-85.627984,41.93773]},"n1475283996":{"id":"n1475283996","loc":[-85.6270514,41.9317122],"tags":{"railway":"level_crossing"}},"n1475284004":{"id":"n1475284004","loc":[-85.6278177,41.9342117],"tags":{"railway":"level_crossing"}},"n1475284014":{"id":"n1475284014","loc":[-85.6251877,41.9255913],"tags":{"railway":"level_crossing"}},"n1475284017":{"id":"n1475284017","loc":[-85.6274992,41.9331816],"tags":{"railway":"level_crossing"}},"n1475284021":{"id":"n1475284021","loc":[-85.6297108,41.9353939],"tags":{"railway":"level_crossing"}},"n1475284027":{"id":"n1475284027","loc":[-85.62811,41.935198],"tags":{"railway":"level_crossing"}},"n1475284035":{"id":"n1475284035","loc":[-85.626888,41.9311757],"tags":{"railway":"level_crossing"}},"n1475293245":{"id":"n1475293245","loc":[-85.6286047,41.9367881]},"n1875654302":{"id":"n1875654302","loc":[-85.6296367,41.927491]},"n2189099388":{"id":"n2189099388","loc":[-85.6312007,41.9389988]},"n2189099389":{"id":"n2189099389","loc":[-85.6311003,41.9389992]},"n2189099390":{"id":"n2189099390","loc":[-85.6310988,41.9387847]},"n2189099391":{"id":"n2189099391","loc":[-85.6312165,41.9387843]},"n2189099392":{"id":"n2189099392","loc":[-85.6312152,41.9385857]},"n2189099393":{"id":"n2189099393","loc":[-85.6310877,41.9385862]},"n2189099394":{"id":"n2189099394","loc":[-85.6310858,41.9383161]},"n2189099395":{"id":"n2189099395","loc":[-85.6302002,41.9383196]},"n2189099396":{"id":"n2189099396","loc":[-85.6302011,41.9384472]},"n2189099397":{"id":"n2189099397","loc":[-85.6301018,41.9384476]},"n2189099398":{"id":"n2189099398","loc":[-85.6301025,41.9385419]},"n2189099399":{"id":"n2189099399","loc":[-85.6299275,41.9385427]},"n2189099400":{"id":"n2189099400","loc":[-85.62993,41.9388653]},"n2189099401":{"id":"n2189099401","loc":[-85.630107,41.9388645]},"n2189099402":{"id":"n2189099402","loc":[-85.6301079,41.9389908]},"n2189099403":{"id":"n2189099403","loc":[-85.6301951,41.9389904]},"n2189123382":{"id":"n2189123382","loc":[-85.6336279,41.9354365]},"n2189123384":{"id":"n2189123384","loc":[-85.6328492,41.9355177]},"n2189123387":{"id":"n2189123387","loc":[-85.6323762,41.9357396]},"n2189123388":{"id":"n2189123388","loc":[-85.6315174,41.9358966]},"n2189123389":{"id":"n2189123389","loc":[-85.6304331,41.936124]},"n2189123390":{"id":"n2189123390","loc":[-85.6302075,41.9364271]},"n2189123391":{"id":"n2189123391","loc":[-85.6303458,41.9367953]},"n2189123392":{"id":"n2189123392","loc":[-85.6299601,41.9369739]},"n2189123393":{"id":"n2189123393","loc":[-85.6299164,41.9374882]},"n2189123394":{"id":"n2189123394","loc":[-85.6299455,41.9378022]},"n2189123395":{"id":"n2189123395","loc":[-85.6299771,41.9379053]},"n2189123396":{"id":"n2189123396","loc":[-85.6301597,41.9379091]},"n2189123397":{"id":"n2189123397","loc":[-85.6308042,41.9377913]},"n2189123398":{"id":"n2189123398","loc":[-85.6316885,41.9378082]},"n2189123399":{"id":"n2189123399","loc":[-85.6316848,41.9380079]},"n2189123400":{"id":"n2189123400","loc":[-85.6318449,41.9381161]},"n2189123401":{"id":"n2189123401","loc":[-85.6320705,41.9381811]},"n2189123402":{"id":"n2189123402","loc":[-85.6321433,41.9383706]},"n2189123404":{"id":"n2189123404","loc":[-85.632056,41.9384355]},"n2189123406":{"id":"n2189123406","loc":[-85.6317867,41.9384572]},"n2189123409":{"id":"n2189123409","loc":[-85.6316572,41.9387281]},"n2189123417":{"id":"n2189123417","loc":[-85.6315946,41.93775]},"n2189123419":{"id":"n2189123419","loc":[-85.6302641,41.9378393]},"w208640158":{"id":"w208640158","tags":{"area":"yes","natural":"wetland"},"nodes":["n2189123379","n2189123382","n2189123384","n2189123387","n2189123388","n2189123389","n2189123390","n2189123391","n2189123392","n2189123393","n2189123394","n2189123395","n2189123396","n2189123419","n2189123397","n2189123417","n2189123398","n2189123399","n2189123400","n2189123401","n2189123402","n2189123404","n2189123406","n2189123409","n2189123410","n2189123412","n2189123415","n1819805722","n1819805861","n1819805887","n1819805760","n1819805641","n1819805632","n2189123379"]},"w134150787":{"id":"w134150787","tags":{"name":"Conrail Railroad","railway":"rail"},"nodes":["n185972905","n185972907","n1475293223","n185972911","n1475293241","n1475293246","n185972915","n185972917","n185972919","n1475293245","n185972921","n185972923","n1475284027","n1475284004","n1475284017","n1475283996","n1475284035","n1475284014","n185956891"]},"w208639443":{"id":"w208639443","tags":{"area":"yes","building":"yes"},"nodes":["n2189112720","n2189112721","n2189112722","n2189112723","n2189112720"]},"w17966462":{"id":"w17966462","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86"},"nodes":["n185977728","n185977729","n185977731","n185963665","n185959979","n185977733","n185945401","n185977734","n185977736","n185977738","n185977739","n1475283996","n185974511","n185945138","n185977742","n185961192","n185967638","n185977744","n185977746","n185977748","n185977750","n185977752","n185977753","n185977754","n185977755","n185977757","n185977761","n185958030","n1475293263","n185963698","n185952745","n185947850","n185977762"]},"w203985741":{"id":"w203985741","tags":{"area":"yes","leisure":"park","name":"Conservation Park"},"nodes":["n2139982404","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n2139982404"]},"w17963676":{"id":"w17963676","tags":{"highway":"service"},"nodes":["n1475293258","n2139982428","n2139982427","n2139982426","n2139982425","n2139982424","n2139982423","n2139982422","n2139982430","n2139982421","n2139982420","n2139982429","n1475293231","n1475293258","n1475293251","n1475293223","n185952745"]},"w203985745":{"id":"w203985745","tags":{"highway":"footway"},"nodes":["n2139982430","n2139982431","n2139982432","n2139982433","n2139982434","n2139982435","n2139982436","n2139982437","n2139982438","n2139982439","n2139982440","n2139982441","n1475293231"]},"w208639451":{"id":"w208639451","tags":{"area":"yes","building":"yes"},"nodes":["n2189112754","n2189112755","n2189112756","n2189112757","n2189112758","n2189112759","n2189112754"]},"w208639452":{"id":"w208639452","tags":{"area":"yes","building":"yes"},"nodes":["n2189112760","n2189112761","n2189112766","n2189112762","n2189112763","n2189112760"]},"w206805244":{"id":"w206805244","tags":{"area":"yes","building":"yes"},"nodes":["n2168544766","n2168544767","n2168544768","n2168544769","n2168544770","n2168544771","n2168544772","n2168544773","n2168544774","n2168544775","n2168544776","n2168544777","n2168544778","n2168544779","n2168544766"]},"w208639444":{"id":"w208639444","tags":{"area":"yes","building":"yes"},"nodes":["n2189112724","n2189112725","n2189112726","n2189112727","n2189112724"]},"w208639450":{"id":"w208639450","tags":{"area":"yes","building":"yes"},"nodes":["n2189112750","n2189112751","n2189112752","n2189112753","n2189112750"]},"w208639448":{"id":"w208639448","tags":{"area":"yes","building":"yes"},"nodes":["n2189112740","n2189112741","n2189112742","n2189112743","n2189112740"]},"w208637859":{"id":"w208637859","tags":{"area":"yes","building":"yes"},"nodes":["n2189099387","n2189099388","n2189099389","n2189099390","n2189099391","n2189099392","n2189099393","n2189099394","n2189099395","n2189099396","n2189099397","n2189099398","n2189099399","n2189099400","n2189099401","n2189099402","n2189099403","n2189099404","n2189099405","n2189099406","n2189099407","n2189099408","n2189099409","n2189099410","n2189099387"]},"w208639453":{"id":"w208639453","tags":{"area":"yes","building":"yes"},"nodes":["n2189112764","n2189112765","n2189112766","n2189112761","n2189112764"]},"w208639456":{"id":"w208639456","tags":{"area":"yes","building":"yes"},"nodes":["n2189112774","n2189112778","n2189112779","n2189112775","n2189112776","n2189112777","n2189112774"]},"w208639445":{"id":"w208639445","tags":{"area":"yes","building":"yes"},"nodes":["n2189112728","n2189112729","n2189112730","n2189112731","n2189112728"]},"w17967776":{"id":"w17967776","tags":{"highway":"residential","name":"5th St"},"nodes":["n185958032","n185988963"]},"w208639461":{"id":"w208639461","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112794","n2189112795","n2189112796","n2189112793","n2189112792"]},"w206805241":{"id":"w206805241","tags":{"area":"yes","building":"yes"},"nodes":["n2168544754","n2168544755","n2168544756","n2168544757","n2168544754"]},"w208639449":{"id":"w208639449","tags":{"area":"yes","building":"yes"},"nodes":["n2189112744","n2189112745","n2189112746","n2189112747","n2189112748","n2189112749","n2189112744"]},"w208639455":{"id":"w208639455","tags":{"area":"yes","building":"yes"},"nodes":["n2189112771","n2189112772","n2189112773","n2189112768","n2189112771"]},"w208639457":{"id":"w208639457","tags":{"area":"yes","building":"yes"},"nodes":["n2189112780","n2189112781","n2189112782","n2189112783","n2189112780"]},"w208639446":{"id":"w208639446","tags":{"area":"yes","building":"yes"},"nodes":["n2189112732","n2189112733","n2189112734","n2189112735","n2189112732"]},"w208639454":{"id":"w208639454","tags":{"area":"yes","building":"yes"},"nodes":["n2189112767","n2189112768","n2189112773","n2189112769","n2189112770","n2189112767"]},"w203985743":{"id":"w203985743","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139982411","n2139982412","n2139982413","n2139982414","n2139982415","n2139982416","n2139982417","n2139982419","n2139982418","n2139982411"]},"w17965023":{"id":"w17965023","tags":{"highway":"residential","name":"4th St"},"nodes":["n185963655","n1875654302","n185959983","n185963688","n185945405","n185963689","n185963690","n185945142","n185963691","n185961200","n1475284021","n1475293246","n1875654132","n1475293263"]},"w206805242":{"id":"w206805242","tags":{"area":"yes","building":"yes"},"nodes":["n2168544758","n2168544759","n2168544760","n2168544761","n2168544758"]},"w208639460":{"id":"w208639460","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112793","n2189112789","n2189112790","n2189112792"]},"w208639447":{"id":"w208639447","tags":{"area":"yes","building":"yes"},"nodes":["n2189112736","n2189112737","n2189112738","n2189112739","n2189112736"]},"w208639458":{"id":"w208639458","tags":{"area":"yes","building":"yes"},"nodes":["n2189112784","n2189112785","n2189112786","n2189112787","n2189112784"]},"w203985744":{"id":"w203985744","tags":{"highway":"service"},"nodes":["n2139982425","n2139982400"]},"w208639459":{"id":"w208639459","tags":{"area":"yes","building":"yes"},"nodes":["n2189112788","n2189112789","n2189112790","n2189112791","n2189112788"]},"w203985742":{"id":"w203985742","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139982407","n2139982408","n2139982409","n2139982410","n2139982407"]},"w206805243":{"id":"w206805243","tags":{"area":"yes","building":"yes"},"nodes":["n2168544762","n2168544763","n2168544764","n2168544765","n2168544762"]},"n185959081":{"id":"n185959081","loc":[-85.628469,41.948674]},"n185967427":{"id":"n185967427","loc":[-85.632054,41.951174]},"n185967424":{"id":"n185967424","loc":[-85.6320391,41.9499109]},"n185968101":{"id":"n185968101","loc":[-85.6308395,41.9511969]},"n185960792":{"id":"n185960792","loc":[-85.632074,41.953707]},"n185961389":{"id":"n185961389","loc":[-85.630935,41.959037]},"n185961391":{"id":"n185961391","loc":[-85.632169,41.959025]},"n185965395":{"id":"n185965395","loc":[-85.63216,41.959859]},"n185966953":{"id":"n185966953","loc":[-85.630894,41.957428]},"n185966955":{"id":"n185966955","loc":[-85.632122,41.957427]},"n185967430":{"id":"n185967430","loc":[-85.632077,41.952453]},"n185967432":{"id":"n185967432","loc":[-85.632095,41.954685]},"n185967434":{"id":"n185967434","loc":[-85.632121,41.955914]},"n185967436":{"id":"n185967436","loc":[-85.632128,41.9583]},"n185967438":{"id":"n185967438","loc":[-85.632187,41.960681]},"n185967440":{"id":"n185967440","loc":[-85.632182,41.961493]},"n185968102":{"id":"n185968102","loc":[-85.630855,41.952452]},"n185968104":{"id":"n185968104","loc":[-85.630887,41.953714]},"n185968106":{"id":"n185968106","loc":[-85.630883,41.954692]},"n185968108":{"id":"n185968108","loc":[-85.630904,41.955913]},"n185968110":{"id":"n185968110","loc":[-85.630904,41.958058]},"n185968112":{"id":"n185968112","loc":[-85.630952,41.960667]},"n185968114":{"id":"n185968114","loc":[-85.630972,41.961495]},"n185968116":{"id":"n185968116","loc":[-85.630962,41.961967]},"n185978969":{"id":"n185978969","loc":[-85.633214,41.948618]},"n185985812":{"id":"n185985812","loc":[-85.633274,41.951159]},"n185986155":{"id":"n185986155","loc":[-85.633258,41.949893]},"n2208608826":{"id":"n2208608826","loc":[-85.6339222,41.9486225]},"w17964531":{"id":"w17964531","tags":{"highway":"residential","name":"Willow Dr"},"nodes":["n185959079","n185959081"]},"w17967386":{"id":"w17967386","tags":{"highway":"residential","name":"East Armitage Street"},"nodes":["n185982195","n185968101","n185967427","n185985812","n185974583"]},"w17965502":{"id":"w17965502","tags":{"highway":"residential","name":"Elm Street"},"nodes":["n185968100","n185968101","n185968102","n185968104","n185968106","n185968108","n185966953","n185968110","n185961389","n185968112","n185968114","n185968116"]},"w17967844":{"id":"w17967844","tags":{"highway":"residential","name":"East Bennett Street"},"nodes":["n185982193","n185967424","n185986155","n185978390"]},"w17966581":{"id":"w17966581","tags":{"highway":"residential","name":"E Kelsey St"},"nodes":["n185978967","n185978969","n2208608826","n185971578"]},"w17965402":{"id":"w17965402","tags":{"highway":"residential","name":"Walnut Street"},"nodes":["n185967422","n185967424","n185967427","n185967430","n185960792","n185967432","n185967434","n185966955","n185967436","n185961391","n185965395","n185967438","n185967440"]},"n2199093506":{"id":"n2199093506","loc":[-85.6251879,41.9478322]},"n2199093505":{"id":"n2199093505","loc":[-85.6252076,41.9477749]},"n2199093504":{"id":"n2199093504","loc":[-85.6252289,41.9477602]},"n2199093503":{"id":"n2199093503","loc":[-85.625201,41.9477492]},"n2199093502":{"id":"n2199093502","loc":[-85.6251682,41.9477066]},"n2199093501":{"id":"n2199093501","loc":[-85.6251715,41.947609]},"n2199093500":{"id":"n2199093500","loc":[-85.6252125,41.9475639]},"n2199093499":{"id":"n2199093499","loc":[-85.6252896,41.9475602]},"n2199093498":{"id":"n2199093498","loc":[-85.6253027,41.9475334]},"n2199093497":{"id":"n2199093497","loc":[-85.6253437,41.9474822]},"n2199093496":{"id":"n2199093496","loc":[-85.6254421,41.9474675]},"n2199093495":{"id":"n2199093495","loc":[-85.6256503,41.9474944]},"n2199093494":{"id":"n2199093494","loc":[-85.6257257,41.9476127]},"n2199093493":{"id":"n2199093493","loc":[-85.6257028,41.9477285]},"n2199093492":{"id":"n2199093492","loc":[-85.6255339,41.9478102]},"n2199093491":{"id":"n2199093491","loc":[-85.6253912,41.9478224]},"n2199093490":{"id":"n2199093490","loc":[-85.6253043,41.947859]},"n2199093489":{"id":"n2199093489","loc":[-85.6252027,41.9478846]},"n2199093458":{"id":"n2199093458","loc":[-85.6246876,41.9486617]},"n2199093457":{"id":"n2199093457","loc":[-85.6243127,41.9486583]},"n2199093456":{"id":"n2199093456","loc":[-85.624306,41.9490569]},"n2199093455":{"id":"n2199093455","loc":[-85.624681,41.9490603]},"n2199093514":{"id":"n2199093514","loc":[-85.6236228,41.9496059]},"n2199093513":{"id":"n2199093513","loc":[-85.6236231,41.9496997]},"n2199093512":{"id":"n2199093512","loc":[-85.623357,41.9497002]},"n2199093511":{"id":"n2199093511","loc":[-85.6233567,41.9496136]},"n2199093508":{"id":"n2199093508","loc":[-85.6239735,41.9494287]},"n2199093507":{"id":"n2199093507","loc":[-85.6239741,41.9496052]},"n2199093488":{"id":"n2199093488","loc":[-85.624497,41.9512286]},"n2199093487":{"id":"n2199093487","loc":[-85.6244966,41.9511259]},"n2199093486":{"id":"n2199093486","loc":[-85.6243151,41.9511263]},"n2199093485":{"id":"n2199093485","loc":[-85.6243154,41.951229]},"n2199093484":{"id":"n2199093484","loc":[-85.6241205,41.9508665]},"n2199093483":{"id":"n2199093483","loc":[-85.624115,41.9505249]},"n2199093482":{"id":"n2199093482","loc":[-85.6243149,41.9505231]},"n2199093481":{"id":"n2199093481","loc":[-85.6243203,41.9508648]},"n2199093480":{"id":"n2199093480","loc":[-85.624393,41.9508668]},"n2199093479":{"id":"n2199093479","loc":[-85.6243904,41.9505956]},"n2199093478":{"id":"n2199093478","loc":[-85.6246727,41.950594]},"n2199093477":{"id":"n2199093477","loc":[-85.624675,41.9508203]},"n2199093476":{"id":"n2199093476","loc":[-85.6245097,41.9508212]},"n2199093475":{"id":"n2199093475","loc":[-85.6245101,41.9508662]},"n2199093474":{"id":"n2199093474","loc":[-85.6241008,41.9493459]},"n2199093473":{"id":"n2199093473","loc":[-85.6242442,41.9493459]},"n2199093472":{"id":"n2199093472","loc":[-85.6242442,41.9493681]},"n2199093471":{"id":"n2199093471","loc":[-85.6243397,41.9493681]},"n2199093470":{"id":"n2199093470","loc":[-85.6243417,41.9493511]},"n2199093469":{"id":"n2199093469","loc":[-85.6247251,41.9493485]},"n2199093468":{"id":"n2199093468","loc":[-85.6247548,41.9504949]},"n2199093467":{"id":"n2199093467","loc":[-85.6241214,41.9505017]},"n2199093466":{"id":"n2199093466","loc":[-85.6254398,41.950174]},"n2199093465":{"id":"n2199093465","loc":[-85.6254412,41.9499872]},"n2199093464":{"id":"n2199093464","loc":[-85.6255363,41.9499876]},"n2199093463":{"id":"n2199093463","loc":[-85.6255374,41.9498439]},"n2199093462":{"id":"n2199093462","loc":[-85.6255638,41.949844]},"n2199093461":{"id":"n2199093461","loc":[-85.6255652,41.9496672]},"n2199093460":{"id":"n2199093460","loc":[-85.6251823,41.9496656]},"n2199093459":{"id":"n2199093459","loc":[-85.6251785,41.9501729]},"n2199093510":{"id":"n2199093510","loc":[-85.6229922,41.9496143]},"n2199093509":{"id":"n2199093509","loc":[-85.6229915,41.9494306]},"n185948903":{"id":"n185948903","loc":[-85.616514,41.947449]},"n185955120":{"id":"n185955120","loc":[-85.620103,41.951]},"n185955143":{"id":"n185955143","loc":[-85.619784,41.94746]},"n185960124":{"id":"n185960124","loc":[-85.615238,41.947468]},"n185961362":{"id":"n185961362","loc":[-85.617437,41.947451]},"n185961364":{"id":"n185961364","loc":[-85.61861,41.947456]},"n185961367":{"id":"n185961367","loc":[-85.620088,41.947458]},"n185965105":{"id":"n185965105","loc":[-85.620087,41.94924]},"n185970220":{"id":"n185970220","loc":[-85.62156,41.948333]},"n185974697":{"id":"n185974697","loc":[-85.6201059,41.950132]},"n2138420778":{"id":"n2138420778","loc":[-85.616948,41.9474499]},"w17967535":{"id":"w17967535","tags":{"highway":"residential","name":"10th Ave"},"nodes":["n185955120","n185986812","n185983141"]},"w209716130":{"id":"w209716130","tags":{"area":"yes","building":"yes"},"nodes":["n2199093485","n2199093486","n2199093487","n2199093488","n2199093485"]},"w17964788":{"id":"w17964788","tags":{"highway":"residential","name":"6th Ave"},"nodes":["n185960124","n185948903","n2138420778","n185961362","n185961364","n185955143","n185961367","n185961369","n185961371"]},"w17965159":{"id":"w17965159","tags":{"highway":"residential","name":"8th Ave"},"nodes":["n185965105","n185965108","n185965110"]},"w209716125":{"id":"w209716125","tags":{"area":"yes","building":"yes"},"nodes":["n2199093459","n2199093460","n2199093461","n2199093462","n2199093463","n2199093464","n2199093465","n2199093466","n2199093459"]},"w17965699":{"id":"w17965699","tags":{"highway":"residential","name":"7th Ave"},"nodes":["n185970220","n185970222","n185970224"]},"w209716132":{"id":"w209716132","tags":{"area":"yes","building":"yes"},"nodes":["n2199093507","n2199093508","n2199093509","n2199093510","n2199093511","n2199093512","n2199093513","n2199093514","n2199093507"]},"w17966129":{"id":"w17966129","tags":{"highway":"residential","name":"9th Ave"},"nodes":["n185974697","n185974699"]},"w209716127":{"id":"w209716127","tags":{"area":"yes","building":"yes"},"nodes":["n2199093475","n2199093476","n2199093477","n2199093478","n2199093479","n2199093480","n2199093475"]},"w209716131":{"id":"w209716131","tags":{"area":"yes","natural":"water","water":"pond"},"nodes":["n2199093489","n2199093490","n2199093491","n2199093492","n2199093493","n2199093494","n2199093495","n2199093496","n2199093497","n2199093498","n2199093499","n2199093500","n2199093501","n2199093502","n2199093503","n2199093504","n2199093505","n2199093506","n2199093489"]},"w209716126":{"id":"w209716126","tags":{"area":"yes","building":"yes"},"nodes":["n2199093467","n2199093468","n2199093469","n2199093470","n2199093471","n2199093472","n2199093473","n2199093474","n2199093467"]},"w209716124":{"id":"w209716124","tags":{"area":"yes","building":"yes"},"nodes":["n2199093455","n2199093456","n2199093457","n2199093458","n2199093455"]},"w209716128":{"id":"w209716128","tags":{"area":"yes","building":"yes"},"nodes":["n2199093481","n2199093482","n2199093483","n2199093484","n2199093481"]},"n185949872":{"id":"n185949872","loc":[-85.643009,41.949264]},"n185949875":{"id":"n185949875","loc":[-85.642598,41.94929]},"n185949877":{"id":"n185949877","loc":[-85.642127,41.949382]},"n185949881":{"id":"n185949881","loc":[-85.64169,41.949936]},"n185988165":{"id":"n185988165","loc":[-85.642167,41.947657]},"n185988167":{"id":"n185988167","loc":[-85.642347,41.947662]},"n185988169":{"id":"n185988169","loc":[-85.642621,41.947659]},"n185965019":{"id":"n185965019","loc":[-85.6385084,41.951127]},"n1475293248":{"id":"n1475293248","loc":[-85.6386095,41.9512214]},"n185962639":{"id":"n185962639","loc":[-85.649669,41.949161]},"n185962810":{"id":"n185962810","loc":[-85.649907,41.949157]},"n185964355":{"id":"n185964355","loc":[-85.637412,41.9511359]},"n185965021":{"id":"n185965021","loc":[-85.638661,41.952386]},"n185965023":{"id":"n185965023","loc":[-85.638654,41.953665]},"n185965025":{"id":"n185965025","loc":[-85.638694,41.954649]},"n185965027":{"id":"n185965027","loc":[-85.638724,41.955913]},"n185971415":{"id":"n185971415","loc":[-85.644466,41.949246]},"n185971417":{"id":"n185971417","loc":[-85.647021,41.949193]},"n185971420":{"id":"n185971420","loc":[-85.648476,41.949169]},"n185979975":{"id":"n185979975","loc":[-85.644429,41.947633]},"n185988171":{"id":"n185988171","loc":[-85.645377,41.947622]},"w17963211":{"id":"w17963211","tags":{"highway":"residential"},"nodes":["n185949870","n185949872","n185949875","n185949877","n185949881"]},"w17965839":{"id":"w17965839","tags":{"highway":"residential","name":"Arnold St"},"nodes":["n185949870","n185971415","n185971417","n185971420","n185962639","n185962810"]},"w17967618":{"id":"w17967618","tags":{"highway":"residential","name":"Pierson St"},"nodes":["n185967777","n185988165","n185988167","n185988169","n185985824","n185979975","n185988171"]},"w17965149":{"id":"w17965149","tags":{"highway":"residential","name":"Oak St"},"nodes":["n185965019","n1475293248","n185965021","n185965023","n185965025","n185965027"]},"w17966118":{"id":"w17966118","tags":{"highway":"residential","name":"West Armitage Street"},"nodes":["n185974583","n185974585","n185964355","n185965019"]},"n2208608800":{"id":"n2208608800","loc":[-85.6354294,41.9486201]},"n2199109806":{"id":"n2199109806","loc":[-85.6350474,41.9477884]},"n2199109804":{"id":"n2199109804","loc":[-85.6350476,41.9477962]},"n2199109802":{"id":"n2199109802","loc":[-85.635002,41.9477969]},"n2199109799":{"id":"n2199109799","loc":[-85.6350018,41.9477883]},"n2199109797":{"id":"n2199109797","loc":[-85.6349141,41.9477897]},"n2199109795":{"id":"n2199109795","loc":[-85.6349131,41.9477535]},"n2199109793":{"id":"n2199109793","loc":[-85.6349395,41.9477531]},"n2199109791":{"id":"n2199109791","loc":[-85.6349382,41.9477077]},"n2199109789":{"id":"n2199109789","loc":[-85.6351236,41.9477049]},"n2199109787":{"id":"n2199109787","loc":[-85.6351259,41.9477872]},"n2199109785":{"id":"n2199109785","loc":[-85.634972,41.9475992]},"n2199109783":{"id":"n2199109783","loc":[-85.6349206,41.9475997]},"n2199109770":{"id":"n2199109770","loc":[-85.6348499,41.9475461]},"n2199109768":{"id":"n2199109768","loc":[-85.6348499,41.9475084]},"n2199109765":{"id":"n2199109765","loc":[-85.6349241,41.9474569]},"n2199109763":{"id":"n2199109763","loc":[-85.634967,41.9474564]},"n2199109762":{"id":"n2199109762","loc":[-85.6350405,41.9475121]},"n2199109761":{"id":"n2199109761","loc":[-85.6350405,41.9475419]},"n2199109753":{"id":"n2199109753","loc":[-85.6342443,41.9478391]},"n2199109751":{"id":"n2199109751","loc":[-85.6342427,41.9477927]},"n2199109745":{"id":"n2199109745","loc":[-85.6342439,41.9476859]},"n2199109743":{"id":"n2199109743","loc":[-85.6342429,41.9476575]},"n2199109741":{"id":"n2199109741","loc":[-85.6344615,41.9476533]},"n2199109739":{"id":"n2199109739","loc":[-85.6344678,41.9478348]},"n2199109737":{"id":"n2199109737","loc":[-85.634416,41.9480059]},"n2199109735":{"id":"n2199109735","loc":[-85.6344145,41.9478983]},"n2199109733":{"id":"n2199109733","loc":[-85.6342749,41.9478993]},"n2199109731":{"id":"n2199109731","loc":[-85.6342753,41.9479272]},"n2199109729":{"id":"n2199109729","loc":[-85.6342498,41.9479274]},"n2199109727":{"id":"n2199109727","loc":[-85.6342505,41.9479762]},"n2199109725":{"id":"n2199109725","loc":[-85.6342743,41.947976]},"n2199109723":{"id":"n2199109723","loc":[-85.6342747,41.948007]},"n2199109721":{"id":"n2199109721","loc":[-85.6343415,41.9476355]},"n2199109719":{"id":"n2199109719","loc":[-85.6343391,41.9474973]},"n2199109717":{"id":"n2199109717","loc":[-85.6343133,41.9474798]},"n2199109715":{"id":"n2199109715","loc":[-85.6342874,41.9474737]},"n2199109709":{"id":"n2199109709","loc":[-85.6349804,41.94815]},"n2199109707":{"id":"n2199109707","loc":[-85.6348915,41.9481505]},"n2199109705":{"id":"n2199109705","loc":[-85.6348917,41.9481692]},"n2199109702":{"id":"n2199109702","loc":[-85.6348522,41.9481694]},"n2199109700":{"id":"n2199109700","loc":[-85.6348532,41.9482679]},"n2199109698":{"id":"n2199109698","loc":[-85.6348315,41.948268]},"n2199109696":{"id":"n2199109696","loc":[-85.6348318,41.9482955]},"n2199109694":{"id":"n2199109694","loc":[-85.6349653,41.9482946]},"n2199109692":{"id":"n2199109692","loc":[-85.6349656,41.9483211]},"n2199109690":{"id":"n2199109690","loc":[-85.634999,41.9483209]},"n2199109688":{"id":"n2199109688","loc":[-85.6349987,41.9482947]},"n2199109686":{"id":"n2199109686","loc":[-85.6351753,41.9482935]},"n2199109684":{"id":"n2199109684","loc":[-85.6351749,41.9482617]},"n2199109682":{"id":"n2199109682","loc":[-85.6351588,41.9482618]},"n2199109680":{"id":"n2199109680","loc":[-85.6351575,41.9481518]},"n2199109678":{"id":"n2199109678","loc":[-85.6350671,41.9481524]},"n2199109676":{"id":"n2199109676","loc":[-85.6350649,41.9479659]},"n2199109674":{"id":"n2199109674","loc":[-85.6349785,41.9479665]},"n2199109671":{"id":"n2199109671","loc":[-85.6343069,41.9483263]},"n2199109669":{"id":"n2199109669","loc":[-85.6343052,41.9482981]},"n2199109658":{"id":"n2199109658","loc":[-85.6343314,41.9480549]},"n2199109656":{"id":"n2199109656","loc":[-85.6343305,41.9480461]},"n2199109654":{"id":"n2199109654","loc":[-85.634435,41.9480468]},"n2199109652":{"id":"n2199109652","loc":[-85.6344342,41.9483746]},"n2199109650":{"id":"n2199109650","loc":[-85.6344629,41.9483727]},"n2199109648":{"id":"n2199109648","loc":[-85.6344637,41.9484561]},"n2199109645":{"id":"n2199109645","loc":[-85.63443,41.9484567]},"n2199109642":{"id":"n2199109642","loc":[-85.6344317,41.948505]},"n185964352":{"id":"n185964352","loc":[-85.6373958,41.9489943]},"n185964351":{"id":"n185964351","loc":[-85.637113,41.9486]},"n2208608825":{"id":"n2208608825","loc":[-85.6354483,41.9494241]},"n2208608823":{"id":"n2208608823","loc":[-85.6360418,41.949416]},"n2208608821":{"id":"n2208608821","loc":[-85.6360458,41.9495802]},"n2208608811":{"id":"n2208608811","loc":[-85.6357458,41.9495843]},"n2208608808":{"id":"n2208608808","loc":[-85.6357508,41.9497835]},"n2208608806":{"id":"n2208608806","loc":[-85.6354573,41.9497875]},"n2208608795":{"id":"n2208608795","loc":[-85.6354595,41.9498778]},"n2199109638":{"id":"n2199109638","loc":[-85.6349605,41.949749]},"n2199109636":{"id":"n2199109636","loc":[-85.6349605,41.9497639]},"n2199109634":{"id":"n2199109634","loc":[-85.6349061,41.94971]},"n2199109632":{"id":"n2199109632","loc":[-85.6349048,41.9496569]},"n2199109630":{"id":"n2199109630","loc":[-85.6348835,41.9496571]},"n2199109628":{"id":"n2199109628","loc":[-85.6348829,41.9497103]},"n2199109626":{"id":"n2199109626","loc":[-85.635227,41.9497738]},"n2199109624":{"id":"n2199109624","loc":[-85.6352184,41.9497787]},"n2199109622":{"id":"n2199109622","loc":[-85.6351181,41.9497806]},"n2199109620":{"id":"n2199109620","loc":[-85.6351181,41.9497456]},"n2199109618":{"id":"n2199109618","loc":[-85.6348842,41.9497651]},"n2199109616":{"id":"n2199109616","loc":[-85.6348827,41.9496238]},"n2199109615":{"id":"n2199109615","loc":[-85.6351268,41.9496206]},"n2199109614":{"id":"n2199109614","loc":[-85.6351261,41.9495891]},"n2199109613":{"id":"n2199109613","loc":[-85.6351957,41.9495881]},"n2199109612":{"id":"n2199109612","loc":[-85.6351924,41.9494515]},"n2199109611":{"id":"n2199109611","loc":[-85.6353997,41.9494488]},"n2199109610":{"id":"n2199109610","loc":[-85.6354074,41.9497715]},"n2189015681":{"id":"n2189015681","loc":[-85.6344229,41.9509639]},"n2189015677":{"id":"n2189015677","loc":[-85.634424,41.9507396]},"n2138493843":{"id":"n2138493843","loc":[-85.6343935,41.9502836]},"n2138493840":{"id":"n2138493840","loc":[-85.634398,41.9506264]},"n354002838":{"id":"n354002838","loc":[-85.6345197,41.9510631]},"n2114807590":{"id":"n2114807590","loc":[-85.634511,41.9499767]},"n185964353":{"id":"n185964353","loc":[-85.6374092,41.9498755]},"n1819849180":{"id":"n1819849180","loc":[-85.6348236,41.94996]},"n1819849115":{"id":"n1819849115","loc":[-85.6354372,41.9499538]},"n1819848921":{"id":"n1819848921","loc":[-85.6348439,41.951064]},"n1819848885":{"id":"n1819848885","loc":[-85.6354575,41.9510578]},"n185984281":{"id":"n185984281","loc":[-85.638075,41.949872]},"n2208608827":{"id":"n2208608827","loc":[-85.6339169,41.9473191]},"n2199109749":{"id":"n2199109749","loc":[-85.6342082,41.9477934]},"n2199109747":{"id":"n2199109747","loc":[-85.6342045,41.9476867]},"n2199109713":{"id":"n2199109713","loc":[-85.6342404,41.9474746]},"n2199109711":{"id":"n2199109711","loc":[-85.6342404,41.9476355]},"n2199109673":{"id":"n2199109673","loc":[-85.6340886,41.9483282]},"n2199109667":{"id":"n2199109667","loc":[-85.6342403,41.9482988]},"n2199109665":{"id":"n2199109665","loc":[-85.6342386,41.9482116]},"n2199109662":{"id":"n2199109662","loc":[-85.6340861,41.9482135]},"n2199109660":{"id":"n2199109660","loc":[-85.6340802,41.9480562]},"n2199109640":{"id":"n2199109640","loc":[-85.6340928,41.9485063]},"n354031366":{"id":"n354031366","loc":[-85.6341667,41.9477778],"tags":{"amenity":"place_of_worship","name":"Faith Tabernacle Church","religion":"christian"}},"n2189015686":{"id":"n2189015686","loc":[-85.6337798,41.95099]},"n2189015684":{"id":"n2189015684","loc":[-85.6337794,41.9509674]},"n2189015673":{"id":"n2189015673","loc":[-85.6337501,41.9507457]},"n2189015669":{"id":"n2189015669","loc":[-85.6337501,41.9506974]},"n2189015665":{"id":"n2189015665","loc":[-85.6339034,41.9506959]},"n2189015662":{"id":"n2189015662","loc":[-85.6339015,41.950436]},"n2189015658":{"id":"n2189015658","loc":[-85.6334916,41.9504376]},"n2189015655":{"id":"n2189015655","loc":[-85.6334939,41.9507558]},"n2189015650":{"id":"n2189015650","loc":[-85.6334543,41.950756]},"n2189015649":{"id":"n2189015649","loc":[-85.633456,41.9509915]},"n2138493842":{"id":"n2138493842","loc":[-85.6339937,41.9502836]},"n2138493841":{"id":"n2138493841","loc":[-85.6339983,41.9506281]},"n2114807579":{"id":"n2114807579","loc":[-85.6333644,41.9510682]},"n2114807573":{"id":"n2114807573","loc":[-85.6333557,41.9499819]},"n354031330":{"id":"n354031330","loc":[-85.6341667,41.9497222],"tags":{"amenity":"place_of_worship","name":"Trinity Episcopal Church","religion":"christian"}},"n185960794":{"id":"n185960794","loc":[-85.633307,41.9537]},"n185964357":{"id":"n185964357","loc":[-85.637432,41.952399]},"n185964358":{"id":"n185964358","loc":[-85.637452,41.953665]},"n185964359":{"id":"n185964359","loc":[-85.63746,41.954658]},"n185964360":{"id":"n185964360","loc":[-85.637473,41.95592]},"n185964361":{"id":"n185964361","loc":[-85.637468,41.956906]},"n185964362":{"id":"n185964362","loc":[-85.637483,41.958313]},"n185966957":{"id":"n185966957","loc":[-85.633361,41.957422]},"n185975351":{"id":"n185975351","loc":[-85.63334,41.9559]},"n185978784":{"id":"n185978784","loc":[-85.633311,41.954679]},"n185986157":{"id":"n185986157","loc":[-85.633287,41.952426]},"n185986158":{"id":"n185986158","loc":[-85.6333607,41.9582301],"tags":{"highway":"turning_circle"}},"w17965182":{"id":"w17965182","tags":{"highway":"residential","name":"W Prutzman St"},"nodes":["n185965289","n2189153241","n185965291"]},"w208627205":{"id":"w208627205","tags":{"area":"yes","building":"yes"},"nodes":["n2189015649","n2189015650","n2189015655","n2189015658","n2189015662","n2189015665","n2189015669","n2189015673","n2189015677","n2189015681","n2189015684","n2189015686","n2189015649"]},"w209717042":{"id":"w209717042","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"presbyterian","name":"First Presbyterian Church","religion":"christian"},"nodes":["n2199109610","n2199109611","n2199109612","n2199109613","n2199109614","n2199109615","n2199109616","n2199109630","n2199109632","n2199109634","n2199109628","n2199109618","n2199109636","n2199109638","n2199109620","n2199109622","n2199109624","n2199109626","n2199109610"]},"w209717045":{"id":"w209717045","tags":{"area":"yes","building":"yes"},"nodes":["n2199109711","n2199109713","n2199109715","n2199109717","n2199109719","n2199109721","n2199109711"]},"w209717047":{"id":"w209717047","tags":{"area":"yes","building":"yes"},"nodes":["n2199109739","n2199109741","n2199109743","n2199109745","n2199109747","n2199109749","n2199109751","n2199109753","n2199109739"]},"w209717044":{"id":"w209717044","tags":{"area":"yes","building":"yes"},"nodes":["n2199109674","n2199109676","n2199109678","n2199109680","n2199109682","n2199109684","n2199109686","n2199109688","n2199109690","n2199109692","n2199109694","n2199109696","n2199109698","n2199109700","n2199109702","n2199109705","n2199109707","n2199109709","n2199109674"]},"w210822776":{"id":"w210822776","tags":{"highway":"service","service":"alley","surface":"unpaved"},"nodes":["n2208608795","n2208608806","n2208608825","n2208608800","n2189153241"]},"w210822778":{"id":"w210822778","tags":{"highway":"service","service":"alley"},"nodes":["n2208608826","n2208608827"]},"w209717050":{"id":"w209717050","tags":{"area":"yes","building":"yes"},"nodes":["n2199109787","n2199109789","n2199109791","n2199109793","n2199109795","n2199109797","n2199109799","n2199109802","n2199109804","n2199109806","n2199109787"]},"w17965097":{"id":"w17965097","tags":{"highway":"residential","name":"Maple Street"},"nodes":["n185964351","n185964352","n185964353","n185964355","n185964357","n185964358","n185964359","n185964360","n185964361","n185964362"]},"w17965856":{"id":"w17965856","tags":{"highway":"residential","name":"W Kelsey St"},"nodes":["n185971578","n2208608800","n185971580","n185964351"]},"w17967444":{"id":"w17967444","tags":{"highway":"residential","name":"East Street"},"nodes":["n185966937","n185978969","n185986155","n185985812","n185986157","n185960794","n185978784","n185975351","n185966957","n185986158"]},"w17967764":{"id":"w17967764","tags":{"highway":"residential","name":"Rock River Ave"},"nodes":["n185984017","n185964351"]},"w170848329":{"id":"w170848329","tags":{"leisure":"park","name":"LaFayette Park"},"nodes":["n1819849180","n1819849115","n1819848885","n1819848921","n1819849180"]},"w17967208":{"id":"w17967208","tags":{"highway":"residential","name":"West Bennett Street"},"nodes":["n185978390","n2208608795","n185984020","n185964353","n185984281"]},"w17965349":{"id":"w17965349","tags":{"highway":"residential","name":"E Prutzman St"},"nodes":["n185966937","n2208608827","n185965289"]},"w209717049":{"id":"w209717049","tags":{"area":"yes","building":"yes"},"nodes":["n2199109761","n2199109762","n2199109763","n2199109765","n2199109768","n2199109770","n2199109783","n2199109785","n2199109761"]},"w203841840":{"id":"w203841840","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493840","n2138493841","n2138493842","n2138493843","n2138493840"]},"w209717043":{"id":"w209717043","tags":{"amenity":"place_of_worship","area":"yes","building":"church","denomination":"methodist","name":"First United Methodist Church","religion":"christian"},"nodes":["n2199109640","n2199109642","n2199109645","n2199109648","n2199109650","n2199109652","n2199109654","n2199109656","n2199109658","n2199109660","n2199109662","n2199109665","n2199109667","n2199109669","n2199109671","n2199109673","n2199109640"]},"w201484341":{"id":"w201484341","tags":{"amenity":"school","name":"Hoppin School"},"nodes":["n354002838","n2114807579","n2114807573","n2114807590","n354002838"]},"w209717046":{"id":"w209717046","tags":{"area":"yes","building":"yes"},"nodes":["n2199109723","n2199109725","n2199109727","n2199109729","n2199109731","n2199109733","n2199109735","n2199109737","n2199109723"]},"w210822777":{"id":"w210822777","tags":{"amenity":"parking","area":"yes"},"nodes":["n2208608806","n2208608808","n2208608811","n2208608821","n2208608823","n2208608825","n2208608806"]},"n185954965":{"id":"n185954965","loc":[-85.6191189,41.9441922]},"n185954968":{"id":"n185954968","loc":[-85.6194384,41.9442405]},"n185954970":{"id":"n185954970","loc":[-85.6196543,41.9443252]},"n185954972":{"id":"n185954972","loc":[-85.6197862,41.9444539]},"n354002931":{"id":"n354002931","loc":[-85.6198991,41.9455269]},"n354030853":{"id":"n354030853","loc":[-85.6219444,41.9455556],"tags":{"amenity":"place_of_worship","name":"Grant Chapel","religion":"christian"}},"n367815963":{"id":"n367815963","loc":[-85.6202778,41.9461111],"tags":{"building":"yes","name":"George Washington Carver Community Center"}},"n185947331":{"id":"n185947331","loc":[-85.618779,41.943269]},"n185947333":{"id":"n185947333","loc":[-85.618795,41.943511]},"n185947336":{"id":"n185947336","loc":[-85.618711,41.94413]},"n185947338":{"id":"n185947338","loc":[-85.618704,41.944189]},"n185947339":{"id":"n185947339","loc":[-85.618597,41.944337]},"n185947340":{"id":"n185947340","loc":[-85.618485,41.944528]},"n185947343":{"id":"n185947343","loc":[-85.618442,41.944716]},"n185947345":{"id":"n185947345","loc":[-85.618457,41.945107]},"n185947347":{"id":"n185947347","loc":[-85.618296,41.945338]},"n185947374":{"id":"n185947374","loc":[-85.616748,41.944453]},"n185947375":{"id":"n185947375","loc":[-85.616813,41.944646]},"n185947376":{"id":"n185947376","loc":[-85.616859,41.945196]},"n185947377":{"id":"n185947377","loc":[-85.616941,41.945352]},"n185947406":{"id":"n185947406","loc":[-85.618184,41.944227]},"n185947409":{"id":"n185947409","loc":[-85.617911,41.943875]},"n185947410":{"id":"n185947410","loc":[-85.617579,41.943682]},"n185947411":{"id":"n185947411","loc":[-85.61713,41.943589]},"n185947412":{"id":"n185947412","loc":[-85.616549,41.943559]},"n185947414":{"id":"n185947414","loc":[-85.616482,41.943556]},"n185947464":{"id":"n185947464","loc":[-85.616526,41.943788]},"n185947466":{"id":"n185947466","loc":[-85.616504,41.944002]},"n185948863":{"id":"n185948863","loc":[-85.619017,41.943391]},"n185948865":{"id":"n185948865","loc":[-85.619059,41.943368]},"n185955022":{"id":"n185955022","loc":[-85.620088,41.945571]},"n185955025":{"id":"n185955025","loc":[-85.620051,41.945505]},"n185955028":{"id":"n185955028","loc":[-85.62001,41.94541]},"n185980371":{"id":"n185980371","loc":[-85.620982,41.944742]},"n185980398":{"id":"n185980398","loc":[-85.621305,41.944782]},"n185980401":{"id":"n185980401","loc":[-85.621174,41.944819]},"n185980403":{"id":"n185980403","loc":[-85.621029,41.944871]},"n185980405":{"id":"n185980405","loc":[-85.620741,41.945011]},"n185980407":{"id":"n185980407","loc":[-85.620616,41.945085]},"n185980409":{"id":"n185980409","loc":[-85.620506,41.945172]},"n185980411":{"id":"n185980411","loc":[-85.620394,41.945273]},"n185980413":{"id":"n185980413","loc":[-85.620316,41.94536]},"n185980415":{"id":"n185980415","loc":[-85.620257,41.945452]},"n185980417":{"id":"n185980417","loc":[-85.620212,41.945535]},"n185985910":{"id":"n185985910","loc":[-85.620101,41.945811]},"n185985912":{"id":"n185985912","loc":[-85.620081,41.945937]},"n1475283972":{"id":"n1475283972","loc":[-85.6198991,41.9437179]},"n1475283982":{"id":"n1475283982","loc":[-85.6195022,41.9433463]},"n1475284007":{"id":"n1475284007","loc":[-85.6193037,41.9433383]},"n1475284040":{"id":"n1475284040","loc":[-85.6197329,41.9434121]},"n1475284044":{"id":"n1475284044","loc":[-85.6198756,41.9435363]},"n1475284050":{"id":"n1475284050","loc":[-85.6199689,41.9432106]},"n1475284053":{"id":"n1475284053","loc":[-85.6198943,41.9432921]},"n185954974":{"id":"n185954974","loc":[-85.6198296,41.94473]},"n185954977":{"id":"n185954977","loc":[-85.6200474,41.9447384]},"n2196831365":{"id":"n2196831365","loc":[-85.6202259,41.9460883]},"n2196831366":{"id":"n2196831366","loc":[-85.6202245,41.9458642]},"n2196831367":{"id":"n2196831367","loc":[-85.6205184,41.9458631]},"n2196831368":{"id":"n2196831368","loc":[-85.6205189,41.9459437]},"n2196831369":{"id":"n2196831369","loc":[-85.6203879,41.9459441]},"n2196831370":{"id":"n2196831370","loc":[-85.6203888,41.9460878]},"n2196831371":{"id":"n2196831371","loc":[-85.6184046,41.9465663]},"n2196831372":{"id":"n2196831372","loc":[-85.6191563,41.9465618]},"n2196831373":{"id":"n2196831373","loc":[-85.6191536,41.946319]},"n2196831374":{"id":"n2196831374","loc":[-85.6187356,41.9463216]},"n2196831375":{"id":"n2196831375","loc":[-85.6187334,41.9461197]},"n2196831376":{"id":"n2196831376","loc":[-85.6193167,41.9461162]},"n2196831377":{"id":"n2196831377","loc":[-85.6193156,41.9460229]},"n2196831378":{"id":"n2196831378","loc":[-85.619622,41.946021]},"n2196831379":{"id":"n2196831379","loc":[-85.6196237,41.9461712]},"n2196831380":{"id":"n2196831380","loc":[-85.6197702,41.9461703]},"n2196831381":{"id":"n2196831381","loc":[-85.6197685,41.9460202]},"n2196831382":{"id":"n2196831382","loc":[-85.6197323,41.9460204]},"n2196831383":{"id":"n2196831383","loc":[-85.6197305,41.9458563]},"n2196831384":{"id":"n2196831384","loc":[-85.6196165,41.945857]},"n2196831385":{"id":"n2196831385","loc":[-85.6196156,41.9457764]},"n2196831386":{"id":"n2196831386","loc":[-85.6194472,41.9457775]},"n2196831387":{"id":"n2196831387","loc":[-85.6194151,41.9457777]},"n2196831388":{"id":"n2196831388","loc":[-85.6183779,41.9457883]},"n2196831389":{"id":"n2196831389","loc":[-85.6183842,41.9461317]},"n2196831390":{"id":"n2196831390","loc":[-85.6185026,41.9461304]},"n2196831391":{"id":"n2196831391","loc":[-85.6185061,41.9463194]},"n2196831392":{"id":"n2196831392","loc":[-85.6184001,41.9463205]},"n2196831393":{"id":"n2196831393","loc":[-85.6182482,41.9464163]},"n2196831394":{"id":"n2196831394","loc":[-85.6182467,41.9463193]},"n2196831395":{"id":"n2196831395","loc":[-85.6180389,41.946321]},"n2196831397":{"id":"n2196831397","loc":[-85.6180404,41.946418]},"n185947303":{"id":"n185947303","loc":[-85.611074,41.943389]},"n185947304":{"id":"n185947304","loc":[-85.611332,41.943267]},"n185947305":{"id":"n185947305","loc":[-85.611635,41.943218]},"n185947306":{"id":"n185947306","loc":[-85.612762,41.943311]},"n185947308":{"id":"n185947308","loc":[-85.613027,41.943327]},"n185947310":{"id":"n185947310","loc":[-85.615377,41.942996]},"n185947312":{"id":"n185947312","loc":[-85.615701,41.943007]},"n185947314":{"id":"n185947314","loc":[-85.61604,41.943067]},"n185947315":{"id":"n185947315","loc":[-85.61626,41.943083]},"n185947316":{"id":"n185947316","loc":[-85.616507,41.943048]},"n185947319":{"id":"n185947319","loc":[-85.616702,41.94299]},"n185947321":{"id":"n185947321","loc":[-85.617078,41.942918]},"n185947322":{"id":"n185947322","loc":[-85.617366,41.942973]},"n185947323":{"id":"n185947323","loc":[-85.617601,41.943033]},"n185947325":{"id":"n185947325","loc":[-85.617799,41.943027]},"n185947327":{"id":"n185947327","loc":[-85.618264,41.942961]},"n185947328":{"id":"n185947328","loc":[-85.618508,41.942972]},"n185947329":{"id":"n185947329","loc":[-85.618707,41.943076]},"n185947361":{"id":"n185947361","loc":[-85.615356,41.944922]},"n185947363":{"id":"n185947363","loc":[-85.61536,41.944893]},"n185947365":{"id":"n185947365","loc":[-85.615406,41.944547]},"n185947367":{"id":"n185947367","loc":[-85.61548,41.944351]},"n185947369":{"id":"n185947369","loc":[-85.615805,41.94419]},"n185947371":{"id":"n185947371","loc":[-85.616166,41.944156]},"n185947373":{"id":"n185947373","loc":[-85.616411,41.944197]},"n185947416":{"id":"n185947416","loc":[-85.616335,41.94343]},"n185947417":{"id":"n185947417","loc":[-85.616069,41.943293]},"n185947419":{"id":"n185947419","loc":[-85.615803,41.943249]},"n185947420":{"id":"n185947420","loc":[-85.615524,41.943342]},"n185947421":{"id":"n185947421","loc":[-85.615311,41.94353]},"n185947422":{"id":"n185947422","loc":[-85.614338,41.943558]},"n185947423":{"id":"n185947423","loc":[-85.61422,41.94369]},"n185947425":{"id":"n185947425","loc":[-85.614221,41.944224]},"n185947427":{"id":"n185947427","loc":[-85.614198,41.944888]},"n185947429":{"id":"n185947429","loc":[-85.614221,41.945439]},"n185947468":{"id":"n185947468","loc":[-85.615908,41.944756]},"n185947470":{"id":"n185947470","loc":[-85.615871,41.944888]},"n185947472":{"id":"n185947472","loc":[-85.615878,41.94507]},"n185955153":{"id":"n185955153","loc":[-85.620087,41.947701]},"n185960690":{"id":"n185960690","loc":[-85.620141,41.951901]},"n185978817":{"id":"n185978817","loc":[-85.617193,41.954706]},"n185985916":{"id":"n185985916","loc":[-85.620088,41.94758]},"n185985918":{"id":"n185985918","loc":[-85.620133,41.951538]},"n185985919":{"id":"n185985919","loc":[-85.62013,41.952104]},"n185985920":{"id":"n185985920","loc":[-85.620104,41.952305]},"n185985921":{"id":"n185985921","loc":[-85.620062,41.952499]},"n185985922":{"id":"n185985922","loc":[-85.619993,41.952702]},"n185985925":{"id":"n185985925","loc":[-85.619879,41.952986]},"n185985927":{"id":"n185985927","loc":[-85.619689,41.95329]},"n185985928":{"id":"n185985928","loc":[-85.619508,41.953521]},"n185985929":{"id":"n185985929","loc":[-85.619286,41.953728]},"n185985930":{"id":"n185985930","loc":[-85.618925,41.954007]},"n185985931":{"id":"n185985931","loc":[-85.618638,41.954189]},"n185985932":{"id":"n185985932","loc":[-85.61831,41.954358]},"n185985934":{"id":"n185985934","loc":[-85.618015,41.954485]},"n185985936":{"id":"n185985936","loc":[-85.617606,41.954611]},"n1475283975":{"id":"n1475283975","loc":[-85.6150935,41.9434118]},"n1475283979":{"id":"n1475283979","loc":[-85.6193367,41.9430252]},"n1475283989":{"id":"n1475283989","loc":[-85.6104771,41.9455269]},"n1475283990":{"id":"n1475283990","loc":[-85.6104771,41.9437179]},"n1475283994":{"id":"n1475283994","loc":[-85.6198042,41.9429763]},"n1475283998":{"id":"n1475283998","loc":[-85.6192101,41.9426716]},"n1475284000":{"id":"n1475284000","loc":[-85.6198622,41.942836]},"n1475284002":{"id":"n1475284002","loc":[-85.6163262,41.9427688]},"n1475284006":{"id":"n1475284006","loc":[-85.6179527,41.9429168]},"n1475284029":{"id":"n1475284029","loc":[-85.6197195,41.9427278]},"n1475284038":{"id":"n1475284038","loc":[-85.6194405,41.9427837]},"n1475284052":{"id":"n1475284052","loc":[-85.6153225,41.942841]},"n1475284055":{"id":"n1475284055","loc":[-85.6129233,41.9437179]},"n2139966627":{"id":"n2139966627","loc":[-85.61958,41.9427558]},"w17966773":{"id":"w17966773","tags":{"highway":"secondary","name":"E Michigan Ave","ref":"M 60"},"nodes":["n185980372","n185980398","n185980401","n185980403","n185980405","n185980407","n185980409","n185980411","n185980413","n185980415","n185980417","n185955019"]},"w17964043":{"id":"w17964043","tags":{"highway":"residential"},"nodes":["n185955019","n185955022","n185955025","n185955028","n185954977","n185971477","n1475284050","n1475284000","n1475284029","n2139966627","n1475284038"]},"w17962834":{"id":"w17962834","tags":{"highway":"service"},"nodes":["n185947316","n185947414","n185947464","n185947466","n185947373","n185947468","n185947470","n185947472","n185947474"]},"w209470310":{"id":"w209470310","tags":{"area":"yes","building":"yes"},"nodes":["n2196831393","n2196831394","n2196831395","n2196831397","n2196831393"]},"w17963058":{"id":"w17963058","tags":{"highway":"service"},"nodes":["n185947333","n185948863","n185948865","n1475284007","n1475283982","n1475284040","n1475284044"]},"w17962823":{"id":"w17962823","tags":{"highway":"service"},"nodes":["n185947359","n185947361","n185947363","n185947365","n185947367","n185947369","n185947371","n185947373","n185947374","n185947375","n185947376","n185947377","n185947378"]},"w17962821":{"id":"w17962821","tags":{"highway":"service"},"nodes":["n185947303","n185947304","n185947305","n185947306","n185947308","n185947310","n185947312","n185947314","n185947315","n185947316","n185947319","n185947321","n185947322","n185947323","n185947325","n185947327","n185947328","n185947329","n185947331","n185947333","n185947336","n185947338","n185947339","n185947340","n185947343","n185947345","n185947347","n185947349"]},"w134150798":{"id":"w134150798","tags":{"amenity":"grave_yard","name":"Riverside Cemetery"},"nodes":["n354002931","n1475283972","n1475284053","n1475283994","n1475283979","n1475283998","n1475284006","n1475284002","n1475284052","n1475283975","n1475284055","n1475283990","n1475283989","n354002931"]},"w17964040":{"id":"w17964040","tags":{"highway":"service"},"nodes":["n185947336","n185954965","n185954968","n185954970","n185954972","n185954974","n185954977"]},"w209470308":{"id":"w209470308","tags":{"area":"yes","building":"yes"},"nodes":["n2196831365","n2196831366","n2196831367","n2196831368","n2196831369","n2196831370","n2196831365"]},"w17962828":{"id":"w17962828","tags":{"highway":"service"},"nodes":["n185947340","n185947406","n185947409","n185947410","n185947411","n185947412","n185947414","n185947416","n185947417","n185947419","n185947420","n185947421","n185947422","n185947423","n185947425","n185947427","n185947429"]},"w209470309":{"id":"w209470309","tags":{"area":"yes","building":"yes"},"nodes":["n2196831371","n2196831372","n2196831373","n2196831374","n2196831375","n2196831376","n2196831377","n2196831378","n2196831379","n2196831380","n2196831381","n2196831382","n2196831383","n2196831384","n2196831385","n2196831386","n2196831387","n2196831388","n2196831389","n2196831390","n2196831391","n2196831392","n2196831371"]},"w17967415":{"id":"w17967415","tags":{"highway":"secondary","name":"Jefferson St","name_1":"State Highway 60","ref":"M 60"},"nodes":["n185955019","n185985910","n185985912","n185985914","n185961367","n185985916","n185955153","n185965105","n185974697","n185955120","n185985918","n185960690","n185985919","n185985920","n185985921","n185985922","n185985925","n185985927","n185985928","n185985929","n185985930","n185985931","n185985932","n185985934","n185985936","n185978817"]},"w17966772":{"id":"w17966772","tags":{"highway":"unclassified","name":"E Michigan Ave","name_1":"State Highway 60"},"nodes":["n185954977","n185980371","n185980372"]},"n185958500":{"id":"n185958500","loc":[-85.621591,41.941075]},"n185963110":{"id":"n185963110","loc":[-85.6204416,41.9408882]},"n2139966628":{"id":"n2139966628","loc":[-85.6196431,41.9426467],"tags":{"leisure":"fishing"}},"n2139966630":{"id":"n2139966630","loc":[-85.6199354,41.9429616]},"n2199127051":{"id":"n2199127051","loc":[-85.6170556,41.939696]},"n2199127052":{"id":"n2199127052","loc":[-85.6170536,41.9392909]},"n2199127053":{"id":"n2199127053","loc":[-85.6172067,41.9392905]},"n2199127054":{"id":"n2199127054","loc":[-85.6172061,41.9391853]},"n2199127055":{"id":"n2199127055","loc":[-85.6171481,41.9391854]},"n2199127060":{"id":"n2199127060","loc":[-85.6167389,41.9392896]},"n2199127061":{"id":"n2199127061","loc":[-85.6168728,41.9392892]},"n2199127062":{"id":"n2199127062","loc":[-85.6168747,41.9396965]},"n2199127071":{"id":"n2199127071","loc":[-85.620196,41.9399446]},"n2199127072":{"id":"n2199127072","loc":[-85.620193,41.9397316]},"n2199127073":{"id":"n2199127073","loc":[-85.6200381,41.9397328]},"n2199127074":{"id":"n2199127074","loc":[-85.6200412,41.9399458]},"n2199127075":{"id":"n2199127075","loc":[-85.6203606,41.9399939]},"n2199127076":{"id":"n2199127076","loc":[-85.6205527,41.9399922]},"n2199127077":{"id":"n2199127077","loc":[-85.6205482,41.9397115]},"n2199127078":{"id":"n2199127078","loc":[-85.6204132,41.9397124]},"n2199127079":{"id":"n2199127079","loc":[-85.6204144,41.9396341]},"n2199127080":{"id":"n2199127080","loc":[-85.6205699,41.9396324]},"n2199127081":{"id":"n2199127081","loc":[-85.6205722,41.939498]},"n2199127082":{"id":"n2199127082","loc":[-85.6204064,41.9394997]},"n2199127083":{"id":"n2199127083","loc":[-85.6204087,41.939561]},"n2199127084":{"id":"n2199127084","loc":[-85.6203103,41.9395618]},"n2199127085":{"id":"n2199127085","loc":[-85.620308,41.9396069]},"n2199127086":{"id":"n2199127086","loc":[-85.6200347,41.9396086]},"n2199127087":{"id":"n2199127087","loc":[-85.6200382,41.9397141]},"n2199127088":{"id":"n2199127088","loc":[-85.6202257,41.9397149]},"n2199127089":{"id":"n2199127089","loc":[-85.6202269,41.9399182]},"n2199127090":{"id":"n2199127090","loc":[-85.6203595,41.9399199]},"n2199127091":{"id":"n2199127091","loc":[-85.6212335,41.939688]},"n2199127092":{"id":"n2199127092","loc":[-85.6212328,41.939595]},"n2199127093":{"id":"n2199127093","loc":[-85.6208807,41.9395966]},"n2199127094":{"id":"n2199127094","loc":[-85.6208815,41.9396896]},"n2199127095":{"id":"n2199127095","loc":[-85.6208676,41.9396872]},"n2199127096":{"id":"n2199127096","loc":[-85.6208583,41.9393539]},"n2199127097":{"id":"n2199127097","loc":[-85.6207006,41.9393563]},"n2199127098":{"id":"n2199127098","loc":[-85.6207099,41.9396896]},"n185967054":{"id":"n185967054","loc":[-85.6173384,41.9356126]},"n185967063":{"id":"n185967063","loc":[-85.617371,41.936243]},"n185967065":{"id":"n185967065","loc":[-85.617337,41.936299]},"n185967068":{"id":"n185967068","loc":[-85.617321,41.936373]},"n185967070":{"id":"n185967070","loc":[-85.6173562,41.9366969]},"n185967074":{"id":"n185967074","loc":[-85.6173635,41.9377414]},"n185967075":{"id":"n185967075","loc":[-85.6173696,41.9381886]},"n185967076":{"id":"n185967076","loc":[-85.617372,41.938535]},"n2199127056":{"id":"n2199127056","loc":[-85.617147,41.9389616]},"n2199127057":{"id":"n2199127057","loc":[-85.6172136,41.9389614]},"n2199127058":{"id":"n2199127058","loc":[-85.6172123,41.9386909]},"n2199127059":{"id":"n2199127059","loc":[-85.616736,41.9386922]},"n2203921041":{"id":"n2203921041","loc":[-85.6173018,41.9346369]},"w203983952":{"id":"w203983952","tags":{"highway":"service"},"nodes":["n2139966627","n1819800319"]},"w209718301":{"id":"w209718301","tags":{"area":"yes","building":"yes"},"nodes":["n2199127051","n2199127052","n2199127053","n2199127054","n2199127055","n2199127056","n2199127057","n2199127058","n2199127059","n2199127060","n2199127061","n2199127062","n2199127051"]},"w209718304":{"id":"w209718304","tags":{"area":"yes","building":"yes"},"nodes":["n2199127071","n2199127072","n2199127073","n2199127074","n2199127071"]},"w17964961":{"id":"w17964961","tags":{"highway":"residential","name":"Whipple St"},"nodes":["n185963099","n185963110"]},"w17964489":{"id":"w17964489","tags":{"highway":"residential","name":"Jackson St"},"nodes":["n185958498","n185958500"]},"w203983953":{"id":"w203983953","tags":{"area":"yes","leisure":"park","name":"Marina Park"},"nodes":["n1475283994","n1475283979","n1475283998","n2139966629","n2139966625","n1819800319","n2139966623","n2139966622","n2139966621","n2139966630","n1475283994"]},"w17965366":{"id":"w17965366","tags":{"highway":"residential","name":"14th St"},"nodes":["n2203921041","n185967054","n185967063","n185967065","n185967068","n185967070","n185967074","n185967075","n185967076","n185967077"]},"w209718306":{"id":"w209718306","tags":{"area":"yes","building":"yes"},"nodes":["n2199127091","n2199127092","n2199127093","n2199127094","n2199127091"]},"w209718307":{"id":"w209718307","tags":{"area":"yes","building":"yes"},"nodes":["n2199127095","n2199127096","n2199127097","n2199127098","n2199127095"]},"w209718305":{"id":"w209718305","tags":{"area":"yes","building":"yes"},"nodes":["n2199127075","n2199127076","n2199127077","n2199127078","n2199127079","n2199127080","n2199127081","n2199127082","n2199127083","n2199127084","n2199127085","n2199127086","n2199127087","n2199127088","n2199127089","n2199127090","n2199127075"]},"n185960199":{"id":"n185960199","loc":[-85.62965,41.95469]},"n185980737":{"id":"n185980737","loc":[-85.629083,41.953725]},"n2114807561":{"id":"n2114807561","loc":[-85.6297681,41.9524688]},"n2114807597":{"id":"n2114807597","loc":[-85.6296517,41.952563]},"n185960197":{"id":"n185960197","loc":[-85.629676,41.9537314]},"n185978791":{"id":"n185978791","loc":[-85.6244542,41.9547066]},"w17967573":{"id":"w17967573","tags":{"highway":"residential","name":"E Wheeler St"},"nodes":["n185960195","n2114807561","n185968102","n185967430","n185986157","n185978392"]},"w17966553":{"id":"w17966553","tags":{"highway":"residential","name":"East Hoffman Street"},"nodes":["n185971631","n185978784","n185967432","n185968106","n185960199","n185978787","n185978790","n185978791"]},"w17966787":{"id":"w17966787","tags":{"highway":"residential","name":"East Cushman Street"},"nodes":["n185980735","n185980737","n185960197","n185968104","n185960792"]},"w17964723":{"id":"w17964723","tags":{"highway":"residential","name":"Cushman Street"},"nodes":["n185960792","n185960794","n185960796"]},"w17964654":{"id":"w17964654","tags":{"highway":"residential","name":"Pine Street"},"nodes":["n185960195","n2114807597","n185960197","n185960199"]},"n1819848862":{"id":"n1819848862","loc":[-85.6346087,41.9545845]},"n1819848935":{"id":"n1819848935","loc":[-85.6345948,41.9537717]},"n1819848973":{"id":"n1819848973","loc":[-85.6334247,41.9537827]},"n1819848997":{"id":"n1819848997","loc":[-85.6334386,41.9545956]},"n2189015861":{"id":"n2189015861","loc":[-85.6375906,41.954836]},"n2189015865":{"id":"n2189015865","loc":[-85.6383307,41.9548291]},"n2189015867":{"id":"n2189015867","loc":[-85.6383337,41.9550072]},"n2189015868":{"id":"n2189015868","loc":[-85.6380986,41.9550094]},"n2189015869":{"id":"n2189015869","loc":[-85.6381005,41.9551226]},"n2199109808":{"id":"n2199109808","loc":[-85.6372702,41.9522894]},"n2199109810":{"id":"n2199109810","loc":[-85.6372677,41.9521583]},"n2199109812":{"id":"n2199109812","loc":[-85.6369505,41.9521617]},"n2199109814":{"id":"n2199109814","loc":[-85.636953,41.9522927]},"n185952156":{"id":"n185952156","loc":[-85.640983,41.9546557]},"n185953423":{"id":"n185953423","loc":[-85.641871,41.954652]},"n185971637":{"id":"n185971637","loc":[-85.641583,41.95465]},"n185971639":{"id":"n185971639","loc":[-85.6421344,41.9546444]},"n185971642":{"id":"n185971642","loc":[-85.6428264,41.9545612]},"n185971648":{"id":"n185971648","loc":[-85.6436023,41.9544262]},"n185975066":{"id":"n185975066","loc":[-85.640532,41.953638]},"n185975067":{"id":"n185975067","loc":[-85.64079,41.953638]},"n185982166":{"id":"n185982166","loc":[-85.6399012,41.9523817]},"n2189015858":{"id":"n2189015858","loc":[-85.6376104,41.9560138]},"n2189015870":{"id":"n2189015870","loc":[-85.6386794,41.9551172]},"n2189015871":{"id":"n2189015871","loc":[-85.6386817,41.955256]},"n2189015873":{"id":"n2189015873","loc":[-85.6385437,41.9552573]},"n2189015876":{"id":"n2189015876","loc":[-85.638555,41.9559278]},"n2189015879":{"id":"n2189015879","loc":[-85.6384954,41.9559283]},"n2189015882":{"id":"n2189015882","loc":[-85.6384965,41.9559935]},"n2189015885":{"id":"n2189015885","loc":[-85.6383533,41.9559949]},"n2189015888":{"id":"n2189015888","loc":[-85.638351,41.9558607]},"n2189015891":{"id":"n2189015891","loc":[-85.6382178,41.9558619]},"n2189015894":{"id":"n2189015894","loc":[-85.6382203,41.956008]},"w208627223":{"id":"w208627223","tags":{"area":"yes","building":"yes"},"nodes":["n2189015858","n2189015861","n2189015865","n2189015867","n2189015868","n2189015869","n2189015870","n2189015871","n2189015873","n2189015876","n2189015879","n2189015882","n2189015885","n2189015888","n2189015891","n2189015894","n2189015858"]},"w170848328":{"id":"w170848328","tags":{"leisure":"park","name":"Bowman Park"},"nodes":["n1819848935","n1819848973","n1819848997","n1819848862","n1819848935"]},"w17965866":{"id":"w17965866","tags":{"highway":"residential","name":"West Hoffman Street"},"nodes":["n185971631","n185971632","n185964359","n185965025","n1475293264","n185952156","n185971637","n185953423","n185971639","n185971642","n185971648"]},"w209717051":{"id":"w209717051","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"baptist","name":"Calvary Missionary Baptist Church","religion":"christian"},"nodes":["n2199109808","n2199109810","n2199109812","n2199109814","n2199109808"]},"w17966172":{"id":"w17966172","tags":{"highway":"residential","name":"West Cushman Street"},"nodes":["n185960796","n185975064","n185964358","n185965023","n1475293222","n185975066","n185975067"]},"w17966975":{"id":"w17966975","tags":{"highway":"residential","name":"W Wheeler St"},"nodes":["n185978392","n185982163","n185964357","n185965021","n1475293261","n185982166"]},"n185960684":{"id":"n185960684","loc":[-85.622687,41.951885]},"n185960686":{"id":"n185960686","loc":[-85.622492,41.951901]},"n185978795":{"id":"n185978795","loc":[-85.6240991,41.954708]},"n185978803":{"id":"n185978803","loc":[-85.623348,41.954547]},"n185978806":{"id":"n185978806","loc":[-85.623123,41.954502]},"n185978808":{"id":"n185978808","loc":[-85.622923,41.954469]},"n185978810":{"id":"n185978810","loc":[-85.622787,41.954457]},"n185978811":{"id":"n185978811","loc":[-85.622612,41.954458]},"n185978813":{"id":"n185978813","loc":[-85.622368,41.954472]},"n1819790545":{"id":"n1819790545","loc":[-85.6240295,41.9548949]},"n1819790621":{"id":"n1819790621","loc":[-85.6235789,41.954855]},"n1819790664":{"id":"n1819790664","loc":[-85.6238363,41.9549507]},"n1819790683":{"id":"n1819790683","loc":[-85.6224727,41.9545921]},"n1819790730":{"id":"n1819790730","loc":[-85.6227527,41.9545795]},"n1819790740":{"id":"n1819790740","loc":[-85.6240402,41.9550784]},"n1819790831":{"id":"n1819790831","loc":[-85.624126,41.9549986]},"n1819790861":{"id":"n1819790861","loc":[-85.6231712,41.9546872]},"n1819790887":{"id":"n1819790887","loc":[-85.6242762,41.955206]},"n2168544739":{"id":"n2168544739","loc":[-85.6249102,41.952801]},"n2168544740":{"id":"n2168544740","loc":[-85.6251859,41.9527564]},"n2168544741":{"id":"n2168544741","loc":[-85.6255515,41.9527921]},"n2168544742":{"id":"n2168544742","loc":[-85.626001,41.9529481]},"n2168544743":{"id":"n2168544743","loc":[-85.6265284,41.9529838]},"n2168544744":{"id":"n2168544744","loc":[-85.626942,41.9528857]},"n2168544745":{"id":"n2168544745","loc":[-85.6270918,41.9526851]},"n2168544746":{"id":"n2168544746","loc":[-85.6272117,41.95244]},"n2168544747":{"id":"n2168544747","loc":[-85.6271578,41.952226]},"n2168544748":{"id":"n2168544748","loc":[-85.6270019,41.9519719]},"n2168544749":{"id":"n2168544749","loc":[-85.6268221,41.9518382]},"n2168544750":{"id":"n2168544750","loc":[-85.6265284,41.951807]},"n2168544751":{"id":"n2168544751","loc":[-85.6256534,41.9518516]},"n2168544752":{"id":"n2168544752","loc":[-85.6253477,41.9518338]},"n2168544753":{"id":"n2168544753","loc":[-85.6251139,41.9517669]},"n185955747":{"id":"n185955747","loc":[-85.620674,41.954709]},"n185960688":{"id":"n185960688","loc":[-85.621032,41.951913]},"n185972054":{"id":"n185972054","loc":[-85.6186728,41.9547335]},"n185978814":{"id":"n185978814","loc":[-85.6201708,41.9547403]},"n1819790532":{"id":"n1819790532","loc":[-85.6244908,41.9555731]},"n1819790536":{"id":"n1819790536","loc":[-85.6217925,41.9583135]},"n1819790538":{"id":"n1819790538","loc":[-85.6233954,41.9600014]},"n1819790539":{"id":"n1819790539","loc":[-85.6204611,41.9562117]},"n1819790546":{"id":"n1819790546","loc":[-85.6210898,41.9567657]},"n1819790548":{"id":"n1819790548","loc":[-85.6202465,41.9562237]},"n1819790550":{"id":"n1819790550","loc":[-85.6250165,41.9560677]},"n1819790551":{"id":"n1819790551","loc":[-85.6227946,41.9597023]},"n1819790553":{"id":"n1819790553","loc":[-85.6215726,41.9584571]},"n1819790556":{"id":"n1819790556","loc":[-85.6196306,41.9573002]},"n1819790557":{"id":"n1819790557","loc":[-85.6209503,41.9563109]},"n1819790558":{"id":"n1819790558","loc":[-85.6196939,41.9574085]},"n1819790561":{"id":"n1819790561","loc":[-85.621079,41.957751]},"n1819790562":{"id":"n1819790562","loc":[-85.6224255,41.9611417]},"n1819790565":{"id":"n1819790565","loc":[-85.6232506,41.9604841]},"n1819790566":{"id":"n1819790566","loc":[-85.6190835,41.9562909]},"n1819790567":{"id":"n1819790567","loc":[-85.622227,41.9593028]},"n1819790569":{"id":"n1819790569","loc":[-85.620976,41.9591039]},"n1819790571":{"id":"n1819790571","loc":[-85.6212078,41.9565303]},"n1819790572":{"id":"n1819790572","loc":[-85.6235306,41.9595102]},"n1819790581":{"id":"n1819790581","loc":[-85.6235563,41.9579351]},"n1819790584":{"id":"n1819790584","loc":[-85.6230371,41.9574598]},"n1819790586":{"id":"n1819790586","loc":[-85.6211748,41.9564272]},"n1819790588":{"id":"n1819790588","loc":[-85.6226508,41.9601086]},"n1819790591":{"id":"n1819790591","loc":[-85.6218032,41.9607468]},"n1819790593":{"id":"n1819790593","loc":[-85.6207915,41.9618735]},"n1819790596":{"id":"n1819790596","loc":[-85.6252955,41.9567858]},"n1819790598":{"id":"n1819790598","loc":[-85.6196618,41.9568939]},"n1819790600":{"id":"n1819790600","loc":[-85.6224416,41.9587084]},"n1819790602":{"id":"n1819790602","loc":[-85.6217442,41.9558641]},"n1819790603":{"id":"n1819790603","loc":[-85.6213355,41.9592116]},"n1819790604":{"id":"n1819790604","loc":[-85.622801,41.9573042]},"n1819790608":{"id":"n1819790608","loc":[-85.6199729,41.9574325]},"n1819790610":{"id":"n1819790610","loc":[-85.6195555,41.9557165]},"n1819790611":{"id":"n1819790611","loc":[-85.622978,41.9586007]},"n1819790613":{"id":"n1819790613","loc":[-85.6253963,41.9562636]},"n1819790614":{"id":"n1819790614","loc":[-85.6235252,41.9580342]},"n1819790616":{"id":"n1819790616","loc":[-85.6232988,41.9596305]},"n1819790617":{"id":"n1819790617","loc":[-85.6226776,41.9598732]},"n1819790619":{"id":"n1819790619","loc":[-85.625553,41.9561794]},"n1819790620":{"id":"n1819790620","loc":[-85.6235574,41.959231]},"n1819790624":{"id":"n1819790624","loc":[-85.6228429,41.9573726]},"n1819790626":{"id":"n1819790626","loc":[-85.6193785,41.9556766]},"n1819790628":{"id":"n1819790628","loc":[-85.620092,41.9554253]},"n1819790630":{"id":"n1819790630","loc":[-85.6226658,41.9604402]},"n1819790638":{"id":"n1819790638","loc":[-85.6219964,41.9602561]},"n1819790640":{"id":"n1819790640","loc":[-85.6232731,41.9599969]},"n1819790643":{"id":"n1819790643","loc":[-85.6247698,41.9568895]},"n1819790650":{"id":"n1819790650","loc":[-85.6216412,41.9550149]},"n1819790652":{"id":"n1819790652","loc":[-85.6224952,41.9603918]},"n1819790656":{"id":"n1819790656","loc":[-85.61918,41.9555649]},"n1819790661":{"id":"n1819790661","loc":[-85.6200169,41.955505]},"n1819790662":{"id":"n1819790662","loc":[-85.6217389,41.9563149]},"n1819790666":{"id":"n1819790666","loc":[-85.6229566,41.9598373]},"n1819790667":{"id":"n1819790667","loc":[-85.6209117,41.9609189]},"n1819790669":{"id":"n1819790669","loc":[-85.6252311,41.9562353]},"n1819790670":{"id":"n1819790670","loc":[-85.6209758,41.961868]},"n1819790672":{"id":"n1819790672","loc":[-85.6209557,41.9589078]},"n1819790673":{"id":"n1819790673","loc":[-85.6190352,41.9561393]},"n1819790675":{"id":"n1819790675","loc":[-85.6236432,41.9586685]},"n1819790676":{"id":"n1819790676","loc":[-85.6194901,41.9565389]},"n1819790678":{"id":"n1819790678","loc":[-85.6219266,41.9582417]},"n1819790680":{"id":"n1819790680","loc":[-85.6208258,41.9557211]},"n1819790681":{"id":"n1819790681","loc":[-85.6212024,41.9613212]},"n1819790682":{"id":"n1819790682","loc":[-85.624877,41.9559401]},"n1819790684":{"id":"n1819790684","loc":[-85.6206499,41.9583693]},"n1819790699":{"id":"n1819790699","loc":[-85.6215243,41.956279]},"n1819790701":{"id":"n1819790701","loc":[-85.6246625,41.9559321]},"n1819790703":{"id":"n1819790703","loc":[-85.6230478,41.9585089]},"n1819790708":{"id":"n1819790708","loc":[-85.6211102,41.9575402]},"n1819790710":{"id":"n1819790710","loc":[-85.6215082,41.9548468]},"n1819790711":{"id":"n1819790711","loc":[-85.6206552,41.9586007]},"n1819790713":{"id":"n1819790713","loc":[-85.6215404,41.9549705]},"n1819790715":{"id":"n1819790715","loc":[-85.6216906,41.955521]},"n1819790717":{"id":"n1819790717","loc":[-85.6215404,41.9547391]},"n1819790722":{"id":"n1819790722","loc":[-85.6219964,41.9599131]},"n1819790723":{"id":"n1819790723","loc":[-85.622286,41.9606989]},"n1819790725":{"id":"n1819790725","loc":[-85.6228439,41.9572005]},"n1819790727":{"id":"n1819790727","loc":[-85.6202518,41.9554458]},"n1819790728":{"id":"n1819790728","loc":[-85.623434,41.9575276]},"n1819790729":{"id":"n1819790729","loc":[-85.6234287,41.9568576]},"n1819790732":{"id":"n1819790732","loc":[-85.6229566,41.9571369]},"n1819790733":{"id":"n1819790733","loc":[-85.6225543,41.9590275]},"n1819790734":{"id":"n1819790734","loc":[-85.6232892,41.9583135]},"n1819790736":{"id":"n1819790736","loc":[-85.622977,41.9608551]},"n1819790737":{"id":"n1819790737","loc":[-85.624008,41.9569533]},"n1819790741":{"id":"n1819790741","loc":[-85.6212775,41.9608545]},"n1819790742":{"id":"n1819790742","loc":[-85.6231282,41.9569932]},"n1819790743":{"id":"n1819790743","loc":[-85.6224523,41.9591831]},"n1819790744":{"id":"n1819790744","loc":[-85.6210951,41.9610819]},"n1819790745":{"id":"n1819790745","loc":[-85.6220114,41.960544]},"n1819790755":{"id":"n1819790755","loc":[-85.6216369,41.9553854]},"n1819790757":{"id":"n1819790757","loc":[-85.6209986,41.9592709]},"n1819790758":{"id":"n1819790758","loc":[-85.6200437,41.9563468]},"n1819790764":{"id":"n1819790764","loc":[-85.6219363,41.9596823]},"n1819790765":{"id":"n1819790765","loc":[-85.6237612,41.9568496]},"n1819790769":{"id":"n1819790769","loc":[-85.6212389,41.9593433]},"n1819790771":{"id":"n1819790771","loc":[-85.6210726,41.9560123]},"n1819790772":{"id":"n1819790772","loc":[-85.6212711,41.9561838]},"n1819790776":{"id":"n1819790776","loc":[-85.6234437,41.9577795]},"n1819790777":{"id":"n1819790777","loc":[-85.6212502,41.9618599]},"n1819790783":{"id":"n1819790783","loc":[-85.6216895,41.9610585]},"n1819790784":{"id":"n1819790784","loc":[-85.6200115,41.9556367]},"n1819790785":{"id":"n1819790785","loc":[-85.6210576,41.9573002]},"n1819790786":{"id":"n1819790786","loc":[-85.621138,41.9576632]},"n1819790788":{"id":"n1819790788","loc":[-85.6207733,41.9578946]},"n1819790789":{"id":"n1819790789","loc":[-85.6200705,41.9571566]},"n1819790790":{"id":"n1819790790","loc":[-85.6245337,41.9558443]},"n1819790792":{"id":"n1819790792","loc":[-85.621932,41.9608066]},"n1819790793":{"id":"n1819790793","loc":[-85.6233578,41.9581385]},"n1819790794":{"id":"n1819790794","loc":[-85.6204557,41.9555136]},"n1819790797":{"id":"n1819790797","loc":[-85.6235038,41.9576074]},"n1819790800":{"id":"n1819790800","loc":[-85.6214438,41.9607508]},"n1819790801":{"id":"n1819790801","loc":[-85.623492,41.9602129]},"n1819790802":{"id":"n1819790802","loc":[-85.6216691,41.9546553]},"n1819790803":{"id":"n1819790803","loc":[-85.6231057,41.9586851]},"n1819790804":{"id":"n1819790804","loc":[-85.6209224,41.9578673]},"n1819790813":{"id":"n1819790813","loc":[-85.620092,41.9572962]},"n1819790814":{"id":"n1819790814","loc":[-85.6216691,41.9552218]},"n1819790816":{"id":"n1819790816","loc":[-85.6216144,41.9609668]},"n1819790818":{"id":"n1819790818","loc":[-85.6216906,41.9557324]},"n1819790820":{"id":"n1819790820","loc":[-85.6192069,41.9564186]},"n1819790823":{"id":"n1819790823","loc":[-85.6211155,41.9566027]},"n1819790825":{"id":"n1819790825","loc":[-85.6233106,41.9569294]},"n1819790839":{"id":"n1819790839","loc":[-85.625671,41.9564986]},"n1819790842":{"id":"n1819790842","loc":[-85.6235252,41.9567379]},"n1819790844":{"id":"n1819790844","loc":[-85.6253813,41.9566342]},"n1819790847":{"id":"n1819790847","loc":[-85.6200963,41.9567702]},"n1819790849":{"id":"n1819790849","loc":[-85.6238031,41.9587449]},"n1819790851":{"id":"n1819790851","loc":[-85.6234984,41.9584571]},"n1819790856":{"id":"n1819790856","loc":[-85.6242226,41.9570092]},"n1819790865":{"id":"n1819790865","loc":[-85.6200265,41.9569458]},"n1819790869":{"id":"n1819790869","loc":[-85.6230049,41.9601245]},"n1819790871":{"id":"n1819790871","loc":[-85.6190727,41.9558322]},"n1819790873":{"id":"n1819790873","loc":[-85.6217442,41.9550104]},"n1819790875":{"id":"n1819790875","loc":[-85.6208044,41.9587808]},"n1819790879":{"id":"n1819790879","loc":[-85.6198444,41.9574484]},"n1819790883":{"id":"n1819790883","loc":[-85.623713,41.9588719]},"n1819790885":{"id":"n1819790885","loc":[-85.6223289,41.9605075]},"n1819790889":{"id":"n1819790889","loc":[-85.6208044,41.9562437]},"n1819790893":{"id":"n1819790893","loc":[-85.6218183,41.9559684]},"n1819790906":{"id":"n1819790906","loc":[-85.6214052,41.958697]},"n1819790913":{"id":"n1819790913","loc":[-85.6209981,41.9609957]},"n1819790917":{"id":"n1819790917","loc":[-85.6216208,41.9604436]},"n1819790919":{"id":"n1819790919","loc":[-85.6209406,41.9616373]},"n1819790920":{"id":"n1819790920","loc":[-85.6221948,41.9583334]},"n1819790922":{"id":"n1819790922","loc":[-85.6216681,41.9615292]},"n1819790924":{"id":"n1819790924","loc":[-85.6210147,41.9570489]},"n1819790929":{"id":"n1819790929","loc":[-85.6193678,41.955521]},"w17964707":{"id":"w17964707","tags":{"highway":"residential","name":"11th Ave"},"nodes":["n185960682","n185960684","n185960686","n185960688","n185960690"]},"w201484345":{"id":"w201484345","tags":{"bridge":"yes","highway":"residential","name":"E Hoffman St"},"nodes":["n185978791","n185978795"]},"w201484348":{"id":"w201484348","tags":{"highway":"residential","name":"E Hoffman St"},"nodes":["n185978795","n185978800","n185978803","n185978806","n185978808","n185978810","n185978811","n185978813","n185955747","n185978814","n185972054","n185978817"]},"w170843845":{"id":"w170843845","tags":{"landuse":"reservoir","name":"Hoffman Pond","natural":"water"},"nodes":["n1819790732","n1819790742","n1819790825","n1819790729","n1819790842","n1819790765","n1819790737","n1819790856","n1819790643","n1819790596","n1819790844","n1819790839","n1819849190","n1819790619","n1819790613","n1819790669","n1819790550","n1819790682","n1819790701","n1819790790","n1819790532","n1819790887","n1819790740","n1819790831","n1819790545","n1819790664","n1819790621","n1819790861","n1819790730","n1819790683","n1819790802","n1819790717","n1819790710","n1819790713","n1819790650","n1819790873","n1819790814","n1819790755","n1819790715","n1819790818","n1819790602","n1819790893","n1819790662","n1819790699","n1819790772","n1819790771","n1819790680","n1819790794","n1819790727","n1819790628","n1819790661","n1819790784","n1819790610","n1819790626","n1819790929","n1819790656","n1819790871","n1819790673","n1819790566","n1819790820","n1819790676","n1819790598","n1819790556","n1819790558","n1819790879","n1819790608","n1819790813","n1819790789","n1819790865","n1819790847","n1819790758","n1819790548","n1819790539","n1819790889","n1819790557","n1819790586","n1819790571","n1819790823","n1819790546","n1819790924","n1819790785","n1819790708","n1819790786","n1819790561","n1819790804","n1819790788","n1819790684","n1819790711","n1819790875","n1819790672","n1819790569","n1819790757","n1819790769","n1819790603","n1819790906","n1819790553","n1819790536","n1819790678","n1819790920","n1819790600","n1819790733","n1819790743","n1819790567","n1819790764","n1819790722","n1819790638","n1819790917","n1819790800","n1819790741","n1819790667","n1819790913","n1819790744","n1819790816","n1819790591","n1819790745","n1819790885","n1819790652","n1819790588","n1819790617","n1819790551","n1819790666","n1819790869","n1819790630","n1819790723","n1819790792","n1819790783","n1819790681","n1819790919","n1819790593","n1819790670","n1819790777","n1819790922","n1819790562","n1819790736","n1819790565","n1819790801","n1819790538","n1819790640","n1819790616","n1819790572","n1819790620","n1819790883","n1819790849","n1819790675","n1819790851","n1819790803","n1819790611","n1819790703","n1819790734","n1819790793","n1819790614","n1819790581","n1819790776","n1819790797","n1819790728","n1819790584","n1819790624","n1819790604","n1819790725","n1819790732"]},"w206805240":{"id":"w206805240","tags":{"waterway":"river"},"nodes":["n2168544738","n2168544739","n2168544740","n2168544741","n2168544742","n2168544743","n2168544744","n2168544745","n2168544746","n2168544747","n2168544748","n2168544749","n2168544750","n2168544751","n2168544752","n2168544753","n1819848944"]},"n394490429":{"id":"n394490429","loc":[-85.643883,41.954365]},"n185953421":{"id":"n185953421","loc":[-85.641876,41.954946]},"n185953417":{"id":"n185953417","loc":[-85.6418306,41.9551597]},"n185977233":{"id":"n185977233","loc":[-85.642987,41.95486]},"n185977232":{"id":"n185977232","loc":[-85.642894,41.9547842]},"n1475293244":{"id":"n1475293244","loc":[-85.63974,41.9521543]},"n1819848890":{"id":"n1819848890","loc":[-85.6410004,41.9552822]},"n1819848965":{"id":"n1819848965","loc":[-85.6409795,41.9553892]},"n2189015846":{"id":"n2189015846","loc":[-85.6420457,41.9549528]},"n2189015849":{"id":"n2189015849","loc":[-85.6425867,41.9551392]},"n2189015852":{"id":"n2189015852","loc":[-85.6426877,41.9549771]},"n2199109816":{"id":"n2199109816","loc":[-85.6399215,41.9540925]},"n2199109818":{"id":"n2199109818","loc":[-85.6399182,41.9538236]},"n2199109820":{"id":"n2199109820","loc":[-85.6402201,41.9538216]},"n2199109822":{"id":"n2199109822","loc":[-85.640222,41.9539771]},"n2199109825":{"id":"n2199109825","loc":[-85.6402904,41.9539766]},"n2199109827":{"id":"n2199109827","loc":[-85.6402918,41.95409]},"n2199109829":{"id":"n2199109829","loc":[-85.6395845,41.9544626]},"n2199109831":{"id":"n2199109831","loc":[-85.6395792,41.9540671]},"n2199109833":{"id":"n2199109833","loc":[-85.6397173,41.9540661]},"n2199109835":{"id":"n2199109835","loc":[-85.6397226,41.9544616]},"n2199109837":{"id":"n2199109837","loc":[-85.6399641,41.9545058]},"n2199109839":{"id":"n2199109839","loc":[-85.6399637,41.9541859]},"n2199109841":{"id":"n2199109841","loc":[-85.6401098,41.9541858]},"n2199109843":{"id":"n2199109843","loc":[-85.64011,41.9543272]},"n2199109845":{"id":"n2199109845","loc":[-85.6400783,41.9543273]},"n2199109847":{"id":"n2199109847","loc":[-85.6400785,41.9545058]},"n2199109853":{"id":"n2199109853","loc":[-85.6396184,41.9554049]},"n2199109855":{"id":"n2199109855","loc":[-85.6396825,41.9553713]},"n185949745":{"id":"n185949745","loc":[-85.6442727,41.9553112]},"n185949748":{"id":"n185949748","loc":[-85.6448804,41.9555238]},"n185949755":{"id":"n185949755","loc":[-85.6420011,41.9603536]},"n185949763":{"id":"n185949763","loc":[-85.6408843,41.9555822]},"n185949765":{"id":"n185949765","loc":[-85.6414548,41.9557751]},"n185952158":{"id":"n185952158","loc":[-85.640066,41.956854]},"n185952160":{"id":"n185952160","loc":[-85.639848,41.957229]},"n185952161":{"id":"n185952161","loc":[-85.6396089,41.9576192]},"n185952163":{"id":"n185952163","loc":[-85.63892,41.957957]},"n185953413":{"id":"n185953413","loc":[-85.64162,41.955475]},"n185971651":{"id":"n185971651","loc":[-85.6440766,41.9543462]},"n185977234":{"id":"n185977234","loc":[-85.645044,41.955581]},"n394490395":{"id":"n394490395","loc":[-85.657336,41.936762]},"n394490396":{"id":"n394490396","loc":[-85.653896,41.936978]},"n394490397":{"id":"n394490397","loc":[-85.653732,41.937386]},"n394490398":{"id":"n394490398","loc":[-85.65182,41.937378]},"n394490399":{"id":"n394490399","loc":[-85.651843,41.938445]},"n394490400":{"id":"n394490400","loc":[-85.652536,41.938447]},"n394490401":{"id":"n394490401","loc":[-85.652533,41.938901]},"n394490402":{"id":"n394490402","loc":[-85.652084,41.9389]},"n394490403":{"id":"n394490403","loc":[-85.6521,41.939627]},"n394490404":{"id":"n394490404","loc":[-85.652301,41.939628]},"n394490405":{"id":"n394490405","loc":[-85.652302,41.939755]},"n394490406":{"id":"n394490406","loc":[-85.652783,41.939747]},"n394490407":{"id":"n394490407","loc":[-85.652835,41.94112]},"n394490408":{"id":"n394490408","loc":[-85.651968,41.941123]},"n394490409":{"id":"n394490409","loc":[-85.651983,41.941969]},"n394490410":{"id":"n394490410","loc":[-85.652908,41.941961]},"n394490411":{"id":"n394490411","loc":[-85.65292,41.94278]},"n394490412":{"id":"n394490412","loc":[-85.651698,41.942816]},"n394490413":{"id":"n394490413","loc":[-85.651509,41.942823]},"n394490414":{"id":"n394490414","loc":[-85.651272,41.942837]},"n394490415":{"id":"n394490415","loc":[-85.651272,41.943325]},"n394490416":{"id":"n394490416","loc":[-85.65122,41.944053]},"n394490417":{"id":"n394490417","loc":[-85.651193,41.944449]},"n394490418":{"id":"n394490418","loc":[-85.651088,41.944969]},"n394490419":{"id":"n394490419","loc":[-85.650949,41.945554]},"n394490420":{"id":"n394490420","loc":[-85.650907,41.945719]},"n394490421":{"id":"n394490421","loc":[-85.650808,41.946016]},"n394490422":{"id":"n394490422","loc":[-85.650712,41.946516]},"n394490423":{"id":"n394490423","loc":[-85.650493,41.947166]},"n394490424":{"id":"n394490424","loc":[-85.650626,41.947213]},"n394490425":{"id":"n394490425","loc":[-85.650201,41.948109]},"n394490426":{"id":"n394490426","loc":[-85.649868,41.948797]},"n394490427":{"id":"n394490427","loc":[-85.649669,41.949161]},"n394490428":{"id":"n394490428","loc":[-85.64659,41.954067]},"n394490430":{"id":"n394490430","loc":[-85.644034,41.95444]},"n394490431":{"id":"n394490431","loc":[-85.644248,41.954507]},"n394490432":{"id":"n394490432","loc":[-85.64491,41.954481]},"n394490433":{"id":"n394490433","loc":[-85.645213,41.954433]},"n394490434":{"id":"n394490434","loc":[-85.645426,41.954477]},"n394490435":{"id":"n394490435","loc":[-85.6458,41.954704]},"n394490436":{"id":"n394490436","loc":[-85.64605,41.954804]},"n394490437":{"id":"n394490437","loc":[-85.646125,41.954817]},"n394490438":{"id":"n394490438","loc":[-85.646002,41.954997]},"n394490439":{"id":"n394490439","loc":[-85.645764,41.955366]},"n394490440":{"id":"n394490440","loc":[-85.645525,41.955734]},"n394490441":{"id":"n394490441","loc":[-85.64443,41.957424]},"n394490442":{"id":"n394490442","loc":[-85.641712,41.961723]},"n394490443":{"id":"n394490443","loc":[-85.640747,41.963246]},"n394490444":{"id":"n394490444","loc":[-85.637803,41.967894]},"n394490445":{"id":"n394490445","loc":[-85.637673,41.967861]},"n394490446":{"id":"n394490446","loc":[-85.636637,41.969275]},"n394490447":{"id":"n394490447","loc":[-85.634923,41.969269]},"n394490448":{"id":"n394490448","loc":[-85.634893,41.968537]},"n394490449":{"id":"n394490449","loc":[-85.634544,41.96927]},"n394490450":{"id":"n394490450","loc":[-85.630835,41.969274]},"n394490451":{"id":"n394490451","loc":[-85.630834,41.968348]},"n394490452":{"id":"n394490452","loc":[-85.630857,41.968179]},"n394490453":{"id":"n394490453","loc":[-85.630924,41.968044]},"n394490454":{"id":"n394490454","loc":[-85.631004,41.967925]},"n394490455":{"id":"n394490455","loc":[-85.631143,41.967811]},"n394490456":{"id":"n394490456","loc":[-85.631311,41.967736]},"n394490457":{"id":"n394490457","loc":[-85.631595,41.967693]},"n394490458":{"id":"n394490458","loc":[-85.63325,41.967702]},"n394490459":{"id":"n394490459","loc":[-85.633247,41.967021]},"n394490460":{"id":"n394490460","loc":[-85.634858,41.967021]},"n394490461":{"id":"n394490461","loc":[-85.634865,41.967711]},"n394490462":{"id":"n394490462","loc":[-85.634884,41.968231]},"n394490463":{"id":"n394490463","loc":[-85.636559,41.963867]},"n394490464":{"id":"n394490464","loc":[-85.634832,41.963866]},"n394490465":{"id":"n394490465","loc":[-85.63481,41.961899]},"n394490466":{"id":"n394490466","loc":[-85.637219,41.961842]},"n394490467":{"id":"n394490467","loc":[-85.637837,41.960019]},"n394490468":{"id":"n394490468","loc":[-85.637459,41.960022]},"n394490469":{"id":"n394490469","loc":[-85.635295,41.959987]},"n394490470":{"id":"n394490470","loc":[-85.634783,41.959979]},"n394490471":{"id":"n394490471","loc":[-85.634776,41.959834]},"n394490472":{"id":"n394490472","loc":[-85.634767,41.959009]},"n394490473":{"id":"n394490473","loc":[-85.634763,41.958292]},"n394490474":{"id":"n394490474","loc":[-85.633346,41.958287]},"n394490475":{"id":"n394490475","loc":[-85.632128,41.9583]},"n394490476":{"id":"n394490476","loc":[-85.631414,41.958318]},"n394490477":{"id":"n394490477","loc":[-85.63137,41.959033]},"n394490478":{"id":"n394490478","loc":[-85.631325,41.959753]},"n394490479":{"id":"n394490479","loc":[-85.631494,41.95977]},"n394490480":{"id":"n394490480","loc":[-85.631456,41.960673]},"n394490481":{"id":"n394490481","loc":[-85.631421,41.961494]},"n394490482":{"id":"n394490482","loc":[-85.631404,41.961887]},"n394490483":{"id":"n394490483","loc":[-85.631401,41.961968]},"n394490484":{"id":"n394490484","loc":[-85.630962,41.961967]},"n394490485":{"id":"n394490485","loc":[-85.6299,41.961973]},"n394490486":{"id":"n394490486","loc":[-85.624929,41.962002]},"n394490487":{"id":"n394490487","loc":[-85.623333,41.961987]},"n394490488":{"id":"n394490488","loc":[-85.621894,41.963956]},"n394490489":{"id":"n394490489","loc":[-85.62131,41.963727]},"n394490490":{"id":"n394490490","loc":[-85.621216,41.963868]},"n394490491":{"id":"n394490491","loc":[-85.620356,41.965119]},"n394490492":{"id":"n394490492","loc":[-85.620848,41.965341]},"n394490493":{"id":"n394490493","loc":[-85.620684,41.965558]},"n394490494":{"id":"n394490494","loc":[-85.620621,41.965658]},"n394490495":{"id":"n394490495","loc":[-85.618165,41.965759]},"n394490496":{"id":"n394490496","loc":[-85.618071,41.965759]},"n394490497":{"id":"n394490497","loc":[-85.617986,41.965759]},"n394490498":{"id":"n394490498","loc":[-85.605673,41.965764]},"n394490499":{"id":"n394490499","loc":[-85.605668,41.963548]},"n394490500":{"id":"n394490500","loc":[-85.605664,41.962094]},"n394490501":{"id":"n394490501","loc":[-85.595828,41.962159]},"n394490502":{"id":"n394490502","loc":[-85.587869,41.962169]},"n394490503":{"id":"n394490503","loc":[-85.586289,41.962179]},"n394490504":{"id":"n394490504","loc":[-85.583774,41.962178]},"n394490505":{"id":"n394490505","loc":[-85.583774,41.961789]},"n394490506":{"id":"n394490506","loc":[-85.581303,41.961783]},"n394490507":{"id":"n394490507","loc":[-85.581304,41.961616]},"n394490508":{"id":"n394490508","loc":[-85.581292,41.961616]},"n394490509":{"id":"n394490509","loc":[-85.581247,41.959244]},"n394490510":{"id":"n394490510","loc":[-85.581245,41.958394]},"n394490511":{"id":"n394490511","loc":[-85.581276,41.958372]},"n394490512":{"id":"n394490512","loc":[-85.581302,41.958353]},"n394490513":{"id":"n394490513","loc":[-85.581376,41.9583]},"n394490514":{"id":"n394490514","loc":[-85.582256,41.957663]},"n394490515":{"id":"n394490515","loc":[-85.585299,41.955483]},"n394490516":{"id":"n394490516","loc":[-85.585588,41.955331]},"n394490517":{"id":"n394490517","loc":[-85.586053,41.955163]},"n394490518":{"id":"n394490518","loc":[-85.58632,41.955076]},"n394490519":{"id":"n394490519","loc":[-85.586478,41.955025]},"n394490520":{"id":"n394490520","loc":[-85.58692,41.954947]},"n394490521":{"id":"n394490521","loc":[-85.587327,41.954914]},"n394490522":{"id":"n394490522","loc":[-85.587345,41.954913]},"n394490523":{"id":"n394490523","loc":[-85.587358,41.954913]},"n394490524":{"id":"n394490524","loc":[-85.58963,41.954877]},"n394490525":{"id":"n394490525","loc":[-85.591077,41.954865]},"n394490526":{"id":"n394490526","loc":[-85.594824,41.954843]},"n394490527":{"id":"n394490527","loc":[-85.594804,41.95331]},"n394490528":{"id":"n394490528","loc":[-85.599336,41.95331]},"n394490529":{"id":"n394490529","loc":[-85.599336,41.954825]},"n394490530":{"id":"n394490530","loc":[-85.597828,41.954839]},"n394490531":{"id":"n394490531","loc":[-85.597833,41.95614]},"n394490532":{"id":"n394490532","loc":[-85.596586,41.956151]},"n394490533":{"id":"n394490533","loc":[-85.596586,41.956394]},"n394490534":{"id":"n394490534","loc":[-85.595933,41.956394]},"n394490535":{"id":"n394490535","loc":[-85.595933,41.958176]},"n394490536":{"id":"n394490536","loc":[-85.597635,41.958179]},"n394490537":{"id":"n394490537","loc":[-85.597717,41.958177]},"n394490538":{"id":"n394490538","loc":[-85.601671,41.958194]},"n394490539":{"id":"n394490539","loc":[-85.605619,41.958194]},"n394490540":{"id":"n394490540","loc":[-85.608054,41.958187]},"n394490542":{"id":"n394490542","loc":[-85.6080762,41.9547864]},"n394490545":{"id":"n394490545","loc":[-85.6104354,41.9548263]},"n394490546":{"id":"n394490546","loc":[-85.610274,41.951106]},"n394490547":{"id":"n394490547","loc":[-85.610278,41.950829]},"n394490548":{"id":"n394490548","loc":[-85.610309,41.948377]},"n394490549":{"id":"n394490549","loc":[-85.610314,41.947986]},"n394490550":{"id":"n394490550","loc":[-85.610464,41.947985]},"n394490551":{"id":"n394490551","loc":[-85.610447,41.947468]},"n394490552":{"id":"n394490552","loc":[-85.612469,41.947471]},"n394490553":{"id":"n394490553","loc":[-85.612494,41.945576]},"n394490554":{"id":"n394490554","loc":[-85.610292,41.94558]},"n394490555":{"id":"n394490555","loc":[-85.608412,41.945625]},"n394490556":{"id":"n394490556","loc":[-85.608412,41.943036]},"n394490557":{"id":"n394490557","loc":[-85.608702,41.943087]},"n394490558":{"id":"n394490558","loc":[-85.609196,41.943224]},"n394490559":{"id":"n394490559","loc":[-85.609571,41.943263]},"n394490560":{"id":"n394490560","loc":[-85.610116,41.943295]},"n394490561":{"id":"n394490561","loc":[-85.610273,41.943275]},"n394490562":{"id":"n394490562","loc":[-85.611339,41.943075]},"n394490563":{"id":"n394490563","loc":[-85.611575,41.942997]},"n394490564":{"id":"n394490564","loc":[-85.611847,41.942849]},"n394490565":{"id":"n394490565","loc":[-85.612164,41.942568]},"n394490566":{"id":"n394490566","loc":[-85.612341,41.942529]},"n394490567":{"id":"n394490567","loc":[-85.612562,41.942524]},"n394490568":{"id":"n394490568","loc":[-85.612768,41.942546]},"n394490569":{"id":"n394490569","loc":[-85.612938,41.942633]},"n394490570":{"id":"n394490570","loc":[-85.6131,41.942782]},"n394490571":{"id":"n394490571","loc":[-85.613299,41.942919]},"n394490572":{"id":"n394490572","loc":[-85.613498,41.942996]},"n394490573":{"id":"n394490573","loc":[-85.614698,41.942842]},"n394490574":{"id":"n394490574","loc":[-85.615288,41.942698]},"n394490575":{"id":"n394490575","loc":[-85.616054,41.942693]},"n394490576":{"id":"n394490576","loc":[-85.61603,41.942175]},"n394490577":{"id":"n394490577","loc":[-85.616004,41.941741]},"n394490578":{"id":"n394490578","loc":[-85.615994,41.940156]},"n394490579":{"id":"n394490579","loc":[-85.615144,41.940159]},"n394490580":{"id":"n394490580","loc":[-85.614915,41.940161]},"n394490582":{"id":"n394490582","loc":[-85.614875,41.938532]},"n394490583":{"id":"n394490583","loc":[-85.616167,41.938787]},"n394490585":{"id":"n394490585","loc":[-85.616176,41.938589]},"n394490586":{"id":"n394490586","loc":[-85.614537,41.938282]},"n394490588":{"id":"n394490588","loc":[-85.610141,41.937459]},"n394490589":{"id":"n394490589","loc":[-85.610172,41.937298]},"n394490590":{"id":"n394490590","loc":[-85.609918,41.935495]},"n394490592":{"id":"n394490592","loc":[-85.610092,41.935451]},"n394490594":{"id":"n394490594","loc":[-85.610681,41.935247]},"n394490595":{"id":"n394490595","loc":[-85.611446,41.934955]},"n394490596":{"id":"n394490596","loc":[-85.612057,41.934696]},"n394490598":{"id":"n394490598","loc":[-85.613256,41.934084]},"n394490599":{"id":"n394490599","loc":[-85.613948,41.933682]},"n394490601":{"id":"n394490601","loc":[-85.61436,41.933417]},"n394490602":{"id":"n394490602","loc":[-85.614638,41.933212]},"n394490604":{"id":"n394490604","loc":[-85.615249,41.9332]},"n394490605":{"id":"n394490605","loc":[-85.618218,41.933223]},"n394490607":{"id":"n394490607","loc":[-85.618241,41.933479]},"n394490608":{"id":"n394490608","loc":[-85.618257,41.93365]},"n394490609":{"id":"n394490609","loc":[-85.618298,41.935067]},"n394490611":{"id":"n394490611","loc":[-85.619791,41.935067]},"n394490612":{"id":"n394490612","loc":[-85.619794,41.933301]},"n394490613":{"id":"n394490613","loc":[-85.619795,41.932692]},"n394490614":{"id":"n394490614","loc":[-85.619729,41.929517]},"n394490615":{"id":"n394490615","loc":[-85.619801,41.929305]},"n394490616":{"id":"n394490616","loc":[-85.619809,41.927391]},"n394490617":{"id":"n394490617","loc":[-85.620883,41.927378]},"n394490618":{"id":"n394490618","loc":[-85.620988,41.927368]},"n394490619":{"id":"n394490619","loc":[-85.621076,41.927368]},"n394490620":{"id":"n394490620","loc":[-85.621156,41.927376]},"n394490621":{"id":"n394490621","loc":[-85.621685,41.92737]},"n394490622":{"id":"n394490622","loc":[-85.624716,41.927359]},"n394490623":{"id":"n394490623","loc":[-85.625308,41.92737]},"n394490624":{"id":"n394490624","loc":[-85.625655,41.927377]},"n394490625":{"id":"n394490625","loc":[-85.625093,41.925591]},"n394490626":{"id":"n394490626","loc":[-85.625174,41.92559]},"n394490627":{"id":"n394490627","loc":[-85.625249,41.925597]},"n394490628":{"id":"n394490628","loc":[-85.625532,41.925604]},"n394490629":{"id":"n394490629","loc":[-85.625761,41.925597]},"n394490630":{"id":"n394490630","loc":[-85.625955,41.926153]},"n394490631":{"id":"n394490631","loc":[-85.626209,41.926155]},"n394490632":{"id":"n394490632","loc":[-85.627757,41.926151]},"n394490633":{"id":"n394490633","loc":[-85.627825,41.926298]},"n394490634":{"id":"n394490634","loc":[-85.627994,41.926315]},"n394490635":{"id":"n394490635","loc":[-85.628049,41.927196]},"n394490636":{"id":"n394490636","loc":[-85.62949,41.927221]},"n394490637":{"id":"n394490637","loc":[-85.629602,41.927277]},"n394490638":{"id":"n394490638","loc":[-85.6297102,41.9273279]},"n394490639":{"id":"n394490639","loc":[-85.630958,41.927398]},"n394490699":{"id":"n394490699","loc":[-85.632741,41.927388]},"n394490700":{"id":"n394490700","loc":[-85.632997,41.927391]},"n394490701":{"id":"n394490701","loc":[-85.633149,41.927393]},"n394490702":{"id":"n394490702","loc":[-85.633334,41.927393]},"n394490703":{"id":"n394490703","loc":[-85.633468,41.927561]},"n394490704":{"id":"n394490704","loc":[-85.633563,41.927755]},"n394490705":{"id":"n394490705","loc":[-85.633662,41.928192]},"n394490706":{"id":"n394490706","loc":[-85.633679,41.928807]},"n394490707":{"id":"n394490707","loc":[-85.633687,41.929107]},"n394490708":{"id":"n394490708","loc":[-85.633927,41.929109]},"n394490709":{"id":"n394490709","loc":[-85.634126,41.929111]},"n394490710":{"id":"n394490710","loc":[-85.634207,41.92911]},"n394490711":{"id":"n394490711","loc":[-85.634323,41.929111]},"n394490712":{"id":"n394490712","loc":[-85.636712,41.929128]},"n394490713":{"id":"n394490713","loc":[-85.63808,41.9291]},"n394490714":{"id":"n394490714","loc":[-85.639213,41.929088]},"n394490715":{"id":"n394490715","loc":[-85.639189,41.92852]},"n394490716":{"id":"n394490716","loc":[-85.639204,41.925488]},"n394490717":{"id":"n394490717","loc":[-85.644204,41.925452]},"n394490718":{"id":"n394490718","loc":[-85.651425,41.925406]},"n394490719":{"id":"n394490719","loc":[-85.651449,41.926321]},"n394490720":{"id":"n394490720","loc":[-85.651451,41.926969]},"n394490721":{"id":"n394490721","loc":[-85.651458,41.928052]},"n394490722":{"id":"n394490722","loc":[-85.651446,41.928892]},"n394490723":{"id":"n394490723","loc":[-85.651456,41.929447]},"n394490724":{"id":"n394490724","loc":[-85.651707,41.929454]},"n394490725":{"id":"n394490725","loc":[-85.652369,41.929473]},"n394490726":{"id":"n394490726","loc":[-85.6525,41.929452]},"n394490727":{"id":"n394490727","loc":[-85.654066,41.92946]},"n394490728":{"id":"n394490728","loc":[-85.654816,41.92946]},"n394490729":{"id":"n394490729","loc":[-85.654816,41.930337]},"n394490730":{"id":"n394490730","loc":[-85.654587,41.930337]},"n394490731":{"id":"n394490731","loc":[-85.654548,41.931072]},"n394490732":{"id":"n394490732","loc":[-85.654538,41.931701]},"n394490733":{"id":"n394490733","loc":[-85.654898,41.931689]},"n394490734":{"id":"n394490734","loc":[-85.654898,41.932505]},"n394490735":{"id":"n394490735","loc":[-85.654854,41.932514]},"n394490736":{"id":"n394490736","loc":[-85.655497,41.932499]},"n394490737":{"id":"n394490737","loc":[-85.656405,41.932493]},"n394490738":{"id":"n394490738","loc":[-85.656422,41.933416]},"n394490739":{"id":"n394490739","loc":[-85.657322,41.933438]},"n1475293233":{"id":"n1475293233","loc":[-85.6385522,41.9585167]},"n1475293242":{"id":"n1475293242","loc":[-85.64609,41.9540815]},"n1475293249":{"id":"n1475293249","loc":[-85.6358079,41.9692721]},"n1475293256":{"id":"n1475293256","loc":[-85.6387369,41.9581583]},"n1475293259":{"id":"n1475293259","loc":[-85.6455882,41.9541138]},"n1475293266":{"id":"n1475293266","loc":[-85.6451008,41.9541821]},"n1819800253":{"id":"n1819800253","loc":[-85.6134286,41.9429692]},"n2114807558":{"id":"n2114807558","loc":[-85.6365609,41.963866],"tags":{"railway":"level_crossing"}},"n2189015728":{"id":"n2189015728","loc":[-85.6383956,41.9590576]},"n2189015838":{"id":"n2189015838","loc":[-85.6435144,41.9563705]},"n2189015842":{"id":"n2189015842","loc":[-85.6415782,41.9557035]},"n2189015855":{"id":"n2189015855","loc":[-85.6440829,41.9554577]},"n2199109849":{"id":"n2199109849","loc":[-85.6393434,41.9565591]},"n2199109851":{"id":"n2199109851","loc":[-85.6393208,41.9565002]},"n2199109857":{"id":"n2199109857","loc":[-85.6401986,41.955545]},"n2199109859":{"id":"n2199109859","loc":[-85.6402362,41.955587]},"n2199109861":{"id":"n2199109861","loc":[-85.6395958,41.9565675]},"n2199109863":{"id":"n2199109863","loc":[-85.639528,41.9566011]},"w209717053":{"id":"w209717053","tags":{"area":"yes","building":"yes"},"nodes":["n2199109829","n2199109831","n2199109833","n2199109835","n2199109829"]},"w17966415":{"id":"w17966415","tags":{"access":"private","highway":"service","name":"Manufacturing Way"},"nodes":["n185971642","n185977232","n185977233","n185949745","n185949748","n185977234"]},"w209717054":{"id":"w209717054","tags":{"area":"yes","building":"yes"},"nodes":["n2199109837","n2199109839","n2199109841","n2199109843","n2199109845","n2199109847","n2199109837"]},"w208627214":{"id":"w208627214","tags":{"highway":"service"},"nodes":["n185949755","n2189015728","n1475293233","n1475293256","n185952163","n185952161","n185952160","n185952158","n185949763","n1819848965","n1819848890","n185952156"]},"w17963817":{"id":"w17963817","tags":{"access":"private","highway":"service"},"nodes":["n185949765","n185953413","n185953417","n185953421","n185953423"]},"w34369809":{"id":"w34369809","tags":{"admin_level":"8","boundary":"administrative","landuse":"residential"},"nodes":["n394490395","n394490396","n394490397","n394490398","n394490399","n394490400","n394490401","n394490402","n394490403","n394490404","n394490405","n394490406","n394490407","n394490408","n394490409","n394490410","n394490411","n394490412","n394490413","n394490414","n394490415","n394490416","n394490417","n394490418","n394490419","n394490420","n394490421","n394490422","n394490423","n394490424","n394490425","n394490426","n394490427","n394490428","n1475293242","n1475293259","n1475293266","n394490429","n394490430","n394490431","n394490432","n394490433","n394490434","n394490435","n394490436","n394490437","n394490438","n394490439","n394490440","n394490441","n394490442","n394490443","n394490444","n394490445","n394490446","n1475293249","n394490447","n394490448","n394490449","n394490450","n394490451","n394490452","n394490453","n394490454","n394490455","n394490456","n394490457","n394490458","n394490459","n394490460","n394490461","n394490462","n2114807558","n394490463","n1475293226","n394490464","n394490465","n394490466","n394490467","n394490468","n394490469","n394490470","n394490471","n394490472","n394490473","n394490474","n394490475","n394490476","n394490477","n394490478","n394490479","n394490480","n394490481","n394490482","n394490483","n394490484","n394490485","n394490486","n394490487","n394490488","n394490489","n394490490","n394490491","n394490492","n394490493","n394490494","n394490495","n394490496","n394490497","n394490498","n394490499","n394490500","n394490501","n394490502","n394490503","n394490504","n394490505","n394490506","n394490507","n394490508","n394490509","n394490510","n394490511","n394490512","n394490513","n394490514","n394490515","n394490516","n394490517","n394490518","n394490519","n394490520","n394490521","n394490522","n394490523","n394490524","n394490525","n394490526","n394490527","n394490528","n394490529","n394490530","n394490531","n394490532","n394490533","n394490534","n394490535","n394490536","n394490537","n394490538","n394490539","n394490540","n394490542","n394490545","n394490546","n394490547","n394490548","n394490549","n394490550","n394490551","n394490552","n394490553","n394490554","n394490555","n394490556","n394490557","n394490558","n394490559","n394490560","n394490561","n394490562","n394490563","n394490564","n394490565","n394490566","n394490567","n394490568","n394490569","n394490570","n394490571","n1819800253","n394490572","n394490573","n394490574","n394490575","n394490576","n394490577","n394490578","n394490579","n394490580","n394490582","n394490583","n394490585","n394490586","n394490588","n394490589","n394490590","n394490592","n394490594","n394490595","n394490596","n394490598","n394490599","n394490601","n394490602","n394490604","n394490605","n394490607","n394490608","n394490609","n394490611","n394490612","n394490613","n394490614","n394490615","n394490616","n394490617","n394490618","n394490619","n394490620","n394490621","n394490622","n394490623","n394490624","n394490625","n394490626","n394490627","n394490628","n394490629","n394490630","n394490631","n394490632","n394490633","n394490634","n394490635","n394490636","n394490637","n394490638","n394490639","n394490699","n394490700","n394490701","n394490702","n394490703","n394490704","n394490705","n394490706","n394490707","n394490708","n394490709","n394490710","n394490711","n394490712","n394490713","n394490714","n394490715","n394490716","n394490717","n394490718","n394490719","n394490720","n394490721","n394490722","n394490723","n394490724","n394490725","n394490726","n394490727","n394490728","n394490729","n394490730","n394490731","n394490732","n394490733","n394490734","n394490735","n394490736","n394490737","n394490738","n394490739","n394490395"]},"w208627221":{"id":"w208627221","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015838","n2189015842","n2189015846","n2189015849","n2189015852","n2189015855","n2189015838"]},"w209717052":{"id":"w209717052","tags":{"area":"yes","building":"yes"},"nodes":["n2199109816","n2199109818","n2199109820","n2199109822","n2199109825","n2199109827","n2199109816"]},"w134151784":{"id":"w134151784","tags":{"bridge":"yes","highway":"residential","name":"W Hoffman St"},"nodes":["n185971648","n185971651"]},"w209717055":{"id":"w209717055","tags":{"area":"yes","landuse":"basin"},"nodes":["n2199109849","n2199109851","n2199109853","n2199109855","n2199109857","n2199109859","n2199109861","n2199109863","n2199109849"]},"w17967763":{"id":"w17967763","tags":{"highway":"residential","name":"Rock River Ave"},"nodes":["n1475293244","n185982166","n185975067","n185971637"]},"r134949":{"id":"r134949","tags":{"admin_level":"8","border_type":"city","boundary":"administrative","name":"Three Rivers","place":"city","type":"boundary"},"members":[{"id":"w34369809","type":"way","role":"outer"},{"id":"w34369821","type":"way","role":"outer"},{"id":"w34369822","type":"way","role":"outer"},{"id":"w34369823","type":"way","role":"outer"},{"id":"w34369824","type":"way","role":"outer"},{"id":"w34369825","type":"way","role":"outer"},{"id":"w34369826","type":"way","role":"outer"},{"id":"w34369810","type":"way","role":"inner"},{"id":"w34369811","type":"way","role":"inner"},{"id":"w34369812","type":"way","role":"inner"},{"id":"w34367079","type":"way","role":"inner"},{"id":"w34369814","type":"way","role":"inner"},{"id":"w34367080","type":"way","role":"inner"},{"id":"w34369815","type":"way","role":"inner"},{"id":"w34369820","type":"way","role":"inner"}]},"n1819848881":{"id":"n1819848881","loc":[-85.638562,41.9569965]},"n1819848947":{"id":"n1819848947","loc":[-85.6384348,41.9576565]},"n1819849044":{"id":"n1819849044","loc":[-85.6385749,41.9573345]},"n2114807547":{"id":"n2114807547","loc":[-85.6384626,41.9583756]},"n2114807564":{"id":"n2114807564","loc":[-85.638535,41.9581283]},"n2189015691":{"id":"n2189015691","loc":[-85.6435584,41.9565243]},"n2189015696":{"id":"n2189015696","loc":[-85.6435805,41.9566049]},"n2189015722":{"id":"n2189015722","loc":[-85.6435035,41.9567438]},"n2189015744":{"id":"n2189015744","loc":[-85.6437991,41.9569582]},"n2189015747":{"id":"n2189015747","loc":[-85.6433042,41.9567742]},"n2189015750":{"id":"n2189015750","loc":[-85.6433827,41.9566844]},"n2189015753":{"id":"n2189015753","loc":[-85.6430447,41.9565588]},"n2189015756":{"id":"n2189015756","loc":[-85.6431111,41.956451]},"n2189015759":{"id":"n2189015759","loc":[-85.6420247,41.956083]},"n2189015760":{"id":"n2189015760","loc":[-85.6419945,41.9561369]},"n2189015764":{"id":"n2189015764","loc":[-85.6413729,41.9558945]},"n2189015766":{"id":"n2189015766","loc":[-85.6412884,41.9560606]},"n2189015770":{"id":"n2189015770","loc":[-85.6411798,41.9560112]},"n2189015771":{"id":"n2189015771","loc":[-85.6410651,41.9562132]},"n2189015774":{"id":"n2189015774","loc":[-85.6409504,41.9561728]},"n2189015778":{"id":"n2189015778","loc":[-85.6407996,41.9564241]},"n2189015781":{"id":"n2189015781","loc":[-85.6406889,41.9563892]},"n2189015785":{"id":"n2189015785","loc":[-85.6404857,41.9567024]},"n2189015789":{"id":"n2189015789","loc":[-85.6406909,41.9567877]},"n2189015793":{"id":"n2189015793","loc":[-85.6405642,41.9570165]},"n2189015796":{"id":"n2189015796","loc":[-85.6415359,41.9573711]},"n2189015800":{"id":"n2189015800","loc":[-85.6411738,41.9579501]},"n2189015804":{"id":"n2189015804","loc":[-85.6411119,41.957921]},"n2189015808":{"id":"n2189015808","loc":[-85.6403186,41.9591751]},"n2189015909":{"id":"n2189015909","loc":[-85.6389293,41.9564636]},"n2189015926":{"id":"n2189015926","loc":[-85.6385431,41.9564617]},"n2189015929":{"id":"n2189015929","loc":[-85.6385457,41.9561823]},"n2189015932":{"id":"n2189015932","loc":[-85.6389319,41.9561843]},"n2199109865":{"id":"n2199109865","loc":[-85.6400768,41.956776]},"n2199109867":{"id":"n2199109867","loc":[-85.639902,41.9567153]},"n2199109869":{"id":"n2199109869","loc":[-85.640004,41.956553]},"n2199109871":{"id":"n2199109871","loc":[-85.6401788,41.9566137]},"n2199109873":{"id":"n2199109873","loc":[-85.6399316,41.9564506],"tags":{"man_made":"water_tower"}},"n2199109876":{"id":"n2199109876","loc":[-85.6397689,41.9572354]},"n2199109878":{"id":"n2199109878","loc":[-85.6399229,41.9569826]},"n2199109880":{"id":"n2199109880","loc":[-85.639706,41.9569095]},"n2199109882":{"id":"n2199109882","loc":[-85.639552,41.9571623]},"n2199109884":{"id":"n2199109884","loc":[-85.6391028,41.9569517]},"n2199109886":{"id":"n2199109886","loc":[-85.6392876,41.956646]},"n2199109888":{"id":"n2199109888","loc":[-85.639484,41.9567117]},"n2199109889":{"id":"n2199109889","loc":[-85.6394322,41.9567973]},"n2199109890":{"id":"n2199109890","loc":[-85.6393718,41.9567771]},"n2199109891":{"id":"n2199109891","loc":[-85.6392387,41.9569972]},"n1819848900":{"id":"n1819848900","loc":[-85.638281,41.9576578]},"n1819848978":{"id":"n1819848978","loc":[-85.6377186,41.9580867]},"n1819849039":{"id":"n1819849039","loc":[-85.6384217,41.9573405]},"n1819849050":{"id":"n1819849050","loc":[-85.6377011,41.9570042]},"n1819849088":{"id":"n1819849088","loc":[-85.6382879,41.9580817]},"n2114807549":{"id":"n2114807549","loc":[-85.6362551,41.96473]},"n2114807587":{"id":"n2114807587","loc":[-85.6368694,41.9629829]},"n2189015725":{"id":"n2189015725","loc":[-85.644156,41.9569753]},"n2189015741":{"id":"n2189015741","loc":[-85.6419825,41.9597632]},"w208627217":{"id":"w208627217","tags":{"area":"yes","building":"yes"},"nodes":["n2189015741","n2189015744","n2189015747","n2189015750","n2189015753","n2189015756","n2189015759","n2189015760","n2189015764","n2189015766","n2189015770","n2189015771","n2189015774","n2189015778","n2189015781","n2189015785","n2189015789","n2189015793","n2189015796","n2189015800","n2189015804","n2189015808","n2189015741"]},"w208627212":{"id":"w208627212","tags":{"highway":"service"},"nodes":["n2189015691","n2189015696","n2189015722","n2189015725"]},"w209717057":{"id":"w209717057","tags":{"area":"yes","building":"yes"},"nodes":["n2199109876","n2199109878","n2199109880","n2199109882","n2199109876"]},"w209717056":{"id":"w209717056","tags":{"area":"yes","building":"yes"},"nodes":["n2199109865","n2199109867","n2199109869","n2199109871","n2199109865"]},"w208627231":{"id":"w208627231","tags":{"area":"yes","building":"yes"},"nodes":["n2189015909","n2189015926","n2189015929","n2189015932","n2189015909"]},"w170848326":{"id":"w170848326","tags":{"building":"yes"},"nodes":["n1819848881","n1819849050","n1819848978","n1819849088","n1819848900","n1819848947","n1819849039","n1819849044","n1819848881"]},"w17963182":{"id":"w17963182","tags":{"highway":"service"},"nodes":["n185949763","n185949765","n2189015691","n185949745"]},"w201484340":{"id":"w201484340","tags":{"railway":"rail","service":"siding"},"nodes":["n2114807565","n2114807564","n2114807547","n2114807587","n2114807558","n2114807549","n2114807593"]},"w209717058":{"id":"w209717058","tags":{"area":"yes","building":"yes"},"nodes":["n2199109884","n2199109886","n2199109888","n2199109889","n2199109890","n2199109891","n2199109884"]},"n185954650":{"id":"n185954650","loc":[-85.627331,41.957439]},"n185966949":{"id":"n185966949","loc":[-85.626868,41.957314]},"n185989335":{"id":"n185989335","loc":[-85.62529,41.958568]},"n185989337":{"id":"n185989337","loc":[-85.624962,41.958453]},"n185989339":{"id":"n185989339","loc":[-85.624832,41.958399]},"n185989340":{"id":"n185989340","loc":[-85.624707,41.958325]},"n185989342":{"id":"n185989342","loc":[-85.624636,41.958251]},"n185989345":{"id":"n185989345","loc":[-85.624578,41.95818]},"n185989347":{"id":"n185989347","loc":[-85.624533,41.958099]},"n185989349":{"id":"n185989349","loc":[-85.624507,41.957985]},"n185989351":{"id":"n185989351","loc":[-85.624495,41.957807]},"n185989353":{"id":"n185989353","loc":[-85.624514,41.957663]},"n185989354":{"id":"n185989354","loc":[-85.624577,41.957593]},"n185989356":{"id":"n185989356","loc":[-85.624685,41.95754]},"n185989357":{"id":"n185989357","loc":[-85.624802,41.957523]},"n185989359":{"id":"n185989359","loc":[-85.624996,41.957524]},"n185989361":{"id":"n185989361","loc":[-85.625409,41.957515]},"n185989364":{"id":"n185989364","loc":[-85.625634,41.957496]},"n185989367":{"id":"n185989367","loc":[-85.625832,41.957453]},"n185989368":{"id":"n185989368","loc":[-85.626044,41.957394]},"n354031352":{"id":"n354031352","loc":[-85.6252778,41.9586111],"tags":{"amenity":"place_of_worship","denomination":"baptist","name":"First Baptist Church","religion":"christian"}},"n2199109892":{"id":"n2199109892","loc":[-85.6261578,41.9589963]},"n2199109893":{"id":"n2199109893","loc":[-85.6263191,41.9586865]},"n2199109894":{"id":"n2199109894","loc":[-85.6261186,41.9586288]},"n2199109895":{"id":"n2199109895","loc":[-85.6260644,41.9587329]},"n2199109896":{"id":"n2199109896","loc":[-85.6261547,41.9587589]},"n2199109898":{"id":"n2199109898","loc":[-85.6260476,41.9589646]},"n185966951":{"id":"n185966951","loc":[-85.628404,41.957438]},"w17965351":{"id":"w17965351","tags":{"highway":"residential","name":"Flower Street"},"nodes":["n185966948","n185966949","n185954650","n185966951","n185966953","n185966955","n185966957"]},"w17967809":{"id":"w17967809","tags":{"highway":"residential","name":"Azaleamum Drive"},"nodes":["n185982197","n185989335","n185989337","n185989339","n185989340","n185989342","n185989345","n185989347","n185989349","n185989351","n185989353","n185989354","n185989356","n185989357","n185989359","n185989361","n185989364","n185989367","n185989368","n185982196"]},"w209717059":{"id":"w209717059","tags":{"area":"yes","building":"yes"},"nodes":["n2199109892","n2199109893","n2199109894","n2199109895","n2199109896","n2199109898","n2199109892"]},"n185961390":{"id":"n185961390","loc":[-85.63137,41.959033]},"n185961393":{"id":"n185961393","loc":[-85.634315,41.959017]},"w17966214":{"id":"w17966214","tags":{"highway":"residential","name":"East Adams Street"},"nodes":["n185975351","n185967434","n185968108"]},"w17964793":{"id":"w17964793","tags":{"highway":"residential","name":"Morris Ave"},"nodes":["n185961389","n185961390","n185961391","n185961393","n185961396"]},"n185952166":{"id":"n185952166","loc":[-85.638174,41.95831]},"n2114807552":{"id":"n2114807552","loc":[-85.6383526,41.9593788]},"n2114807591":{"id":"n2114807591","loc":[-85.6383741,41.9593968]},"n2189015731":{"id":"n2189015731","loc":[-85.6368404,41.9592785]},"n2189015734":{"id":"n2189015734","loc":[-85.6368404,41.9585918]},"n2189015737":{"id":"n2189015737","loc":[-85.6376009,41.9585918]},"n2189015738":{"id":"n2189015738","loc":[-85.6376009,41.9592785]},"n2189015897":{"id":"n2189015897","loc":[-85.6376839,41.9566137]},"n2189015900":{"id":"n2189015900","loc":[-85.6376831,41.9564865]},"n2189015903":{"id":"n2189015903","loc":[-85.6381161,41.9564851]},"n2189015906":{"id":"n2189015906","loc":[-85.6381168,41.9566122]},"n2189015937":{"id":"n2189015937","loc":[-85.6364789,41.9590634]},"n2189015940":{"id":"n2189015940","loc":[-85.6361137,41.9590672]},"n2189015943":{"id":"n2189015943","loc":[-85.6361169,41.9594033]},"n2189015945":{"id":"n2189015945","loc":[-85.6363456,41.9594021]},"n2189015952":{"id":"n2189015952","loc":[-85.636112,41.958892]},"n2189015955":{"id":"n2189015955","loc":[-85.6364757,41.9588894]},"n2189015957":{"id":"n2189015957","loc":[-85.6364729,41.9586747]},"n2189015958":{"id":"n2189015958","loc":[-85.6361103,41.9586765]},"n2189015959":{"id":"n2189015959","loc":[-85.6364719,41.9585562]},"n2189015960":{"id":"n2189015960","loc":[-85.6361093,41.958558]},"n2189015961":{"id":"n2189015961","loc":[-85.6355494,41.9586403]},"n2189015962":{"id":"n2189015962","loc":[-85.635549,41.9584711]},"n2189015963":{"id":"n2189015963","loc":[-85.6351831,41.9584715]},"n2189015964":{"id":"n2189015964","loc":[-85.6351834,41.9586408]},"n2189015966":{"id":"n2189015966","loc":[-85.6359579,41.9586359]},"n2189015968":{"id":"n2189015968","loc":[-85.6359561,41.9585465]},"n2189015971":{"id":"n2189015971","loc":[-85.6355476,41.9585509]},"n2189015974":{"id":"n2189015974","loc":[-85.6359516,41.9592934]},"n2189015977":{"id":"n2189015977","loc":[-85.635949,41.9586697]},"n2189015980":{"id":"n2189015980","loc":[-85.6351329,41.9586716]},"n2189015983":{"id":"n2189015983","loc":[-85.6351318,41.9583949]},"n2189015986":{"id":"n2189015986","loc":[-85.6349148,41.9583954]},"n2189015989":{"id":"n2189015989","loc":[-85.6349186,41.9592958]},"n2189015995":{"id":"n2189015995","loc":[-85.6360173,41.9593286]},"n2189015998":{"id":"n2189015998","loc":[-85.6360278,41.9583079]},"n2114807550":{"id":"n2114807550","loc":[-85.6383392,41.9595404]},"n2114807551":{"id":"n2114807551","loc":[-85.6375855,41.9616107]},"n2114807559":{"id":"n2114807559","loc":[-85.6373978,41.9621273]},"n2114807562":{"id":"n2114807562","loc":[-85.6373361,41.9622609]},"n2114807563":{"id":"n2114807563","loc":[-85.6376472,41.9613953]},"n2114807574":{"id":"n2114807574","loc":[-85.636974,41.9627695]},"n2114807589":{"id":"n2114807589","loc":[-85.6383017,41.9595005]},"n2114807592":{"id":"n2114807592","loc":[-85.6377169,41.9613494]},"n2114807595":{"id":"n2114807595","loc":[-85.6371081,41.962574]},"n2189015934":{"id":"n2189015934","loc":[-85.6364855,41.9595098]},"n2189015949":{"id":"n2189015949","loc":[-85.6363466,41.9595105]},"w208627244":{"id":"w208627244","tags":{"highway":"service"},"nodes":["n2189015992","n2189015995","n2189015998"]},"w208627240":{"id":"w208627240","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015971","n2189015962","n2189015963","n2189015964","n2189015961"]},"w17967437":{"id":"w17967437","tags":{"highway":"residential","name":"Lyman St"},"nodes":["n185964361","n185984024"]},"w208627237":{"id":"w208627237","tags":{"area":"yes","building":"yes"},"nodes":["n2189015955","n2189015957","n2189015958","n2189015952","n2189015955"]},"w17967465":{"id":"w17967465","tags":{"highway":"residential","name":"W Adams St"},"nodes":["n185978394","n185984022","n185964360"]},"w208627228":{"id":"w208627228","tags":{"area":"yes","building":"yes"},"nodes":["n2189015897","n2189015900","n2189015903","n2189015906","n2189015897"]},"w201484351":{"id":"w201484351","tags":{"railway":"rail","service":"siding"},"nodes":["n2114807587","n2114807574","n2114807595","n2114807562","n2114807559","n2114807551","n2114807563","n2114807589","n2114807552"]},"w208627239":{"id":"w208627239","tags":{"area":"yes","building":"yes"},"nodes":["n2189015957","n2189015959","n2189015960","n2189015958","n2189015957"]},"w208627233":{"id":"w208627233","tags":{"area":"yes","building":"yes"},"nodes":["n2189015934","n2189015937","n2189015940","n2189015943","n2189015945","n2189015949","n2189015934"]},"w208627241":{"id":"w208627241","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015966","n2189015968","n2189015971","n2189015961"]},"w17967970":{"id":"w17967970","tags":{"highway":"residential","name":"Adams St"},"nodes":["n185975351","n185978394"]},"w208627235":{"id":"w208627235","tags":{"area":"yes","building":"yes"},"nodes":["n2189015940","n2189015952","n2189015955","n2189015937","n2189015940"]},"w17965468":{"id":"w17965468","tags":{"highway":"residential","name":"Armstrong Blvd"},"nodes":["n185967917","n2189015998","n185967918","n185964362","n185952166"]},"w201484346":{"id":"w201484346","tags":{"railway":"rail","service":"siding"},"nodes":["n2114807551","n2114807592","n2114807550","n2114807591"]},"w208627242":{"id":"w208627242","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015974","n2189015977","n2189015980","n2189015983","n2189015986","n2189015989","n2189015974"]},"w208627216":{"id":"w208627216","tags":{"area":"yes","building":"yes"},"nodes":["n2189015731","n2189015734","n2189015737","n2189015738","n2189015731"]},"n185984309":{"id":"n185984309","loc":[-85.631421,41.961494]},"n185987987":{"id":"n185987987","loc":[-85.631456,41.960673]},"n185965397":{"id":"n185965397","loc":[-85.634603,41.959838]},"w17965196":{"id":"w17965196","tags":{"highway":"residential","name":"Burke Ave"},"nodes":["n185965395","n185965397","n185965399"]},"w17967215":{"id":"w17967215","tags":{"highway":"residential","name":"Kellogg Ave"},"nodes":["n185968114","n185984309","n185967440","n185978402"]},"w17967597":{"id":"w17967597","tags":{"highway":"residential","name":"Barnard Ave"},"nodes":["n185968112","n185987987","n185967438","n185978399"]},"n394490857":{"id":"n394490857","loc":[-85.633952,41.960664]},"n394490858":{"id":"n394490858","loc":[-85.633938,41.960227]},"n394490859":{"id":"n394490859","loc":[-85.634794,41.960212]},"n394490860":{"id":"n394490860","loc":[-85.634815,41.960662]},"n394490861":{"id":"n394490861","loc":[-85.634103,41.961268]},"n394490862":{"id":"n394490862","loc":[-85.634103,41.961001]},"n394490863":{"id":"n394490863","loc":[-85.634504,41.961003]},"n394490864":{"id":"n394490864","loc":[-85.634561,41.961269]},"n1057629869":{"id":"n1057629869","loc":[-85.6382599,41.9612134]},"n1057629937":{"id":"n1057629937","loc":[-85.6380035,41.9616137]},"n2189016014":{"id":"n2189016014","loc":[-85.6360365,41.9626496]},"n2189016017":{"id":"n2189016017","loc":[-85.6360374,41.9623228]},"n2189016020":{"id":"n2189016020","loc":[-85.6367557,41.9623239]},"n2189016022":{"id":"n2189016022","loc":[-85.6367566,41.9619919]},"n2189016025":{"id":"n2189016025","loc":[-85.6351794,41.9619893]},"n2189016028":{"id":"n2189016028","loc":[-85.6351788,41.9622011]},"n2189016031":{"id":"n2189016031","loc":[-85.6350855,41.9622009]},"n2189016034":{"id":"n2189016034","loc":[-85.6350845,41.962527]},"n2189016037":{"id":"n2189016037","loc":[-85.6352732,41.9625273]},"n2189016039":{"id":"n2189016039","loc":[-85.6352738,41.9623178]},"n2189016042":{"id":"n2189016042","loc":[-85.6357712,41.9623186]},"n2189016044":{"id":"n2189016044","loc":[-85.6357702,41.9626492]},"n1057629880":{"id":"n1057629880","loc":[-85.638817,41.9619017]},"n1057629923":{"id":"n1057629923","loc":[-85.6390733,41.9615014]},"w91092312":{"id":"w91092312","tags":{"power":"station"},"nodes":["n1057629923","n1057629869","n1057629937","n1057629880","n1057629923"]},"w34369826":{"id":"w34369826","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394490861","n394490862","n394490863","n394490864","n394490861"]},"w34369825":{"id":"w34369825","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394490857","n394490858","n394490859","n394490860","n394490857"]},"w208627248":{"id":"w208627248","tags":{"area":"yes","building":"yes"},"nodes":["n2189016014","n2189016017","n2189016020","n2189016022","n2189016025","n2189016028","n2189016031","n2189016034","n2189016037","n2189016039","n2189016042","n2189016044","n2189016014"]},"n394490766":{"id":"n394490766","loc":[-85.616777,41.955642]},"n394490768":{"id":"n394490768","loc":[-85.617239,41.955644]},"n394490792":{"id":"n394490792","loc":[-85.619034,41.95543]},"n185972055":{"id":"n185972055","loc":[-85.6185905,41.9568211]},"n185972057":{"id":"n185972057","loc":[-85.6186688,41.9570086]},"n185972059":{"id":"n185972059","loc":[-85.6186924,41.9581453]},"n185972060":{"id":"n185972060","loc":[-85.6187082,41.9588211],"tags":{"highway":"turning_circle"}},"n1819790724":{"id":"n1819790724","loc":[-85.6182155,41.9555703]},"n1819790735":{"id":"n1819790735","loc":[-85.6184059,41.9566188]},"n1819790799":{"id":"n1819790799","loc":[-85.6182372,41.9563771]},"n1819790896":{"id":"n1819790896","loc":[-85.6181431,41.9557227]},"n185971405":{"id":"n185971405","loc":[-85.6186766,41.9577468]},"n185971565":{"id":"n185971565","loc":[-85.6181613,41.9560879]},"n185967985":{"id":"n185967985","loc":[-85.6186798,41.9585791]},"n185955753":{"id":"n185955753","loc":[-85.620773,41.9555854]},"n185955755":{"id":"n185955755","loc":[-85.6212652,41.9559891]},"n185955748":{"id":"n185955748","loc":[-85.620722,41.954858]},"n185955751":{"id":"n185955751","loc":[-85.6206912,41.955367]},"n185967987":{"id":"n185967987","loc":[-85.6159351,41.9585809]},"n185971407":{"id":"n185971407","loc":[-85.6159142,41.9577578]},"n185971570":{"id":"n185971570","loc":[-85.6162248,41.95603]},"n185971572":{"id":"n185971572","loc":[-85.6160402,41.9560749]},"n185971574":{"id":"n185971574","loc":[-85.61593,41.956201]},"n185981301":{"id":"n185981301","loc":[-85.6158973,41.9581601]},"n394490762":{"id":"n394490762","loc":[-85.617193,41.954706]},"n394490764":{"id":"n394490764","loc":[-85.616773,41.954737]},"n394490787":{"id":"n394490787","loc":[-85.618972,41.954737]},"n394490790":{"id":"n394490790","loc":[-85.619046,41.954929]},"n394490794":{"id":"n394490794","loc":[-85.619922,41.955296]},"n394490796":{"id":"n394490796","loc":[-85.61991,41.95501]},"n394490798":{"id":"n394490798","loc":[-85.619974,41.954751]},"n1819790677":{"id":"n1819790677","loc":[-85.6187031,41.9550522]},"n1819790787":{"id":"n1819790787","loc":[-85.6186436,41.9552022]},"n1819790828":{"id":"n1819790828","loc":[-85.6185127,41.9553393]},"w17966857":{"id":"w17966857","tags":{"access":"private","highway":"service","name":"Sable River Rd"},"nodes":["n185972059","n185981301"]},"w34369814":{"id":"w34369814","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394490787","n394490790","n394490792","n394490794","n394490796","n394490798","n394490787"]},"w17964176":{"id":"w17964176","tags":{"highway":"residential"},"nodes":["n185955747","n185955748","n185955751","n185955753","n185955755"]},"w17965838":{"id":"w17965838","tags":{"access":"private","highway":"service","name":"Pine River Rd"},"nodes":["n185971405","n185971407"]},"w17965476":{"id":"w17965476","tags":{"access":"private","highway":"service","name":"Raisin River Rd"},"nodes":["n185967985","n185967987"]},"w17965913":{"id":"w17965913","tags":{"access":"private","highway":"service","name":"Shiawassee River Rd"},"nodes":["n185972054","n1819790677","n1819790787","n1819790828","n1819790724","n1819790896","n185971565","n1819790799","n1819790735","n185972055","n185972057","n185971405","n185972059","n185967985","n185972060"]},"w34369811":{"id":"w34369811","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394490762","n394490764","n394490766","n394490768","n394490762"]},"w17965854":{"id":"w17965854","tags":{"access":"private","highway":"service","name":"Sturgeon River Rd"},"nodes":["n185971565","n185971570","n185971572","n185971574"]},"n2139795769":{"id":"n2139795769","loc":[-85.6250804,41.9608796]},"n2139795770":{"id":"n2139795770","loc":[-85.6250315,41.9613684]},"n2139795771":{"id":"n2139795771","loc":[-85.6249671,41.9614362]},"n2139795772":{"id":"n2139795772","loc":[-85.6249698,41.961522]},"n2139795773":{"id":"n2139795773","loc":[-85.6250798,41.9615838]},"n2139795774":{"id":"n2139795774","loc":[-85.6252273,41.9615639]},"n2139795775":{"id":"n2139795775","loc":[-85.6252863,41.9614622]},"n2139795776":{"id":"n2139795776","loc":[-85.6252273,41.9613764]},"n2139795777":{"id":"n2139795777","loc":[-85.6251227,41.9613525]},"n2139795778":{"id":"n2139795778","loc":[-85.6249564,41.9612527]},"n2139795779":{"id":"n2139795779","loc":[-85.6249846,41.9610254]},"n2139795780":{"id":"n2139795780","loc":[-85.6266725,41.9599647]},"n2139795781":{"id":"n2139795781","loc":[-85.6259162,41.9599711]},"n2139795782":{"id":"n2139795782","loc":[-85.6257185,41.960019]},"n2139795783":{"id":"n2139795783","loc":[-85.6255509,41.9601213]},"n185963539":{"id":"n185963539","loc":[-85.615718,41.983893]},"n185964418":{"id":"n185964418","loc":[-85.616626,42.049512]},"n185966614":{"id":"n185966614","loc":[-85.615514,41.976603]},"n185966635":{"id":"n185966635","loc":[-85.616118,42.013017]},"n185969040":{"id":"n185969040","loc":[-85.615632,41.972357]},"n185969070":{"id":"n185969070","loc":[-85.619145,41.967648]},"n185972156":{"id":"n185972156","loc":[-85.621894,41.963956]},"n185972157":{"id":"n185972157","loc":[-85.621806,41.964077]},"n185972158":{"id":"n185972158","loc":[-85.620848,41.965341]},"n185972159":{"id":"n185972159","loc":[-85.620684,41.965558]},"n185972160":{"id":"n185972160","loc":[-85.620621,41.965658]},"n185972161":{"id":"n185972161","loc":[-85.617844,41.969359]},"n185972162":{"id":"n185972162","loc":[-85.616843,41.97068]},"n185972164":{"id":"n185972164","loc":[-85.616714,41.970839]},"n185972166":{"id":"n185972166","loc":[-85.615879,41.971969]},"n185972168":{"id":"n185972168","loc":[-85.615748,41.972159]},"n185972170":{"id":"n185972170","loc":[-85.615589,41.972502]},"n185972172":{"id":"n185972172","loc":[-85.615542,41.972733]},"n185972175":{"id":"n185972175","loc":[-85.615524,41.972947]},"n185972177":{"id":"n185972177","loc":[-85.615512,41.973715]},"n185972179":{"id":"n185972179","loc":[-85.615513,41.976496]},"n185972180":{"id":"n185972180","loc":[-85.615538,41.977246]},"n185972181":{"id":"n185972181","loc":[-85.61558,41.982139]},"n185972184":{"id":"n185972184","loc":[-85.61557,41.983317]},"n185972186":{"id":"n185972186","loc":[-85.615591,41.983463]},"n185972188":{"id":"n185972188","loc":[-85.615763,41.984146]},"n185972190":{"id":"n185972190","loc":[-85.615814,41.98435]},"n185972192":{"id":"n185972192","loc":[-85.615965,41.998453]},"n185972194":{"id":"n185972194","loc":[-85.615982,42.001237]},"n185972195":{"id":"n185972195","loc":[-85.616055,42.00555]},"n185972197":{"id":"n185972197","loc":[-85.616134,42.014887]},"n185972199":{"id":"n185972199","loc":[-85.616177,42.018465]},"n185972201":{"id":"n185972201","loc":[-85.616298,42.027627]},"n185972203":{"id":"n185972203","loc":[-85.616513,42.042212]},"w203968015":{"id":"w203968015","tags":{"highway":"residential"},"nodes":["n2139795768","n2139795769"]},"w17965932":{"id":"w17965932","tags":{"highway":"residential","name":"Buckhorn Road","name_1":"County Highway 122"},"nodes":["n185972155","n185972156","n185972157","n185972158","n185972159","n185972160","n185969070","n185972161","n185972162","n185972164","n185972166","n185972168","n185969040","n185972170","n185972172","n185972175","n185972177","n185972179","n185966614","n185972180","n185972181","n185972184","n185972186","n185963539","n185972188","n185972190","n185972192","n185972194","n185972195","n185966635","n185972197","n185972199","n185972201","n185972203","n185964418"]},"w203968016":{"id":"w203968016","tags":{"highway":"residential","name":"New Jersey Court"},"nodes":["n2139795770","n2139795771","n2139795772","n2139795773","n2139795774","n2139795775","n2139795776","n2139795777","n2139795770","n2139795778","n2139795779","n2139795769"]},"w203968017":{"id":"w203968017","tags":{"highway":"residential","name":"Oklahoma Drive"},"nodes":["n2139795780","n2139795781","n2139795782","n2139795783","n2139795769"]},"n1819790528":{"id":"n1819790528","loc":[-85.6184827,41.960025]},"n1819790530":{"id":"n1819790530","loc":[-85.6168626,41.9605834]},"n1819790534":{"id":"n1819790534","loc":[-85.6197379,41.9617163]},"n1819790541":{"id":"n1819790541","loc":[-85.6198881,41.9620833]},"n1819790543":{"id":"n1819790543","loc":[-85.619695,41.9619397]},"n1819790547":{"id":"n1819790547","loc":[-85.6190298,41.9609504]},"n1819790555":{"id":"n1819790555","loc":[-85.6180471,41.9609788]},"n1819790559":{"id":"n1819790559","loc":[-85.6203817,41.9605436]},"n1819790583":{"id":"n1819790583","loc":[-85.6201564,41.9603282]},"n1819790590":{"id":"n1819790590","loc":[-85.617045,41.9598894]},"n1819790609":{"id":"n1819790609","loc":[-85.6177638,41.9598495]},"n1819790618":{"id":"n1819790618","loc":[-85.6195234,41.9610143]},"n1819790642":{"id":"n1819790642","loc":[-85.6181179,41.9627933]},"n1819790659":{"id":"n1819790659","loc":[-85.6174634,41.962897]},"n1819790665":{"id":"n1819790665","loc":[-85.6170343,41.9630885]},"n1819790674":{"id":"n1819790674","loc":[-85.6194697,41.9601925]},"n1819790685":{"id":"n1819790685","loc":[-85.6207722,41.9610665]},"n1819790687":{"id":"n1819790687","loc":[-85.6202315,41.9622109]},"n1819790697":{"id":"n1819790697","loc":[-85.6184505,41.9624662]},"n1819790726":{"id":"n1819790726","loc":[-85.6178926,41.9628492]},"n1819790738":{"id":"n1819790738","loc":[-85.6173347,41.9598016]},"n1819790762":{"id":"n1819790762","loc":[-85.6186221,41.9609105]},"n1819790774":{"id":"n1819790774","loc":[-85.6175922,41.9608308]},"n1819790781":{"id":"n1819790781","loc":[-85.6167768,41.9633198]},"n1819790796":{"id":"n1819790796","loc":[-85.619856,41.961461]},"n1819790811":{"id":"n1819790811","loc":[-85.6208215,41.9620195]},"n1819790833":{"id":"n1819790833","loc":[-85.618311,41.9612536]},"n1819790854":{"id":"n1819790854","loc":[-85.6183646,41.9626417]},"n1819790863":{"id":"n1819790863","loc":[-85.6204997,41.9608547]},"n1819790867":{"id":"n1819790867","loc":[-85.6184934,41.9621391]},"n1819790877":{"id":"n1819790877","loc":[-85.6206928,41.9621152]},"n1819790881":{"id":"n1819790881","loc":[-85.6170879,41.960735]},"n1819790891":{"id":"n1819790891","loc":[-85.6168304,41.9601207]},"n1819790898":{"id":"n1819790898","loc":[-85.619813,41.9612297]},"n1819790909":{"id":"n1819790909","loc":[-85.6167982,41.960376]},"n1819790912":{"id":"n1819790912","loc":[-85.6205855,41.9610462]},"n1819790544":{"id":"n1819790544","loc":[-85.612968,41.9707781]},"n1819790549":{"id":"n1819790549","loc":[-85.614395,41.9697172]},"n1819790552":{"id":"n1819790552","loc":[-85.6180535,41.9655536]},"n1819790554":{"id":"n1819790554","loc":[-85.6111227,41.9703713]},"n1819790560":{"id":"n1819790560","loc":[-85.6112729,41.9701958]},"n1819790563":{"id":"n1819790563","loc":[-85.6137512,41.9689917]},"n1819790564":{"id":"n1819790564","loc":[-85.6181072,41.9659205]},"n1819790595":{"id":"n1819790595","loc":[-85.6170021,41.9666863]},"n1819790605":{"id":"n1819790605","loc":[-85.6168948,41.9644527]},"n1819790606":{"id":"n1819790606","loc":[-85.6128071,41.9701081]},"n1819790607":{"id":"n1819790607","loc":[-85.6129251,41.9704032]},"n1819790612":{"id":"n1819790612","loc":[-85.6177638,41.9663912]},"n1819790615":{"id":"n1819790615","loc":[-85.6152533,41.9670373]},"n1819790622":{"id":"n1819790622","loc":[-85.6146739,41.9673804]},"n1819790623":{"id":"n1819790623","loc":[-85.6180428,41.9661838]},"n1819790625":{"id":"n1819790625","loc":[-85.6172918,41.9646202]},"n1819790645":{"id":"n1819790645","loc":[-85.6178067,41.965043]},"n1819790647":{"id":"n1819790647","loc":[-85.6143306,41.9712488]},"n1819790649":{"id":"n1819790649","loc":[-85.6147383,41.9707702]},"n1819790654":{"id":"n1819790654","loc":[-85.6157361,41.9668459]},"n1819790657":{"id":"n1819790657","loc":[-85.6145666,41.9710733]},"n1819790668":{"id":"n1819790668","loc":[-85.6166909,41.9642692]},"n1819790671":{"id":"n1819790671","loc":[-85.6141482,41.9696538]},"n1819790679":{"id":"n1819790679","loc":[-85.6148349,41.9705388]},"n1819790686":{"id":"n1819790686","loc":[-85.6139551,41.9695501]},"n1819790696":{"id":"n1819790696","loc":[-85.6119703,41.9699087]},"n1819790704":{"id":"n1819790704","loc":[-85.6140731,41.9684174]},"n1819790706":{"id":"n1819790706","loc":[-85.6124745,41.9699246]},"n1819790718":{"id":"n1819790718","loc":[-85.6165407,41.9636868]},"n1819790720":{"id":"n1819790720","loc":[-85.61388,41.9687365]},"n1819790731":{"id":"n1819790731","loc":[-85.6165193,41.9639421]},"n1819790739":{"id":"n1819790739","loc":[-85.6146739,41.9699964]},"n1819790753":{"id":"n1819790753","loc":[-85.6173883,41.9665747]},"n1819790760":{"id":"n1819790760","loc":[-85.6133221,41.9712089]},"n1819790767":{"id":"n1819790767","loc":[-85.6116698,41.9699246]},"n1819790779":{"id":"n1819790779","loc":[-85.6130753,41.9710573]},"n1819790791":{"id":"n1819790791","loc":[-85.6137083,41.9692869]},"n1819790795":{"id":"n1819790795","loc":[-85.6141482,41.9679627]},"n1819790798":{"id":"n1819790798","loc":[-85.6137727,41.9694305]},"n1819790836":{"id":"n1819790836","loc":[-85.6143842,41.9676037]},"n1819790915":{"id":"n1819790915","loc":[-85.6148456,41.9702756]},"n1819790926":{"id":"n1819790926","loc":[-85.6138371,41.9713525]},"n1819790927":{"id":"n1819790927","loc":[-85.6141053,41.9713525]},"n1819790931":{"id":"n1819790931","loc":[-85.6162832,41.966814]},"n1821014625":{"id":"n1821014625","loc":[-85.5960611,41.9808498]},"n1821014627":{"id":"n1821014627","loc":[-85.5565843,42.010982]},"n1821014629":{"id":"n1821014629","loc":[-85.5971541,41.9805808]},"n1821014632":{"id":"n1821014632","loc":[-85.6061837,41.9725907]},"n1821014633":{"id":"n1821014633","loc":[-85.5247773,42.025766]},"n1821014635":{"id":"n1821014635","loc":[-85.5908938,41.9902384]},"n1821014636":{"id":"n1821014636","loc":[-85.5917682,41.9860637]},"n1821014637":{"id":"n1821014637","loc":[-85.5456556,42.0166797]},"n1821014638":{"id":"n1821014638","loc":[-85.5795749,42.0032352]},"n1821014639":{"id":"n1821014639","loc":[-85.6103988,41.9723456]},"n1821014642":{"id":"n1821014642","loc":[-85.5818816,42.0022466]},"n1821014643":{"id":"n1821014643","loc":[-85.5570604,42.0091586]},"n1821014644":{"id":"n1821014644","loc":[-85.5952886,41.9803792]},"n1821014645":{"id":"n1821014645","loc":[-85.5780366,42.0040343]},"n1821014646":{"id":"n1821014646","loc":[-85.6050505,41.9751971]},"n1821014647":{"id":"n1821014647","loc":[-85.5854435,41.9946162]},"n1821014648":{"id":"n1821014648","loc":[-85.5452278,42.0168768]},"n1821014649":{"id":"n1821014649","loc":[-85.6023254,41.9780166]},"n1821014651":{"id":"n1821014651","loc":[-85.5761899,42.0046783]},"n1821014653":{"id":"n1821014653","loc":[-85.5897351,41.9876707]},"n1821014657":{"id":"n1821014657","loc":[-85.5963601,41.9808998]},"n1821014658":{"id":"n1821014658","loc":[-85.5892952,41.9951983]},"n1821014660":{"id":"n1821014660","loc":[-85.5778328,42.0037194]},"n1821014661":{"id":"n1821014661","loc":[-85.5541475,42.0125705]},"n1821014663":{"id":"n1821014663","loc":[-85.5914047,41.9856469]},"n1821014664":{"id":"n1821014664","loc":[-85.6101681,41.9727723]},"n1821014665":{"id":"n1821014665","loc":[-85.5910172,41.9854696]},"n1821014666":{"id":"n1821014666","loc":[-85.5398688,42.0187699]},"n1821014667":{"id":"n1821014667","loc":[-85.5218752,42.0282884]},"n1821014668":{"id":"n1821014668","loc":[-85.5159582,42.0329384]},"n1821014669":{"id":"n1821014669","loc":[-85.5898102,41.9847319]},"n1821014670":{"id":"n1821014670","loc":[-85.5734809,42.0066235]},"n1821014671":{"id":"n1821014671","loc":[-85.5922939,41.980852]},"n1821014672":{"id":"n1821014672","loc":[-85.6023629,41.9781163]},"n1821014674":{"id":"n1821014674","loc":[-85.5409953,42.0191724]},"n1821014676":{"id":"n1821014676","loc":[-85.584435,41.9949909]},"n1821014677":{"id":"n1821014677","loc":[-85.5972399,41.9783835]},"n1821014678":{"id":"n1821014678","loc":[-85.5616738,42.0071337]},"n1821014681":{"id":"n1821014681","loc":[-85.5202994,42.0310755]},"n1821014682":{"id":"n1821014682","loc":[-85.5915912,41.9857767]},"n1821014684":{"id":"n1821014684","loc":[-85.6022288,41.977897]},"n1821014687":{"id":"n1821014687","loc":[-85.5933024,41.9846362]},"n1821014688":{"id":"n1821014688","loc":[-85.5846871,41.9956169]},"n1821014689":{"id":"n1821014689","loc":[-85.5898209,41.99037]},"n1821014691":{"id":"n1821014691","loc":[-85.5448939,42.0149261]},"n1821014692":{"id":"n1821014692","loc":[-85.5977763,41.9786348]},"n1821014694":{"id":"n1821014694","loc":[-85.5767706,42.0034523]},"n1821014695":{"id":"n1821014695","loc":[-85.6103559,41.9726766]},"n1821014697":{"id":"n1821014697","loc":[-85.5922134,41.9809876]},"n1821014698":{"id":"n1821014698","loc":[-85.5935277,41.9831728]},"n1821014700":{"id":"n1821014700","loc":[-85.5674674,42.0078273]},"n1821014703":{"id":"n1821014703","loc":[-85.6021,41.9778053]},"n1821014704":{"id":"n1821014704","loc":[-85.5756763,42.0053737]},"n1821014705":{"id":"n1821014705","loc":[-85.5887695,41.9895207]},"n1821014707":{"id":"n1821014707","loc":[-85.6061073,41.9746866]},"n1821014708":{"id":"n1821014708","loc":[-85.6033446,41.9751692]},"n1821014710":{"id":"n1821014710","loc":[-85.5180986,42.0322332]},"n1821014711":{"id":"n1821014711","loc":[-85.543365,42.0163569]},"n1821014712":{"id":"n1821014712","loc":[-85.6030656,41.9753646]},"n1821014713":{"id":"n1821014713","loc":[-85.6104417,41.9704792]},"n1821014714":{"id":"n1821014714","loc":[-85.5205716,42.030998]},"n1821014716":{"id":"n1821014716","loc":[-85.516382,42.032536]},"n1821014717":{"id":"n1821014717","loc":[-85.5932863,41.9820882]},"n1821014718":{"id":"n1821014718","loc":[-85.5361928,42.0194974]},"n1821014720":{"id":"n1821014720","loc":[-85.6011613,41.9773586]},"n1821014721":{"id":"n1821014721","loc":[-85.554287,42.0109124]},"n1821014722":{"id":"n1821014722","loc":[-85.5577524,42.0103425]},"n1821014725":{"id":"n1821014725","loc":[-85.5867256,41.9921004]},"n1821014726":{"id":"n1821014726","loc":[-85.5856045,41.9968807]},"n1821014727":{"id":"n1821014727","loc":[-85.5545445,42.0106454]},"n1821014728":{"id":"n1821014728","loc":[-85.5923797,41.9842534]},"n1821014729":{"id":"n1821014729","loc":[-85.5696346,42.0081462]},"n1821014730":{"id":"n1821014730","loc":[-85.5998322,41.9786884]},"n1821014735":{"id":"n1821014735","loc":[-85.5337426,42.0218266]},"n1821014736":{"id":"n1821014736","loc":[-85.5847944,41.994672]},"n1821014740":{"id":"n1821014740","loc":[-85.5315271,42.0238669]},"n1821014741":{"id":"n1821014741","loc":[-85.5248846,42.027085]},"n1821014742":{"id":"n1821014742","loc":[-85.5853376,41.997018]},"n1821014743":{"id":"n1821014743","loc":[-85.5894883,41.988811]},"n1821014745":{"id":"n1821014745","loc":[-85.6095311,41.9726226]},"n1821014746":{"id":"n1821014746","loc":[-85.5531511,42.0133416]},"n1821014747":{"id":"n1821014747","loc":[-85.5735882,42.007058]},"n1821014749":{"id":"n1821014749","loc":[-85.5428554,42.0164366]},"n1821014751":{"id":"n1821014751","loc":[-85.5395255,42.0186304]},"n1821014752":{"id":"n1821014752","loc":[-85.571378,42.0083176]},"n1821014754":{"id":"n1821014754","loc":[-85.5541918,42.0113925]},"n1821014755":{"id":"n1821014755","loc":[-85.5278029,42.0250806]},"n1821014756":{"id":"n1821014756","loc":[-85.5936725,41.9827102]},"n1821014757":{"id":"n1821014757","loc":[-85.5176266,42.0346677]},"n1821014758":{"id":"n1821014758","loc":[-85.6096692,41.9714245]},"n1821014759":{"id":"n1821014759","loc":[-85.5770321,42.0034266]},"n1821014761":{"id":"n1821014761","loc":[-85.5988921,41.9779369]},"n1821014762":{"id":"n1821014762","loc":[-85.5811788,42.0024499]},"n1821014763":{"id":"n1821014763","loc":[-85.5154003,42.0381101]},"n1821014764":{"id":"n1821014764","loc":[-85.5155827,42.0374089]},"n1821014765":{"id":"n1821014765","loc":[-85.5891249,41.9884978]},"n1821014766":{"id":"n1821014766","loc":[-85.5313863,42.0238293]},"n1821014768":{"id":"n1821014768","loc":[-85.593297,41.9833363]},"n1821014769":{"id":"n1821014769","loc":[-85.5849446,41.9957245]},"n1821014770":{"id":"n1821014770","loc":[-85.5537774,42.0130847]},"n1821014771":{"id":"n1821014771","loc":[-85.6111766,41.9706069]},"n1821014772":{"id":"n1821014772","loc":[-85.5585477,42.008989]},"n1821014774":{"id":"n1821014774","loc":[-85.5928142,41.9852623]},"n1821014777":{"id":"n1821014777","loc":[-85.5891933,41.9882608]},"n1821014778":{"id":"n1821014778","loc":[-85.5926909,41.9817532]},"n1821014779":{"id":"n1821014779","loc":[-85.5260272,42.0252201]},"n1821014781":{"id":"n1821014781","loc":[-85.5894615,41.9950468]},"n1821014782":{"id":"n1821014782","loc":[-85.5461063,42.0143242]},"n1821014783":{"id":"n1821014783","loc":[-85.5711527,42.0085886]},"n1821014784":{"id":"n1821014784","loc":[-85.5329379,42.0218624]},"n1821014786":{"id":"n1821014786","loc":[-85.583047,42.0020252]},"n1821014787":{"id":"n1821014787","loc":[-85.5758962,42.0054095]},"n1821014788":{"id":"n1821014788","loc":[-85.5626354,42.0077733]},"n1821014789":{"id":"n1821014789","loc":[-85.6029852,41.9755999]},"n1821014790":{"id":"n1821014790","loc":[-85.5892362,41.9886755]},"n1821014791":{"id":"n1821014791","loc":[-85.5157597,42.0372017]},"n1821014793":{"id":"n1821014793","loc":[-85.6054582,41.9751094]},"n1821014794":{"id":"n1821014794","loc":[-85.5986936,41.9778412]},"n1821014795":{"id":"n1821014795","loc":[-85.5880775,41.98976]},"n1821014796":{"id":"n1821014796","loc":[-85.5858727,41.9963624]},"n1821014798":{"id":"n1821014798","loc":[-85.5792543,42.0035958]},"n1821014799":{"id":"n1821014799","loc":[-85.5921665,41.9838326]},"n1821014801":{"id":"n1821014801","loc":[-85.599214,41.9782599]},"n1821014802":{"id":"n1821014802","loc":[-85.5571905,42.0090967]},"n1821014803":{"id":"n1821014803","loc":[-85.5426891,42.0173612]},"n1821014804":{"id":"n1821014804","loc":[-85.5889626,41.9896404]},"n1821014805":{"id":"n1821014805","loc":[-85.5491264,42.0141648]},"n1821014806":{"id":"n1821014806","loc":[-85.5618897,42.0072631]},"n1821014808":{"id":"n1821014808","loc":[-85.5573501,42.0109802]},"n1821014809":{"id":"n1821014809","loc":[-85.5983463,41.9778031]},"n1821014810":{"id":"n1821014810","loc":[-85.5885173,41.9895128]},"n1821014811":{"id":"n1821014811","loc":[-85.6084998,41.9721143]},"n1821014812":{"id":"n1821014812","loc":[-85.5737598,42.0056389]},"n1821014814":{"id":"n1821014814","loc":[-85.5542173,42.0118132]},"n1821014816":{"id":"n1821014816","loc":[-85.5277868,42.024451]},"n1821014817":{"id":"n1821014817","loc":[-85.5403999,42.0191724]},"n1821014819":{"id":"n1821014819","loc":[-85.5983879,41.9791452]},"n1821014820":{"id":"n1821014820","loc":[-85.5891302,41.9897578]},"n1821014822":{"id":"n1821014822","loc":[-85.5930731,41.9805108]},"n1821014824":{"id":"n1821014824","loc":[-85.515395,42.0378471]},"n1821014825":{"id":"n1821014825","loc":[-85.5352755,42.0205136]},"n1821014826":{"id":"n1821014826","loc":[-85.5502744,42.0133398]},"n1821014828":{"id":"n1821014828","loc":[-85.5701295,42.0088256]},"n1821014830":{"id":"n1821014830","loc":[-85.5888929,41.9953099]},"n1821014832":{"id":"n1821014832","loc":[-85.5880077,41.9901547]},"n1821014833":{"id":"n1821014833","loc":[-85.5451192,42.0157072]},"n1821014834":{"id":"n1821014834","loc":[-85.6096478,41.9711932]},"n1821014835":{"id":"n1821014835","loc":[-85.5806424,42.0026532]},"n1821014836":{"id":"n1821014836","loc":[-85.5911674,41.9868732]},"n1821014838":{"id":"n1821014838","loc":[-85.5930302,41.9836571]},"n1821014839":{"id":"n1821014839","loc":[-85.588925,41.9938148]},"n1821014840":{"id":"n1821014840","loc":[-85.6111874,41.9705311]},"n1821014841":{"id":"n1821014841","loc":[-85.5680843,42.0075842]},"n1821014842":{"id":"n1821014842","loc":[-85.6012793,41.9775062]},"n1821014843":{"id":"n1821014843","loc":[-85.5855562,41.9989777]},"n1821014844":{"id":"n1821014844","loc":[-85.5506137,42.0131662]},"n1821014845":{"id":"n1821014845","loc":[-85.5270049,42.025457]},"n1821014846":{"id":"n1821014846","loc":[-85.5257054,42.025244]},"n1821014847":{"id":"n1821014847","loc":[-85.6011184,41.9771832]},"n1821014848":{"id":"n1821014848","loc":[-85.515534,42.0389234]},"n1821014850":{"id":"n1821014850","loc":[-85.5847032,42.0010347]},"n1821014853":{"id":"n1821014853","loc":[-85.5361499,42.019063]},"n1821014854":{"id":"n1821014854","loc":[-85.5439176,42.0165721]},"n1821014855":{"id":"n1821014855","loc":[-85.5838825,42.0017284]},"n1821014857":{"id":"n1821014857","loc":[-85.5542173,42.0122317]},"n1821014859":{"id":"n1821014859","loc":[-85.5708201,42.0089195]},"n1821014860":{"id":"n1821014860","loc":[-85.5844833,41.9954415]},"n1821014862":{"id":"n1821014862","loc":[-85.5223204,42.0295396]},"n1821014863":{"id":"n1821014863","loc":[-85.5777898,42.0035918]},"n1821014864":{"id":"n1821014864","loc":[-85.591044,41.9898078]},"n1821014865":{"id":"n1821014865","loc":[-85.5973204,41.980182]},"n1821014866":{"id":"n1821014866","loc":[-85.5699578,42.0085825]},"n1821014867":{"id":"n1821014867","loc":[-85.5210598,42.0305278]},"n1821014868":{"id":"n1821014868","loc":[-85.5929108,41.9819008]},"n1821014869":{"id":"n1821014869","loc":[-85.5279799,42.0242995]},"n1821014870":{"id":"n1821014870","loc":[-85.5196114,42.0320539]},"n1821014871":{"id":"n1821014871","loc":[-85.5785449,42.0040883]},"n1821014872":{"id":"n1821014872","loc":[-85.588292,41.9895766]},"n1821014873":{"id":"n1821014873","loc":[-85.5160172,42.0331775]},"n1821014874":{"id":"n1821014874","loc":[-85.5688849,42.0077016]},"n1821014876":{"id":"n1821014876","loc":[-85.5857976,41.9996036]},"n1821014879":{"id":"n1821014879","loc":[-85.5990906,41.9780765]},"n1821014881":{"id":"n1821014881","loc":[-85.5483647,42.0144279]},"n1821014883":{"id":"n1821014883","loc":[-85.5691209,42.0077972]},"n1821014885":{"id":"n1821014885","loc":[-85.6076844,41.9721103]},"n1821014886":{"id":"n1821014886","loc":[-85.6015489,41.9766147]},"n1821014887":{"id":"n1821014887","loc":[-85.574822,42.0052802]},"n1821014888":{"id":"n1821014888","loc":[-85.5880024,41.9899593]},"n1821014890":{"id":"n1821014890","loc":[-85.5909421,41.9893772]},"n1821014892":{"id":"n1821014892","loc":[-85.5497326,42.0138141]},"n1821014893":{"id":"n1821014893","loc":[-85.5167106,42.0357811]},"n1821014895":{"id":"n1821014895","loc":[-85.5844404,41.9952501]},"n1821014896":{"id":"n1821014896","loc":[-85.5362465,42.0192662]},"n1821014898":{"id":"n1821014898","loc":[-85.5906095,41.9889147]},"n1821014899":{"id":"n1821014899","loc":[-85.5590667,42.0089354]},"n1821014900":{"id":"n1821014900","loc":[-85.5921598,41.9844209]},"n1821014902":{"id":"n1821014902","loc":[-85.5778971,42.0039266]},"n1821014903":{"id":"n1821014903","loc":[-85.603012,41.9761981]},"n1821014904":{"id":"n1821014904","loc":[-85.6108977,41.9706787]},"n1821014905":{"id":"n1821014905","loc":[-85.5685738,42.0076139]},"n1821014906":{"id":"n1821014906","loc":[-85.5392787,42.0186304]},"n1821014907":{"id":"n1821014907","loc":[-85.5227885,42.0274972]},"n1821014908":{"id":"n1821014908","loc":[-85.5857547,41.9961431]},"n1821014910":{"id":"n1821014910","loc":[-85.5610354,42.0072812]},"n1821014911":{"id":"n1821014911","loc":[-85.5209632,42.0308705]},"n1821014912":{"id":"n1821014912","loc":[-85.5709757,42.0087959]},"n1821014913":{"id":"n1821014913","loc":[-85.59231,41.9839344]},"n1821014914":{"id":"n1821014914","loc":[-85.5375245,42.0185865]},"n1821014916":{"id":"n1821014916","loc":[-85.5901548,41.9839841]},"n1821014917":{"id":"n1821014917","loc":[-85.5611213,42.0086405]},"n1821014918":{"id":"n1821014918","loc":[-85.5360426,42.0198122]},"n1821014919":{"id":"n1821014919","loc":[-85.5862817,41.9948691]},"n1821014921":{"id":"n1821014921","loc":[-85.5469807,42.0144438]},"n1821014922":{"id":"n1821014922","loc":[-85.5761309,42.0053838]},"n1821014924":{"id":"n1821014924","loc":[-85.516264,42.0332971]},"n1821014925":{"id":"n1821014925","loc":[-85.5277224,42.0246661]},"n1821014926":{"id":"n1821014926","loc":[-85.5980016,41.9798231]},"n1821014928":{"id":"n1821014928","loc":[-85.5924548,41.9806965]},"n1821014930":{"id":"n1821014930","loc":[-85.5899121,41.985023]},"n1821014931":{"id":"n1821014931","loc":[-85.5706015,42.0089492]},"n1821014932":{"id":"n1821014932","loc":[-85.515926,42.033046]},"n1821014933":{"id":"n1821014933","loc":[-85.5982377,41.9796796]},"n1821014936":{"id":"n1821014936","loc":[-85.5475721,42.0145253]},"n1821014938":{"id":"n1821014938","loc":[-85.5895701,41.9902323]},"n1821014939":{"id":"n1821014939","loc":[-85.6030495,41.9759947]},"n1821014942":{"id":"n1821014942","loc":[-85.6094721,41.9724989]},"n1821014944":{"id":"n1821014944","loc":[-85.5921973,41.9811112]},"n1821014945":{"id":"n1821014945","loc":[-85.5223526,42.0291332]},"n1821014946":{"id":"n1821014946","loc":[-85.5965103,41.9808998]},"n1821014948":{"id":"n1821014948","loc":[-85.517766,42.0349227]},"n1821014950":{"id":"n1821014950","loc":[-85.5889894,41.990996]},"n1821014951":{"id":"n1821014951","loc":[-85.5601932,42.0092902]},"n1821014954":{"id":"n1821014954","loc":[-85.6028135,41.9764055]},"n1821014955":{"id":"n1821014955","loc":[-85.5520621,42.0130666]},"n1821014956":{"id":"n1821014956","loc":[-85.593002,41.9839344]},"n1821014957":{"id":"n1821014957","loc":[-85.515926,42.0369666]},"n1821014960":{"id":"n1821014960","loc":[-85.5761255,42.003877]},"n1821014961":{"id":"n1821014961","loc":[-85.5716355,42.007911]},"n1821014962":{"id":"n1821014962","loc":[-85.5575378,42.0109045]},"n1821014963":{"id":"n1821014963","loc":[-85.5735667,42.0068188]},"n1821014964":{"id":"n1821014964","loc":[-85.5915214,41.9865861]},"n1821014965":{"id":"n1821014965","loc":[-85.5866344,41.9923157]},"n1821014967":{"id":"n1821014967","loc":[-85.5283138,42.0242256]},"n1821014968":{"id":"n1821014968","loc":[-85.5177875,42.0355801]},"n1821014969":{"id":"n1821014969","loc":[-85.548071,42.0144934]},"n1821014972":{"id":"n1821014972","loc":[-85.5611159,42.0088557]},"n1821014973":{"id":"n1821014973","loc":[-85.541686,42.0188757]},"n1821014974":{"id":"n1821014974","loc":[-85.5917628,41.9862631]},"n1821014975":{"id":"n1821014975","loc":[-85.5854864,41.9959478]},"n1821014977":{"id":"n1821014977","loc":[-85.609102,41.9722317]},"n1821014980":{"id":"n1821014980","loc":[-85.5761202,42.0042438]},"n1821014982":{"id":"n1821014982","loc":[-85.5465944,42.0143601]},"n1821014983":{"id":"n1821014983","loc":[-85.5173261,42.0342732]},"n1821014984":{"id":"n1821014984","loc":[-85.5897297,41.9888509]},"n1821014985":{"id":"n1821014985","loc":[-85.5856688,41.999181]},"n1821014986":{"id":"n1821014986","loc":[-85.5344011,42.0217251]},"n1821014987":{"id":"n1821014987","loc":[-85.601467,41.9768203]},"n1821014988":{"id":"n1821014988","loc":[-85.5457254,42.0165123]},"n1821014989":{"id":"n1821014989","loc":[-85.6023482,41.9784332]},"n1821014991":{"id":"n1821014991","loc":[-85.5361606,42.01823]},"n1821014992":{"id":"n1821014992","loc":[-85.5178465,42.0351139]},"n1821014995":{"id":"n1821014995","loc":[-85.5634293,42.0078092]},"n1821014996":{"id":"n1821014996","loc":[-85.573497,42.0072015]},"n1821014997":{"id":"n1821014997","loc":[-85.5976328,41.9799725]},"n1821014998":{"id":"n1821014998","loc":[-85.5210651,42.0303166]},"n1821015003":{"id":"n1821015003","loc":[-85.5222131,42.0288064]},"n1821015004":{"id":"n1821015004","loc":[-85.5897941,41.984405]},"n1821015005":{"id":"n1821015005","loc":[-85.5975725,41.9776099]},"n1821015006":{"id":"n1821015006","loc":[-85.5765708,42.0034903]},"n1821015007":{"id":"n1821015007","loc":[-85.5250187,42.026559]},"n1821015009":{"id":"n1821015009","loc":[-85.5426998,42.0166279]},"n1821015010":{"id":"n1821015010","loc":[-85.5957606,41.9806584]},"n1821015011":{"id":"n1821015011","loc":[-85.5262753,42.0252497]},"n1821015012":{"id":"n1821015012","loc":[-85.5266455,42.0253374]},"n1821015014":{"id":"n1821015014","loc":[-85.5515632,42.0130187]},"n1821015015":{"id":"n1821015015","loc":[-85.6024058,41.9765212]},"n1821015017":{"id":"n1821015017","loc":[-85.5175032,42.0357156]},"n1821015018":{"id":"n1821015018","loc":[-85.5302718,42.0236039]},"n1821015019":{"id":"n1821015019","loc":[-85.6024005,41.9782759]},"n1821015020":{"id":"n1821015020","loc":[-85.5907758,41.9890821]},"n1821015021":{"id":"n1821015021","loc":[-85.6019445,41.9777215]},"n1821015022":{"id":"n1821015022","loc":[-85.5942854,41.9800881]},"n1821015024":{"id":"n1821015024","loc":[-85.5325826,42.0222711]},"n1821015029":{"id":"n1821015029","loc":[-85.555093,42.0105316]},"n1821015033":{"id":"n1821015033","loc":[-85.5249704,42.0270372]},"n1821015034":{"id":"n1821015034","loc":[-85.5243965,42.0272205]},"n1821015038":{"id":"n1821015038","loc":[-85.5413426,42.0190749]},"n1821015039":{"id":"n1821015039","loc":[-85.5920431,41.9848175]},"n1821015041":{"id":"n1821015041","loc":[-85.5577685,42.0106015]},"n1821015042":{"id":"n1821015042","loc":[-85.5453606,42.0158866]},"n1821015045":{"id":"n1821015045","loc":[-85.5333228,42.0217889]},"n1821015046":{"id":"n1821015046","loc":[-85.5426891,42.0175924]},"n1821015048":{"id":"n1821015048","loc":[-85.5886836,41.9936474]},"n1821015050":{"id":"n1821015050","loc":[-85.6001152,41.9786467]},"n1821015051":{"id":"n1821015051","loc":[-85.6094064,41.9723655]},"n1821015053":{"id":"n1821015053","loc":[-85.605721,41.9749738]},"n1821015055":{"id":"n1821015055","loc":[-85.6106791,41.9705048]},"n1821015057":{"id":"n1821015057","loc":[-85.5210437,42.0307071]},"n1821015059":{"id":"n1821015059","loc":[-85.5995694,41.9786725]},"n1821015060":{"id":"n1821015060","loc":[-85.5371638,42.0182938]},"n1821015062":{"id":"n1821015062","loc":[-85.6111766,41.9704593]},"n1821015065":{"id":"n1821015065","loc":[-85.577704,42.0034921]},"n1821015067":{"id":"n1821015067","loc":[-85.5570067,42.0093699]},"n1821015068":{"id":"n1821015068","loc":[-85.5920364,41.9845525]},"n1821015069":{"id":"n1821015069","loc":[-85.5252065,42.0253954]},"n1821015072":{"id":"n1821015072","loc":[-85.5664159,42.0088517]},"n1821015073":{"id":"n1821015073","loc":[-85.5880399,41.991905]},"n1821015075":{"id":"n1821015075","loc":[-85.6099871,41.9727861]},"n1821015076":{"id":"n1821015076","loc":[-85.5319603,42.0231478]},"n1821015078":{"id":"n1821015078","loc":[-85.6036088,41.9751112]},"n1821015080":{"id":"n1821015080","loc":[-85.5983128,41.9789179]},"n1821015082":{"id":"n1821015082","loc":[-85.5614069,42.0071395]},"n1821015083":{"id":"n1821015083","loc":[-85.60968,41.9709738]},"n1821015086":{"id":"n1821015086","loc":[-85.5914195,41.9837351]},"n1821015087":{"id":"n1821015087","loc":[-85.5895473,41.9948036]},"n1821015090":{"id":"n1821015090","loc":[-85.5929913,41.9851905]},"n1821015093":{"id":"n1821015093","loc":[-85.5907396,41.9838485]},"n1821015095":{"id":"n1821015095","loc":[-85.5893864,41.9880176]},"n1821015096":{"id":"n1821015096","loc":[-85.5788024,42.0039807]},"n1821015097":{"id":"n1821015097","loc":[-85.5630592,42.0078411]},"n1821015098":{"id":"n1821015098","loc":[-85.5350609,42.0211274]},"n1821015099":{"id":"n1821015099","loc":[-85.5967195,41.9808679]},"n1821015100":{"id":"n1821015100","loc":[-85.5666734,42.0088119]},"n1821015101":{"id":"n1821015101","loc":[-85.564694,42.0077675]},"n1821015103":{"id":"n1821015103","loc":[-85.6066544,41.9726527]},"n1821015104":{"id":"n1821015104","loc":[-85.6011827,41.9769838]},"n1821015105":{"id":"n1821015105","loc":[-85.5972131,41.9776697]},"n1821015106":{"id":"n1821015106","loc":[-85.5880828,41.9903341]},"n1821015107":{"id":"n1821015107","loc":[-85.5510268,42.0130626]},"n1821015108":{"id":"n1821015108","loc":[-85.6102164,41.970543]},"n1821015109":{"id":"n1821015109","loc":[-85.5905344,41.9853899]},"n1821015111":{"id":"n1821015111","loc":[-85.5888821,41.9913429]},"n1821015112":{"id":"n1821015112","loc":[-85.606295,41.9741921]},"n1821015114":{"id":"n1821015114","loc":[-85.5969556,41.9807443]},"n1821015115":{"id":"n1821015115","loc":[-85.5882223,41.9934081]},"n1821015116":{"id":"n1821015116","loc":[-85.6104471,41.9724971]},"n1821015118":{"id":"n1821015118","loc":[-85.5406091,42.0192162]},"n1821015120":{"id":"n1821015120","loc":[-85.589955,41.9888429]},"n1821015121":{"id":"n1821015121","loc":[-85.5598821,42.0092304]},"n1821015122":{"id":"n1821015122","loc":[-85.545598,42.0144097]},"n1821015123":{"id":"n1821015123","loc":[-85.5649528,42.0079965]},"n1821015125":{"id":"n1821015125","loc":[-85.5883993,41.9917814]},"n1821015126":{"id":"n1821015126","loc":[-85.5295785,42.0239967]},"n1821015129":{"id":"n1821015129","loc":[-85.5648723,42.0078809]},"n1821015132":{"id":"n1821015132","loc":[-85.564989,42.0081103]},"n1821015133":{"id":"n1821015133","loc":[-85.5946127,41.9800841]},"n1821015134":{"id":"n1821015134","loc":[-85.583448,42.0019078]},"n1821015135":{"id":"n1821015135","loc":[-85.5905934,41.9871842]},"n1821015137":{"id":"n1821015137","loc":[-85.610608,41.9704752]},"n1821015138":{"id":"n1821015138","loc":[-85.5752257,42.0052939]},"n1821015139":{"id":"n1821015139","loc":[-85.5893864,41.9943491]},"n1821015140":{"id":"n1821015140","loc":[-85.5426247,42.0169866]},"n1821015141":{"id":"n1821015141","loc":[-85.562001,42.0074526]},"n1821015142":{"id":"n1821015142","loc":[-85.5212046,42.0301094]},"n1821015143":{"id":"n1821015143","loc":[-85.602214,41.9784531]},"n1821015144":{"id":"n1821015144","loc":[-85.5858687,41.9948293]},"n1821015145":{"id":"n1821015145","loc":[-85.5608477,42.0074805]},"n1821015146":{"id":"n1821015146","loc":[-85.5651607,42.0083614]},"n1821015147":{"id":"n1821015147","loc":[-85.5288288,42.0242495]},"n1821015149":{"id":"n1821015149","loc":[-85.5450334,42.0146989]},"n1821015151":{"id":"n1821015151","loc":[-85.5578275,42.0092304]},"n1821015154":{"id":"n1821015154","loc":[-85.6056634,41.9724511]},"n1821015155":{"id":"n1821015155","loc":[-85.5902179,41.9852742]},"n1821015156":{"id":"n1821015156","loc":[-85.5156256,42.0387157]},"n1821015157":{"id":"n1821015157","loc":[-85.5734433,42.0059459]},"n1821015158":{"id":"n1821015158","loc":[-85.6050773,41.9731273]},"n1821015160":{"id":"n1821015160","loc":[-85.5223419,42.0275233]},"n1821015163":{"id":"n1821015163","loc":[-85.6053562,41.972525]},"n1821015164":{"id":"n1821015164","loc":[-85.5850412,41.9946082]},"n1821015165":{"id":"n1821015165","loc":[-85.5359031,42.0186326]},"n1821015166":{"id":"n1821015166","loc":[-85.5608745,42.0077635]},"n1821015169":{"id":"n1821015169","loc":[-85.572876,42.0073189]},"n1821015171":{"id":"n1821015171","loc":[-85.5875424,41.9919188]},"n1821015172":{"id":"n1821015172","loc":[-85.5240116,42.0272581]},"n1821015173":{"id":"n1821015173","loc":[-85.5318369,42.0236818]},"n1821015174":{"id":"n1821015174","loc":[-85.566888,42.0086923]},"n1821015175":{"id":"n1821015175","loc":[-85.5931522,41.9850669]},"n1821015176":{"id":"n1821015176","loc":[-85.5604842,42.0093199]},"n1821015177":{"id":"n1821015177","loc":[-85.5868168,41.9927543]},"n1821015178":{"id":"n1821015178","loc":[-85.6052275,41.9732549]},"n1821015179":{"id":"n1821015179","loc":[-85.5910118,41.9900431]},"n1821015182":{"id":"n1821015182","loc":[-85.5610032,42.0082897]},"n1821015183":{"id":"n1821015183","loc":[-85.5425443,42.0179431]},"n1821015184":{"id":"n1821015184","loc":[-85.5843277,42.0014055]},"n1821015186":{"id":"n1821015186","loc":[-85.5733307,42.0063564]},"n1821015188":{"id":"n1821015188","loc":[-85.5277385,42.0248694]},"n1821015189":{"id":"n1821015189","loc":[-85.5558427,42.0108168]},"n1821015190":{"id":"n1821015190","loc":[-85.5650587,42.0082618]},"n1821015191":{"id":"n1821015191","loc":[-85.5660351,42.0088278]},"n1821015192":{"id":"n1821015192","loc":[-85.5849768,41.9980049]},"n1821015194":{"id":"n1821015194","loc":[-85.5359139,42.0188199]},"n1821015195":{"id":"n1821015195","loc":[-85.593238,41.9849194]},"n1821015197":{"id":"n1821015197","loc":[-85.5850841,41.9983239]},"n1821015199":{"id":"n1821015199","loc":[-85.5983396,41.9794283]},"n1821015204":{"id":"n1821015204","loc":[-85.5452801,42.0145355]},"n1821015205":{"id":"n1821015205","loc":[-85.5340685,42.0218407]},"n1821015207":{"id":"n1821015207","loc":[-85.5773272,42.0034186]},"n1821015209":{"id":"n1821015209","loc":[-85.5535212,42.0132419]},"n1821015211":{"id":"n1821015211","loc":[-85.6107703,41.9706045]},"n1821015212":{"id":"n1821015212","loc":[-85.6030066,41.9758193]},"n1821015213":{"id":"n1821015213","loc":[-85.5359943,42.0184213]},"n1821015214":{"id":"n1821015214","loc":[-85.5922993,41.9813305]},"n1821015215":{"id":"n1821015215","loc":[-85.5672689,42.0080465]},"n1821015217":{"id":"n1821015217","loc":[-85.5160494,42.0365682]},"n1821015218":{"id":"n1821015218","loc":[-85.5401142,42.0190351]},"n1821015219":{"id":"n1821015219","loc":[-85.5607632,42.0092282]},"n1821015220":{"id":"n1821015220","loc":[-85.5866197,41.9947894]},"n1821015221":{"id":"n1821015221","loc":[-85.6017889,41.9765132]},"n1821015222":{"id":"n1821015222","loc":[-85.5595978,42.009059]},"n1821015226":{"id":"n1821015226","loc":[-85.5871494,41.9929018]},"n1821015227":{"id":"n1821015227","loc":[-85.5857708,41.9998866]},"n1821015228":{"id":"n1821015228","loc":[-85.5317135,42.0238094]},"n1821015231":{"id":"n1821015231","loc":[-85.5733521,42.0061372]},"n1821015233":{"id":"n1821015233","loc":[-85.5855991,42.0001936]},"n1821015234":{"id":"n1821015234","loc":[-85.5213924,42.029962]},"n1821015235":{"id":"n1821015235","loc":[-85.6052221,41.9726567]},"n1821015236":{"id":"n1821015236","loc":[-85.5763723,42.0035422]},"n1821015237":{"id":"n1821015237","loc":[-85.5858512,41.9966215]},"n1821015238":{"id":"n1821015238","loc":[-85.567061,42.008439]},"n1821015239":{"id":"n1821015239","loc":[-85.5250563,42.0269057]},"n1821015240":{"id":"n1821015240","loc":[-85.5347551,42.0214263]},"n1821015241":{"id":"n1821015241","loc":[-85.6098463,41.9707066]},"n1821015242":{"id":"n1821015242","loc":[-85.5676927,42.0076519]},"n1821015243":{"id":"n1821015243","loc":[-85.516775,42.0322669]},"n1821015244":{"id":"n1821015244","loc":[-85.5762275,42.0036538]},"n1821015245":{"id":"n1821015245","loc":[-85.5583639,42.0090949]},"n1821015246":{"id":"n1821015246","loc":[-85.5554041,42.0106432]},"n1821015247":{"id":"n1821015247","loc":[-85.5973364,41.9776099]},"n1821015248":{"id":"n1821015248","loc":[-85.6098945,41.9717513]},"n1821015249":{"id":"n1821015249","loc":[-85.6045315,41.9751511]},"n1821015250":{"id":"n1821015250","loc":[-85.5579938,42.0092264]},"n1821015253":{"id":"n1821015253","loc":[-85.6058873,41.9724652]},"n1821015254":{"id":"n1821015254","loc":[-85.5869456,41.9947517]},"n1821015255":{"id":"n1821015255","loc":[-85.5936565,41.9823713]},"n1821015256":{"id":"n1821015256","loc":[-85.5218269,42.0278102]},"n1821015258":{"id":"n1821015258","loc":[-85.5887802,41.9905534]},"n1821015259":{"id":"n1821015259","loc":[-85.5901924,41.9904515]},"n1821015263":{"id":"n1821015263","loc":[-85.5249222,42.0255787]},"n1821015265":{"id":"n1821015265","loc":[-85.5175206,42.0321672]},"n1821015266":{"id":"n1821015266","loc":[-85.5275722,42.0254034]},"n1821015267":{"id":"n1821015267","loc":[-85.6016226,41.9765451]},"n1821015269":{"id":"n1821015269","loc":[-85.5569316,42.011032]},"n1821015271":{"id":"n1821015271","loc":[-85.6010714,41.9785209]},"n1821015272":{"id":"n1821015272","loc":[-85.6050666,41.9729917]},"n1821015273":{"id":"n1821015273","loc":[-85.5891235,41.99529]},"n1821015274":{"id":"n1821015274","loc":[-85.515454,42.0376439]},"n1821015276":{"id":"n1821015276","loc":[-85.5776021,42.0034443]},"n1821015277":{"id":"n1821015277","loc":[-85.6041707,41.9751453]},"n1821015278":{"id":"n1821015278","loc":[-85.5444701,42.0167435]},"n1821015280":{"id":"n1821015280","loc":[-85.5923274,41.9852202]},"n1821015283":{"id":"n1821015283","loc":[-85.5893649,41.9900271]},"n1821015284":{"id":"n1821015284","loc":[-85.5933453,41.9804412]},"n1821015285":{"id":"n1821015285","loc":[-85.5247237,42.026017]},"n1821015286":{"id":"n1821015286","loc":[-85.5286182,42.0242477]},"n1821015287":{"id":"n1821015287","loc":[-85.5904003,41.9888549]},"n1821015288":{"id":"n1821015288","loc":[-85.6062146,41.9739369]},"n1821015290":{"id":"n1821015290","loc":[-85.5762596,42.0052602]},"n1821015292":{"id":"n1821015292","loc":[-85.5849715,41.9975465]},"n1821015293":{"id":"n1821015293","loc":[-85.585229,42.0006241]},"n1821015294":{"id":"n1821015294","loc":[-85.5926922,41.9805946]},"n1821015295":{"id":"n1821015295","loc":[-85.5703387,42.0089133]},"n1821015299":{"id":"n1821015299","loc":[-85.5789955,42.0038611]},"n1821015301":{"id":"n1821015301","loc":[-85.6072888,41.9721918]},"n1821015302":{"id":"n1821015302","loc":[-85.5356349,42.0200992]},"n1821015304":{"id":"n1821015304","loc":[-85.5891772,41.994066]},"n1821015306":{"id":"n1821015306","loc":[-85.606295,41.9744952]},"n1821015307":{"id":"n1821015307","loc":[-85.538871,42.0186583]},"n1821015308":{"id":"n1821015308","loc":[-85.587997,41.994971]},"n1821015311":{"id":"n1821015311","loc":[-85.606869,41.9725809]},"n1821015312":{"id":"n1821015312","loc":[-85.5171974,42.0339943]},"n1821015314":{"id":"n1821015314","loc":[-85.5327435,42.0220479]},"n1821015315":{"id":"n1821015315","loc":[-85.5383439,42.0187282]},"n1821015316":{"id":"n1821015316","loc":[-85.5248095,42.0263119]},"n1821015318":{"id":"n1821015318","loc":[-85.5732502,42.0073051]},"n1821015319":{"id":"n1821015319","loc":[-85.5924226,41.9852663]},"n1821015321":{"id":"n1821015321","loc":[-85.5179001,42.0353052]},"n1821015322":{"id":"n1821015322","loc":[-85.5456771,42.0162413]},"n1821015323":{"id":"n1821015323","loc":[-85.5936618,41.9829096]},"n1821015325":{"id":"n1821015325","loc":[-85.5656931,42.0086582]},"n1821015326":{"id":"n1821015326","loc":[-85.5448456,42.0150975]},"n1821015327":{"id":"n1821015327","loc":[-85.5220039,42.027615]},"n1821015329":{"id":"n1821015329","loc":[-85.517884,42.0354885]},"n1821015330":{"id":"n1821015330","loc":[-85.5576666,42.0101671]},"n1821015332":{"id":"n1821015332","loc":[-85.5368754,42.0181402]},"n1821015333":{"id":"n1821015333","loc":[-85.5367078,42.0181145]},"n1821015334":{"id":"n1821015334","loc":[-85.5903909,41.9904316]},"n1821015335":{"id":"n1821015335","loc":[-85.5430767,42.0163587]},"n1821015336":{"id":"n1821015336","loc":[-85.5277492,42.0252878]},"n1821015337":{"id":"n1821015337","loc":[-85.5312146,42.0236898]},"n1821015338":{"id":"n1821015338","loc":[-85.5886568,41.991614]},"n1821015339":{"id":"n1821015339","loc":[-85.5782498,42.0040883]},"n1821015341":{"id":"n1821015341","loc":[-85.562233,42.0076457]},"n1821015342":{"id":"n1821015342","loc":[-85.588626,41.9952479]},"n1821015343":{"id":"n1821015343","loc":[-85.5762865,42.005033]},"n1821015344":{"id":"n1821015344","loc":[-85.5850841,41.9971478]},"n1821015346":{"id":"n1821015346","loc":[-85.5643144,42.0076936]},"n1821015347":{"id":"n1821015347","loc":[-85.5164893,42.0359467]},"n1821015348":{"id":"n1821015348","loc":[-85.5906846,41.9903541]},"n1821015349":{"id":"n1821015349","loc":[-85.557688,42.0107769]},"n1821015350":{"id":"n1821015350","loc":[-85.5363698,42.0181424]},"n1821015351":{"id":"n1821015351","loc":[-85.5939636,41.9801918]},"n1821015352":{"id":"n1821015352","loc":[-85.5524041,42.0131644]},"n1821015354":{"id":"n1821015354","loc":[-85.5308606,42.0236221]},"n1821015355":{"id":"n1821015355","loc":[-85.5877449,41.9932367]},"n1821015356":{"id":"n1821015356","loc":[-85.519885,42.0318586]},"n1821015357":{"id":"n1821015357","loc":[-85.5454035,42.0168431]},"n1821015358":{"id":"n1821015358","loc":[-85.5970629,41.9781881]},"n1821015359":{"id":"n1821015359","loc":[-85.5932541,41.9844767]},"n1821015360":{"id":"n1821015360","loc":[-85.5970736,41.9778252]},"n1821015361":{"id":"n1821015361","loc":[-85.537031,42.0181601]},"n1821015362":{"id":"n1821015362","loc":[-85.5548355,42.0105156]},"n1821015363":{"id":"n1821015363","loc":[-85.5168648,42.0336158]},"n1821015365":{"id":"n1821015365","loc":[-85.5870435,41.9919507]},"n1821015366":{"id":"n1821015366","loc":[-85.5719681,42.0075443]},"n1821015367":{"id":"n1821015367","loc":[-85.5969985,41.9780446]},"n1821015368":{"id":"n1821015368","loc":[-85.5926761,41.98528]},"n1821015369":{"id":"n1821015369","loc":[-85.5224009,42.0293444]},"n1821015371":{"id":"n1821015371","loc":[-85.518737,42.0322651]},"n1821015372":{"id":"n1821015372","loc":[-85.6064573,41.9726465]},"n1821015373":{"id":"n1821015373","loc":[-85.5201103,42.0313088]},"n1821015375":{"id":"n1821015375","loc":[-85.5378182,42.0186844]},"n1821015376":{"id":"n1821015376","loc":[-85.6109741,41.9706882]},"n1821015377":{"id":"n1821015377","loc":[-85.5993333,41.9785488]},"n1821015378":{"id":"n1821015378","loc":[-85.5889787,41.9907368]},"n1821015380":{"id":"n1821015380","loc":[-85.6060161,41.9737375]},"n1821015381":{"id":"n1821015381","loc":[-85.5743016,42.0053679]},"n1821015382":{"id":"n1821015382","loc":[-85.6014724,41.9776099]},"n1821015383":{"id":"n1821015383","loc":[-85.5574426,42.0091644]},"n1821015385":{"id":"n1821015385","loc":[-85.5208613,42.0309302]},"n1821015386":{"id":"n1821015386","loc":[-85.5919023,41.9837789]},"n1821015387":{"id":"n1821015387","loc":[-85.5455484,42.0160221]},"n1821015392":{"id":"n1821015392","loc":[-85.5801757,42.0028964]},"n1821015395":{"id":"n1821015395","loc":[-85.5493785,42.0139974]},"n1821015396":{"id":"n1821015396","loc":[-85.5449475,42.015488]},"n1821015398":{"id":"n1821015398","loc":[-85.611123,41.9706627]},"n1821015400":{"id":"n1821015400","loc":[-85.5935706,41.9822477]},"n1821015401":{"id":"n1821015401","loc":[-85.5724254,42.0073508]},"n1821015403":{"id":"n1821015403","loc":[-85.5486812,42.0143442]},"n1821015404":{"id":"n1821015404","loc":[-85.5161835,42.0327711]},"n1821015406":{"id":"n1821015406","loc":[-85.5921705,41.9851107]},"n1821015407":{"id":"n1821015407","loc":[-85.531912,42.0234069]},"n1821015410":{"id":"n1821015410","loc":[-85.5292566,42.024176]},"n1821015411":{"id":"n1821015411","loc":[-85.5845316,41.9948315]},"n1821015413":{"id":"n1821015413","loc":[-85.5217947,42.0280413]},"n1821015414":{"id":"n1821015414","loc":[-85.5527367,42.013272]},"n1821015415":{"id":"n1821015415","loc":[-85.5191179,42.0321973]},"n1821015416":{"id":"n1821015416","loc":[-85.5540241,42.0128655]},"n1821015418":{"id":"n1821015418","loc":[-85.5272892,42.0254849]},"n1821015419":{"id":"n1821015419","loc":[-85.5449744,42.016867]},"n1821015420":{"id":"n1821015420","loc":[-85.5852665,41.9986787]},"n1821015421":{"id":"n1821015421","loc":[-85.6102701,41.972186]},"n1821015423":{"id":"n1821015423","loc":[-85.6026365,41.9764972]},"n1821015427":{"id":"n1821015427","loc":[-85.5898692,41.9841498]},"n1821015429":{"id":"n1821015429","loc":[-85.5422546,42.0183855]},"n1821015430":{"id":"n1821015430","loc":[-85.5866505,41.9925549]},"n1821015431":{"id":"n1821015431","loc":[-85.5234376,42.0273577]},"n1821015432":{"id":"n1821015432","loc":[-85.6096746,41.9727284]},"n1821015433":{"id":"n1821015433","loc":[-85.5824891,42.0021567]},"n1821015434":{"id":"n1821015434","loc":[-85.5923905,41.9841139]},"n1821015435":{"id":"n1821015435","loc":[-85.5874565,41.9948014]},"n1821015437":{"id":"n1821015437","loc":[-85.6055279,41.9734423]},"n1821015438":{"id":"n1821015438","loc":[-85.5299379,42.0237376]},"n1821015439":{"id":"n1821015439","loc":[-85.5155022,42.0383651]},"n1821015442":{"id":"n1821015442","loc":[-85.527422,42.0254711]},"n1821015443":{"id":"n1821015443","loc":[-85.5920699,41.9849291]},"n1821015444":{"id":"n1821015444","loc":[-85.5639711,42.0077494]},"n1821015445":{"id":"n1821015445","loc":[-85.5162586,42.0361777]},"n1821015446":{"id":"n1821015446","loc":[-85.5220039,42.029695]},"n1821015448":{"id":"n1821015448","loc":[-85.5176641,42.0356956]},"n1821015449":{"id":"n1821015449","loc":[-85.5930556,41.9841577]},"n1821015451":{"id":"n1821015451","loc":[-85.5320783,42.0228848]},"n1821015452":{"id":"n1821015452","loc":[-85.5170096,42.0357235]},"n1821015453":{"id":"n1821015453","loc":[-85.5571355,42.009613]},"n1821015454":{"id":"n1821015454","loc":[-85.5609979,42.009059]},"n1821015455":{"id":"n1821015455","loc":[-85.6097336,41.9708342]},"n1821015456":{"id":"n1821015456","loc":[-85.5884476,41.9904218]},"w170843846":{"id":"w170843846","tags":{"waterway":"river"},"nodes":["n1819790555","n1819790762","n1819790547","n1819790618","n1819790898","n1819790796","n1819790534","n1819790543","n1819790541","n1819790687","n1819790877","n1819790811","n1819790670"]},"w209083541":{"id":"w209083541","tags":{"name":"Portage River","waterway":"river"},"nodes":["n1821014848","n1821015156","n1821015439","n1821014763","n1821014824","n1821015274","n1821014764","n1821014791","n1821014957","n1821015217","n1821015445","n1821015347","n1821014893","n1821015452","n1821015017","n1821015448","n1821014968","n1821015329","n1821015321","n1821014992","n1821014948","n1821014757","n1821014983","n1821015312","n1821015363","n1821014924","n1821014873","n1821014932","n1821014668","n1821015404","n1821014716","n1821015243","n1821015265","n1821014710","n1821015371","n1821015415","n1821014870","n1821015356","n1821015373","n1821014681","n1821014714","n1821015385","n1821014911","n1821015057","n1821014867","n1821014998","n1821015142","n1821015234","n1821015446","n1821014862","n1821015369","n1821014945","n1821015003","n1821014667","n1821015413","n1821015256","n1821015327","n1821015160","n1821014907","n1821015431","n1821015172","n1821015034","n1821014741","n1821015033","n1821015239","n1821015007","n1821015316","n1821015285","n1821014633","n1821015263","n1821015069","n1821014846","n1821014779","n1821015011","n1821015012","n1821014845","n1821015418","n1821015442","n1821015266","n1821015336","n1821014755","n1821015188","n1821014925","n1821014816","n1821014869","n1821014967","n1821015286","n1821015147","n1821015410","n1821015126","n1821015438","n1821015018","n1821015354","n1821015337","n1821014766","n1821014740","n1821015228","n1821015173","n1821015407","n1821015076","n1821015451","n1821015024","n1821015314","n1821014784","n1821015045","n1821014735","n1821015205","n1821014986","n1821015240","n1821015098","n1821014825","n1821015302","n1821014918","n1821014718","n1821014896","n1821014853","n1821015194","n1821015165","n1821015213","n1821014991","n1821015350","n1821015333","n1821015332","n1821015361","n1821015060","n1821014914","n1821015375","n1821015315","n1821015307","n1821014906","n1821014751","n1821014666","n1821015218","n1821014817","n1821015118","n1821014674","n1821015038","n1821014973","n1821015429","n1821015183","n1821015046","n1821014803","n1821015140","n1821015009","n1821014749","n1821015335","n1821014711","n1821014854","n1821015278","n1821015419","n1821014648","n1821015357","n1821014637","n1821014988","n1821015322","n1821015387","n1821015042","n1821014833","n1821015396","n1821015326","n1821014691","n1821015149","n1821015204","n1821015122","n1821014782","n1821014982","n1821014921","n1821014936","n1821014969","n1821014881","n1821015403","n1821014805","n1821015395","n1821014892","n1821014826","n1821014844","n1821015107","n1821015014","n1821014955","n1821015352","n1821015414","n1821014746","n1821015209","n1821014770","n1821015416","n1821014661","n1821014857","n1821014814","n1821014754","n1821014721","n1821014727","n1821015362","n1821015029","n1821015246","n1821015189","n1821014627","n1821015269","n1821014808","n1821014962","n1821015349","n1821015041","n1821014722","n1821015330","n1821015453","n1821015067","n1821014643","n1821014802","n1821015383","n1821015151","n1821015250","n1821015245","n1821014772","n1821014899","n1821015222","n1821015121","n1821014951","n1821015176","n1821015219","n1821015454","n1821014972","n1821014917","n1821015182","n1821015166","n1821015145","n1821014910","n1821015082","n1821014678","n1821014806","n1821015141","n1821015341","n1821014788","n1821015097","n1821014995","n1821015444","n1821015346","n1821015101","n1821015129","n1821015123","n1821015132","n1821015190","n1821015146","n1821015325","n1821015191","n1821015072","n1821015100","n1821015174","n1821015238","n1821015215","n1821014700","n1821015242","n1821014841","n1821014905","n1821014874","n1821014883","n1821014729","n1821014866","n1821014828","n1821015295","n1821014931","n1821014859","n1821014912","n1821014783","n1821014752","n1821014961","n1821015366","n1821015401","n1821015169","n1821015318","n1821014996","n1821014747","n1821014963","n1821014670","n1821015186","n1821015231","n1821015157","n1821014812","n1821015381","n1821014887","n1821015138","n1821014704","n1821014787","n1821014922","n1821015290","n1821015343","n1821014651","n1821014980","n1821014960","n1821015244","n1821015236","n1821015006","n1821014694","n1821014759","n1821015207","n1821015276","n1821015065","n1821014863","n1821014660","n1821014902","n1821014645","n1821015339","n1821014871","n1821015096","n1821015299","n1821014798","n1821014638","n1821015392","n1821014835","n1821014762","n1821014642","n1821015433","n1821014786","n1821015134","n1821014855","n1821015184","n1821014850","n1821015293","n1821015233","n1821015227","n1821014876","n1821014985","n1821014843","n1821015420","n1821015197","n1821015192","n1821015292","n1821015344","n1821014742","n1821014726","n1821015237","n1821014796","n1821014908","n1821014975","n1821014769","n1821014688","n1821014860","n1821014895","n1821014676","n1821015411","n1821014736","n1821015164","n1821014647","n1821015144","n1821014919","n1821015220","n1821015254","n1821015435","n1821015308","n1821015342","n1821014830","n1821015273","n1821014658","n1821014781","n1821015087","n1821015139","n1821015304","n1821014839","n1821015048","n1821015115","n1821015355","n1821015226","n1821015177","n1821015430","n1821014965","n1821014725","n1821015365","n1821015171","n1821015073","n1821015125","n1821015338","n1821015111","n1821014950","n1821015378","n1821015258","n1821015456","n1821015106","n1821014832","n1821014888","n1821014795","n1821014872","n1821014810","n1821014705","n1821014804","n1821014820","n1821015283","n1821014938","n1821014689","n1821015259","n1821015334","n1821015348","n1821014635","n1821015179","n1821014864","n1821014890","n1821015020","n1821014898","n1821015287","n1821015120","n1821014984","n1821014743","n1821014790","n1821014765","n1821014777","n1821015095","n1821014653","n1821015135","n1821014836","n1821014964","n1821014974","n1821014636","n1821014682","n1821014663","n1821014665","n1821015109","n1821015155","n1821014930","n1821014669","n1821015004","n1821015427","n1821014916","n1821015093","n1821015086","n1821015386","n1821014799","n1821014913","n1821015434","n1821014728","n1821014900","n1821015068","n1821015039","n1821015443","n1821015406","n1821015280","n1821015319","n1821015368","n1821014774","n1821015090","n1821015175","n1821015195","n1821014687","n1821015359","n1821015449","n1821014956","n1821014838","n1821014768","n1821014698","n1821015323","n1821014756","n1821015255","n1821015400","n1821014717","n1821014868","n1821014778","n1821015214","n1821014944","n1821014697","n1821014671","n1821014928","n1821015294","n1821014822","n1821015284","n1821015351","n1821015022","n1821015133","n1821014644","n1821015010","n1821014625","n1821014657","n1821014946","n1821015099","n1821015114","n1821014629","n1821014865","n1821014997","n1821014926","n1821014933","n1821015199","n1821014819","n1821015080","n1821014692","n1821014677","n1821015358","n1821015367","n1821015360","n1821015105","n1821015247","n1821015005","n1821014809","n1821014794","n1821014761","n1821014879","n1821014801","n1821015377","n1821015059","n1821014730","n1821015050","n1821015271","n1821015143","n1821014989","n1821015019","n1821014672","n1821014649","n1821014684","n1821014703","n1821015021","n1821015382","n1821014842","n1821014720","n1821014847","n1821015104","n1821014987","n1821014886","n1821015267","n1821015221","n1821015015","n1821015423","n1821014954","n1821014903","n1821014939","n1821015212","n1821014789","n1821014712","n1821014708","n1821015078","n1821015277","n1821015249","n1821014646","n1821014793","n1821015053","n1821014707","n1821015306","n1821015112","n1821015288","n1821015380","n1821015437","n1821015178","n1821015158","n1821015272","n1821015235","n1821015163","n1821015154","n1821015253","n1821014632","n1821015372","n1821015103","n1821015311","n1821015301","n1821014885","n1821014811","n1821014977","n1821015051","n1821014942","n1821014745","n1821015432","n1821015075","n1821014664","n1821014695","n1821015116","n1821014639","n1821015421","n1821015248","n1821014758","n1821014834","n1821015083","n1821015455","n1821015241","n1821015108","n1821014713","n1821015137","n1821015055","n1821015211","n1821014904","n1821015376","n1821015398","n1821014771","n1821014840","n1821015062","n1819790554","n1819790560","n1819790767","n1819790696","n1819790706","n1819790606","n1819790607","n1819790544","n1819790779","n1819790760","n1819790926","n1819790927","n1819790647","n1819790657","n1819790649","n1819790679","n1819790915","n1819790739","n1819790549","n1819790671","n1819790686","n1819790798","n1819790791","n1819790563","n1819790720","n1819790704","n1819790795","n1819790836","n1819790622","n1819790615","n1819790654","n1819790931","n1819790595","n1819790753","n1819790612","n1819790623","n1819790564","n1819790552","n1819790645","n1819790625","n1819790605","n1819790668","n1819790731","n1819790718","n1819790781","n1819790665","n1819790659","n1819790726","n1819790642","n1819790854","n1819790697","n1819790867","n1819790833","n1819790555","n1819790774","n1819790881","n1819790530","n1819790909","n1819790891","n1819790590","n1819790738","n1819790609","n1819790528","n1819790674","n1819790583","n1819790559","n1819790863","n1819790912","n1819790685","n1819790913"]},"n185955128":{"id":"n185955128","loc":[-85.6189367,41.9519432]},"n185948818":{"id":"n185948818","loc":[-85.616755,41.952231]},"n185978819":{"id":"n185978819","loc":[-85.616773,41.954737]},"n185978821":{"id":"n185978821","loc":[-85.616699,41.954742]},"n2138420714":{"id":"n2138420714","loc":[-85.6176304,41.9515154]},"n2138420715":{"id":"n2138420715","loc":[-85.6177355,41.9515717]},"n2138420716":{"id":"n2138420716","loc":[-85.6192901,41.951573]},"n2138420718":{"id":"n2138420718","loc":[-85.6171481,41.9513579]},"n2138420719":{"id":"n2138420719","loc":[-85.6165981,41.9519199]},"n2138420720":{"id":"n2138420720","loc":[-85.6165719,41.9519922]},"n2138420721":{"id":"n2138420721","loc":[-85.6165832,41.9520757]},"n2138420722":{"id":"n2138420722","loc":[-85.6166355,41.9521453]},"n2138420723":{"id":"n2138420723","loc":[-85.6169161,41.9522788]},"n2138420724":{"id":"n2138420724","loc":[-85.6170882,41.9522538]},"n2138420725":{"id":"n2138420725","loc":[-85.6189204,41.9514674]},"n2138420726":{"id":"n2138420726","loc":[-85.6180346,41.9514735]},"n2138420727":{"id":"n2138420727","loc":[-85.6180362,41.9515719]},"n2138420728":{"id":"n2138420728","loc":[-85.6189204,41.9515727]},"n2138420744":{"id":"n2138420744","loc":[-85.618919,41.9519571]},"n2138420745":{"id":"n2138420745","loc":[-85.6194575,41.9522374]},"n2138420746":{"id":"n2138420746","loc":[-85.6181777,41.9536179]},"n2138420747":{"id":"n2138420747","loc":[-85.6176582,41.9533658]},"n2138420748":{"id":"n2138420748","loc":[-85.6179871,41.9530242]},"n2138420749":{"id":"n2138420749","loc":[-85.618429,41.9532476]},"n2138420750":{"id":"n2138420750","loc":[-85.6185538,41.9531194]},"n2138420751":{"id":"n2138420751","loc":[-85.6180765,41.9528677]},"n2138420752":{"id":"n2138420752","loc":[-85.6180394,41.9528855]},"n2138420753":{"id":"n2138420753","loc":[-85.6193752,41.9521695]},"n2138420754":{"id":"n2138420754","loc":[-85.6181374,41.9535376]},"n2138420755":{"id":"n2138420755","loc":[-85.6179898,41.9535545]},"n2138420756":{"id":"n2138420756","loc":[-85.6177286,41.9534228]},"n2138420757":{"id":"n2138420757","loc":[-85.6181011,41.9530292]},"n2138420759":{"id":"n2138420759","loc":[-85.6185158,41.9531194]},"n2138420760":{"id":"n2138420760","loc":[-85.6191318,41.9520425]},"n2138420761":{"id":"n2138420761","loc":[-85.6182348,41.9529815]},"n2138420762":{"id":"n2138420762","loc":[-85.6184853,41.9524248]},"n2138420763":{"id":"n2138420763","loc":[-85.6186764,41.9525193]},"n2138420764":{"id":"n2138420764","loc":[-85.6189421,41.9526483]},"n2138420765":{"id":"n2138420765","loc":[-85.6182875,41.9531222]},"n2138420766":{"id":"n2138420766","loc":[-85.6179141,41.9535163]},"n2138420767":{"id":"n2138420767","loc":[-85.6178363,41.9535735]},"n185948824":{"id":"n185948824","loc":[-85.6165667,41.9529715]},"n2138420758":{"id":"n2138420758","loc":[-85.6184408,41.953201]},"n2138422349":{"id":"n2138422349","loc":[-85.6175136,41.9533346]},"n2138422350":{"id":"n2138422350","loc":[-85.6171867,41.9531679]},"n2138422351":{"id":"n2138422351","loc":[-85.61722,41.9531305]},"n2138422352":{"id":"n2138422352","loc":[-85.6171889,41.9531158]},"n2138422353":{"id":"n2138422353","loc":[-85.6171733,41.9531284]},"n2138422354":{"id":"n2138422354","loc":[-85.616765,41.9529207]},"n2138422355":{"id":"n2138422355","loc":[-85.6167565,41.9529355]},"n2138422356":{"id":"n2138422356","loc":[-85.6164772,41.9527911]},"n2138422357":{"id":"n2138422357","loc":[-85.6168227,41.9524261]},"n2138422358":{"id":"n2138422358","loc":[-85.6171913,41.9526158]},"n2138422359":{"id":"n2138422359","loc":[-85.6172403,41.9525589]},"n2138422360":{"id":"n2138422360","loc":[-85.6172097,41.952542]},"n2138422361":{"id":"n2138422361","loc":[-85.6173948,41.9523512]},"n2138422362":{"id":"n2138422362","loc":[-85.6174256,41.9523678]},"n2138422363":{"id":"n2138422363","loc":[-85.6174831,41.9523086]},"n2138422364":{"id":"n2138422364","loc":[-85.6173316,41.9522289]},"n2138422365":{"id":"n2138422365","loc":[-85.6174507,41.9521024]},"n2138422366":{"id":"n2138422366","loc":[-85.6174773,41.9521155]},"n2138422367":{"id":"n2138422367","loc":[-85.6176577,41.9519232]},"n2138422368":{"id":"n2138422368","loc":[-85.6176336,41.9519105]},"n2138422369":{"id":"n2138422369","loc":[-85.617747,41.9517861]},"n2138422370":{"id":"n2138422370","loc":[-85.6182675,41.9520559]},"n2138422371":{"id":"n2138422371","loc":[-85.6182105,41.9521219]},"n2138422372":{"id":"n2138422372","loc":[-85.6183863,41.9522203]},"n2138422373":{"id":"n2138422373","loc":[-85.6180984,41.9525266]},"n2138422374":{"id":"n2138422374","loc":[-85.6179159,41.9524295]},"n2138422375":{"id":"n2138422375","loc":[-85.617854,41.9524979]},"n2138422376":{"id":"n2138422376","loc":[-85.6177686,41.9524531]},"n2138422377":{"id":"n2138422377","loc":[-85.6174716,41.9527765]},"n2138422378":{"id":"n2138422378","loc":[-85.6178545,41.9529756]},"n2138425424":{"id":"n2138425424","loc":[-85.6171736,41.9536385]},"n2138425425":{"id":"n2138425425","loc":[-85.6180159,41.9535782]},"n2138425426":{"id":"n2138425426","loc":[-85.6181068,41.9536282]},"n2138425427":{"id":"n2138425427","loc":[-85.6180673,41.9542678]},"n2138425428":{"id":"n2138425428","loc":[-85.6178636,41.9542634]},"n2138425429":{"id":"n2138425429","loc":[-85.6176204,41.9542046]},"n2138425430":{"id":"n2138425430","loc":[-85.6174366,41.9541031]},"n2138425431":{"id":"n2138425431","loc":[-85.6172942,41.9539781]},"n2138425432":{"id":"n2138425432","loc":[-85.6172171,41.9538399]},"n2138425433":{"id":"n2138425433","loc":[-85.6168138,41.9543266]},"n2138425434":{"id":"n2138425434","loc":[-85.6167779,41.9538098]},"n2138425435":{"id":"n2138425435","loc":[-85.6165849,41.9537073]},"n2138425441":{"id":"n2138425441","loc":[-85.616458,41.9543184]},"n2138425442":{"id":"n2138425442","loc":[-85.6166428,41.954345]},"n2138425445":{"id":"n2138425445","loc":[-85.6181332,41.9514117]},"n2138425446":{"id":"n2138425446","loc":[-85.6183263,41.9514111]},"n2138425447":{"id":"n2138425447","loc":[-85.6185033,41.9514102]},"n2138425449":{"id":"n2138425449","loc":[-85.6186809,41.9514093]},"n2138425451":{"id":"n2138425451","loc":[-85.6188681,41.9514082]},"n2138436008":{"id":"n2138436008","loc":[-85.6170474,41.9513604]},"n2138436009":{"id":"n2138436009","loc":[-85.6164937,41.9519586]},"n2138436010":{"id":"n2138436010","loc":[-85.616497,41.9520725]},"n2138436011":{"id":"n2138436011","loc":[-85.6165654,41.9521645]},"n2138436012":{"id":"n2138436012","loc":[-85.6166631,41.9522178]},"n2138436013":{"id":"n2138436013","loc":[-85.6167327,41.9522554]},"n2138436014":{"id":"n2138436014","loc":[-85.6172383,41.9525125]},"n2138439319":{"id":"n2138439319","loc":[-85.6170432,41.9524057]},"n2138439320":{"id":"n2138439320","loc":[-85.617691,41.9517107]},"n2138439321":{"id":"n2138439321","loc":[-85.6177727,41.9516794]},"n2138439322":{"id":"n2138439322","loc":[-85.619085,41.9516811]},"n2138439323":{"id":"n2138439323","loc":[-85.6179432,41.952895]},"n2138439324":{"id":"n2138439324","loc":[-85.6180389,41.9529384]},"n2138439325":{"id":"n2138439325","loc":[-85.6176303,41.9533604]},"n2138439326":{"id":"n2138439326","loc":[-85.6175538,41.9534396]},"n2138439327":{"id":"n2138439327","loc":[-85.6173806,41.9523658]},"n2138439328":{"id":"n2138439328","loc":[-85.6171841,41.9522542]},"n2138439329":{"id":"n2138439329","loc":[-85.6172077,41.9524958]},"n2138439330":{"id":"n2138439330","loc":[-85.6171235,41.9525809]},"n2138439331":{"id":"n2138439331","loc":[-85.6180938,41.9527349]},"n2138439332":{"id":"n2138439332","loc":[-85.6177023,41.9525253]},"n2138439333":{"id":"n2138439333","loc":[-85.6175543,41.9526865]},"n2138439334":{"id":"n2138439334","loc":[-85.6179589,41.9528783]},"n185948820":{"id":"n185948820","loc":[-85.6163249,41.952701]},"n185948822":{"id":"n185948822","loc":[-85.6163757,41.952855]},"n185955123":{"id":"n185955123","loc":[-85.6198103,41.9510408]},"n185958839":{"id":"n185958839","loc":[-85.611651,41.954761]},"n185965033":{"id":"n185965033","loc":[-85.614195,41.954754]},"n185976502":{"id":"n185976502","loc":[-85.617375,41.947559]},"n185976504":{"id":"n185976504","loc":[-85.6174164,41.9510804]},"n185978828":{"id":"n185978828","loc":[-85.613542,41.954756]},"n185978830":{"id":"n185978830","loc":[-85.610373,41.954774]},"n2138420713":{"id":"n2138420713","loc":[-85.6174641,41.9506942]},"n2138420717":{"id":"n2138420717","loc":[-85.6173027,41.9512895]},"n2138420768":{"id":"n2138420768","loc":[-85.61745,41.9501974]},"n2138420773":{"id":"n2138420773","loc":[-85.6174135,41.9489136]},"n2138425436":{"id":"n2138425436","loc":[-85.6159148,41.9538036]},"n2138425437":{"id":"n2138425437","loc":[-85.6159534,41.9539677]},"n2138425438":{"id":"n2138425438","loc":[-85.6160306,41.9540846]},"n2138425439":{"id":"n2138425439","loc":[-85.6161354,41.954181]},"n2138425440":{"id":"n2138425440","loc":[-85.6162733,41.954263]},"n2138425443":{"id":"n2138425443","loc":[-85.6183273,41.9510826]},"n2138425444":{"id":"n2138425444","loc":[-85.6181354,41.9510835]},"n2138425448":{"id":"n2138425448","loc":[-85.6185033,41.9510816]},"n2138425450":{"id":"n2138425450","loc":[-85.6186816,41.9510808]},"n2138425452":{"id":"n2138425452","loc":[-85.6188641,41.9510818]},"n2138435984":{"id":"n2138435984","loc":[-85.6167607,41.9501009]},"n2138436000":{"id":"n2138436000","loc":[-85.6173169,41.947558]},"n2138436001":{"id":"n2138436001","loc":[-85.6173362,41.948883]},"n2138436002":{"id":"n2138436002","loc":[-85.6167791,41.9492952]},"n2138436003":{"id":"n2138436003","loc":[-85.6167543,41.949349]},"n2138436004":{"id":"n2138436004","loc":[-85.6167648,41.9509125]},"n2138436005":{"id":"n2138436005","loc":[-85.6168832,41.9510412]},"n2138436006":{"id":"n2138436006","loc":[-85.6170045,41.9511417]},"n2138436007":{"id":"n2138436007","loc":[-85.6170624,41.9512483]},"n2138436017":{"id":"n2138436017","loc":[-85.6168094,41.9492729]},"n2138436021":{"id":"n2138436021","loc":[-85.6167553,41.9494886]},"n2138436023":{"id":"n2138436023","loc":[-85.6167585,41.9499707]},"n2138436025":{"id":"n2138436025","loc":[-85.6167567,41.9497018]},"w203838284":{"id":"w203838284","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425424","n2138425425","n2138425426","n2138425427","n2138425428","n2138425429","n2138425430","n2138425431","n2138425432","n2138425424"]},"w203837928":{"id":"w203837928","tags":{"highway":"service"},"nodes":["n2138420717","n2138420718","n2138420719","n2138420720","n2138420721","n2138420722","n185948818","n2138420723","n2138420724","n2138420715"]},"w203839364":{"id":"w203839364","tags":{"highway":"footway"},"nodes":["n2138439331","n2138439332"]},"w203837932":{"id":"w203837932","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420744","n2138420745","n2138420746","n2138420747","n2138420748","n2138420749","n2138420750","n2138420751","n2138420744"]},"w203839362":{"id":"w203839362","tags":{"highway":"footway"},"nodes":["n2138439327","n2138439328"]},"w203839363":{"id":"w203839363","tags":{"highway":"footway"},"nodes":["n2138439329","n2138439330"]},"w203837933":{"id":"w203837933","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n185955128","n2138420760","n2138420753","n2138420764","n2138420759","n2138420758","n2138420754","n2138420755","n2138420766","n2138420756"]},"w203837936":{"id":"w203837936","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420765","n2138420766"]},"w17966364":{"id":"w17966364","tags":{"access":"private","highway":"service","name":"Collins Dr"},"nodes":["n185961362","n185976502","n2138420773","n2138420768","n2138420713","n185976504","n2138420717","n2138420714","n2138420715","n2138420727","n2138420728","n2138420716"]},"w203838040":{"id":"w203838040","tags":{"amenity":"school","area":"yes","building":"yes","name":"Three Rivers Middle School"},"nodes":["n2138422349","n2138422350","n2138422351","n2138422352","n2138422353","n2138422354","n2138422355","n2138422356","n2138422357","n2138439330","n2138422358","n2138422359","n2138422360","n2138436014","n2138439327","n2138422361","n2138422362","n2138422363","n2138422364","n2138422365","n2138422366","n2138422367","n2138422368","n2138422369","n2138422370","n2138422371","n2138422372","n2138422373","n2138422374","n2138422375","n2138422376","n2138439332","n2138439333","n2138422377","n2138422378","n2138422349"]},"w17964049":{"id":"w17964049","tags":{"highway":"service"},"nodes":["n185955120","n185955123","n2138420716","n185955128","n2138420762","n2138420752","n2138420761","n2138420759"]},"w41074899":{"id":"w41074899","tags":{"highway":"secondary","name":"E Hoffman St","ref":"M 60"},"nodes":["n185978817","n185978819","n185978821","n185965033","n185978828","n185958839","n185978830"]},"w203839365":{"id":"w203839365","tags":{"highway":"footway"},"nodes":["n2138439333","n2138439334"]},"w203837935":{"id":"w203837935","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420762","n2138420763","n2138420764"]},"w203838287":{"id":"w203838287","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425446","n2138425447","n2138425448","n2138425443","n2138425446"]},"w203837934":{"id":"w203837934","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420760","n2138420763","n2138420761"]},"w203838289":{"id":"w203838289","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425449","n2138425451","n2138425452","n2138425450","n2138425449"]},"w17963047":{"id":"w17963047","tags":{"highway":"service"},"nodes":["n185948818","n2138436013","n185948820","n185948822","n185948824","n2138439326","n2138420767","n2138420766"]},"w203839091":{"id":"w203839091","tags":{"highway":"footway"},"nodes":["n185976502","n2138436000","n2138436001","n2138436017","n2138436002","n2138436003","n2138436021","n2138436025","n2138436023","n2138435984","n2138436004","n2138436005","n2138436006","n2138436007","n2138436008","n2138436009","n2138436010","n2138436011","n2138436012","n2138436013","n2138439319","n2138439329","n2138436014"]},"w204830797":{"id":"w204830797","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420756","n2138420757","n2138420765","n2138420758"]},"w203838288":{"id":"w203838288","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425447","n2138425449","n2138425450","n2138425448","n2138425447"]},"w203838285":{"id":"w203838285","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425433","n2138425434","n2138425435","n2138425436","n2138425437","n2138425438","n2138425439","n2138425440","n2138425441","n2138425442","n2138425433"]},"w203838286":{"id":"w203838286","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425443","n2138425444","n2138425445","n2138425446","n2138425443"]},"w203837929":{"id":"w203837929","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420725","n2138420726","n2138420727","n2138420728","n2138420725"]},"w203839361":{"id":"w203839361","tags":{"highway":"footway"},"nodes":["n2138439319","n2138439328","n2138439320","n2138439321","n2138439322","n2138439331","n2138439334","n2138439323","n2138439324","n2138439325","n2138439326"]},"n394381698":{"id":"n394381698","loc":[-85.614471,41.954755]},"n394381699":{"id":"n394381699","loc":[-85.6152,41.954744]},"n394381700":{"id":"n394381700","loc":[-85.615201,41.954081]},"n394381701":{"id":"n394381701","loc":[-85.614426,41.954042]},"n394381702":{"id":"n394381702","loc":[-85.616319,41.954749]},"n394381704":{"id":"n394381704","loc":[-85.616152,41.954752]},"n394381706":{"id":"n394381706","loc":[-85.615201,41.95483]},"n394490775":{"id":"n394490775","loc":[-85.613971,41.954839]},"n394490782":{"id":"n394490782","loc":[-85.614372,41.954841]},"n185958835":{"id":"n185958835","loc":[-85.611615,41.953704]},"n185958837":{"id":"n185958837","loc":[-85.611636,41.953938]},"n185958842":{"id":"n185958842","loc":[-85.611187,41.951686]},"n185958844":{"id":"n185958844","loc":[-85.611087,41.951741]},"n185958845":{"id":"n185958845","loc":[-85.611034,41.951852]},"n185958847":{"id":"n185958847","loc":[-85.611016,41.95196]},"n185958849":{"id":"n185958849","loc":[-85.610989,41.95328]},"n185958851":{"id":"n185958851","loc":[-85.611021,41.953484]},"n185958852":{"id":"n185958852","loc":[-85.611091,41.953603]},"n185958853":{"id":"n185958853","loc":[-85.6112,41.953661]},"n185958855":{"id":"n185958855","loc":[-85.611364,41.953686]},"n185965031":{"id":"n185965031","loc":[-85.614204,41.953696]},"n185965032":{"id":"n185965032","loc":[-85.6142,41.953978]},"n185965062":{"id":"n185965062","loc":[-85.614617,41.951639]},"n185965064":{"id":"n185965064","loc":[-85.61463,41.951852]},"n185965066":{"id":"n185965066","loc":[-85.614642,41.953436]},"n185965068":{"id":"n185965068","loc":[-85.6146,41.953551]},"n185965071":{"id":"n185965071","loc":[-85.614487,41.95363]},"n185965073":{"id":"n185965073","loc":[-85.614354,41.953672]},"n185966288":{"id":"n185966288","loc":[-85.61179,41.953695]},"n185966290":{"id":"n185966290","loc":[-85.612232,41.953685]},"n185966293":{"id":"n185966293","loc":[-85.613438,41.953677]},"n185966349":{"id":"n185966349","loc":[-85.611323,41.951653]},"n185966351":{"id":"n185966351","loc":[-85.611892,41.951642]},"n185966352":{"id":"n185966352","loc":[-85.612216,41.951641]},"n185966353":{"id":"n185966353","loc":[-85.613111,41.951639]},"n185966354":{"id":"n185966354","loc":[-85.613396,41.95164]},"n185966355":{"id":"n185966355","loc":[-85.614221,41.95164]},"n185973839":{"id":"n185973839","loc":[-85.61341,41.951919]},"n185973840":{"id":"n185973840","loc":[-85.613438,41.953308]},"n185980222":{"id":"n185980222","loc":[-85.613781,41.955164]},"n185980223":{"id":"n185980223","loc":[-85.613815,41.955237]},"n185980225":{"id":"n185980225","loc":[-85.613837,41.955316]},"n185990345":{"id":"n185990345","loc":[-85.612211,41.951977]},"n185955743":{"id":"n185955743","loc":[-85.613873,41.95635]},"n185980227":{"id":"n185980227","loc":[-85.613851,41.955415]},"n185980229":{"id":"n185980229","loc":[-85.613918,41.957134]},"n394381703":{"id":"n394381703","loc":[-85.616287,41.955674]},"n394381705":{"id":"n394381705","loc":[-85.615164,41.955676]},"n394490777":{"id":"n394490777","loc":[-85.613973,41.955979]},"n394490780":{"id":"n394490780","loc":[-85.614364,41.955987]},"w17965307":{"id":"w17965307","tags":{"highway":"residential","name":"Bates Ave"},"nodes":["n185958842","n185966349","n185966351","n185966352","n185966353","n185966354","n185966355","n185965062"]},"w17967957":{"id":"w17967957","tags":{"highway":"residential","name":"Krum Ave"},"nodes":["n185966352","n185990345","n185966290"]},"w17964508":{"id":"w17964508","tags":{"highway":"residential","name":"Blossom Dr"},"nodes":["n185958842","n185958844","n185958845","n185958847","n185958849","n185958851","n185958852","n185958853","n185958855","n185958835"]},"w17964507":{"id":"w17964507","tags":{"highway":"residential","name":"Blossom Dr"},"nodes":["n185958835","n185958837","n185958839"]},"w34367080":{"id":"w34367080","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394381699","n394381706","n394381705","n394381703","n394381702","n394381704","n394381699"]},"w17965302":{"id":"w17965302","tags":{"highway":"residential","name":"Clausen Ave"},"nodes":["n185958835","n185966288","n185966290","n185966293","n185965031"]},"w17965156":{"id":"w17965156","tags":{"highway":"residential","name":"Orchard Dr"},"nodes":["n185965062","n185965064","n185965066","n185965068","n185965071","n185965073","n185965031"]},"w34369812":{"id":"w34369812","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394490775","n394490777","n394490780","n394490782","n394490775"]},"w17965151":{"id":"w17965151","tags":{"highway":"residential","name":"Orchard Dr"},"nodes":["n185965031","n185965032","n185965033"]},"w17966756":{"id":"w17966756","tags":{"access":"private","highway":"service","name":"Lockport Dr"},"nodes":["n185978828","n185980222","n185980223","n185980225","n185980227","n185955743","n185980229"]},"w17966056":{"id":"w17966056","tags":{"highway":"residential","name":"Angell Ave"},"nodes":["n185966354","n185973839","n185973840","n185966293"]},"w34367079":{"id":"w34367079","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394381700","n394381701","n394381698","n394381699","n394381700"]},"n185955744":{"id":"n185955744","loc":[-85.611753,41.956208]},"n185988932":{"id":"n185988932","loc":[-85.6159,41.956336]},"n185988934":{"id":"n185988934","loc":[-85.6159158,41.9590646]},"n185988935":{"id":"n185988935","loc":[-85.6157358,41.959364],"tags":{"highway":"turning_circle"}},"n2138447007":{"id":"n2138447007","loc":[-85.6130784,41.9590689]},"n2138447008":{"id":"n2138447008","loc":[-85.6133328,41.9593805]},"n2138447003":{"id":"n2138447003","loc":[-85.610238,41.9547745]},"n2138447004":{"id":"n2138447004","loc":[-85.6102652,41.9566041]},"n2138447005":{"id":"n2138447005","loc":[-85.610325,41.9568823]},"n2138447006":{"id":"n2138447006","loc":[-85.6105644,41.9571383]},"n2138447009":{"id":"n2138447009","loc":[-85.6135946,41.959948]},"n2138447010":{"id":"n2138447010","loc":[-85.6136071,41.9629372]},"n2138447011":{"id":"n2138447011","loc":[-85.6134392,41.9633182]},"n2138447012":{"id":"n2138447012","loc":[-85.6130151,41.9636073]},"n2138447013":{"id":"n2138447013","loc":[-85.6122729,41.9637125]},"n2138447014":{"id":"n2138447014","loc":[-85.6056682,41.963752]},"w17964174":{"id":"w17964174","tags":{"access":"private","highway":"service"},"nodes":["n185955743","n185955744"]},"w17967743":{"id":"w17967743","tags":{"access":"private","highway":"service","name":"Manistee River Rd"},"nodes":["n185971574","n185988932","n185971407","n185981301","n185967987","n185988934","n185988935"]},"w203839666":{"id":"w203839666","tags":{"highway":"residential","name":"Hov Aire Drive"},"nodes":["n2138447003","n2138447004","n2138447005","n2138447006","n2138447007","n2138447008","n2138447009","n2138447010","n2138447011","n2138447012","n2138447013","n2138447014"]}}';iD.data = {"deprecated":[{"old":{"amenity":"firepit"},"replace":{"leisure":"firepit"}},{"old":{"barrier":"wire_fence"},"replace":{"barrier":"fence","fence_type":"chain"}},{"old":{"barrier":"wood_fence"},"replace":{"barrier":"fence","fence_type":"wood"}},{"old":{"highway":"ford"},"replace":{"ford":"yes"}},{"old":{"highway":"stile"},"replace":{"barrier":"stile"}},{"old":{"highway":"incline"},"replace":{"highway":"road","incline":"up"}},{"old":{"highway":"incline_steep"},"replace":{"highway":"road","incline":"up"}},{"old":{"highway":"unsurfaced"},"replace":{"highway":"road","incline":"unpaved"}},{"old":{"landuse":"wood"},"replace":{"landuse":"forest","natural":"wood"}},{"old":{"natural":"marsh"},"replace":{"natural":"wetland","wetland":"marsh"}},{"old":{"power_source":"*"},"replace":{"generator:source":"$1"}},{"old":{"power_rating":"*"},"replace":{"generator:output":"$1"}},{"old":{"shop":"organic"},"replace":{"shop":"supermarket","organic":"only"}}],"discarded":["created_by","odbl","odbl:note","tiger:upload_uuid","tiger:tlid","tiger:source","tiger:separated","geobase:datasetName","geobase:uuid","sub_sea:type","KSJ2:ADS","KSJ2:ARE","KSJ2:AdminArea","KSJ2:COP_label","KSJ2:DFD","KSJ2:INT","KSJ2:INT_label","KSJ2:LOC","KSJ2:LPN","KSJ2:OPC","KSJ2:PubFacAdmin","KSJ2:RAC","KSJ2:RAC_label","KSJ2:RIC","KSJ2:RIN","KSJ2:WSC","KSJ2:coordinate","KSJ2:curve_id","KSJ2:curve_type","KSJ2:filename","KSJ2:lake_id","KSJ2:lat","KSJ2:long","KSJ2:river_id","yh:LINE_NAME","yh:LINE_NUM","yh:STRUCTURE","yh:TOTYUMONO","yh:TYPE","yh:WIDTH","yh:WIDTH_RANK","SK53_bulk:load"],"wikipedia":[["Abkhazian","Аҧсшәа","ab"],["Achinese","Acèh","ace"],["Afrikaans","Afrikaans","af"],["Akan","Akan","ak"],["Alemannisch","Alemannisch","als"],["Amharic","አማርኛ","am"],["Aragonese","aragonés","an"],["Old English","Ænglisc","ang"],["Arabic","العربية","ar"],["Aramaic","ܐܪܡܝܐ","arc"],["Egyptian Arabic","مصرى","arz"],["Assamese","অসমীয়া","as"],["Asturian","asturianu","ast"],["Avaric","авар","av"],["Aymara","Aymar aru","ay"],["Azerbaijani","azərbaycanca","az"],["South Azerbaijani","تۆرکجه","azb"],["Bashkir","башҡортса","ba"],["Bavarian","Boarisch","bar"],["Samogitian","žemaitėška","bat-smg"],["Bikol Central","Bikol Central","bcl"],["Belarusian","беларуская","be"],["беларуская (тарашкевіца)","беларуская (тарашкевіца)","be-x-old"],["Bulgarian","български","bg"],["भोजपुरी","भोजपुरी","bh"],["Bislama","Bislama","bi"],["Banjar","Bahasa Banjar","bjn"],["Bambara","bamanankan","bm"],["Bengali","বাংলা","bn"],["Tibetan","བོད་ཡིག","bo"],["Bishnupriya","বিষ্ণুপ্রিয়া মণিপুরী","bpy"],["Breton","brezhoneg","br"],["Bosnian","bosanski","bs"],["Buginese","ᨅᨔ ᨕᨘᨁᨗ","bug"],["буряад","буряад","bxr"],["Catalan","català","ca"],["Chavacano de Zamboanga","Chavacano de Zamboanga","cbk-zam"],["Min Dong Chinese","Mìng-dĕ̤ng-ngṳ̄","cdo"],["Chechen","нохчийн","ce"],["Cebuano","Cebuano","ceb"],["Chamorro","Chamoru","ch"],["Cherokee","ᏣᎳᎩ","chr"],["Cheyenne","Tsetsêhestâhese","chy"],["Central Kurdish","کوردیی ناوەندی","ckb"],["Corsican","corsu","co"],["Cree","Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ","cr"],["Crimean Turkish","qırımtatarca","crh"],["Czech","čeština","cs"],["Kashubian","kaszëbsczi","csb"],["Church Slavic","словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ","cu"],["Chuvash","Чӑвашла","cv"],["Welsh","Cymraeg","cy"],["Danish","dansk","da"],["German","Deutsch","de"],["Zazaki","Zazaki","diq"],["Lower Sorbian","dolnoserbski","dsb"],["Divehi","ދިވެހިބަސް","dv"],["Dzongkha","ཇོང་ཁ","dz"],["Ewe","eʋegbe","ee"],["Greek","Ελληνικά","el"],["Emiliano-Romagnolo","emiliàn e rumagnòl","eml"],["English","English","en"],["Esperanto","Esperanto","eo"],["Spanish","español","es"],["Estonian","eesti","et"],["Basque","euskara","eu"],["Extremaduran","estremeñu","ext"],["Persian","فارسی","fa"],["Fulah","Fulfulde","ff"],["Finnish","suomi","fi"],["Võro","Võro","fiu-vro"],["Fijian","Na Vosa Vakaviti","fj"],["Faroese","føroyskt","fo"],["French","français","fr"],["Arpitan","arpetan","frp"],["Northern Frisian","Nordfriisk","frr"],["Friulian","furlan","fur"],["Western Frisian","Frysk","fy"],["Irish","Gaeilge","ga"],["Gagauz","Gagauz","gag"],["Gan Chinese","贛語","gan"],["Scottish Gaelic","Gàidhlig","gd"],["Galician","galego","gl"],["Gilaki","گیلکی","glk"],["Guarani","Avañe'ẽ","gn"],["Goan Konkani","गोवा कोंकणी / Gova Konknni","gom"],["Gothic","𐌲𐌿𐍄𐌹𐍃𐌺","got"],["Gujarati","ગુજરાતી","gu"],["Manx","Gaelg","gv"],["Hausa","Hausa","ha"],["Hakka Chinese","客家語/Hak-kâ-ngî","hak"],["Hawaiian","Hawai`i","haw"],["Hebrew","עברית","he"],["Hindi","हिन्दी","hi"],["Fiji Hindi","Fiji Hindi","hif"],["Croatian","hrvatski","hr"],["Upper Sorbian","hornjoserbsce","hsb"],["Haitian","Kreyòl ayisyen","ht"],["Hungarian","magyar","hu"],["Armenian","Հայերեն","hy"],["Interlingua","interlingua","ia"],["Indonesian","Bahasa Indonesia","id"],["Interlingue","Interlingue","ie"],["Igbo","Igbo","ig"],["Inupiaq","Iñupiak","ik"],["Iloko","Ilokano","ilo"],["Ido","Ido","io"],["Icelandic","íslenska","is"],["Italian","italiano","it"],["Inuktitut","ᐃᓄᒃᑎᑐᑦ/inuktitut","iu"],["Japanese","日本語","ja"],["Lojban","Lojban","jbo"],["Javanese","Basa Jawa","jv"],["Georgian","ქართული","ka"],["Kara-Kalpak","Qaraqalpaqsha","kaa"],["Kabyle","Taqbaylit","kab"],["Kabardian","Адыгэбзэ","kbd"],["Kongo","Kongo","kg"],["Kikuyu","Gĩkũyũ","ki"],["Kazakh","қазақша","kk"],["Kalaallisut","kalaallisut","kl"],["Khmer","ភាសាខ្មែរ","km"],["Kannada","ಕನ್ನಡ","kn"],["Korean","한국어","ko"],["Komi-Permyak","Перем Коми","koi"],["Karachay-Balkar","къарачай-малкъар","krc"],["Kashmiri","कॉशुर / کٲشُر","ks"],["Colognian","Ripoarisch","ksh"],["Kurdish","Kurdî","ku"],["Komi","коми","kv"],["Cornish","kernowek","kw"],["Kyrgyz","Кыргызча","ky"],["Latin","Latina","la"],["Ladino","Ladino","lad"],["Luxembourgish","Lëtzebuergesch","lb"],["лакку","лакку","lbe"],["Lezghian","лезги","lez"],["Ganda","Luganda","lg"],["Limburgish","Limburgs","li"],["Ligurian","Ligure","lij"],["Lombard","lumbaart","lmo"],["Lingala","lingála","ln"],["Lao","ລາວ","lo"],["Northern Luri","لۊری شومالی","lrc"],["Lithuanian","lietuvių","lt"],["Latgalian","latgaļu","ltg"],["Latvian","latviešu","lv"],["Maithili","मैथिली","mai"],["Basa Banyumasan","Basa Banyumasan","map-bms"],["Moksha","мокшень","mdf"],["Malagasy","Malagasy","mg"],["Eastern Mari","олык марий","mhr"],["Maori","Māori","mi"],["Minangkabau","Baso Minangkabau","min"],["Macedonian","македонски","mk"],["Malayalam","മലയാളം","ml"],["Mongolian","монгол","mn"],["Marathi","मराठी","mr"],["Western Mari","кырык мары","mrj"],["Malay","Bahasa Melayu","ms"],["Maltese","Malti","mt"],["Mirandese","Mirandés","mwl"],["Burmese","မြန်မာဘာသာ","my"],["Erzya","эрзянь","myv"],["Mazanderani","مازِرونی","mzn"],["Nauru","Dorerin Naoero","na"],["Nāhuatl","Nāhuatl","nah"],["Neapolitan","Napulitano","nap"],["Low German","Plattdüütsch","nds"],["Low Saxon (Netherlands)","Nedersaksies","nds-nl"],["Nepali","नेपाली","ne"],["Newari","नेपाल भाषा","new"],["Dutch","Nederlands","nl"],["Norwegian Nynorsk","norsk nynorsk","nn"],["Norwegian","norsk bokmål","no"],["Novial","Novial","nov"],["Nouormand","Nouormand","nrm"],["Northern Sotho","Sesotho sa Leboa","nso"],["Navajo","Diné bizaad","nv"],["Nyanja","Chi-Chewa","ny"],["Occitan","occitan","oc"],["Oromo","Oromoo","om"],["Oriya","ଓଡ଼ିଆ","or"],["Ossetic","Ирон","os"],["Punjabi","ਪੰਜਾਬੀ","pa"],["Pangasinan","Pangasinan","pag"],["Pampanga","Kapampangan","pam"],["Papiamento","Papiamentu","pap"],["Picard","Picard","pcd"],["Pennsylvania German","Deitsch","pdc"],["Palatine German","Pälzisch","pfl"],["Pali","पालि","pi"],["Norfuk / Pitkern","Norfuk / Pitkern","pih"],["Polish","polski","pl"],["Piedmontese","Piemontèis","pms"],["Western Punjabi","پنجابی","pnb"],["Pontic","Ποντιακά","pnt"],["Pashto","پښتو","ps"],["Portuguese","português","pt"],["Quechua","Runa Simi","qu"],["Romansh","rumantsch","rm"],["Romani","Romani","rmy"],["Rundi","Kirundi","rn"],["Romanian","română","ro"],["Aromanian","armãneashti","roa-rup"],["tarandíne","tarandíne","roa-tara"],["Russian","русский","ru"],["Rusyn","русиньскый","rue"],["Kinyarwanda","Kinyarwanda","rw"],["Sanskrit","संस्कृतम्","sa"],["Sakha","саха тыла","sah"],["Sardinian","sardu","sc"],["Sicilian","sicilianu","scn"],["Scots","Scots","sco"],["Sindhi","سنڌي","sd"],["Northern Sami","sámegiella","se"],["Sango","Sängö","sg"],["Serbo-Croatian","srpskohrvatski / српскохрватски","sh"],["Sinhala","සිංහල","si"],["Simple English","Simple English","simple"],["Slovak","slovenčina","sk"],["Slovenian","slovenščina","sl"],["Samoan","Gagana Samoa","sm"],["Shona","chiShona","sn"],["Somali","Soomaaliga","so"],["Albanian","shqip","sq"],["Serbian","српски / srpski","sr"],["Sranan Tongo","Sranantongo","srn"],["Swati","SiSwati","ss"],["Southern Sotho","Sesotho","st"],["Saterland Frisian","Seeltersk","stq"],["Sundanese","Basa Sunda","su"],["Swedish","svenska","sv"],["Swahili","Kiswahili","sw"],["Silesian","ślůnski","szl"],["Tamil","தமிழ்","ta"],["Telugu","తెలుగు","te"],["Tetum","tetun","tet"],["Tajik","тоҷикӣ","tg"],["Thai","ไทย","th"],["Tigrinya","ትግርኛ","ti"],["Turkmen","Türkmençe","tk"],["Tagalog","Tagalog","tl"],["Tswana","Setswana","tn"],["Tongan","lea faka-Tonga","to"],["Tok Pisin","Tok Pisin","tpi"],["Turkish","Türkçe","tr"],["Tsonga","Xitsonga","ts"],["Tatar","татарча/tatarça","tt"],["Tumbuka","chiTumbuka","tum"],["Twi","Twi","tw"],["Tahitian","reo tahiti","ty"],["Tuvinian","тыва дыл","tyv"],["Udmurt","удмурт","udm"],["Uyghur","ئۇيغۇرچە / Uyghurche","ug"],["Ukrainian","українська","uk"],["Urdu","اردو","ur"],["Uzbek","oʻzbekcha/ўзбекча","uz"],["Venda","Tshivenda","ve"],["Venetian","vèneto","vec"],["Veps","vepsän kel’","vep"],["Vietnamese","Tiếng Việt","vi"],["West Flemish","West-Vlams","vls"],["Volapük","Volapük","vo"],["Walloon","walon","wa"],["Waray","Winaray","war"],["Wolof","Wolof","wo"],["Wu Chinese","吴语","wuu"],["Kalmyk","хальмг","xal"],["Xhosa","isiXhosa","xh"],["Mingrelian","მარგალური","xmf"],["Yiddish","ייִדיש","yi"],["Yoruba","Yorùbá","yo"],["Zhuang","Vahcuengh","za"],["Zeelandic","Zeêuws","zea"],["Chinese","中文","zh"],["Classical Chinese","文言","zh-classical"],["Chinese (Min Nan)","Bân-lâm-gú","zh-min-nan"],["Cantonese","粵語","zh-yue"],["Zulu","isiZulu","zu"]],"imperial":{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"id":0},"geometry":{"type":"MultiPolygon","coordinates":[[[[-1.426496,50.639342],[-1.445953,50.648139],[-1.452789,50.654283],[-1.485951,50.669338],[-1.497426,50.672309],[-1.535146,50.669379],[-1.551503,50.665107],[-1.569488,50.658026],[-1.545318,50.686103],[-1.50593,50.707709],[-1.418691,50.733791],[-1.420888,50.730455],[-1.423451,50.7237],[-1.425364,50.72012],[-1.400868,50.721991],[-1.377553,50.734198],[-1.343495,50.761054],[-1.318512,50.772162],[-1.295766,50.773179],[-1.144276,50.733791],[-1.119537,50.734198],[-1.10912,50.732856],[-1.097035,50.726955],[-1.096425,50.724433],[-1.097646,50.71601],[-1.097035,50.713324],[-1.094228,50.712633],[-1.085561,50.714016],[-1.082753,50.713324],[-1.062327,50.692816],[-1.062327,50.685289],[-1.066965,50.685248],[-1.069651,50.683498],[-1.071889,50.680976],[-1.075307,50.678534],[-1.112701,50.671454],[-1.128651,50.666449],[-1.156361,50.650784],[-1.162221,50.645982],[-1.164703,50.640937],[-1.164666,50.639543],[-1.426496,50.639342]]],[[[-7.240314,55.050389],[-7.013736,55.1615],[-6.958913,55.20349],[-6.571562,55.268366],[-6.509633,55.31398],[-6.226158,55.344406],[-6.07105,55.25001],[-5.712696,55.017635],[-5.242021,54.415204],[-5.695554,54.14284],[-5.72473,54.07455],[-6.041633,54.006238],[-6.153953,54.054931],[-6.220539,54.098803],[-6.242502,54.099758],[-6.263661,54.104682],[-6.269887,54.097927],[-6.28465,54.105226],[-6.299585,54.104037],[-6.313796,54.099696],[-6.327128,54.097888],[-6.338962,54.102952],[-6.346662,54.109877],[-6.354827,54.110652],[-6.368108,54.097319],[-6.369348,54.091118],[-6.367643,54.083418],[-6.366919,54.075098],[-6.371157,54.066778],[-6.377513,54.063264],[-6.401026,54.060887],[-6.426761,54.05541],[-6.433892,54.055306],[-6.4403,54.057993],[-6.446243,54.062438],[-6.450222,54.066675],[-6.450894,54.068432],[-6.47854,54.067709],[-6.564013,54.04895],[-6.571868,54.049519],[-6.587164,54.053343],[-6.595071,54.052412],[-6.60029,54.04895],[-6.605217,54.044475],[-6.610987,54.039235],[-6.616465,54.037271],[-6.630624,54.041819],[-6.657289,54.061146],[-6.672534,54.068432],[-6.657082,54.091945],[-6.655791,54.103314],[-6.666436,54.114786],[-6.643957,54.131839],[-6.634552,54.150133],[-6.640339,54.168013],[-6.648448,54.173665],[-6.663025,54.183826],[-6.683954,54.194368],[-6.694651,54.197985],[-6.706537,54.198915],[-6.717234,54.195143],[-6.724779,54.188631],[-6.73284,54.183567],[-6.744777,54.184187],[-6.766481,54.192352],[-6.787824,54.202998],[-6.807358,54.21633],[-6.823946,54.23235],[-6.829733,54.242375],[-6.833196,54.25209],[-6.837743,54.260513],[-6.846683,54.266456],[-6.882185,54.277257],[-6.864667,54.282734],[-6.856657,54.292811],[-6.858414,54.307332],[-6.870015,54.326001],[-6.879705,54.341594],[-6.885957,54.345624],[-6.897895,54.346193],[-6.905956,54.349035],[-6.915051,54.365933],[-6.922028,54.372703],[-6.984091,54.403089],[-7.017836,54.413166],[-7.049255,54.411512],[-7.078504,54.394717],[-7.127028,54.349759],[-7.159894,54.335186],[-7.168059,54.335031],[-7.185629,54.336943],[-7.18947,54.335692],[-7.19245,54.334721],[-7.193949,54.329967],[-7.191468,54.323869],[-7.187644,54.318804],[-7.185009,54.317254],[-7.184647,54.316634],[-7.192399,54.307384],[-7.193691,54.307539],[-7.199168,54.303457],[-7.206661,54.304903],[-7.211467,54.30418],[-7.209038,54.293431],[-7.1755,54.283664],[-7.181495,54.269763],[-7.14589,54.25209],[-7.159739,54.24067],[-7.153331,54.224237],[-7.174725,54.216072],[-7.229502,54.207545],[-7.240871,54.202326],[-7.249088,54.197416],[-7.255496,54.190854],[-7.261128,54.18088],[-7.256322,54.176901],[-7.247021,54.17225],[-7.24578,54.166979],[-7.265366,54.16114],[-7.26087,54.151166],[-7.263505,54.140986],[-7.27074,54.132253],[-7.280042,54.126155],[-7.293788,54.122021],[-7.297353,54.125896],[-7.29632,54.134991],[-7.296423,54.146515],[-7.295028,54.155404],[-7.292134,54.162638],[-7.295545,54.165119],[-7.325982,54.154577],[-7.333165,54.149409],[-7.333165,54.142743],[-7.310324,54.114683],[-7.316489,54.11428],[-7.326964,54.113597],[-7.375488,54.123312],[-7.390216,54.121194],[-7.39466,54.121917],[-7.396624,54.126258],[-7.403962,54.135043],[-7.41223,54.136438],[-7.422255,54.135456],[-7.425769,54.136955],[-7.414659,54.145688],[-7.439619,54.146929],[-7.480753,54.127653],[-7.502302,54.125121],[-7.609014,54.139901],[-7.620796,54.144965],[-7.624052,54.153336],[-7.625706,54.162173],[-7.632682,54.168529],[-7.70477,54.200362],[-7.722599,54.202326],[-7.782078,54.2],[-7.836959,54.204341],[-7.856441,54.211421],[-7.86967,54.226872],[-7.873649,54.271055],[-7.880264,54.287023],[-7.894966,54.293586],[-7.93411,54.297049],[-7.942075,54.298873],[-7.950802,54.300873],[-7.96801,54.31219],[-7.981033,54.326556],[-8.002194,54.357923],[-8.03134,54.358027],[-8.05648,54.365882],[-8.079941,54.380196],[-8.122419,54.415233],[-8.146346,54.430736],[-8.156035,54.439055],[-8.158128,54.447117],[-8.161177,54.454817],[-8.173837,54.461741],[-8.168467,54.463477],[-8.15017,54.46939],[-8.097046,54.478588],[-8.072448,54.487063],[-8.060976,54.493316],[-8.05586,54.497553],[-8.043561,54.512229],[-8.023278,54.529696],[-8.002194,54.543442],[-7.926411,54.533055],[-7.887137,54.532125],[-7.848844,54.54091],[-7.749264,54.596152],[-7.707871,54.604162],[-7.707944,54.604708],[-7.707951,54.604763],[-7.710558,54.624264],[-7.721204,54.625866],[-7.736758,54.619251],[-7.753553,54.614497],[-7.769159,54.618011],[-7.801199,54.634806],[-7.814996,54.639457],[-7.822541,54.638113],[-7.838044,54.63124],[-7.846416,54.631447],[-7.85427,54.636408],[-7.864347,54.649069],[-7.872771,54.652221],[-7.890082,54.655063],[-7.906619,54.661316],[-7.914835,54.671651],[-7.907135,54.686689],[-7.913233,54.688653],[-7.929666,54.696714],[-7.880109,54.711029],[-7.845899,54.731027],[-7.832153,54.730614],[-7.803576,54.716145],[-7.770503,54.706016],[-7.736603,54.707463],[-7.70229,54.718883],[-7.667512,54.738779],[-7.649683,54.744877],[-7.61537,54.739347],[-7.585398,54.744722],[-7.566639,54.738675],[-7.556149,54.738365],[-7.543075,54.741673],[-7.543023,54.743791],[-7.548398,54.747202],[-7.551705,54.754695],[-7.549741,54.779603],[-7.543385,54.793091],[-7.470831,54.845284],[-7.45507,54.863009],[-7.444735,54.884455],[-7.444735,54.894893],[-7.448972,54.920318],[-7.445251,54.932152],[-7.436983,54.938301],[-7.417139,54.943056],[-7.415755,54.944372],[-7.408665,54.951117],[-7.407424,54.959437],[-7.413109,54.984965],[-7.409078,54.992045],[-7.403755,54.99313],[-7.40112,54.994836],[-7.405254,55.003569],[-7.376987,55.02889],[-7.366962,55.035557],[-7.355024,55.040931],[-7.291152,55.046615],[-7.282987,55.051835],[-7.275288,55.058863],[-7.266503,55.065167],[-7.247097,55.069328],[-7.2471,55.069322],[-7.256744,55.050686],[-7.240956,55.050279],[-7.240314,55.050389]]],[[[-13.688588,57.596259],[-13.690419,57.596259],[-13.691314,57.596503],[-13.691314,57.597154],[-13.690419,57.597805],[-13.688588,57.597805],[-13.687652,57.597154],[-13.687652,57.596869],[-13.688588,57.596259]]],[[[-4.839121,54.469789],[-4.979941,54.457977],[-5.343644,54.878637],[-5.308469,55.176452],[-6.272566,55.418443],[-8.690528,57.833706],[-6.344705,59.061083],[-4.204785,58.63305],[-2.31566,60.699068],[-1.695335,60.76432],[-1.58092,60.866001],[-0.17022,60.897204],[-0.800508,59.770037],[-1.292368,57.732574],[-1.850077,55.766368],[-1.73054,55.782219],[1.892395,52.815229],[1.742775,51.364209],[1.080173,50.847526],[0.000774,50.664982],[-0.162997,50.752401],[-0.725152,50.731879],[-0.768853,50.741516],[-0.770985,50.736884],[-0.789947,50.730048],[-0.812815,50.734768],[-0.877742,50.761156],[-0.942879,50.758338],[-0.992581,50.737379],[-1.18513,50.766989],[-1.282741,50.792353],[-1.375004,50.772063],[-1.523427,50.719605],[-1.630649,50.695128],[-1.663617,50.670508],[-1.498021,50.40831],[-4.097427,49.735486],[-6.825199,49.700905],[-5.541541,51.446591],[-6.03361,51.732369],[-4.791746,52.635365],[-4.969244,52.637413],[-5.049473,53.131209],[-4.787393,53.409491],[-4.734148,53.424866],[-4.917096,53.508212],[-4.839121,54.469789]]]]}},{"type":"Feature","properties":{"id":0},"geometry":{"type":"MultiPolygon","coordinates":[[[[-157.018938,19.300864],[-179.437336,27.295312],[-179.480084,28.991459],[-168.707465,26.30325],[-163.107414,24.60499],[-153.841679,20.079306],[-154.233846,19.433391],[-153.61725,18.900587],[-154.429471,18.171036],[-156.780638,18.718492],[-157.018938,19.300864]]],[[[-78.91269,43.037032],[-78.964351,42.976393],[-78.981718,42.979043],[-78.998055,42.991111],[-79.01189,43.004358],[-79.022046,43.010539],[-79.023076,43.017015],[-79.00983,43.050867],[-79.011449,43.065291],[-78.993051,43.066174],[-78.975536,43.069707],[-78.958905,43.070884],[-78.943304,43.065291],[-78.917399,43.058521],[-78.908569,43.049396],[-78.91269,43.037032]]],[[[-123.03529,48.992515],[-123.035308,48.992499],[-123.045277,48.984361],[-123.08849,48.972235],[-123.089345,48.987982],[-123.090484,48.992499],[-123.090488,48.992515],[-123.035306,48.992515],[-123.03529,48.992515]]],[[[-103.837038,29.279906],[-103.864121,29.281366],[-103.928122,29.293019],[-104.01915,29.32033],[-104.057313,29.339037],[-104.105424,29.385675],[-104.139789,29.400584],[-104.161648,29.416759],[-104.194514,29.448927],[-104.212291,29.484661],[-104.218698,29.489829],[-104.227148,29.493033],[-104.251022,29.508588],[-104.267171,29.526571],[-104.292751,29.532824],[-104.320604,29.532255],[-104.338484,29.524013],[-104.349026,29.537578],[-104.430443,29.582795],[-104.437832,29.58543],[-104.444008,29.589203],[-104.448555,29.597678],[-104.452069,29.607109],[-104.455222,29.613387],[-104.469381,29.625402],[-104.516639,29.654315],[-104.530824,29.667906],[-104.535036,29.677802],[-104.535191,29.687853],[-104.537103,29.702116],[-104.543666,29.71643],[-104.561391,29.745421],[-104.570279,29.787511],[-104.583586,29.802575],[-104.601207,29.81477],[-104.619682,29.833064],[-104.623764,29.841487],[-104.637588,29.887996],[-104.656346,29.908201],[-104.660635,29.918433],[-104.663478,29.923084],[-104.676526,29.93683],[-104.680479,29.942308],[-104.682469,29.952126],[-104.680117,29.967784],[-104.680479,29.976466],[-104.699108,30.03145],[-104.701589,30.055324],[-104.698592,30.075271],[-104.684639,30.111135],[-104.680479,30.134131],[-104.67867,30.170356],[-104.681564,30.192939],[-104.695853,30.208441],[-104.715231,30.243995],[-104.724585,30.252211],[-104.742155,30.25986],[-104.74939,30.264459],[-104.761689,30.284199],[-104.774143,30.311588],[-104.788767,30.335927],[-104.807732,30.346418],[-104.8129,30.350707],[-104.814967,30.360577],[-104.816001,30.371997],[-104.818274,30.380524],[-104.824269,30.38719],[-104.83755,30.394063],[-104.844939,30.40104],[-104.853259,30.41215],[-104.855016,30.417473],[-104.853621,30.423984],[-104.852432,30.438867],[-104.854655,30.448737],[-104.864473,30.462018],[-104.866695,30.473025],[-104.865248,30.479898],[-104.859615,30.491112],[-104.859254,30.497261],[-104.863026,30.502377],[-104.879718,30.510852],[-104.882146,30.520929],[-104.884007,30.541858],[-104.886591,30.551883],[-104.898166,30.569401],[-104.928242,30.599529],[-104.93434,30.610536],[-104.941057,30.61405],[-104.972735,30.618029],[-104.98276,30.620716],[-104.989117,30.629553],[-104.991649,30.640301],[-104.992941,30.651464],[-104.995783,30.661747],[-105.008495,30.676992],[-105.027977,30.690117],[-105.049475,30.699264],[-105.06813,30.702675],[-105.087043,30.709806],[-105.133604,30.757917],[-105.140425,30.750476],[-105.153241,30.763188],[-105.157788,30.76572],[-105.160889,30.764118],[-105.162698,30.774919],[-105.167297,30.781171],[-105.17479,30.783962],[-105.185125,30.784634],[-105.195306,30.787941],[-105.204917,30.80241],[-105.2121,30.805718],[-105.21825,30.806803],[-105.229257,30.810214],[-105.232874,30.809128],[-105.239851,30.801532],[-105.243985,30.799103],[-105.249049,30.798845],[-105.259488,30.802979],[-105.265844,30.808405],[-105.270753,30.814348],[-105.277006,30.819412],[-105.334315,30.843803],[-105.363771,30.850366],[-105.376173,30.859565],[-105.41555,30.902456],[-105.496682,30.95651],[-105.530789,30.991701],[-105.555955,31.002605],[-105.565722,31.016661],[-105.578641,31.052163],[-105.59094,31.071438],[-105.605875,31.081928],[-105.623496,31.090351],[-105.643805,31.103684],[-105.668042,31.127869],[-105.675225,31.131951],[-105.692278,31.137635],[-105.76819,31.18001],[-105.777854,31.192722],[-105.78483,31.211016],[-105.861983,31.288376],[-105.880147,31.300881],[-105.896994,31.305997],[-105.897149,31.309511],[-105.908802,31.317004],[-105.928052,31.326461],[-105.934563,31.335504],[-105.941772,31.352351],[-105.948515,31.361239],[-105.961202,31.371006],[-106.004739,31.396948],[-106.021147,31.402167],[-106.046261,31.404648],[-106.065304,31.410952],[-106.099385,31.428884],[-106.141113,31.439167],[-106.164316,31.447797],[-106.174471,31.460251],[-106.209249,31.477305],[-106.215424,31.483919],[-106.21744,31.488725],[-106.218731,31.494616],[-106.222891,31.50459],[-106.232658,31.519938],[-106.274749,31.562622],[-106.286298,31.580141],[-106.312292,31.648612],[-106.331309,31.68215],[-106.35849,31.717548],[-106.39177,31.745919],[-106.428951,31.758476],[-106.473135,31.755065],[-106.492797,31.759044],[-106.501425,31.766344],[-106.506052,31.770258],[-106.517189,31.773824],[-106.558969,31.773876],[-106.584859,31.773927],[-106.610697,31.773979],[-106.636587,31.774082],[-106.662477,31.774134],[-106.688315,31.774237],[-106.714205,31.774237],[-106.740095,31.774289],[-106.765933,31.774392],[-106.791823,31.774444],[-106.817713,31.774496],[-106.843603,31.774547],[-106.869441,31.774599],[-106.895331,31.774702],[-106.921221,31.774702],[-106.947111,31.774754],[-106.973001,31.774857],[-106.998891,31.774909],[-107.02478,31.774961],[-107.05067,31.775013],[-107.076509,31.775064],[-107.102398,31.775168],[-107.128288,31.775168],[-107.154127,31.775219],[-107.180016,31.775374],[-107.205906,31.775374],[-107.231796,31.775426],[-107.257634,31.775478],[-107.283524,31.775529],[-107.309414,31.775633],[-107.335252,31.775684],[-107.361142,31.775788],[-107.387032,31.775788],[-107.412896,31.775839],[-107.438786,31.775943],[-107.464676,31.775994],[-107.490566,31.776098],[-107.516404,31.776149],[-107.542294,31.776201],[-107.568184,31.776253],[-107.594074,31.776304],[-107.619964,31.776408],[-107.645854,31.776459],[-107.671744,31.776459],[-107.697633,31.776563],[-107.723472,31.776614],[-107.749362,31.776666],[-107.775251,31.776718],[-107.801141,31.77677],[-107.82698,31.776873],[-107.852869,31.776925],[-107.878759,31.776925],[-107.904598,31.777028],[-107.930487,31.77708],[-107.956377,31.777131],[-107.982216,31.777183],[-108.008105,31.777235],[-108.033995,31.777338],[-108.059885,31.77739],[-108.085723,31.77739],[-108.111613,31.777545],[-108.137503,31.777545],[-108.163341,31.777648],[-108.189283,31.7777],[-108.215121,31.777751],[-108.215121,31.770723],[-108.215121,31.763695],[-108.215121,31.756667],[-108.215121,31.749639],[-108.215121,31.74256],[-108.215121,31.735583],[-108.215121,31.728555],[-108.215121,31.721476],[-108.215121,31.714396],[-108.215121,31.70742],[-108.215121,31.700392],[-108.215121,31.693312],[-108.215121,31.686284],[-108.215121,31.679256],[-108.215121,31.672176],[-108.21507,31.665148],[-108.215018,31.658172],[-108.215018,31.651092],[-108.215018,31.644064],[-108.215018,31.637036],[-108.215018,31.630008],[-108.215018,31.62298],[-108.215018,31.615952],[-108.215018,31.608873],[-108.215018,31.601845],[-108.215018,31.594817],[-108.215018,31.587789],[-108.215018,31.580761],[-108.215018,31.573733],[-108.215018,31.566653],[-108.215018,31.559625],[-108.214966,31.552597],[-108.214966,31.545569],[-108.214966,31.538489],[-108.214966,31.531461],[-108.214966,31.524485],[-108.214966,31.517405],[-108.214966,31.510378],[-108.214966,31.503401],[-108.214966,31.496322],[-108.214966,31.489242],[-108.214966,31.482214],[-108.214966,31.475238],[-108.214966,31.468158],[-108.214966,31.46113],[-108.214966,31.454102],[-108.214966,31.447074],[-108.214915,31.440046],[-108.214863,31.432966],[-108.214863,31.425938],[-108.214863,31.41891],[-108.214863,31.411882],[-108.214863,31.404803],[-108.214863,31.397826],[-108.214863,31.390798],[-108.214863,31.383719],[-108.214863,31.376639],[-108.214863,31.369663],[-108.214863,31.362635],[-108.214863,31.355555],[-108.214863,31.348527],[-108.214863,31.341551],[-108.214863,31.334471],[-108.214811,31.327443],[-108.257573,31.327391],[-108.300336,31.327391],[-108.34302,31.327391],[-108.385731,31.327391],[-108.428442,31.327391],[-108.471152,31.327391],[-108.513837,31.327391],[-108.556547,31.327391],[-108.59931,31.327391],[-108.64202,31.327391],[-108.684757,31.327391],[-108.727467,31.327391],[-108.770178,31.327391],[-108.812914,31.327391],[-108.855625,31.327391],[-108.898335,31.327391],[-108.941046,31.327391],[-108.968282,31.327391],[-108.983731,31.327391],[-109.026493,31.327391],[-109.04743,31.327391],[-109.069203,31.327391],[-109.111914,31.327391],[-109.154599,31.327391],[-109.197361,31.327391],[-109.240072,31.32734],[-109.282782,31.32734],[-109.325519,31.32734],[-109.368229,31.32734],[-109.410914,31.32734],[-109.45365,31.32734],[-109.496387,31.32734],[-109.539071,31.32734],[-109.581808,31.32734],[-109.624493,31.32734],[-109.667177,31.32734],[-109.709965,31.32734],[-109.75265,31.32734],[-109.795335,31.32734],[-109.838123,31.32734],[-109.880808,31.32734],[-109.923596,31.327288],[-109.96628,31.327236],[-110.008965,31.327236],[-110.051702,31.327236],[-110.094386,31.327236],[-110.137071,31.327236],[-110.179807,31.327236],[-110.222544,31.327236],[-110.265229,31.327236],[-110.308017,31.327236],[-110.350753,31.327236],[-110.39349,31.327236],[-110.436174,31.327236],[-110.478859,31.327236],[-110.521595,31.327236],[-110.56428,31.327236],[-110.606965,31.327236],[-110.649727,31.327236],[-110.692438,31.327236],[-110.7352,31.327236],[-110.777885,31.327236],[-110.820595,31.327236],[-110.863358,31.327236],[-110.906068,31.327236],[-110.948753,31.327185],[-111.006269,31.327185],[-111.067118,31.333644],[-111.094455,31.342532],[-111.145924,31.359069],[-111.197446,31.375554],[-111.248864,31.392142],[-111.300333,31.40873],[-111.351803,31.425318],[-111.403299,31.441855],[-111.454768,31.458339],[-111.506238,31.474979],[-111.915464,31.601431],[-112.324715,31.727987],[-112.733967,31.854543],[-113.143218,31.981046],[-113.552444,32.107602],[-113.961696,32.234132],[-114.370921,32.360687],[-114.780147,32.487243],[-114.816785,32.498534],[-114.819373,32.499363],[-114.822108,32.50024],[-114.809447,32.511324],[-114.795546,32.552226],[-114.794203,32.574111],[-114.802678,32.594497],[-114.786813,32.621033],[-114.781542,32.628061],[-114.758804,32.64483],[-114.751156,32.65222],[-114.739477,32.669066],[-114.731209,32.686636],[-114.723871,32.711519],[-114.724284,32.712835],[-114.724285,32.712836],[-114.764541,32.709839],[-114.838076,32.704206],[-114.911612,32.698703],[-114.985199,32.693122],[-115.058734,32.687567],[-115.13227,32.681986],[-115.205806,32.676456],[-115.27929,32.670823],[-115.352851,32.665346],[-115.426386,32.659765],[-115.499922,32.654209],[-115.573535,32.648654],[-115.647019,32.643073],[-115.720529,32.637518],[-115.794064,32.631963],[-115.8676,32.626408],[-115.941213,32.620827],[-116.014748,32.615271],[-116.088232,32.609664],[-116.161742,32.604161],[-116.235329,32.598554],[-116.308891,32.593025],[-116.382426,32.587469],[-116.455962,32.581888],[-116.529472,32.576333],[-116.603007,32.570804],[-116.676543,32.565223],[-116.750104,32.559667],[-116.82364,32.554086],[-116.897201,32.548531],[-116.970737,32.542976],[-117.044221,32.537421],[-117.125121,32.531669],[-117.125969,32.538258],[-117.239623,32.531308],[-120.274098,32.884264],[-121.652736,34.467248],[-124.367265,37.662798],[-126.739806,41.37928],[-126.996297,45.773888],[-124.770704,48.44258],[-123.734053,48.241906],[-123.1663,48.27837],[-123.193018,48.501035],[-123.176987,48.65482],[-122.912481,48.753561],[-122.899122,48.897797],[-122.837671,48.97502],[-122.743986,48.980582],[-122.753,48.992499],[-122.753012,48.992515],[-122.653258,48.992515],[-122.433375,48.992515],[-122.213517,48.992515],[-121.993763,48.992515],[-121.773958,48.992515],[-121.554152,48.992515],[-121.33432,48.992515],[-121.114515,48.992515],[-95.396937,48.99267],[-95.177106,48.99267],[-95.168527,48.995047],[-95.161887,49.001145],[-95.159329,49.01179],[-95.159665,49.10951],[-95.160027,49.223353],[-95.160337,49.313012],[-95.160569,49.369494],[-95.102821,49.35394],[-94.982518,49.356162],[-94.926087,49.345568],[-94.856195,49.318283],[-94.839142,49.308878],[-94.827256,49.292858],[-94.819892,49.252034],[-94.810358,49.229606],[-94.806121,49.210899],[-94.811185,49.166561],[-94.803743,49.146407],[-94.792039,49.12646],[-94.753772,49.026156],[-94.711217,48.914586],[-94.711734,48.862755],[-94.712147,48.842446],[-94.713284,48.823843],[-94.710907,48.807513],[-94.701786,48.790098],[-94.688893,48.778832],[-94.592852,48.726433],[-94.519161,48.70447],[-94.4795,48.700698],[-94.311577,48.713927],[-94.292586,48.711912],[-94.284034,48.709069],[-94.274499,48.704108],[-94.265482,48.697752],[-94.258454,48.690828],[-94.255767,48.683541],[-94.252459,48.662405],[-94.251038,48.65729],[-94.23215,48.652019],[-94.03485,48.643311],[-93.874885,48.636206],[-93.835741,48.617137],[-93.809386,48.543576],[-93.778664,48.519468],[-93.756779,48.516549],[-93.616297,48.531302],[-93.599889,48.526341],[-93.566584,48.538279],[-93.491756,48.542309],[-93.459924,48.557399],[-93.45225,48.572721],[-93.453774,48.586958],[-93.451475,48.597422],[-93.417316,48.604114],[-93.385716,48.614863],[-93.25774,48.630314],[-93.131701,48.62463],[-92.97972,48.61768],[-92.955588,48.612228],[-92.884197,48.579878],[-92.72555,48.548692],[-92.648604,48.536263],[-92.630181,48.519468],[-92.627468,48.502777],[-92.646743,48.497428],[-92.691366,48.489858],[-92.710641,48.482882],[-92.718909,48.459782],[-92.704052,48.445158],[-92.677129,48.441747],[-92.657053,48.438233],[-92.570521,48.446656],[-92.526932,48.445623],[-92.490629,48.433117],[-92.474532,48.410483],[-92.467581,48.394282],[-92.467064,48.353225],[-92.462465,48.329299],[-92.451381,48.312685],[-92.41823,48.282041],[-92.38464,48.232406],[-92.371851,48.222587],[-92.353815,48.222897],[-92.327874,48.229435],[-92.303663,48.239279],[-92.291029,48.249562],[-92.292062,48.270336],[-92.301416,48.290645],[-92.303095,48.310928],[-92.281598,48.33178],[-92.259118,48.339635],[-92.154732,48.350125],[-92.070499,48.346714],[-92.043421,48.334596],[-92.030114,48.313176],[-92.021355,48.287441],[-92.007997,48.262482],[-91.992158,48.247909],[-91.975492,48.236566],[-91.957302,48.228323],[-91.852244,48.195974],[-91.764988,48.187344],[-91.744137,48.179593],[-91.727575,48.168327],[-91.695509,48.13758],[-91.716438,48.112051],[-91.692512,48.097866],[-91.618615,48.089572],[-91.597479,48.090399],[-91.589676,48.088332],[-91.581098,48.080942],[-91.579806,48.070969],[-91.585129,48.06084],[-91.586989,48.052572],[-91.574845,48.048205],[-91.487098,48.053476],[-91.464722,48.048955],[-91.446274,48.040738],[-91.427929,48.036449],[-91.3654,48.057843],[-91.276362,48.064768],[-91.23807,48.082648],[-91.203963,48.107659],[-91.071103,48.170859],[-91.02816,48.184838],[-91.008109,48.194372],[-90.923153,48.227109],[-90.873802,48.234344],[-90.840678,48.220107],[-90.837939,48.210547],[-90.848843,48.198713],[-90.849721,48.189566],[-90.843003,48.176983],[-90.83427,48.171789],[-90.823883,48.168327],[-90.812307,48.160989],[-90.803057,48.147166],[-90.796701,48.117064],[-90.786469,48.10045],[-90.750347,48.083991],[-90.701307,48.08456],[-90.611079,48.103499],[-90.586843,48.104817],[-90.573872,48.097892],[-90.562194,48.088849],[-90.542014,48.083733],[-90.531601,48.08456],[-90.501887,48.094275],[-90.490493,48.096239],[-90.483465,48.094482],[-90.477858,48.091536],[-90.470623,48.089882],[-90.178625,48.116444],[-90.120386,48.115359],[-90.073257,48.101199],[-90.061036,48.091019],[-90.008222,48.029731],[-89.995329,48.018595],[-89.980317,48.010094],[-89.92045,47.98746],[-89.902441,47.985909],[-89.803454,48.013763],[-89.780975,48.017199],[-89.763302,48.017303],[-89.745964,48.013763],[-89.724596,48.005908],[-89.712788,48.003376],[-89.678656,48.008699],[-89.65659,48.007975],[-89.593105,47.996503],[-89.581753,47.996333],[-89.586724,47.992938],[-89.310872,47.981097],[-89.072861,48.046842],[-88.49789,48.212841],[-88.286621,48.156675],[-85.939935,47.280501],[-84.784644,46.770068],[-84.516909,46.435083],[-84.489712,46.446652],[-84.491052,46.457658],[-84.478301,46.466467],[-84.465408,46.478172],[-84.448096,46.489722],[-84.42324,46.511581],[-84.389702,46.520262],[-84.352469,46.522743],[-84.30534,46.501607],[-84.242011,46.526464],[-84.197285,46.546359],[-84.147676,46.541346],[-84.110443,46.526464],[-84.158812,46.433343],[-84.147676,46.399882],[-84.129046,46.375026],[-84.10543,46.347741],[-84.105944,46.346374],[-84.117195,46.347157],[-84.117489,46.338326],[-84.122361,46.331922],[-84.112061,46.287102],[-84.092672,46.227469],[-84.111983,46.20337],[-84.015118,46.149712],[-83.957038,46.045736],[-83.676821,46.15388],[-83.429449,46.086221],[-83.523049,45.892052],[-83.574563,45.890259],[-82.551615,44.857931],[-82.655591,43.968545],[-82.440632,43.096285],[-82.460131,43.084392],[-82.458894,43.083247],[-82.431813,43.039387],[-82.424748,43.02408],[-82.417242,43.01731],[-82.416369,43.01742],[-82.416412,43.017143],[-82.414603,42.983243],[-82.430442,42.951307],[-82.453179,42.918983],[-82.464781,42.883637],[-82.468036,42.863974],[-82.482325,42.835113],[-82.485271,42.818524],[-82.473618,42.798164],[-82.470982,42.790568],[-82.471344,42.779845],[-82.476951,42.761474],[-82.48341,42.719254],[-82.511264,42.646675],[-82.526224,42.619906],[-82.549246,42.590941],[-82.575833,42.571795],[-82.608467,42.561098],[-82.644331,42.557817],[-82.644698,42.557533],[-82.644932,42.561634],[-82.637132,42.568405],[-82.60902,42.579296],[-82.616673,42.582828],[-82.636985,42.599607],[-82.625357,42.616092],[-82.629331,42.626394],[-82.638751,42.633459],[-82.644344,42.640524],[-82.644166,42.641056],[-82.716083,42.617461],[-82.777592,42.408506],[-82.888693,42.406093],[-82.889991,42.403266],[-82.905739,42.387665],[-82.923842,42.374419],[-82.937972,42.366176],[-82.947686,42.363527],[-82.979624,42.359406],[-83.042618,42.340861],[-83.061899,42.32732],[-83.081622,42.30907],[-83.11342,42.279619],[-83.145306,42.066968],[-83.177398,41.960666],[-83.21512,41.794493],[-82.219051,41.516445],[-80.345329,42.13344],[-80.316455,42.123137],[-79.270266,42.591872],[-79.221058,42.582892],[-78.871842,42.860012],[-78.875011,42.867184],[-78.896205,42.897209],[-78.901651,42.908101],[-78.90901,42.952255],[-78.913426,42.957848],[-78.932118,42.9708],[-78.936386,42.979631],[-78.927997,43.002003],[-78.893114,43.029379],[-78.887963,43.051456],[-78.914897,43.076477],[-79.026167,43.086485],[-79.065231,43.10573],[-79.065273,43.105897],[-79.065738,43.120237],[-79.061423,43.130288],[-79.055583,43.138427],[-79.051604,43.146851],[-79.04933,43.159847],[-79.048607,43.170622],[-79.053775,43.260358],[-79.058425,43.277799],[-79.058631,43.2782],[-78.990696,43.286947],[-78.862059,43.324332],[-78.767813,43.336418],[-78.516117,43.50645],[-76.363317,43.943219],[-76.396746,44.106667],[-76.364697,44.111631],[-76.366146,44.117349],[-76.357462,44.131478],[-76.183493,44.223025],[-76.162644,44.229888],[-76.176117,44.30795],[-76.046414,44.354817],[-75.928746,44.391137],[-75.852508,44.381639],[-75.849095,44.386103],[-75.847623,44.392579],[-75.84674,44.398172],[-75.845415,44.40141],[-75.780803,44.432318],[-75.770205,44.446153],[-75.772266,44.463815],[-75.779184,44.48236],[-75.791496,44.496513],[-75.791183,44.496768],[-75.754622,44.527567],[-75.69969,44.581673],[-75.578199,44.661513],[-75.455958,44.741766],[-75.341831,44.816749],[-75.270233,44.863774],[-75.129647,44.925166],[-75.075594,44.935501],[-75.058721,44.941031],[-75.0149,44.96599],[-74.998647,44.972398],[-74.940201,44.987746],[-74.903744,45.005213],[-74.88651,45.009398],[-74.868474,45.010122],[-74.741557,44.998857],[-74.712961,44.999254],[-74.695875,44.99803],[-74.596114,44.998495],[-74.496352,44.999012],[-74.197146,45.000458],[-71.703551,45.012757],[-71.603816,45.013274],[-71.505848,45.013731],[-71.50408,45.013739],[-71.506613,45.037045],[-71.504752,45.052962],[-71.497259,45.066553],[-71.45659,45.110994],[-71.451215,45.121691],[-71.445996,45.140295],[-71.441604,45.150682],[-71.413026,45.186184],[-71.406567,45.204942],[-71.42269,45.217189],[-71.449045,45.226905],[-71.438813,45.233468],[-71.394888,45.241529],[-71.381245,45.250779],[-71.3521,45.278323],[-71.334323,45.28871],[-71.311534,45.294136],[-71.293396,45.292327],[-71.20937,45.254758],[-71.185133,45.248557],[-71.160329,45.245767],[-71.141725,45.252329],[-71.111029,45.287108],[-71.095242,45.300905],[-71.085553,45.304213],[-71.084952,45.304293],[-71.064211,45.307055],[-71.054418,45.310362],[-71.036667,45.323385],[-71.027598,45.33465],[-71.016539,45.343125],[-70.993155,45.347827],[-70.968118,45.34452],[-70.951608,45.332014],[-70.906908,45.246232],[-70.892412,45.234604],[-70.874351,45.245663],[-70.870605,45.255275],[-70.872491,45.274189],[-70.870243,45.283129],[-70.862621,45.290363],[-70.842389,45.301215],[-70.835258,45.309794],[-70.83208,45.328552],[-70.835465,45.373097],[-70.833837,45.393096],[-70.825982,45.410459],[-70.812986,45.42343],[-70.794873,45.430406],[-70.771877,45.430045],[-70.75255,45.422345],[-70.718004,45.397282],[-70.696739,45.388652],[-70.675785,45.388704],[-70.65359,45.395473],[-70.641316,45.408496],[-70.650257,45.427461],[-70.668162,45.439036],[-70.707385,45.4564],[-70.722836,45.470921],[-70.732009,45.491591],[-70.730329,45.507973],[-70.686792,45.572723],[-70.589614,45.651788],[-70.572406,45.662279],[-70.514735,45.681709],[-70.484763,45.699641],[-70.4728,45.703568],[-70.450424,45.703723],[-70.439132,45.705893],[-70.419315,45.716901],[-70.407351,45.731525],[-70.402442,45.749663],[-70.403941,45.771161],[-70.408282,45.781651],[-70.413682,45.787697],[-70.41717,45.793795],[-70.415232,45.804389],[-70.409935,45.810745],[-70.389807,45.825059],[-70.312654,45.867641],[-70.283173,45.890482],[-70.262528,45.923038],[-70.255939,45.948876],[-70.263148,45.956834],[-70.280434,45.959315],[-70.303947,45.968616],[-70.316298,45.982982],[-70.316892,45.999002],[-70.306143,46.035331],[-70.303637,46.038483],[-70.294309,46.044943],[-70.29201,46.048663],[-70.293017,46.054038],[-70.296092,46.057862],[-70.300795,46.061737],[-70.304774,46.065975],[-70.311362,46.071866],[-70.312629,46.079566],[-70.30033,46.089281],[-70.26444,46.106593],[-70.24948,46.120597],[-70.244002,46.141009],[-70.249247,46.162765],[-70.263329,46.183229],[-70.284801,46.191859],[-70.280899,46.211857],[-70.253407,46.251493],[-70.236173,46.288339],[-70.223693,46.300793],[-70.201886,46.305495],[-70.199509,46.315262],[-70.197028,46.336863],[-70.188398,46.358412],[-70.167418,46.368179],[-70.153052,46.372829],[-70.074323,46.419545],[-70.061817,46.445409],[-70.050086,46.511271],[-70.032723,46.609766],[-70.023628,46.661287],[-70.007763,46.704075],[-69.989961,46.721697],[-69.899708,46.811562],[-69.809403,46.901299],[-69.719099,46.991086],[-69.628794,47.080797],[-69.538464,47.17061],[-69.448159,47.260346],[-69.357906,47.350134],[-69.267628,47.439844],[-69.25091,47.452919],[-69.237268,47.45881],[-69.221972,47.459688],[-69.069655,47.431886],[-69.054023,47.418399],[-69.054333,47.389253],[-69.066193,47.32967],[-69.065134,47.296339],[-69.06356,47.290809],[-69.057486,47.269467],[-69.0402,47.249055],[-68.906229,47.190221],[-68.889718,47.190609],[-68.761819,47.23704],[-68.71779,47.245231],[-68.668801,47.243422],[-68.644203,47.245283],[-68.6256,47.255205],[-68.607926,47.269829],[-68.58524,47.28249],[-68.539662,47.299853],[-68.518009,47.304762],[-68.492016,47.307553],[-68.466746,47.305692],[-68.435327,47.291275],[-68.422563,47.293109],[-68.410212,47.297424],[-68.385614,47.301713],[-68.383392,47.307139],[-68.384839,47.315873],[-68.382049,47.32781],[-68.347839,47.358506],[-68.299728,47.367833],[-68.24645,47.360573],[-68.197047,47.341401],[-68.184335,47.333133],[-68.156068,47.306674],[-68.145061,47.301455],[-68.115398,47.292282],[-68.101446,47.286185],[-68.039382,47.245231],[-67.993184,47.223217],[-67.962436,47.197689],[-67.953703,47.18663],[-67.949982,47.172936],[-67.943419,47.164538],[-67.899132,47.138778],[-67.870607,47.107358],[-67.854742,47.09785],[-67.813556,47.081908],[-67.808699,47.075138],[-67.805185,47.035631],[-67.802549,46.901247],[-67.800017,46.766785],[-67.797433,46.632297],[-67.794849,46.497861],[-67.792317,46.363476],[-67.789733,46.229014],[-67.78715,46.094552],[-67.784566,45.960142],[-67.782757,45.95053],[-67.776556,45.942933],[-67.767461,45.935957],[-67.759658,45.928567],[-67.757849,45.919472],[-67.769425,45.903969],[-67.787356,45.890017],[-67.799242,45.875651],[-67.792627,45.858907],[-67.776091,45.840821],[-67.772835,45.828057],[-67.779863,45.815706],[-67.794126,45.799169],[-67.80627,45.781754],[-67.811127,45.76651],[-67.810816,45.762414],[-67.817811,45.754896],[-67.821785,45.740767],[-67.827673,45.739001],[-67.868884,45.744593],[-67.856815,45.723694],[-67.835768,45.703971],[-67.793821,45.676301],[-67.733034,45.651869],[-67.723173,45.645393],[-67.711546,45.642155],[-67.697564,45.64922],[-67.66695,45.620077],[-67.649435,45.611247],[-67.603073,45.605948],[-67.561862,45.596234],[-67.54052,45.593879],[-67.442056,45.603593],[-67.440939,45.604586],[-67.431306,45.597941],[-67.422107,45.568796],[-67.42619,45.533449],[-67.443036,45.522184],[-67.467531,45.508283],[-67.493214,45.493142],[-67.48231,45.455521],[-67.428825,45.38705],[-67.434561,45.350308],[-67.459056,45.318424],[-67.468668,45.301835],[-67.475024,45.282353],[-67.471303,45.266282],[-67.427585,45.236568],[-67.390533,45.193108],[-67.356272,45.165926],[-67.31922,45.153886],[-67.284648,45.169699],[-67.279584,45.179052],[-67.279222,45.187372],[-67.277207,45.195072],[-67.267336,45.202513],[-67.254986,45.205045],[-67.242428,45.202565],[-67.219071,45.192126],[-67.206166,45.189401],[-67.176015,45.178656],[-67.191274,45.180365],[-67.204376,45.178209],[-67.204724,45.177791],[-67.152423,45.148932],[-67.048033,45.043407],[-66.962727,45.047088],[-66.857192,44.968696],[-66.897268,44.817275],[-67.2159,44.593511],[-67.122366,44.423624],[-67.68447,44.192544],[-67.459678,40.781645],[-76.607854,32.495823],[-76.798479,32.713735],[-78.561892,29.037718],[-78.892446,29.039659],[-79.762295,26.719312],[-80.026352,24.932961],[-82.368794,23.994833],[-83.806281,29.068506],[-87.460772,29.089961],[-87.922646,28.666131],[-90.461001,28.246758],[-91.787336,29.11536],[-93.311871,29.12431],[-96.423449,26.057857],[-97.129057,25.991017],[-97.129509,25.966833],[-97.139358,25.965876],[-97.202171,25.960893],[-97.202176,25.960857],[-97.204941,25.960639],[-97.253051,25.963481],[-97.266358,25.960639],[-97.2692,25.944361],[-97.287649,25.928651],[-97.310981,25.922088],[-97.328447,25.933302],[-97.351107,25.918419],[-97.355112,25.912786],[-97.35227,25.894493],[-97.345165,25.871704],[-97.345733,25.852222],[-97.36599,25.843902],[-97.376015,25.846744],[-97.380124,25.853203],[-97.383121,25.860541],[-97.389891,25.865657],[-97.397823,25.865812],[-97.399476,25.861162],[-97.39989,25.855115],[-97.404179,25.851395],[-97.425418,25.854857],[-97.435727,25.869275],[-97.441309,25.884933],[-97.448259,25.892322],[-97.469421,25.892943],[-97.486319,25.895733],[-97.502209,25.901883],[-97.52027,25.912786],[-97.565177,25.954748],[-97.594322,25.966375],[-97.604787,25.979966],[-97.613055,25.995985],[-97.622641,26.00906],[-97.641451,26.022495],[-97.659874,26.03066],[-97.679614,26.034639],[-97.766948,26.039652],[-97.780306,26.043218],[-97.782321,26.058617],[-97.80201,26.063733],[-97.878181,26.063733],[-97.941666,26.056809],[-97.999233,26.064302],[-98.013057,26.063682],[-98.044166,26.048799],[-98.065457,26.042184],[-98.075146,26.046628],[-98.083311,26.070916],[-98.103103,26.074947],[-98.150232,26.063682],[-98.185062,26.065232],[-98.222656,26.075412],[-98.300429,26.111431],[-98.309809,26.121094],[-98.333037,26.15303],[-98.339264,26.159851],[-98.365774,26.160161],[-98.377272,26.163572],[-98.377272,26.173649],[-98.36934,26.19401],[-98.397193,26.201141],[-98.428845,26.217729],[-98.456544,26.225946],[-98.472383,26.207652],[-98.49295,26.230596],[-98.521527,26.240932],[-98.552791,26.248321],[-98.581627,26.262274],[-98.640564,26.24181],[-98.653663,26.244291],[-98.664696,26.250647],[-98.685289,26.268475],[-98.693325,26.270542],[-98.702239,26.271628],[-98.704255,26.27664],[-98.691465,26.290231],[-98.701413,26.299119],[-98.713169,26.303357],[-98.726217,26.30439],[-98.739911,26.303253],[-98.735932,26.320048],[-98.746397,26.332141],[-98.780839,26.351674],[-98.795851,26.368314],[-98.801329,26.372138],[-98.810295,26.372448],[-98.817323,26.368521],[-98.825023,26.366454],[-98.836081,26.372138],[-98.842334,26.365834],[-98.850835,26.364077],[-98.860524,26.366299],[-98.870214,26.372138],[-98.893029,26.367849],[-98.9299,26.39224],[-98.945377,26.378288],[-98.954136,26.393946],[-98.962844,26.399527],[-98.986951,26.400095],[-99.004056,26.393842],[-99.010515,26.392602],[-99.016432,26.394462],[-99.022995,26.403351],[-99.027878,26.406245],[-99.047645,26.406968],[-99.066351,26.404746],[-99.085498,26.40764],[-99.106427,26.423039],[-99.108907,26.434253],[-99.102525,26.446966],[-99.09374,26.459781],[-99.089373,26.47115],[-99.091492,26.484018],[-99.10299,26.512078],[-99.115108,26.525617],[-99.140946,26.531405],[-99.164873,26.540448],[-99.17128,26.563961],[-99.171548,26.56583],[-99.213953,26.568537],[-99.242801,26.579723],[-99.254575,26.6018],[-99.258844,26.614752],[-99.277683,26.638007],[-99.281951,26.649781],[-99.277389,26.657729],[-99.26635,26.653314],[-99.252662,26.644483],[-99.240299,26.639184],[-99.244861,26.652431],[-99.240299,26.697763],[-99.242507,26.713658],[-99.252368,26.743683],[-99.254575,26.75899],[-99.252368,26.799024],[-99.254575,26.810504],[-99.257666,26.813153],[-99.262229,26.814036],[-99.266497,26.817863],[-99.268263,26.827872],[-99.271649,26.832876],[-99.289458,26.84465],[-99.308444,26.830521],[-99.316539,26.822279],[-99.323457,26.810504],[-99.328166,26.797258],[-99.329197,26.789016],[-99.331699,26.78254],[-99.340383,26.77312],[-99.366728,26.761345],[-99.380269,26.777241],[-99.391896,26.796963],[-99.412207,26.796963],[-99.410883,26.808149],[-99.405437,26.818452],[-99.396606,26.824928],[-99.384979,26.824928],[-99.377178,26.816686],[-99.374823,26.804028],[-99.374234,26.791076],[-99.371291,26.783128],[-99.360694,26.780479],[-99.359369,26.790487],[-99.36452,26.810504],[-99.357897,26.822279],[-99.351274,26.83111],[-99.346123,26.840824],[-99.344062,26.855247],[-99.348772,26.899696],[-99.355101,26.920302],[-99.36452,26.934726],[-99.403377,26.952093],[-99.413974,26.964162],[-99.401758,26.985651],[-99.399991,26.999192],[-99.418831,27.007728],[-99.441938,27.013615],[-99.453271,27.019797],[-99.455332,27.025979],[-99.464751,27.039225],[-99.466959,27.047467],[-99.462544,27.057181],[-99.461635,27.056839],[-99.461728,27.056954],[-99.442039,27.089614],[-99.439404,27.098347],[-99.441419,27.107494],[-99.445734,27.114728],[-99.450178,27.120465],[-99.452452,27.125012],[-99.450333,27.145166],[-99.435786,27.188419],[-99.431988,27.207591],[-99.434029,27.22697],[-99.440902,27.244798],[-99.451832,27.26118],[-99.46612,27.276527],[-99.468963,27.278233],[-99.480409,27.283297],[-99.482941,27.286708],[-99.484879,27.294821],[-99.486584,27.297611],[-99.493199,27.30128],[-99.521362,27.311254],[-99.5148,27.321796],[-99.497591,27.338798],[-99.494026,27.348203],[-99.492889,27.358848],[-99.487721,27.37187],[-99.484621,27.391766],[-99.475706,27.414762],[-99.472916,27.426647],[-99.473639,27.463803],[-99.472916,27.468299],[-99.47643,27.48251],[-99.480409,27.490778],[-99.48829,27.494654],[-99.503689,27.495584],[-99.509503,27.500028],[-99.510071,27.510518],[-99.507074,27.533437],[-99.507203,27.57377],[-99.515006,27.588601],[-99.535031,27.604828],[-99.55503,27.613509],[-99.572264,27.61847],[-99.578232,27.622811],[-99.590247,27.642061],[-99.600169,27.646427],[-99.612442,27.643637],[-99.633526,27.633069],[-99.644869,27.632733],[-99.648642,27.636919],[-99.658693,27.654024],[-99.664739,27.659398],[-99.70037,27.659191],[-99.705692,27.66317],[-99.710674,27.670116],[-99.723056,27.687381],[-99.730652,27.691825],[-99.734037,27.702031],[-99.736311,27.713607],[-99.740445,27.722159],[-99.747344,27.726009],[-99.765198,27.731177],[-99.774577,27.735828],[-99.78685,27.748488],[-99.795428,27.761924],[-99.806963,27.771423],[-99.808167,27.772414],[-99.83292,27.776755],[-99.832971,27.782181],[-99.844779,27.793576],[-99.858241,27.803524],[-99.863357,27.804661],[-99.864727,27.814324],[-99.861858,27.83608],[-99.863357,27.845666],[-99.870928,27.854477],[-99.880204,27.859231],[-99.888007,27.864812],[-99.891288,27.876026],[-99.882684,27.89158],[-99.878808,27.901838],[-99.88134,27.906463],[-99.896766,27.912923],[-99.914336,27.928245],[-99.929916,27.946331],[-99.939683,27.961085],[-99.928289,27.975761],[-99.940717,27.983254],[-99.961852,27.987492],[-99.976606,27.992453],[-99.991127,28.007801],[-100.000584,28.02041],[-100.007457,28.033561],[-100.014123,28.050459],[-100.013503,28.056971],[-100.010506,28.063611],[-100.010196,28.068882],[-100.017585,28.070949],[-100.031538,28.081801],[-100.045077,28.095289],[-100.048023,28.102523],[-100.048901,28.115959],[-100.056498,28.137922],[-100.074895,28.154407],[-100.172873,28.198538],[-100.189203,28.201329],[-100.197626,28.207168],[-100.201192,28.220346],[-100.202949,28.234428],[-100.205946,28.242877],[-100.212819,28.245073],[-100.240724,28.249698],[-100.257932,28.260524],[-100.275089,28.277242],[-100.284339,28.296517],[-100.277931,28.314888],[-100.278551,28.331088],[-100.293899,28.353413],[-100.322631,28.386899],[-100.331675,28.422013],[-100.336326,28.458574],[-100.340201,28.464259],[-100.348315,28.470253],[-100.355549,28.478185],[-100.35679,28.489322],[-100.351622,28.496711],[-100.322631,28.510406],[-100.364024,28.524797],[-100.38423,28.537174],[-100.397769,28.557586],[-100.398751,28.568645],[-100.397097,28.592726],[-100.401438,28.60226],[-100.411463,28.609314],[-100.434821,28.619133],[-100.44619,28.626497],[-100.444898,28.643782],[-100.481381,28.686054],[-100.493939,28.708378],[-100.519054,28.804961],[-100.524996,28.814831],[-100.529285,28.819947],[-100.534453,28.830231],[-100.538639,28.835631],[-100.54515,28.83899],[-100.559671,28.839378],[-100.566234,28.842504],[-100.569696,28.84961],[-100.56334,28.86209],[-100.566234,28.869789],[-100.571763,28.8732],[-100.586543,28.879789],[-100.58954,28.883458],[-100.594966,28.899322],[-100.606955,28.910123],[-100.618841,28.917926],[-100.624318,28.924721],[-100.624783,28.93777],[-100.626696,28.948338],[-100.630778,28.956683],[-100.637909,28.962884],[-100.628918,28.98433],[-100.632793,29.005156],[-100.652224,29.044817],[-100.660854,29.102669],[-100.668967,29.116208],[-100.678165,29.119412],[-100.690826,29.121014],[-100.70204,29.12365],[-100.706846,29.130187],[-100.70974,29.135561],[-100.762501,29.173776],[-100.770098,29.187289],[-100.762088,29.208658],[-100.783172,29.243074],[-100.796143,29.257673],[-100.81609,29.270773],[-100.86389,29.290616],[-100.871797,29.296456],[-100.891227,29.318547],[-100.91474,29.337048],[-100.987397,29.366322],[-100.998301,29.372472],[-101.008068,29.380585],[-101.016232,29.390068],[-101.022175,29.40048],[-101.025948,29.414356],[-101.029617,29.442984],[-101.037782,29.460063],[-101.039026,29.460452],[-101.040188,29.457132],[-101.045487,29.451245],[-101.060205,29.449184],[-101.067711,29.45095],[-101.076101,29.453894],[-101.085962,29.454483],[-101.098031,29.449184],[-101.113043,29.466552],[-101.142774,29.475383],[-101.174124,29.475971],[-101.193699,29.469495],[-101.198703,29.473911],[-101.198851,29.476854],[-101.184132,29.497754],[-101.184868,29.512767],[-101.195171,29.521892],[-101.214157,29.518065],[-101.245213,29.493044],[-101.265818,29.487157],[-101.290545,29.49746],[-101.297315,29.503936],[-101.300995,29.512767],[-101.294372,29.520715],[-101.273177,29.524247],[-101.259195,29.533372],[-101.243888,29.554861],[-101.231966,29.580176],[-101.227845,29.599899],[-101.239178,29.616677],[-101.26052,29.613439],[-101.281272,29.597249],[-101.290545,29.575761],[-101.295255,29.570168],[-101.306146,29.574583],[-101.317626,29.584003],[-101.323955,29.592539],[-101.323661,29.603137],[-101.318804,29.616383],[-101.311445,29.628158],[-101.303497,29.634045],[-101.303669,29.631411],[-101.302727,29.633851],[-101.301073,29.649509],[-101.30978,29.654548],[-101.336239,29.654315],[-101.349029,29.660103],[-101.357684,29.667441],[-101.364351,29.676665],[-101.376624,29.700643],[-101.383368,29.718497],[-101.39962,29.740718],[-101.406545,29.752888],[-101.409309,29.765781],[-101.405098,29.778442],[-101.414012,29.774411],[-101.424218,29.771414],[-101.435096,29.770122],[-101.446103,29.771052],[-101.455689,29.77591],[-101.462433,29.788932],[-101.470908,29.791516],[-101.490286,29.785547],[-101.505763,29.773894],[-101.521809,29.765936],[-101.542893,29.771052],[-101.539689,29.779191],[-101.530516,29.796477],[-101.528604,29.801438],[-101.531912,29.811101],[-101.539172,29.817974],[-101.546458,29.820145],[-101.549766,29.815701],[-101.553977,29.796684],[-101.564907,29.786478],[-101.580281,29.781568],[-101.632216,29.775651],[-101.794531,29.795857],[-101.80298,29.801438],[-101.805978,29.811928],[-101.812695,29.812032],[-101.82409,29.805184],[-101.857602,29.805184],[-101.877524,29.810843],[-101.88742,29.81229],[-101.895455,29.808621],[-101.90238,29.803247],[-101.910881,29.799888],[-101.920157,29.798182],[-101.929613,29.797717],[-101.942662,29.803608],[-101.957054,29.814047],[-101.972246,29.818181],[-101.98793,29.805184],[-102.014595,29.810998],[-102.109344,29.80211],[-102.145647,29.815701],[-102.157248,29.824537],[-102.203679,29.846138],[-102.239775,29.849135],[-102.253444,29.855285],[-102.258276,29.873475],[-102.276181,29.869547],[-102.289023,29.878126],[-102.302175,29.889391],[-102.321011,29.893939],[-102.330235,29.888926],[-102.339769,29.870633],[-102.351061,29.866602],[-102.36323,29.864276],[-102.370723,29.857765],[-102.374547,29.848102],[-102.376589,29.821488],[-102.380051,29.811386],[-102.404132,29.780793],[-102.406096,29.777279],[-102.515288,29.784721],[-102.523066,29.782318],[-102.531127,29.769915],[-102.54154,29.762474],[-102.543349,29.760123],[-102.546578,29.757875],[-102.553141,29.756738],[-102.558309,29.759089],[-102.562882,29.769347],[-102.566758,29.771052],[-102.58531,29.764696],[-102.621225,29.747281],[-102.638743,29.743715],[-102.676054,29.74449],[-102.683469,29.743715],[-102.69104,29.736817],[-102.693624,29.729401],[-102.694709,29.720616],[-102.697758,29.709557],[-102.726748,29.664495],[-102.73127,29.650594],[-102.735507,29.649509],[-102.751656,29.622457],[-102.75176,29.620157],[-102.761346,29.603414],[-102.767598,29.59729],[-102.779665,29.592303],[-102.774084,29.579617],[-102.776461,29.575948],[-102.785892,29.571814],[-102.78075,29.558249],[-102.786512,29.550497],[-102.795478,29.54427],[-102.827311,29.470502],[-102.833951,29.461355],[-102.839067,29.45195],[-102.841134,29.438308],[-102.838705,29.426939],[-102.834984,29.415699],[-102.835191,29.403839],[-102.844545,29.390533],[-102.845578,29.384719],[-102.838033,29.370534],[-102.837672,29.366322],[-102.84656,29.361749],[-102.853872,29.361],[-102.859867,29.361155],[-102.864957,29.359527],[-102.876972,29.350871],[-102.883069,29.343766],[-102.885188,29.333379],[-102.885498,29.314801],[-102.899399,29.276095],[-102.899709,29.2639],[-102.892139,29.254391],[-102.867954,29.240387],[-102.858781,29.229147],[-102.869866,29.224781],[-102.896893,29.220285],[-102.942265,29.190209],[-102.947536,29.182018],[-102.969757,29.192845],[-102.988386,29.177135],[-103.015826,29.126776],[-103.024275,29.116157],[-103.032621,29.110214],[-103.072541,29.091404],[-103.080758,29.085203],[-103.085589,29.07572],[-103.091532,29.057866],[-103.095356,29.060294],[-103.104684,29.057866],[-103.109205,29.023372],[-103.122771,28.996474],[-103.147989,28.985105],[-103.187108,28.990221],[-103.241756,29.003502],[-103.301545,29.002365],[-103.316247,29.010065],[-103.311514,29.026043],[-103.309994,29.031175],[-103.3248,29.026808],[-103.330484,29.023733],[-103.342602,29.041226],[-103.351671,29.039417],[-103.360534,29.029831],[-103.372083,29.023733],[-103.38663,29.028798],[-103.414639,29.052414],[-103.423605,29.057866],[-103.435697,29.061121],[-103.478537,29.08205],[-103.529748,29.126776],[-103.535588,29.135122],[-103.538223,29.142408],[-103.541711,29.148816],[-103.550238,29.154656],[-103.558015,29.156206],[-103.58499,29.154656],[-103.673125,29.173569],[-103.702477,29.187858],[-103.749476,29.222972],[-103.759062,29.226848],[-103.770767,29.229845],[-103.777718,29.235297],[-103.769424,29.257543],[-103.774229,29.267517],[-103.78366,29.274803],[-103.794177,29.277594],[-103.837038,29.279906]]],[[[178.301106,52.056551],[179.595462,52.142083],[179.825447,51.992849],[179.661729,51.485763],[179.723231,51.459963],[179.408066,51.209841],[178.411463,51.523605],[177.698335,51.877899],[177.16784,51.581866],[176.487008,52.175325],[174.484678,52.08716],[172.866263,52.207379],[172.825506,52.716846],[172.747012,52.654022],[172.08261,52.952695],[172.942925,53.183013],[173.029416,52.993628],[173.127208,52.99494],[173.143321,52.990383],[173.175059,52.971747],[173.182932,52.968373],[176.45233,52.628178],[176.468135,52.488358],[177.900385,52.488358],[178.007601,52.179677],[178.301106,52.056551]]],[[[-168.899607,65.747626],[-168.909861,65.739569],[-168.926218,65.739895],[-168.942128,65.74372],[-168.951731,65.75316],[-168.942983,65.764716],[-168.920115,65.768866],[-168.907908,65.768297],[-168.902781,65.761542],[-168.899607,65.747626]]],[[[-131.160718,54.787192],[-132.853508,54.482536],[-134.77719,54.717786],[-142.6966,55.845503],[-142.861997,49.948308],[-155.675916,51.109976],[-164.492732,50.603976],[-164.691217,50.997975],[-171.246993,49.948308],[-171.215436,50.576636],[-173.341669,50.968826],[-173.362022,51.082198],[-177.799603,51.272899],[-179.155463,50.982285],[-179.476076,52.072632],[-177.11459,52.248701],[-177.146284,52.789384],[-174.777218,52.443779],[-174.773743,52.685853],[-173.653194,52.704099],[-173.790528,53.469081],[-171.063371,53.604473],[-170.777733,59.291898],[-174.324884,60.332184],[-171.736408,62.68026],[-172.315705,62.725352],[-171.995091,63.999658],[-168.501424,65.565173],[-168.714145,65.546708],[-168.853077,68.370871],[-161.115601,72.416214],[-146.132257,70.607941],[-140.692512,69.955349],[-141.145395,69.671641],[-141.015207,69.654202],[-141.006459,69.651272],[-141.005564,69.650946],[-141.005549,69.650941],[-141.005471,69.505164],[-141.001208,60.466879],[-141.001156,60.321074],[-140.994929,60.304382],[-140.979555,60.295804],[-140.909146,60.28366],[-140.768457,60.259269],[-140.660505,60.24051],[-140.533743,60.218548],[-140.518705,60.22387],[-140.506664,60.236324],[-140.475323,60.276477],[-140.462791,60.289138],[-140.447805,60.29446],[-140.424111,60.293168],[-140.32497,60.267537],[-140.169243,60.227229],[-140.01579,60.187387],[-139.967757,60.188369],[-139.916933,60.207851],[-139.826318,60.256478],[-139.728417,60.309033],[-139.679816,60.32681],[-139.628346,60.334096],[-139.517965,60.336732],[-139.413992,60.339212],[-139.262193,60.342778],[-139.101608,60.346602],[-139.079465,60.341021],[-139.06869,60.322056],[-139.073186,60.299835],[-139.113468,60.226816],[-139.149615,60.161187],[-139.183231,60.100157],[-139.182146,60.073389],[-139.112305,60.031376],[-139.060207,60.000059],[-139.051611,59.994892],[-139.003759,59.977219],[-138.842425,59.937686],[-138.742586,59.913192],[-138.704888,59.898464],[-138.697188,59.89371],[-138.692098,59.886888],[-138.654349,59.805498],[-138.63745,59.784052],[-138.59921,59.753822],[-138.488881,59.696357],[-138.363617,59.631142],[-138.219543,59.556004],[-138.067614,59.476991],[-137.91057,59.395187],[-137.758305,59.315915],[-137.611363,59.239331],[-137.594181,59.225275],[-137.582088,59.206568],[-137.5493,59.134531],[-137.521007,59.072364],[-137.484394,58.991904],[-137.507752,58.939969],[-137.50876,58.914906],[-137.486875,58.900075],[-137.453466,58.899145],[-137.423106,58.907723],[-137.338098,58.955472],[-137.2819,58.98715],[-137.172346,59.027148],[-137.062367,59.067572],[-137.047109,59.07331],[-136.942282,59.11107],[-136.840816,59.148174],[-136.785496,59.157217],[-136.671911,59.150809],[-136.613491,59.15422],[-136.569489,59.172152],[-136.484791,59.2538],[-136.483551,59.257469],[-136.466549,59.287803],[-136.467092,59.38449],[-136.467557,59.461643],[-136.415958,59.452238],[-136.36684,59.449551],[-136.319995,59.459059],[-136.275036,59.486448],[-136.244728,59.528202],[-136.258474,59.556107],[-136.29935,59.575745],[-136.350329,59.592384],[-136.2585,59.621582],[-136.145406,59.636826],[-136.02686,59.652846],[-135.923818,59.666747],[-135.830955,59.693257],[-135.641251,59.747362],[-135.482759,59.792475],[-135.465137,59.789685],[-135.404392,59.753305],[-135.345791,59.731032],[-135.259879,59.698218],[-135.221897,59.675273],[-135.192028,59.64711],[-135.157792,59.623287],[-135.106684,59.613158],[-135.087874,59.606544],[-135.032942,59.573109],[-135.018524,59.559363],[-135.016198,59.543447],[-135.01948,59.493166],[-135.023252,59.477146],[-135.037489,59.461591],[-135.078598,59.438337],[-135.095754,59.418855],[-134.993254,59.381906],[-135.00483,59.367127],[-135.014441,59.35152],[-135.016198,59.336173],[-134.979973,59.297415],[-134.95783,59.280982],[-134.932431,59.270647],[-134.839465,59.258141],[-134.74345,59.245119],[-134.70552,59.240106],[-134.692084,59.235249],[-134.68286,59.223001],[-134.671439,59.193752],[-134.66038,59.181298],[-134.610771,59.144556],[-134.582788,59.128847],[-134.556717,59.123059],[-134.509072,59.122801],[-134.477575,59.114946],[-134.451013,59.097893],[-134.398019,59.051952],[-134.387167,59.036863],[-134.385591,59.018828],[-134.399389,58.974954],[-134.343423,58.968857],[-134.329651,58.963017],[-134.320039,58.952682],[-134.32314,58.949168],[-134.330323,58.945344],[-134.333036,58.93413],[-134.327403,58.916457],[-134.316939,58.903796],[-134.22219,58.842714],[-134.108838,58.808246],[-133.983109,58.769902],[-133.87123,58.735899],[-133.831129,58.718019],[-133.796402,58.693421],[-133.700077,58.59937],[-133.626283,58.546402],[-133.547063,58.505577],[-133.463089,58.462221],[-133.392241,58.403878],[-133.43012,58.372097],[-133.41503,58.330549],[-133.374567,58.290965],[-133.257262,58.210298],[-133.165588,58.147305],[-133.142127,58.120588],[-133.094843,58.0331],[-133.075154,58.007882],[-132.99335,57.941917],[-132.917153,57.880499],[-132.83212,57.791564],[-132.70944,57.663303],[-132.629057,57.579277],[-132.552447,57.499075],[-132.455735,57.420992],[-132.362304,57.3457],[-132.304684,57.280355],[-132.230994,57.19682],[-132.276366,57.14889],[-132.34122,57.080393],[-132.16229,57.050317],[-132.031859,57.028406],[-132.107384,56.858753],[-131.871558,56.79346],[-131.865874,56.785708],[-131.872411,56.77297],[-131.882617,56.759146],[-131.887966,56.747958],[-131.886028,56.737055],[-131.880705,56.728838],[-131.864789,56.71349],[-131.838976,56.682278],[-131.830424,56.664759],[-131.826574,56.644606],[-131.832103,56.603368],[-131.825592,56.593343],[-131.799108,56.587658],[-131.692293,56.585074],[-131.585891,56.595048],[-131.560363,56.594066],[-131.536437,56.585229],[-131.491659,56.560166],[-131.345699,56.503271],[-131.215604,56.45255],[-131.100546,56.407669],[-131.016934,56.38705],[-130.839089,56.372452],[-130.760334,56.345192],[-130.645768,56.261942],[-130.602256,56.247059],[-130.495518,56.232434],[-130.47229,56.22489],[-130.458053,56.210653],[-130.427926,56.143964],[-130.418159,56.129702],[-130.403974,56.121898],[-130.290311,56.10097],[-130.243156,56.092391],[-130.211246,56.089962],[-130.116756,56.105646],[-130.094328,56.101486],[-130.071539,56.084123],[-130.039319,56.045521],[-130.026632,56.024101],[-130.01901,56.002216],[-130.014695,55.963252],[-130.016788,55.918913],[-130.019612,55.907978],[-130.019618,55.907952],[-130.022817,55.901353],[-130.049387,55.871405],[-130.104726,55.825263],[-130.136627,55.806464],[-130.148834,55.795356],[-130.163482,55.771145],[-130.167307,55.766262],[-130.170806,55.759833],[-130.173655,55.749498],[-130.170806,55.740953],[-130.163808,55.734565],[-130.160064,55.727118],[-130.167388,55.715399],[-130.155914,55.700141],[-130.142893,55.689521],[-130.131825,55.676581],[-130.126454,55.653998],[-130.12857,55.63642],[-130.135121,55.619127],[-130.153147,55.58511],[-130.148671,55.578192],[-130.146881,55.569322],[-130.146962,55.547187],[-130.112172,55.509345],[-130.101674,55.481147],[-130.095082,55.472113],[-130.065419,55.446112],[-130.057525,55.434882],[-130.052561,55.414008],[-130.054311,55.366645],[-130.05012,55.345445],[-130.039296,55.330756],[-129.989247,55.284003],[-130.031239,55.26435],[-130.050038,55.252875],[-130.067494,55.239],[-130.078236,55.233791],[-130.100494,55.230292],[-130.104726,55.225653],[-130.105702,55.211127],[-130.10912,55.200751],[-130.115793,55.191596],[-130.126454,55.180976],[-130.151967,55.163275],[-130.159983,55.153713],[-130.167592,55.129584],[-130.173695,55.117743],[-130.200266,55.104153],[-130.211781,55.084133],[-130.228871,55.04385],[-130.238678,55.03441],[-130.261342,55.022895],[-130.269846,55.016547],[-130.275706,55.006985],[-130.286366,54.983222],[-130.294342,54.971869],[-130.326568,54.952094],[-130.335561,54.938707],[-130.365387,54.907294],[-130.385243,54.896552],[-130.430816,54.881252],[-130.488759,54.844184],[-130.580312,54.806383],[-130.597485,54.803391],[-130.71074,54.733215],[-131.160718,54.787192]]]]}}]},"featureIcons":{"circle-stroked-24":{"x":0,"y":0,"width":24,"height":24},"circle-stroked-18":{"x":24,"y":0,"width":18,"height":18},"circle-stroked-12":{"x":42,"y":0,"width":12,"height":12},"circle-24":{"x":54,"y":0,"width":24,"height":24},"circle-18":{"x":78,"y":0,"width":18,"height":18},"circle-12":{"x":96,"y":0,"width":12,"height":12},"square-stroked-24":{"x":108,"y":0,"width":24,"height":24},"square-stroked-18":{"x":132,"y":0,"width":18,"height":18},"square-stroked-12":{"x":150,"y":0,"width":12,"height":12},"square-24":{"x":162,"y":0,"width":24,"height":24},"square-18":{"x":186,"y":0,"width":18,"height":18},"square-12":{"x":204,"y":0,"width":12,"height":12},"triangle-stroked-24":{"x":216,"y":0,"width":24,"height":24},"triangle-stroked-18":{"x":240,"y":0,"width":18,"height":18},"triangle-stroked-12":{"x":258,"y":0,"width":12,"height":12},"triangle-24":{"x":0,"y":24,"width":24,"height":24},"triangle-18":{"x":24,"y":24,"width":18,"height":18},"triangle-12":{"x":42,"y":24,"width":12,"height":12},"star-stroked-24":{"x":54,"y":24,"width":24,"height":24},"star-stroked-18":{"x":78,"y":24,"width":18,"height":18},"star-stroked-12":{"x":96,"y":24,"width":12,"height":12},"star-24":{"x":108,"y":24,"width":24,"height":24},"star-18":{"x":132,"y":24,"width":18,"height":18},"star-12":{"x":150,"y":24,"width":12,"height":12},"cross-24":{"x":162,"y":24,"width":24,"height":24},"cross-18":{"x":186,"y":24,"width":18,"height":18},"cross-12":{"x":204,"y":24,"width":12,"height":12},"marker-stroked-24":{"x":216,"y":24,"width":24,"height":24},"marker-stroked-18":{"x":240,"y":24,"width":18,"height":18},"marker-stroked-12":{"x":258,"y":24,"width":12,"height":12},"marker-24":{"x":0,"y":48,"width":24,"height":24},"marker-18":{"x":24,"y":48,"width":18,"height":18},"marker-12":{"x":42,"y":48,"width":12,"height":12},"religious-jewish-24":{"x":54,"y":48,"width":24,"height":24},"religious-jewish-18":{"x":78,"y":48,"width":18,"height":18},"religious-jewish-12":{"x":96,"y":48,"width":12,"height":12},"religious-christian-24":{"x":108,"y":48,"width":24,"height":24},"religious-christian-18":{"x":132,"y":48,"width":18,"height":18},"religious-christian-12":{"x":150,"y":48,"width":12,"height":12},"religious-muslim-24":{"x":162,"y":48,"width":24,"height":24},"religious-muslim-18":{"x":186,"y":48,"width":18,"height":18},"religious-muslim-12":{"x":204,"y":48,"width":12,"height":12},"cemetery-24":{"x":216,"y":48,"width":24,"height":24},"cemetery-18":{"x":240,"y":48,"width":18,"height":18},"cemetery-12":{"x":258,"y":48,"width":12,"height":12},"rocket-24":{"x":0,"y":72,"width":24,"height":24},"rocket-18":{"x":24,"y":72,"width":18,"height":18},"rocket-12":{"x":42,"y":72,"width":12,"height":12},"airport-24":{"x":54,"y":72,"width":24,"height":24},"airport-18":{"x":78,"y":72,"width":18,"height":18},"airport-12":{"x":96,"y":72,"width":12,"height":12},"heliport-24":{"x":108,"y":72,"width":24,"height":24},"heliport-18":{"x":132,"y":72,"width":18,"height":18},"heliport-12":{"x":150,"y":72,"width":12,"height":12},"rail-24":{"x":162,"y":72,"width":24,"height":24},"rail-18":{"x":186,"y":72,"width":18,"height":18},"rail-12":{"x":204,"y":72,"width":12,"height":12},"rail-metro-24":{"x":216,"y":72,"width":24,"height":24},"rail-metro-18":{"x":240,"y":72,"width":18,"height":18},"rail-metro-12":{"x":258,"y":72,"width":12,"height":12},"rail-light-24":{"x":0,"y":96,"width":24,"height":24},"rail-light-18":{"x":24,"y":96,"width":18,"height":18},"rail-light-12":{"x":42,"y":96,"width":12,"height":12},"bus-24":{"x":54,"y":96,"width":24,"height":24},"bus-18":{"x":78,"y":96,"width":18,"height":18},"bus-12":{"x":96,"y":96,"width":12,"height":12},"fuel-24":{"x":108,"y":96,"width":24,"height":24},"fuel-18":{"x":132,"y":96,"width":18,"height":18},"fuel-12":{"x":150,"y":96,"width":12,"height":12},"parking-24":{"x":162,"y":96,"width":24,"height":24},"parking-18":{"x":186,"y":96,"width":18,"height":18},"parking-12":{"x":204,"y":96,"width":12,"height":12},"parking-garage-24":{"x":216,"y":96,"width":24,"height":24},"parking-garage-18":{"x":240,"y":96,"width":18,"height":18},"parking-garage-12":{"x":258,"y":96,"width":12,"height":12},"airfield-24":{"x":0,"y":120,"width":24,"height":24},"airfield-18":{"x":24,"y":120,"width":18,"height":18},"airfield-12":{"x":42,"y":120,"width":12,"height":12},"roadblock-24":{"x":54,"y":120,"width":24,"height":24},"roadblock-18":{"x":78,"y":120,"width":18,"height":18},"roadblock-12":{"x":96,"y":120,"width":12,"height":12},"ferry-24":{"x":108,"y":120,"width":24,"height":24},"ferry-18":{"x":132,"y":120,"width":18,"height":18},"ferry-12":{"x":150,"y":120,"width":12,"height":12},"harbor-24":{"x":162,"y":120,"width":24,"height":24},"harbor-18":{"x":186,"y":120,"width":18,"height":18},"harbor-12":{"x":204,"y":120,"width":12,"height":12},"bicycle-24":{"x":216,"y":120,"width":24,"height":24},"bicycle-18":{"x":240,"y":120,"width":18,"height":18},"bicycle-12":{"x":258,"y":120,"width":12,"height":12},"park-24":{"x":0,"y":144,"width":24,"height":24},"park-18":{"x":24,"y":144,"width":18,"height":18},"park-12":{"x":42,"y":144,"width":12,"height":12},"park2-24":{"x":54,"y":144,"width":24,"height":24},"park2-18":{"x":78,"y":144,"width":18,"height":18},"park2-12":{"x":96,"y":144,"width":12,"height":12},"museum-24":{"x":108,"y":144,"width":24,"height":24},"museum-18":{"x":132,"y":144,"width":18,"height":18},"museum-12":{"x":150,"y":144,"width":12,"height":12},"lodging-24":{"x":162,"y":144,"width":24,"height":24},"lodging-18":{"x":186,"y":144,"width":18,"height":18},"lodging-12":{"x":204,"y":144,"width":12,"height":12},"monument-24":{"x":216,"y":144,"width":24,"height":24},"monument-18":{"x":240,"y":144,"width":18,"height":18},"monument-12":{"x":258,"y":144,"width":12,"height":12},"zoo-24":{"x":0,"y":168,"width":24,"height":24},"zoo-18":{"x":24,"y":168,"width":18,"height":18},"zoo-12":{"x":42,"y":168,"width":12,"height":12},"garden-24":{"x":54,"y":168,"width":24,"height":24},"garden-18":{"x":78,"y":168,"width":18,"height":18},"garden-12":{"x":96,"y":168,"width":12,"height":12},"campsite-24":{"x":108,"y":168,"width":24,"height":24},"campsite-18":{"x":132,"y":168,"width":18,"height":18},"campsite-12":{"x":150,"y":168,"width":12,"height":12},"theatre-24":{"x":162,"y":168,"width":24,"height":24},"theatre-18":{"x":186,"y":168,"width":18,"height":18},"theatre-12":{"x":204,"y":168,"width":12,"height":12},"art-gallery-24":{"x":216,"y":168,"width":24,"height":24},"art-gallery-18":{"x":240,"y":168,"width":18,"height":18},"art-gallery-12":{"x":258,"y":168,"width":12,"height":12},"pitch-24":{"x":0,"y":192,"width":24,"height":24},"pitch-18":{"x":24,"y":192,"width":18,"height":18},"pitch-12":{"x":42,"y":192,"width":12,"height":12},"soccer-24":{"x":54,"y":192,"width":24,"height":24},"soccer-18":{"x":78,"y":192,"width":18,"height":18},"soccer-12":{"x":96,"y":192,"width":12,"height":12},"america-football-24":{"x":108,"y":192,"width":24,"height":24},"america-football-18":{"x":132,"y":192,"width":18,"height":18},"america-football-12":{"x":150,"y":192,"width":12,"height":12},"tennis-24":{"x":162,"y":192,"width":24,"height":24},"tennis-18":{"x":186,"y":192,"width":18,"height":18},"tennis-12":{"x":204,"y":192,"width":12,"height":12},"basketball-24":{"x":216,"y":192,"width":24,"height":24},"basketball-18":{"x":240,"y":192,"width":18,"height":18},"basketball-12":{"x":258,"y":192,"width":12,"height":12},"baseball-24":{"x":0,"y":216,"width":24,"height":24},"baseball-18":{"x":24,"y":216,"width":18,"height":18},"baseball-12":{"x":42,"y":216,"width":12,"height":12},"golf-24":{"x":54,"y":216,"width":24,"height":24},"golf-18":{"x":78,"y":216,"width":18,"height":18},"golf-12":{"x":96,"y":216,"width":12,"height":12},"swimming-24":{"x":108,"y":216,"width":24,"height":24},"swimming-18":{"x":132,"y":216,"width":18,"height":18},"swimming-12":{"x":150,"y":216,"width":12,"height":12},"cricket-24":{"x":162,"y":216,"width":24,"height":24},"cricket-18":{"x":186,"y":216,"width":18,"height":18},"cricket-12":{"x":204,"y":216,"width":12,"height":12},"skiing-24":{"x":216,"y":216,"width":24,"height":24},"skiing-18":{"x":240,"y":216,"width":18,"height":18},"skiing-12":{"x":258,"y":216,"width":12,"height":12},"school-24":{"x":0,"y":240,"width":24,"height":24},"school-18":{"x":24,"y":240,"width":18,"height":18},"school-12":{"x":42,"y":240,"width":12,"height":12},"college-24":{"x":54,"y":240,"width":24,"height":24},"college-18":{"x":78,"y":240,"width":18,"height":18},"college-12":{"x":96,"y":240,"width":12,"height":12},"library-24":{"x":108,"y":240,"width":24,"height":24},"library-18":{"x":132,"y":240,"width":18,"height":18},"library-12":{"x":150,"y":240,"width":12,"height":12},"post-24":{"x":162,"y":240,"width":24,"height":24},"post-18":{"x":186,"y":240,"width":18,"height":18},"post-12":{"x":204,"y":240,"width":12,"height":12},"fire-station-24":{"x":216,"y":240,"width":24,"height":24},"fire-station-18":{"x":240,"y":240,"width":18,"height":18},"fire-station-12":{"x":258,"y":240,"width":12,"height":12},"town-hall-24":{"x":0,"y":264,"width":24,"height":24},"town-hall-18":{"x":24,"y":264,"width":18,"height":18},"town-hall-12":{"x":42,"y":264,"width":12,"height":12},"police-24":{"x":54,"y":264,"width":24,"height":24},"police-18":{"x":78,"y":264,"width":18,"height":18},"police-12":{"x":96,"y":264,"width":12,"height":12},"prison-24":{"x":108,"y":264,"width":24,"height":24},"prison-18":{"x":132,"y":264,"width":18,"height":18},"prison-12":{"x":150,"y":264,"width":12,"height":12},"embassy-24":{"x":162,"y":264,"width":24,"height":24},"embassy-18":{"x":186,"y":264,"width":18,"height":18},"embassy-12":{"x":204,"y":264,"width":12,"height":12},"beer-24":{"x":216,"y":264,"width":24,"height":24},"beer-18":{"x":240,"y":264,"width":18,"height":18},"beer-12":{"x":258,"y":264,"width":12,"height":12},"restaurant-24":{"x":0,"y":288,"width":24,"height":24},"restaurant-18":{"x":24,"y":288,"width":18,"height":18},"restaurant-12":{"x":42,"y":288,"width":12,"height":12},"cafe-24":{"x":54,"y":288,"width":24,"height":24},"cafe-18":{"x":78,"y":288,"width":18,"height":18},"cafe-12":{"x":96,"y":288,"width":12,"height":12},"shop-24":{"x":108,"y":288,"width":24,"height":24},"shop-18":{"x":132,"y":288,"width":18,"height":18},"shop-12":{"x":150,"y":288,"width":12,"height":12},"fast-food-24":{"x":162,"y":288,"width":24,"height":24},"fast-food-18":{"x":186,"y":288,"width":18,"height":18},"fast-food-12":{"x":204,"y":288,"width":12,"height":12},"bar-24":{"x":216,"y":288,"width":24,"height":24},"bar-18":{"x":240,"y":288,"width":18,"height":18},"bar-12":{"x":258,"y":288,"width":12,"height":12},"bank-24":{"x":0,"y":312,"width":24,"height":24},"bank-18":{"x":24,"y":312,"width":18,"height":18},"bank-12":{"x":42,"y":312,"width":12,"height":12},"grocery-24":{"x":54,"y":312,"width":24,"height":24},"grocery-18":{"x":78,"y":312,"width":18,"height":18},"grocery-12":{"x":96,"y":312,"width":12,"height":12},"cinema-24":{"x":108,"y":312,"width":24,"height":24},"cinema-18":{"x":132,"y":312,"width":18,"height":18},"cinema-12":{"x":150,"y":312,"width":12,"height":12},"pharmacy-24":{"x":162,"y":312,"width":24,"height":24},"pharmacy-18":{"x":186,"y":312,"width":18,"height":18},"pharmacy-12":{"x":204,"y":312,"width":12,"height":12},"hospital-24":{"x":216,"y":312,"width":24,"height":24},"hospital-18":{"x":240,"y":312,"width":18,"height":18},"hospital-12":{"x":258,"y":312,"width":12,"height":12},"danger-24":{"x":0,"y":336,"width":24,"height":24},"danger-18":{"x":24,"y":336,"width":18,"height":18},"danger-12":{"x":42,"y":336,"width":12,"height":12},"industrial-24":{"x":54,"y":336,"width":24,"height":24},"industrial-18":{"x":78,"y":336,"width":18,"height":18},"industrial-12":{"x":96,"y":336,"width":12,"height":12},"warehouse-24":{"x":108,"y":336,"width":24,"height":24},"warehouse-18":{"x":132,"y":336,"width":18,"height":18},"warehouse-12":{"x":150,"y":336,"width":12,"height":12},"commercial-24":{"x":162,"y":336,"width":24,"height":24},"commercial-18":{"x":186,"y":336,"width":18,"height":18},"commercial-12":{"x":204,"y":336,"width":12,"height":12},"building-24":{"x":216,"y":336,"width":24,"height":24},"building-18":{"x":240,"y":336,"width":18,"height":18},"building-12":{"x":258,"y":336,"width":12,"height":12},"place-of-worship-24":{"x":0,"y":360,"width":24,"height":24},"place-of-worship-18":{"x":24,"y":360,"width":18,"height":18},"place-of-worship-12":{"x":42,"y":360,"width":12,"height":12},"alcohol-shop-24":{"x":54,"y":360,"width":24,"height":24},"alcohol-shop-18":{"x":78,"y":360,"width":18,"height":18},"alcohol-shop-12":{"x":96,"y":360,"width":12,"height":12},"logging-24":{"x":108,"y":360,"width":24,"height":24},"logging-18":{"x":132,"y":360,"width":18,"height":18},"logging-12":{"x":150,"y":360,"width":12,"height":12},"oil-well-24":{"x":162,"y":360,"width":24,"height":24},"oil-well-18":{"x":186,"y":360,"width":18,"height":18},"oil-well-12":{"x":204,"y":360,"width":12,"height":12},"slaughterhouse-24":{"x":216,"y":360,"width":24,"height":24},"slaughterhouse-18":{"x":240,"y":360,"width":18,"height":18},"slaughterhouse-12":{"x":258,"y":360,"width":12,"height":12},"dam-24":{"x":0,"y":384,"width":24,"height":24},"dam-18":{"x":24,"y":384,"width":18,"height":18},"dam-12":{"x":42,"y":384,"width":12,"height":12},"water-24":{"x":54,"y":384,"width":24,"height":24},"water-18":{"x":78,"y":384,"width":18,"height":18},"water-12":{"x":96,"y":384,"width":12,"height":12},"wetland-24":{"x":108,"y":384,"width":24,"height":24},"wetland-18":{"x":132,"y":384,"width":18,"height":18},"wetland-12":{"x":150,"y":384,"width":12,"height":12},"disability-24":{"x":162,"y":384,"width":24,"height":24},"disability-18":{"x":186,"y":384,"width":18,"height":18},"disability-12":{"x":204,"y":384,"width":12,"height":12},"telephone-24":{"x":216,"y":384,"width":24,"height":24},"telephone-18":{"x":240,"y":384,"width":18,"height":18},"telephone-12":{"x":258,"y":384,"width":12,"height":12},"emergency-telephone-24":{"x":0,"y":408,"width":24,"height":24},"emergency-telephone-18":{"x":24,"y":408,"width":18,"height":18},"emergency-telephone-12":{"x":42,"y":408,"width":12,"height":12},"toilets-24":{"x":54,"y":408,"width":24,"height":24},"toilets-18":{"x":78,"y":408,"width":18,"height":18},"toilets-12":{"x":96,"y":408,"width":12,"height":12},"waste-basket-24":{"x":108,"y":408,"width":24,"height":24},"waste-basket-18":{"x":132,"y":408,"width":18,"height":18},"waste-basket-12":{"x":150,"y":408,"width":12,"height":12},"music-24":{"x":162,"y":408,"width":24,"height":24},"music-18":{"x":186,"y":408,"width":18,"height":18},"music-12":{"x":204,"y":408,"width":12,"height":12},"land-use-24":{"x":216,"y":408,"width":24,"height":24},"land-use-18":{"x":240,"y":408,"width":18,"height":18},"land-use-12":{"x":258,"y":408,"width":12,"height":12},"city-24":{"x":0,"y":432,"width":24,"height":24},"city-18":{"x":24,"y":432,"width":18,"height":18},"city-12":{"x":42,"y":432,"width":12,"height":12},"town-24":{"x":54,"y":432,"width":24,"height":24},"town-18":{"x":78,"y":432,"width":18,"height":18},"town-12":{"x":96,"y":432,"width":12,"height":12},"village-24":{"x":108,"y":432,"width":24,"height":24},"village-18":{"x":132,"y":432,"width":18,"height":18},"village-12":{"x":150,"y":432,"width":12,"height":12},"farm-24":{"x":162,"y":432,"width":24,"height":24},"farm-18":{"x":186,"y":432,"width":18,"height":18},"farm-12":{"x":204,"y":432,"width":12,"height":12},"bakery-24":{"x":216,"y":432,"width":24,"height":24},"bakery-18":{"x":240,"y":432,"width":18,"height":18},"bakery-12":{"x":258,"y":432,"width":12,"height":12},"dog-park-24":{"x":0,"y":456,"width":24,"height":24},"dog-park-18":{"x":24,"y":456,"width":18,"height":18},"dog-park-12":{"x":42,"y":456,"width":12,"height":12},"lighthouse-24":{"x":54,"y":456,"width":24,"height":24},"lighthouse-18":{"x":78,"y":456,"width":18,"height":18},"lighthouse-12":{"x":96,"y":456,"width":12,"height":12},"clothing-store-24":{"x":108,"y":456,"width":24,"height":24},"clothing-store-18":{"x":132,"y":456,"width":18,"height":18},"clothing-store-12":{"x":150,"y":456,"width":12,"height":12},"polling-place-24":{"x":162,"y":456,"width":24,"height":24},"polling-place-18":{"x":186,"y":456,"width":18,"height":18},"polling-place-12":{"x":204,"y":456,"width":12,"height":12},"playground-24":{"x":216,"y":456,"width":24,"height":24},"playground-18":{"x":240,"y":456,"width":18,"height":18},"playground-12":{"x":258,"y":456,"width":12,"height":12},"entrance-24":{"x":0,"y":480,"width":24,"height":24},"entrance-18":{"x":24,"y":480,"width":18,"height":18},"entrance-12":{"x":42,"y":480,"width":12,"height":12},"heart-24":{"x":54,"y":480,"width":24,"height":24},"heart-18":{"x":78,"y":480,"width":18,"height":18},"heart-12":{"x":96,"y":480,"width":12,"height":12},"london-underground-24":{"x":108,"y":480,"width":24,"height":24},"london-underground-18":{"x":132,"y":480,"width":18,"height":18},"london-underground-12":{"x":150,"y":480,"width":12,"height":12},"minefield-24":{"x":162,"y":480,"width":24,"height":24},"minefield-18":{"x":186,"y":480,"width":18,"height":18},"minefield-12":{"x":204,"y":480,"width":12,"height":12},"rail-underground-24":{"x":216,"y":480,"width":24,"height":24},"rail-underground-18":{"x":240,"y":480,"width":18,"height":18},"rail-underground-12":{"x":258,"y":480,"width":12,"height":12},"rail-above-24":{"x":0,"y":504,"width":24,"height":24},"rail-above-18":{"x":24,"y":504,"width":18,"height":18},"rail-above-12":{"x":42,"y":504,"width":12,"height":12},"camera-24":{"x":54,"y":504,"width":24,"height":24},"camera-18":{"x":78,"y":504,"width":18,"height":18},"camera-12":{"x":96,"y":504,"width":12,"height":12},"laundry-24":{"x":108,"y":504,"width":24,"height":24},"laundry-18":{"x":132,"y":504,"width":18,"height":18},"laundry-12":{"x":150,"y":504,"width":12,"height":12},"car-24":{"x":162,"y":504,"width":24,"height":24},"car-18":{"x":186,"y":504,"width":18,"height":18},"car-12":{"x":204,"y":504,"width":12,"height":12},"suitcase-24":{"x":216,"y":504,"width":24,"height":24},"suitcase-18":{"x":240,"y":504,"width":18,"height":18},"suitcase-12":{"x":258,"y":504,"width":12,"height":12},"hairdresser-24":{"x":0,"y":528,"width":24,"height":24},"hairdresser-18":{"x":24,"y":528,"width":18,"height":18},"hairdresser-12":{"x":42,"y":528,"width":12,"height":12},"chemist-24":{"x":54,"y":528,"width":24,"height":24},"chemist-18":{"x":78,"y":528,"width":18,"height":18},"chemist-12":{"x":96,"y":528,"width":12,"height":12},"mobilephone-24":{"x":108,"y":528,"width":24,"height":24},"mobilephone-18":{"x":132,"y":528,"width":18,"height":18},"mobilephone-12":{"x":150,"y":528,"width":12,"height":12},"scooter-24":{"x":162,"y":528,"width":24,"height":24},"scooter-18":{"x":186,"y":528,"width":18,"height":18},"scooter-12":{"x":204,"y":528,"width":12,"height":12},"gift-24":{"x":216,"y":528,"width":24,"height":24},"gift-18":{"x":240,"y":528,"width":18,"height":18},"gift-12":{"x":258,"y":528,"width":12,"height":12},"ice-cream-24":{"x":0,"y":552,"width":24,"height":24},"ice-cream-18":{"x":24,"y":552,"width":18,"height":18},"ice-cream-12":{"x":42,"y":552,"width":12,"height":12}},"locales":["af","sq","ar","ar-AA","hy","ast","bn","bs","bg-BG","ca","zh","zh-CN","zh-HK","zh-TW","yue","hr","cs","da","nl","en-GB","eo","et","fi","fr","gl","de","el","hi","hu","is","id","it","ja","kn","ko","lv","lij","lt","no","fa","pl","pt","pt-BR","ro","ru","sc","sr","si","sk","sl","es","sv","tl","ta","te","th","tr","uk","vi"],"en":{"modes":{"add_area":{"title":"Area","description":"Add parks, buildings, lakes or other areas to the map.","tail":"Click on the map to start drawing an area, like a park, lake, or building."},"add_line":{"title":"Line","description":"Add highways, streets, pedestrian paths, canals or other lines to the map.","tail":"Click on the map to start drawing a road, path, or route."},"add_point":{"title":"Point","description":"Add restaurants, monuments, postal boxes or other points to the map.","tail":"Click on the map to add a point."},"browse":{"title":"Browse","description":"Pan and zoom the map."},"draw_area":{"tail":"Click to add nodes to your area. Click the first node to finish the area."},"draw_line":{"tail":"Click to add more nodes to the line. Click on other lines to connect to them, and double-click to end the line."}},"operations":{"add":{"annotation":{"point":"Added a point.","vertex":"Added a node to a way.","relation":"Added a relation."}},"start":{"annotation":{"line":"Started a line.","area":"Started an area."}},"continue":{"key":"A","title":"Continue","description":"Continue this line.","not_eligible":"No line can be continued here.","multiple":"Several lines can be continued here. To choose a line, press the Shift key and click on it to select it.","annotation":{"line":"Continued a line.","area":"Continued an area."}},"cancel_draw":{"annotation":"Canceled drawing."},"change_role":{"annotation":"Changed the role of a relation member."},"change_tags":{"annotation":"Changed tags."},"circularize":{"title":"Circularize","description":{"line":"Make this line circular.","area":"Make this area circular."},"key":"O","annotation":{"line":"Made a line circular.","area":"Made an area circular."},"not_closed":"This can't be made circular because it's not a loop.","too_large":"This can't be made circular because not enough of it is currently visible.","connected_to_hidden":"This can't be made circular because it is connected to a hidden feature."},"orthogonalize":{"title":"Square","description":{"line":"Square the corners of this line.","area":"Square the corners of this area."},"key":"S","annotation":{"line":"Squared the corners of a line.","area":"Squared the corners of an area."},"not_squarish":"This can't be made square because it is not squarish.","too_large":"This can't be made square because not enough of it is currently visible.","connected_to_hidden":"This can't be made square because it is connected to a hidden feature."},"straighten":{"title":"Straighten","description":"Straighten this line.","key":"S","annotation":"Straightened a line.","too_bendy":"This can't be straightened because it bends too much.","connected_to_hidden":"This line can't be straightened because it is connected to a hidden feature."},"delete":{"title":"Delete","description":"Delete object permanently.","annotation":{"point":"Deleted a point.","vertex":"Deleted a node from a way.","line":"Deleted a line.","area":"Deleted an area.","relation":"Deleted a relation.","multiple":"Deleted {n} objects."},"incomplete_relation":"This feature can't be deleted because it hasn't been fully downloaded.","part_of_relation":"This feature can't be deleted because it's part of a larger relation. You must remove it from the relation first.","connected_to_hidden":"This can't be deleted because it is connected to a hidden feature."},"add_member":{"annotation":"Added a member to a relation."},"delete_member":{"annotation":"Removed a member from a relation."},"connect":{"annotation":{"point":"Connected a way to a point.","vertex":"Connected a way to another.","line":"Connected a way to a line.","area":"Connected a way to an area."}},"disconnect":{"title":"Disconnect","description":"Disconnect these lines/areas from each other.","key":"D","annotation":"Disconnected lines/areas.","not_connected":"There aren't enough lines/areas here to disconnect.","connected_to_hidden":"This can't be disconnected because it is connected to a hidden feature.","relation":"This can't be disconnected because it connects members of a relation."},"merge":{"title":"Merge","description":"Merge these features.","key":"C","annotation":"Merged {n} features.","not_eligible":"These features can't be merged.","not_adjacent":"These features can't be merged because they aren't connected.","restriction":"These features can't be merged because at least one is a member of a \"{relation}\" relation.","incomplete_relation":"These features can't be merged because at least one hasn't been fully downloaded.","conflicting_tags":"These features can't be merged because some of their tags have conflicting values."},"move":{"title":"Move","description":"Move this to a different location.","key":"M","annotation":{"point":"Moved a point.","vertex":"Moved a node in a way.","line":"Moved a line.","area":"Moved an area.","multiple":"Moved multiple objects."},"incomplete_relation":"This feature can't be moved because it hasn't been fully downloaded.","too_large":"This can't be moved because not enough of it is currently visible.","connected_to_hidden":"This can't be moved because it is connected to a hidden feature."},"rotate":{"title":"Rotate","description":"Rotate this object around its center point.","key":"R","annotation":{"line":"Rotated a line.","area":"Rotated an area."},"too_large":"This can't be rotated because not enough of it is currently visible.","connected_to_hidden":"This can't be rotated because it is connected to a hidden feature."},"reverse":{"title":"Reverse","description":"Make this line go in the opposite direction.","key":"V","annotation":"Reversed a line."},"split":{"title":"Split","description":{"line":"Split this line into two at this node.","area":"Split the boundary of this area into two.","multiple":"Split the lines/area boundaries at this node into two."},"key":"X","annotation":{"line":"Split a line.","area":"Split an area boundary.","multiple":"Split {n} lines/area boundaries."},"not_eligible":"Lines can't be split at their beginning or end.","multiple_ways":"There are too many lines here to split.","connected_to_hidden":"This can't be split because it is connected to a hidden feature."},"restriction":{"help":{"select":"Click to select a road segment.","toggle":"Click to toggle turn restrictions.","toggle_on":"Click to add a \"{restriction}\" restriction.","toggle_off":"Click to remove the \"{restriction}\" restriction."},"annotation":{"create":"Added a turn restriction","delete":"Deleted a turn restriction"}}},"undo":{"tooltip":"Undo: {action}","nothing":"Nothing to undo."},"redo":{"tooltip":"Redo: {action}","nothing":"Nothing to redo."},"tooltip_keyhint":"Shortcut:","browser_notice":"This editor is supported in Firefox, Chrome, Safari, Opera, and Internet Explorer 11 and above. Please upgrade your browser or use Potlatch 2 to edit the map.","translate":{"translate":"Translate","localized_translation_label":"Multilingual name","localized_translation_language":"Choose language","localized_translation_name":"Name"},"zoom_in_edit":"Zoom in to Edit","logout":"logout","loading_auth":"Connecting to OpenStreetMap...","report_a_bug":"Report a bug","help_translate":"Help translate","feature_info":{"hidden_warning":"{count} hidden features","hidden_details":"These features are currently hidden: {details}"},"status":{"error":"Unable to connect to API.","offline":"The API is offline. Please try editing later.","readonly":"The API is read-only. You will need to wait to save your changes."},"commit":{"title":"Save Changes","description_placeholder":"Brief description of your contributions (required)","message_label":"Changeset comment","upload_explanation":"The changes you upload will be visible on all maps that use OpenStreetMap data.","upload_explanation_with_user":"The changes you upload as {user} will be visible on all maps that use OpenStreetMap data.","save":"Save","cancel":"Cancel","changes":"{count} Changes","warnings":"Warnings","modified":"Modified","deleted":"Deleted","created":"Created","about_changeset_comments":"About changeset comments","about_changeset_comments_link":"//wiki.openstreetmap.org/wiki/Good_changeset_comments","google_warning":"You mentioned Google in this comment: remember that copying from Google Maps is strictly forbidden.","google_warning_link":"http://www.openstreetmap.org/copyright"},"contributors":{"list":"Edits by {users}","truncated_list":"Edits by {users} and {count} others"},"infobox":{"selected":"{n} selected","geometry":"Geometry","closed":"closed","center":"Center","perimeter":"Perimeter","length":"Length","area":"Area","centroid":"Centroid","location":"Location","metric":"Metric","imperial":"Imperial"},"geometry":{"point":"point","vertex":"vertex","line":"line","area":"area","relation":"relation"},"geocoder":{"search":"Search worldwide...","no_results_visible":"No results in visible map area","no_results_worldwide":"No results found"},"geolocate":{"title":"Show My Location","locating":"Locating, please wait..."},"inspector":{"no_documentation_combination":"There is no documentation available for this tag combination","no_documentation_key":"There is no documentation available for this key","show_more":"Show More","view_on_osm":"View on openstreetmap.org","all_fields":"All fields","all_tags":"All tags","all_members":"All members","all_relations":"All relations","new_relation":"New relation...","role":"Role","choose":"Select feature type","results":"{n} results for {search}","reference":"View on OpenStreetMap Wiki","back_tooltip":"Change feature","remove":"Remove","search":"Search","multiselect":"Selected items","unknown":"Unknown","incomplete":"<not downloaded>","feature_list":"Search features","edit":"Edit feature","check":{"yes":"Yes","no":"No"},"add":"Add","none":"None","node":"Node","way":"Way","relation":"Relation","location":"Location","add_fields":"Add field:"},"background":{"title":"Background","description":"Background settings","percent_brightness":"{opacity}% brightness","none":"None","best_imagery":"Best known imagery source for this location","custom":"Custom","custom_button":"Edit custom background","custom_prompt":"Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.","fix_misalignment":"Adjust imagery offset","imagery_source_faq":"Where does this imagery come from?","reset":"reset","offset":"Drag anywhere in the gray area below to adjust the imagery offset, or enter the offset values in meters.","minimap":{"description":"Minimap","tooltip":"Show a zoomed out map to help locate the area currently displayed."}},"map_data":{"title":"Map Data","description":"Map Data","data_layers":"Data Layers","fill_area":"Fill Areas","map_features":"Map Features","autohidden":"These features have been automatically hidden because too many would be shown on the screen. You can zoom in to edit them."},"feature":{"points":{"description":"Points","tooltip":"Points of Interest"},"traffic_roads":{"description":"Traffic Roads","tooltip":"Highways, Streets, etc."},"service_roads":{"description":"Service Roads","tooltip":"Service Roads, Parking Aisles, Tracks, etc."},"paths":{"description":"Paths","tooltip":"Sidewalks, Foot Paths, Cycle Paths, etc."},"buildings":{"description":"Buildings","tooltip":"Buildings, Shelters, Garages, etc."},"landuse":{"description":"Landuse Features","tooltip":"Forests, Farmland, Parks, Residential, Commercial, etc."},"boundaries":{"description":"Boundaries","tooltip":"Administrative Boundaries"},"water":{"description":"Water Features","tooltip":"Rivers, Lakes, Ponds, Basins, etc."},"rail":{"description":"Rail Features","tooltip":"Railways"},"power":{"description":"Power Features","tooltip":"Power Lines, Power Plants, Substations, etc."},"past_future":{"description":"Past/Future","tooltip":"Proposed, Construction, Abandoned, Demolished, etc."},"others":{"description":"Others","tooltip":"Everything Else"}},"area_fill":{"wireframe":{"description":"No Fill (Wireframe)","tooltip":"Enabling wireframe mode makes it easy to see the background imagery."},"partial":{"description":"Partial Fill","tooltip":"Areas are drawn with fill only around their inner edges. (Recommended for beginner mappers)"},"full":{"description":"Full Fill","tooltip":"Areas are drawn fully filled."}},"restore":{"heading":"You have unsaved changes","description":"Do you wish to restore unsaved changes from a previous editing session?","restore":"Restore","reset":"Reset"},"save":{"title":"Save","help":"Save changes to OpenStreetMap, making them visible to other users.","no_changes":"No changes to save.","error":"Errors occurred while trying to save","status_code":"Server returned status code {code}","unknown_error_details":"Please ensure you are connected to the internet.","uploading":"Uploading changes to OpenStreetMap.","unsaved_changes":"You have unsaved changes","conflict":{"header":"Resolve conflicting edits","count":"Conflict {num} of {total}","previous":"< Previous","next":"Next >","keep_local":"Keep mine","keep_remote":"Use theirs","restore":"Restore","delete":"Leave Deleted","download_changes":"Or download your changes.","done":"All conflicts resolved!","help":"Another user changed some of the same map features you changed.\nClick on each item below for more details about the conflict, and choose whether to keep\nyour changes or the other user's changes.\n"}},"merge_remote_changes":{"conflict":{"deleted":"This object has been deleted by {user}.","location":"This object was moved by both you and {user}.","nodelist":"Nodes were changed by both you and {user}.","memberlist":"Relation members were changed by both you and {user}.","tags":"You changed the <b>{tag}</b> tag to \"{local}\" and {user} changed it to \"{remote}\"."}},"success":{"edited_osm":"Edited OSM!","just_edited":"You just edited OpenStreetMap!","view_on_osm":"View on OSM","facebook":"Share on Facebook","twitter":"Share on Twitter","google":"Share on Google+","help_html":"Your changes should appear in the \"Standard\" layer in a few minutes. Other layers, and certain features, may take longer.","help_link_text":"Details","help_link_url":"https://wiki.openstreetmap.org/wiki/FAQ#I_have_just_made_some_changes_to_the_map._How_do_I_get_to_see_my_changes.3F"},"confirm":{"okay":"Okay","cancel":"Cancel"},"splash":{"welcome":"Welcome to the iD OpenStreetMap editor","text":"iD is a friendly but powerful tool for contributing to the world's best free world map. This is version {version}. For more information see {website} and report bugs at {github}.","walkthrough":"Start the Walkthrough","start":"Edit Now"},"source_switch":{"live":"live","lose_changes":"You have unsaved changes. Switching the map server will discard them. Are you sure you want to switch servers?","dev":"dev"},"tag_reference":{"description":"Description","on_wiki":"{tag} on wiki.osm.org","used_with":"used with {type}"},"validations":{"untagged_point":"Untagged point","untagged_line":"Untagged line","untagged_area":"Untagged area","many_deletions":"You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.","tag_suggests_area":"The tag {tag} suggests line should be area, but it is not an area","untagged_point_tooltip":"Select a feature type that describes what this point is.","untagged_line_tooltip":"Select a feature type that describes what this line is.","untagged_area_tooltip":"Select a feature type that describes what this area is.","deprecated_tags":"Deprecated tags: {tags}"},"zoom":{"in":"Zoom In","out":"Zoom Out"},"cannot_zoom":"Cannot zoom out further in current mode.","full_screen":"Toggle Full Screen","gpx":{"local_layer":"Local GPX file","drag_drop":"Drag and drop a .gpx file on the page, or click the button to the right to browse","zoom":"Zoom to GPX track","browse":"Browse for a .gpx file"},"mapillary_images":{"tooltip":"Street-level photos from Mapillary","title":"Photo Overlay (Mapillary)"},"mapillary_signs":{"tooltip":"Traffic signs from Mapillary","title":"Traffic Sign Overlay (Mapillary)"},"mapillary":{"view_on_mapillary":"View this image on Mapillary"},"help":{"title":"Help","help":"# Help\n\nThis is an editor for [OpenStreetMap](http://www.openstreetmap.org/), the\nfree and editable map of the world. You can use it to add and update\ndata in your area, making an open-source and open-data map of the world\nbetter for everyone.\n\nEdits that you make on this map will be visible to everyone who uses\nOpenStreetMap. In order to make an edit, you'll need to\n[log in](https://www.openstreetmap.org/login).\n\nThe [iD editor](http://ideditor.com/) is a collaborative project with [source\ncode available on GitHub](https://github.com/openstreetmap/iD).\n","editing_saving":"# Editing & Saving\n\nThis editor is designed to work primarily online, and you're accessing\nit through a website right now.\n\n### Selecting Features\n\nTo select a map feature, like a road or point of interest, click\non it on the map. This will highlight the selected feature, open a panel with\ndetails about it, and show a menu of things you can do with the feature.\n\nTo select multiple features, hold down the 'Shift' key. Then either click\non the features you want to select, or drag on the map to draw a rectangle.\nThis will draw a box and select all the points within it.\n\n### Saving Edits\n\nWhen you make changes like editing roads, buildings, and places, these are\nstored locally until you save them to the server. Don't worry if you make\na mistake - you can undo changes by clicking the undo button, and redo\nchanges by clicking the redo button.\n\nClick 'Save' to finish a group of edits - for instance, if you've completed\nan area of town and would like to start on a new area. You'll have a chance\nto review what you've done, and the editor supplies helpful suggestions\nand warnings if something doesn't seem right about the changes.\n\nIf everything looks good, you can enter a short comment explaining the change\nyou made, and click 'Save' again to post the changes\nto [OpenStreetMap.org](http://www.openstreetmap.org/), where they are visible\nto all other users and available for others to build and improve upon.\n\nIf you can't finish your edits in one sitting, you can leave the editor\nwindow and come back (on the same browser and computer), and the\neditor application will offer to restore your work.\n\n### Using the editor\n\nA list of available keyboard shortcuts can be found [here](http://wiki.openstreetmap.org/wiki/ID/Shortcuts).\n","roads":"# Roads\n\nYou can create, fix, and delete roads with this editor. Roads can be all\nkinds: paths, highways, trails, cycleways, and more - any often-crossed\nsegment should be mappable.\n\n### Selecting\n\nClick on a road to select it. An outline should become visible, along\nwith a small tools menu on the map and a sidebar showing more information\nabout the road.\n\n### Modifying\n\nOften you'll see roads that aren't aligned to the imagery behind them\nor to a GPS track. You can adjust these roads so they are in the correct\nplace.\n\nFirst click on the road you want to change. This will highlight it and show\ncontrol points along it that you can drag to better locations. If\nyou want to add new control points for more detail, double-click a part\nof the road without a node, and one will be added.\n\nIf the road connects to another road, but doesn't properly connect on\nthe map, you can drag one of its control points onto the other road in\norder to join them. Having roads connect is important for the map\nand essential for providing driving directions.\n\nYou can also click the 'Move' tool or press the `M` shortcut key to move the entire road at\none time, and then click again to save that movement.\n\n### Deleting\n\nIf a road is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the road could simply be newly built.\n\nYou can delete a road by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n\n### Creating\n\nFound somewhere there should be a road but there isn't? Click the 'Line'\nicon in the top-left of the editor or press the shortcut key `2` to start drawing\na line.\n\nClick on the start of the road on the map to start drawing. If the road\nbranches off from an existing road, start by clicking on the place where they connect.\n\nThen click on points along the road so that it follows the right path, according\nto satellite imagery or GPS. If the road you are drawing crosses another road, connect\nit by clicking on the intersection point. When you're done drawing, double-click\nor press 'Return' or 'Enter' on your keyboard.\n","gps":"# GPS\n\nCollected GPS traces are one valuable source of data for OpenStreetMap. This editor\nsupports local traces - `.gpx` files on your local computer. You can collect\nthis kind of GPS trace with a number of smartphone applications as well as\npersonal GPS hardware.\n\nFor information on how to perform a GPS survey, read\n[Mapping with a smartphone, GPS, or paper](http://learnosm.org/en/mobile-mapping/).\n\nTo use a GPX track for mapping, drag and drop the GPX file onto the map\neditor. If it's recognized, it will be added to the map as a bright purple\nline. Click on the 'Map Data' menu on the right side to enable,\ndisable, or zoom to this new GPX-powered layer.\n\nThe GPX track isn't directly uploaded to OpenStreetMap - the best way to\nuse it is to draw on the map, using it as a guide for the new features that\nyou add, and also to [upload it to OpenStreetMap](http://www.openstreetmap.org/trace/create)\nfor other users to use.\n","imagery":"# Imagery\n\nAerial imagery is an important resource for mapping. A combination of\nairplane flyovers, satellite views, and freely-compiled sources are available\nin the editor under the 'Background Settings' menu on the right.\n\nBy default a [Bing Maps](http://www.bing.com/maps/) satellite layer is\npresented in the editor, but as you pan and zoom the map to new geographical\nareas, new sources will become available. Some countries, like the United\nStates, France, and Denmark have very high-quality imagery available for some areas.\n\nImagery is sometimes offset from the map data because of a mistake on the\nimagery provider's side. If you see a lot of roads shifted from the background,\ndon't immediately move them all to match the background. Instead you can adjust\nthe imagery so that it matches the existing data by clicking 'Fix alignment' at\nthe bottom of the Background Settings UI.\n","addresses":"# Addresses\n\nAddresses are some of the most useful information for the map.\n\nAlthough addresses are often represented as parts of streets, in OpenStreetMap\nthey're recorded as attributes of buildings and places along streets.\n\nYou can add address information to places mapped as building outlines\nas well as those mapped as single points. The optimal source of address\ndata is from an on-the-ground survey or personal knowledge - as with any\nother feature, copying from commercial sources like Google Maps is strictly\nforbidden.\n","inspector":"# Using the Inspector\n\nThe inspector is the section on the left side of the page that allows you to\nedit the details of the selected feature.\n\n### Selecting a Feature Type\n\nAfter you add a point, line, or area, you can choose what type of feature it\nis, like whether it's a highway or residential road, supermarket or cafe.\nThe inspector will display buttons for common feature types, and you can\nfind others by typing what you're looking for in the search box.\n\nClick the 'i' in the bottom-right-hand corner of a feature type button to\nlearn more about it. Click a button to choose that type.\n\n### Using Forms and Editing Tags\n\nAfter you choose a feature type, or when you select a feature that already\nhas a type assigned, the inspector will display fields with details about\nthe feature like its name and address.\n\nBelow the fields you see, you can click the 'Add field' dropdown to add\nother details, like a Wikipedia link, wheelchair access, and more.\n\nAt the bottom of the inspector, click 'Additional tags' to add arbitrary\nother tags to the element. [Taginfo](http://taginfo.openstreetmap.org/) is a\ngreat resource for learn more about popular tag combinations.\n\nChanges you make in the inspector are automatically applied to the map.\nYou can undo them at any time by clicking the 'Undo' button.\n","buildings":"# Buildings\n\nOpenStreetMap is the world's largest database of buildings. You can create\nand improve this database.\n\n### Selecting\n\nYou can select a building by clicking on its border. This will highlight the\nbuilding and open a small tools menu and a sidebar showing more information\nabout the building.\n\n### Modifying\n\nSometimes buildings are incorrectly placed or have incorrect tags.\n\nTo move an entire building, select it, then click the 'Move' tool. Move your\nmouse to shift the building, and click when it's correctly placed.\n\nTo fix the specific shape of a building, click and drag the nodes that form\nits border into better places.\n\n### Creating\n\nOne of the main questions around adding buildings to the map is that\nOpenStreetMap records buildings both as shapes and points. The rule of thumb\nis to _map a building as a shape whenever possible_, and map companies, homes,\namenities, and other things that operate out of buildings as points placed\nwithin the building shape.\n\nStart drawing a building as a shape by clicking the 'Area' button in the top\nleft of the interface, and end it either by pressing 'Return' on your keyboard\nor clicking on the first node drawn to close the shape.\n\n### Deleting\n\nIf a building is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the building could simply be newly built.\n\nYou can delete a building by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n","relations":"# Relations\n\nA relation is a special type of feature in OpenStreetMap that groups together\nother features. For example, two common types of relations are *route relations*,\nwhich group together sections of road that belong to a specific freeway or\nhighway, and *multipolygons*, which group together several lines that define\na complex area (one with several pieces or holes in it like a donut).\n\nThe group of features in a relation are called *members*. In the sidebar, you can\nsee which relations a feature is a member of, and click on a relation there\nto select the it. When the relation is selected, you can see all of its\nmembers listed in the sidebar and highlighted on the map.\n\nFor the most part, iD will take care of maintaining relations automatically\nwhile you edit. The main thing you should be aware of is that if you delete a\nsection of road to redraw it more accurately, you should make sure that the\nnew section is a member of the same relations as the original.\n\n## Editing Relations\n\nIf you want to edit relations, here are the basics.\n\nTo add a feature to a relation, select the feature, click the \"+\" button in the\n\"All relations\" section of the sidebar, and select or type the name of the relation.\n\nTo create a new relation, select the first feature that should be a member,\nclick the \"+\" button in the \"All relations\" section, and select \"New relation...\".\n\nTo remove a feature from a relation, select the feature and click the trash\nbutton next to the relation you want to remove it from.\n\nYou can create multipolygons with holes using the \"Merge\" tool. Draw two areas (inner\nand outer), hold the Shift key and click on each of them to select them both, and then\nclick the \"Merge\" (+) button.\n"},"intro":{"graph":{"city_hall":"Three Rivers City Hall","fire_department":"Three Rivers Fire Department","memory_isle_park":"Memory Isle Park","riverwalk_trail":"Riverwalk Trail","w_michigan_ave":"West Michigan Avenue","e_michigan_ave":"East Michigan Avenue","spring_st":"Spring Street","scidmore_park":"Scidmore Park","petting_zoo":"Scidmore Park Petting Zoo","n_andrews_st":"North Andrews Street","s_andrews_st":"South Andrews Street","n_constantine_st":"North Constantine Street","s_constantine_st":"South Constantine Street","rocky_river":"Rocky River","railroad_dr":"Railroad Drive","conrail_rr":"Conrail Railroad","st_joseph_river":"Saint Joseph River","n_main_st":"North Main Street","s_main_st":"South Main Street","water_st":"Water Street","foster_st":"Foster Street","portage_river":"Portage River","flower_st":"Flower Street","elm_st":"Elm Street","walnut_st":"Walnut Street","morris_ave":"Morris Avenue","east_st":"East Street","portage_ave":"Portage Avenue"},"navigation":{"title":"Navigation","drag":"The main map area shows OpenStreetMap data on top of a background. You can navigate by dragging and scrolling, just like any web map. **Drag the map!**","select":"Map features are represented three ways: using points, lines or areas. All features can be selected by clicking on them. **Click on the point to select it.**","pane":"When a feature is selected, the feature editor is displayed. The header shows us the feature type and the main pane shows the feature's attributes, such as its name and address. **Close the feature editor by pressing the {button} button in the top right.**","search":"You can also search for features in the current view, or worldwide. **Search for '{name}'**","choose":"**Choose {name} from the list to select it.**","chosen":"Great! {name} is now selected. **Close the feature editor by pressing the {button} button.**"},"points":{"title":"Points","add":"Points can be used to represent features such as shops, restaurants, and monuments. They mark a specific location, and describe what's there. **Click the {button} Point button to add a new point.**","place":"The point can be placed by clicking on the map. **Click the map to place the new point on top of the building.**","search":"There are many different features that can be represented by points. The point you just added is a Cafe. **Search for '{name}'**","choose":"**Choose Cafe from the list.**","describe":"The point is now marked as a cafe. Using the feature editor, we can add more information about the feature. **Add a name**","close":"The feature editor will remember all of your changes automatically. When you change a feature, the close button will change to a checkmark. **Click the {button} button to close the feature editor**","reselect":"Often points will already exist, but have mistakes or be incomplete. We can edit existing points. **Click to select the point you just created.**","fixname":"**Change the name, then click the {button} button to close the feature editor.**","reselect_delete":"All features on the map can be deleted. **Click to select the point you created.**","delete":"The menu around the point contains operations that can be performed on it, including delete. **Click on the {button} button to delete the point.**"},"areas":{"title":"Areas","add":"Areas are used to show the boundaries of features like lakes, buildings, and residential areas. They can be also be used for more detailed mapping of many features you might normally map as points. **Click the {button} Area button to add a new area.**","corner":"Areas are drawn by placing nodes that mark the boundary of the area. **Click to place a starting node on one of the corners of the playground.**","place":"Draw the area by placing more nodes. Finish the area by clicking on the starting node. **Draw an area for the playground.**","search":"**Search for '{name}'.**","choose":"**Choose Playground from the list.**","describe":"**Add a name, then click the {button} button to close the feature editor**"},"lines":{"title":"Lines","add":"Lines are used to represent features such as roads, railroads, and rivers. **Click the {button} Line button to add a new line.**","start":"**Start the line by clicking on the end of the road.**","intersect":"Click to add more nodes to the line. You can drag the map while drawing if necessary. Roads, and many other types of lines, are part of a larger network. It is important for these lines to be connected properly in order for routing applications to work. **Click on {name} to create an intersection connecting the two lines.**","finish":"Lines can be finished by clicking on the last node again. **Finish drawing the road.**","road":"**Select Road from the list**","residential":"There are different types of roads, the most common of which is Residential. **Choose the Residential road type**","describe":"**Name the road, then click the {button} button to close the feature editor.**","restart":"The road needs to intersect {name}.","wrong_preset":"You didn't select the Residential road type. **Click here to choose again**"},"startediting":{"title":"Start Editing","help":"You can replay this walkthrough or view more documentation by clicking the {button} Help button.","save":"Don't forget to regularly save your changes!","start":"Start mapping!"}},"presets":{"categories":{"category-building":{"name":"Building Features"},"category-golf":{"name":"Golf Features"},"category-landuse":{"name":"Land Use Features"},"category-path":{"name":"Path Features"},"category-rail":{"name":"Rail Features"},"category-restriction":{"name":"Restriction Features"},"category-road":{"name":"Road Features"},"category-route":{"name":"Route Features"},"category-water-area":{"name":"Water Features"},"category-water-line":{"name":"Water Features"}},"fields":{"access":{"label":"Allowed Access","placeholder":"Not Specified","types":{"access":"All","foot":"Foot","motor_vehicle":"Motor Vehicles","bicycle":"Bicycles","horse":"Horses"},"options":{"yes":{"title":"Allowed","description":"Access permitted by law; a right of way"},"no":{"title":"Prohibited","description":"Access not permitted to the general public"},"permissive":{"title":"Permissive","description":"Access permitted until such time as the owner revokes the permission"},"private":{"title":"Private","description":"Access permitted only with permission of the owner on an individual basis"},"designated":{"title":"Designated","description":"Access permitted according to signs or specific local laws"},"destination":{"title":"Destination","description":"Access permitted only to reach a destination"},"dismount":{"title":"Dismount","description":"Access permitted but rider must dismount"}}},"access_simple":{"label":"Allowed Access","placeholder":"yes"},"access_toilets":{"label":"Access"},"address":{"label":"Address","placeholders":{"housename":"Housename","housenumber":"123","conscriptionnumber":"123","street":"Street","city":"City","postcode":"Postcode","place":"Place","hamlet":"Hamlet","suburb":"Suburb","subdistrict":"Subdistrict","district":"District","province":"Province","state":"State","country":"Country"}},"admin_level":{"label":"Admin Level"},"aerialway":{"label":"Type"},"aerialway/access":{"label":"Access","options":{"entry":"Entry","exit":"Exit","both":"Both"}},"aerialway/bubble":{"label":"Bubble"},"aerialway/capacity":{"label":"Capacity (per hour)","placeholder":"500, 2500, 5000..."},"aerialway/duration":{"label":"Duration (minutes)","placeholder":"1, 2, 3..."},"aerialway/heating":{"label":"Heated"},"aerialway/occupancy":{"label":"Occupancy","placeholder":"2, 4, 8..."},"aerialway/summer/access":{"label":"Access (summer)","options":{"entry":"Entry","exit":"Exit","both":"Both"}},"aeroway":{"label":"Type"},"amenity":{"label":"Type"},"area/highway":{"label":"Type"},"artist":{"label":"Artist"},"artwork_type":{"label":"Type"},"atm":{"label":"ATM"},"backrest":{"label":"Backrest"},"barrier":{"label":"Type"},"bench":{"label":"Bench"},"bicycle_parking":{"label":"Type"},"bin":{"label":"Waste Bin"},"boundary":{"label":"Type"},"brand":{"label":"Brand"},"building":{"label":"Building"},"building_area":{"label":"Building"},"capacity":{"label":"Capacity","placeholder":"50, 100, 200..."},"cardinal_direction":{"label":"Direction","options":{"N":"North","E":"East","S":"South","W":"West","NE":"Northeast","SE":"Southeast","SW":"Southwest","NW":"Northwest","NNE":"North-northeast","ENE":"East-northeast","ESE":"East-southeast","SSE":"South-southeast","SSW":"South-southwest","WSW":"West-southwest","WNW":"West-northwest","NNW":"North-northwest"}},"clock_direction":{"label":"Direction","options":{"clockwise":"Clockwise","anticlockwise":"Counterclockwise"}},"collection_times":{"label":"Collection Times"},"construction":{"label":"Type"},"content":{"label":"Contents"},"country":{"label":"Country"},"covered":{"label":"Covered"},"craft":{"label":"Type"},"crop":{"label":"Crop"},"crossing":{"label":"Type"},"cuisine":{"label":"Cuisine"},"currency_multi":{"label":"Currency Types"},"cycleway":{"label":"Bike Lanes","placeholder":"none","types":{"cycleway:left":"Left side","cycleway:right":"Right side"},"options":{"none":{"title":"None","description":"No bike lane"},"lane":{"title":"Standard bike lane","description":"A bike lane separated from auto traffic by a painted line"},"shared_lane":{"title":"Shared bike lane","description":"A bike lane with no separation from auto traffic"},"track":{"title":"Bike track","description":"A bike lane separated from traffic by a physical barrier"},"share_busway":{"title":"Bike lane shared with bus","description":"A bike lane shared with a bus lane"},"opposite_lane":{"title":"Opposite bike lane","description":"A bike lane that travels in the opposite direction of traffic"},"opposite":{"title":"Contraflow bike lane","description":"A bike lane that travels in both directions on a one-way street"}}},"delivery":{"label":"Delivery"},"denomination":{"label":"Denomination"},"denotation":{"label":"Denotation"},"description":{"label":"Description"},"diaper":{"label":"Diaper Changing Available"},"dock":{"label":"Type"},"drive_through":{"label":"Drive-Through"},"electrified":{"label":"Electrification","placeholder":"Contact Line, Electrified Rail...","options":{"contact_line":"Contact Line","rail":"Electrified Rail","yes":"Yes (unspecified)","no":"No"}},"elevation":{"label":"Elevation"},"emergency":{"label":"Emergency"},"entrance":{"label":"Type"},"except":{"label":"Exceptions"},"fax":{"label":"Fax","placeholder":"+31 42 123 4567"},"fee":{"label":"Fee"},"fire_hydrant/type":{"label":"Type","options":{"pillar":"Pillar/Aboveground","underground":"Underground","wall":"Wall","pond":"Pond"}},"fixme":{"label":"Fix Me"},"fuel":{"label":"Fuel"},"fuel_multi":{"label":"Fuel Types"},"gauge":{"label":"Gauge"},"gender":{"label":"Gender","placeholder":"Unknown","options":{"male":"Male","female":"Female","unisex":"Unisex"}},"generator/method":{"label":"Method"},"generator/source":{"label":"Source"},"generator/type":{"label":"Type"},"golf_hole":{"label":"Reference","placeholder":"Hole number (1-18)"},"handicap":{"label":"Handicap","placeholder":"1-18"},"handrail":{"label":"Handrail"},"highway":{"label":"Type"},"historic":{"label":"Type"},"hoops":{"label":"Hoops","placeholder":"1, 2, 4..."},"iata":{"label":"IATA"},"icao":{"label":"ICAO"},"incline":{"label":"Incline"},"incline_steps":{"label":"Incline","options":{"up":"Up","down":"Down"}},"information":{"label":"Type"},"internet_access":{"label":"Internet Access","options":{"yes":"Yes","no":"No","wlan":"Wifi","wired":"Wired","terminal":"Terminal"}},"lamp_type":{"label":"Type"},"landuse":{"label":"Type"},"lanes":{"label":"Lanes","placeholder":"1, 2, 3..."},"layer":{"label":"Layer"},"leaf_cycle":{"label":"Leaf Cycle","options":{"evergreen":"Evergreen","deciduous":"Deciduous","semi_evergreen":"Semi-Evergreen","semi_deciduous":"Semi-Deciduous","mixed":"Mixed"}},"leaf_cycle_singular":{"label":"Leaf Cycle","options":{"evergreen":"Evergreen","deciduous":"Deciduous","semi_evergreen":"Semi-Evergreen","semi_deciduous":"Semi-Deciduous"}},"leaf_type":{"label":"Leaf Type","options":{"broadleaved":"Broadleaved","needleleaved":"Needleleaved","mixed":"Mixed","leafless":"Leafless"}},"leaf_type_singular":{"label":"Leaf Type","options":{"broadleaved":"Broadleaved","needleleaved":"Needleleaved","leafless":"Leafless"}},"leisure":{"label":"Type"},"length":{"label":"Length (Meters)"},"level":{"label":"Level"},"levels":{"label":"Levels","placeholder":"2, 4, 6..."},"lit":{"label":"Lit"},"location":{"label":"Location"},"man_made":{"label":"Type"},"maxspeed":{"label":"Speed Limit","placeholder":"40, 50, 60..."},"maxstay":{"label":"Max Stay"},"mtb/scale":{"label":"Mountain Biking Difficulty","placeholder":"0, 1, 2, 3...","options":{"0":"0: Solid gravel/packed earth, no obstacles, wide curves","1":"1: Some loose surface, small obstacles, wide curves","2":"2: Much loose surface, large obstacles, easy hairpins","3":"3: Slippery surface, large obstacles, tight hairpins","4":"4: Loose surface or boulders, dangerous hairpins","5":"5: Maximum difficulty, boulder fields, landslides","6":"6: Not rideable except by the very best mountain bikers"}},"mtb/scale/imba":{"label":"IMBA Trail Difficulty","placeholder":"Easy, Medium, Difficult...","options":{"0":"Easiest (white circle)","1":"Easy (green circle)","2":"Medium (blue square)","3":"Difficult (black diamond)","4":"Extremely Difficult (double black diamond)"}},"mtb/scale/uphill":{"label":"Mountain Biking Uphill Difficulty","placeholder":"0, 1, 2, 3...","options":{"0":"0: Avg. incline <10%, gravel/packed earth, no obstacles","1":"1: Avg. incline <15%, gravel/packed earth, few small objects","2":"2: Avg. incline <20%, stable surface, fistsize rocks/roots","3":"3: Avg. incline <25%, variable surface, fistsize rocks/branches","4":"4: Avg. incline <30%, poor condition, big rocks/branches","5":"5: Very steep, bike generally needs to be pushed or carried"}},"name":{"label":"Name","placeholder":"Common name (if any)"},"natural":{"label":"Natural"},"network":{"label":"Network"},"note":{"label":"Note"},"office":{"label":"Type"},"oneway":{"label":"One Way","options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}},"oneway_yes":{"label":"One Way","options":{"undefined":"Assumed to be Yes","yes":"Yes","no":"No"}},"opening_hours":{"label":"Hours"},"operator":{"label":"Operator"},"par":{"label":"Par","placeholder":"3, 4, 5..."},"park_ride":{"label":"Park and Ride"},"parking":{"label":"Type","options":{"surface":"Surface","multi-storey":"Multilevel","underground":"Underground","sheds":"Sheds","carports":"Carports","garage_boxes":"Garage Boxes","lane":"Roadside Lane"}},"payment_multi":{"label":"Payment Types"},"phone":{"label":"Phone","placeholder":"+31 42 123 4567"},"piste/difficulty":{"label":"Difficulty","placeholder":"Easy, Intermediate, Advanced...","options":{"novice":"Novice (instructional)","easy":"Easy (green circle)","intermediate":"Intermediate (blue square)","advanced":"Advanced (black diamond)","expert":"Expert (double black diamond)","freeride":"Freeride (off-piste)","extreme":"Extreme (climbing equipment required)"}},"piste/grooming":{"label":"Grooming","options":{"classic":"Classic","mogul":"Mogul","backcountry":"Backcountry","classic+skating":"Classic and Skating","scooter":"Scooter/Snowmobile","skating":"Skating"}},"piste/type":{"label":"Type","options":{"downhill":"Downhill","nordic":"Nordic","skitour":"Skitour","sled":"Sled","hike":"Hike","sleigh":"Sleigh","ice_skate":"Ice Skate","snow_park":"Snow Park","playground":"Playground"}},"place":{"label":"Type"},"population":{"label":"Population"},"power":{"label":"Type"},"power_supply":{"label":"Power Supply"},"railway":{"label":"Type"},"recycling_accepts":{"label":"Accepts"},"ref":{"label":"Reference"},"relation":{"label":"Type"},"religion":{"label":"Religion"},"restriction":{"label":"Type"},"restrictions":{"label":"Turn Restrictions"},"route":{"label":"Type"},"route_master":{"label":"Type"},"sac_scale":{"label":"Hiking Difficulty","placeholder":"Mountain Hiking, Alpine Hiking...","options":{"hiking":"T1: Hiking","mountain_hiking":"T2: Mountain Hiking","demanding_mountain_hiking":"T3: Demanding Mountain Hiking","alpine_hiking":"T4: Alpine Hiking","demanding_alpine_hiking":"T5: Demanding Alpine Hiking","difficult_alpine_hiking":"T6: Difficult Alpine Hiking"}},"sanitary_dump_station":{"label":"Toilet Disposal"},"seasonal":{"label":"Seasonal"},"service":{"label":"Type"},"service/bicycle/chain_tool":{"label":"Chain Tool","options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}},"service/bicycle/pump":{"label":"Air Pump","options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}},"service_rail":{"label":"Service Type","options":{"spur":"Spur","yard":"Yard","siding":"Siding","crossover":"Crossover"}},"shelter":{"label":"Shelter"},"shelter_type":{"label":"Type"},"shop":{"label":"Type"},"site":{"label":"Type"},"sloped_curb":{"label":"Sloped Curb"},"smoking":{"label":"Smoking","placeholder":"No, Separated, Yes...","options":{"no":"No smoking anywhere","separated":"In smoking areas, not physically isolated","isolated":"In smoking areas, physically isolated","outside":"Allowed outside","yes":"Allowed everywhere","dedicated":"Dedicated to smokers (e.g. smokers' club)"}},"smoothness":{"label":"Smoothness","placeholder":"Thin Rollers, Wheels, Off-Road...","options":{"excellent":"Thin Rollers: rollerblade, skateboard","good":"Thin Wheels: racing bike","intermediate":"Wheels: city bike, wheelchair, scooter","bad":"Robust Wheels: trekking bike, car, rickshaw","very_bad":"High Clearance: light duty off-road vehicle","horrible":"Off-Road: heavy duty off-road vehicle","very_horrible":"Specialized off-road: tractor, ATV","impassable":"Impassable / No wheeled vehicle"}},"social_facility_for":{"label":"People served","placeholder":"Homeless, Disabled, Child, etc"},"source":{"label":"Source"},"sport":{"label":"Sport"},"sport_ice":{"label":"Sport"},"sport_racing":{"label":"Sport"},"structure":{"label":"Structure","placeholder":"Unknown","options":{"bridge":"Bridge","tunnel":"Tunnel","embankment":"Embankment","cutting":"Cutting","ford":"Ford"}},"studio":{"label":"Type"},"substation":{"label":"Type"},"supervised":{"label":"Supervised"},"surface":{"label":"Surface"},"tactile_paving":{"label":"Tactile Paving"},"takeaway":{"label":"Takeaway","placeholder":"Yes, No, Takeaway Only...","options":{"yes":"Yes","no":"No","only":"Takeaway Only"}},"toilets/disposal":{"label":"Disposal","options":{"flush":"Flush","pitlatrine":"Pit/Latrine","chemical":"Chemical","bucket":"Bucket"}},"tourism":{"label":"Type"},"towertype":{"label":"Tower type"},"tracktype":{"label":"Track Type","placeholder":"Solid, Mostly Solid, Soft...","options":{"grade1":"Solid: paved or heavily compacted hardcore surface","grade2":"Mostly Solid: gravel/rock with some soft material mixed in","grade3":"Even mixture of hard and soft materials","grade4":"Mostly Soft: soil/sand/grass with some hard material mixed in","grade5":"Soft: soil/sand/grass"}},"traffic_signals":{"label":"Type"},"trail_visibility":{"label":"Trail Visibility","placeholder":"Excellent, Good, Bad...","options":{"excellent":"Excellent: unambiguous path or markers everywhere","good":"Good: markers visible, sometimes require searching","intermediate":"Intermediate: few markers, path mostly visible","bad":"Bad: no markers, path sometimes invisible/pathless","horrible":"Horrible: often pathless, some orientation skills required","no":"No: pathless, excellent orientation skills required"}},"trees":{"label":"Trees"},"tunnel":{"label":"Tunnel"},"vending":{"label":"Type of Goods"},"water":{"label":"Type"},"water_point":{"label":"Water Point"},"waterway":{"label":"Type"},"website":{"label":"Website","placeholder":"http://example.com/"},"wetland":{"label":"Type"},"wheelchair":{"label":"Wheelchair Access"},"width":{"label":"Width (Meters)"},"wikipedia":{"label":"Wikipedia"}},"presets":{"address":{"name":"Address","terms":""},"aerialway":{"name":"Aerialway","terms":"ski lift,funifor,funitel"},"aerialway/cable_car":{"name":"Cable Car","terms":"tramway,ropeway"},"aerialway/chair_lift":{"name":"Chair Lift","terms":""},"aerialway/gondola":{"name":"Gondola","terms":""},"aerialway/magic_carpet":{"name":"Magic Carpet Lift","terms":""},"aerialway/platter":{"name":"Platter Lift","terms":"button lift,poma lift"},"aerialway/pylon":{"name":"Aerialway Pylon","terms":""},"aerialway/rope_tow":{"name":"Rope Tow Lift","terms":"handle tow,bugel lift"},"aerialway/station":{"name":"Aerialway Station","terms":""},"aerialway/t-bar":{"name":"T-bar Lift","terms":""},"aeroway":{"name":"Aeroway","terms":""},"aeroway/aerodrome":{"name":"Airport","terms":"airplane,airport,aerodrome"},"aeroway/apron":{"name":"Apron","terms":"ramp"},"aeroway/gate":{"name":"Airport gate","terms":""},"aeroway/hangar":{"name":"Hangar","terms":""},"aeroway/helipad":{"name":"Helipad","terms":"helicopter,helipad,heliport"},"aeroway/runway":{"name":"Runway","terms":"landing strip"},"aeroway/taxiway":{"name":"Taxiway","terms":""},"aeroway/terminal":{"name":"Airport terminal","terms":"airport,aerodrome"},"amenity":{"name":"Amenity","terms":""},"amenity/arts_centre":{"name":"Arts Center","terms":""},"amenity/atm":{"name":"ATM","terms":"money,cash,machine"},"amenity/bank":{"name":"Bank","terms":"credit union,check,deposit,fund,investment,repository,reserve,safe,savings,stock,treasury,trust,vault"},"amenity/bar":{"name":"Bar","terms":"dive,beer,bier,booze"},"amenity/bbq":{"name":"Barbecue/Grill","terms":"bbq"},"amenity/bench":{"name":"Bench","terms":"seat"},"amenity/bicycle_parking":{"name":"Bicycle Parking","terms":"bike"},"amenity/bicycle_rental":{"name":"Bicycle Rental","terms":"bike"},"amenity/bicycle_repair_station":{"name":"Bicycle Repair Tool Stand","terms":"bike,repair,chain,pump"},"amenity/biergarten":{"name":"Beer Garden","terms":"beer,bier,booze"},"amenity/boat_rental":{"name":"Boat Rental","terms":""},"amenity/bureau_de_change":{"name":"Currency Exchange","terms":"bureau de change,money changer"},"amenity/bus_station":{"name":"Bus Station","terms":""},"amenity/cafe":{"name":"Cafe","terms":"bistro,coffee,tea"},"amenity/car_rental":{"name":"Car Rental","terms":""},"amenity/car_sharing":{"name":"Car Sharing","terms":""},"amenity/car_wash":{"name":"Car Wash","terms":""},"amenity/casino":{"name":"Casino","terms":"gambling,roulette,craps,poker,blackjack"},"amenity/charging_station":{"name":"Charging Station","terms":"EV,Electric Vehicle,Supercharger"},"amenity/childcare":{"name":"Nursery/Childcare","terms":"daycare,orphanage,playgroup"},"amenity/cinema":{"name":"Cinema","terms":"drive-in,film,flick,movie,theater,picture,show,screen"},"amenity/clinic":{"name":"Clinic","terms":"medical,urgentcare"},"amenity/clock":{"name":"Clock","terms":""},"amenity/college":{"name":"College Grounds","terms":"university"},"amenity/community_centre":{"name":"Community Center","terms":"event,hall"},"amenity/compressed_air":{"name":"Compressed Air","terms":""},"amenity/courthouse":{"name":"Courthouse","terms":""},"amenity/dentist":{"name":"Dentist","terms":"tooth,teeth"},"amenity/doctors":{"name":"Doctor","terms":"medic*"},"amenity/dojo":{"name":"Dojo / Martial Arts Academy","terms":"martial arts,dojang"},"amenity/drinking_water":{"name":"Drinking Water","terms":"fountain,potable"},"amenity/embassy":{"name":"Embassy","terms":""},"amenity/fast_food":{"name":"Fast Food","terms":"restaurant"},"amenity/ferry_terminal":{"name":"Ferry Terminal","terms":""},"amenity/fire_station":{"name":"Fire Station","terms":""},"amenity/fountain":{"name":"Fountain","terms":""},"amenity/fuel":{"name":"Gas Station","terms":"petrol,fuel,gasoline,propane,diesel,lng,cng,biodiesel"},"amenity/grave_yard":{"name":"Graveyard","terms":""},"amenity/grit_bin":{"name":"Grit Bin","terms":"salt,sand"},"amenity/hospital":{"name":"Hospital Grounds","terms":"clinic,doctor,emergency room,health service,hospice,infirmary,institution,nursing home,sanatorium,sanitarium,sick,surgery,ward"},"amenity/hunting_stand":{"name":"Hunting Stand","terms":""},"amenity/kindergarten":{"name":"Preschool/Kindergarten Grounds","terms":"kindergarden,pre-school"},"amenity/library":{"name":"Library","terms":"book"},"amenity/marketplace":{"name":"Marketplace","terms":""},"amenity/motorcycle_parking":{"name":"Motorcycle Parking","terms":""},"amenity/nightclub":{"name":"Nightclub","terms":"disco*,night club,dancing,dance club"},"amenity/parking":{"name":"Car Parking","terms":""},"amenity/parking_entrance":{"name":"Parking Garage Entrance/Exit","terms":""},"amenity/parking_space":{"name":"Parking Space","terms":""},"amenity/pharmacy":{"name":"Pharmacy","terms":"drug,medicine"},"amenity/place_of_worship":{"name":"Place of Worship","terms":"abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,mosque,oratory,parish,sacellum,sanctuary,shrine,synagogue,tabernacle,temple"},"amenity/place_of_worship/buddhist":{"name":"Buddhist Temple","terms":"stupa,vihara,monastery,temple,pagoda,zendo,dojo"},"amenity/place_of_worship/christian":{"name":"Church","terms":"christian,abbey,basilica,bethel,cathedral,chancel,chantry,chapel,fold,house of God,house of prayer,house of worship,minster,mission,oratory,parish,sacellum,sanctuary,shrine,tabernacle,temple"},"amenity/place_of_worship/jewish":{"name":"Synagogue","terms":"jewish"},"amenity/place_of_worship/muslim":{"name":"Mosque","terms":"muslim"},"amenity/police":{"name":"Police","terms":"badge,constable,constabulary,cop,detective,fed,law,enforcement,officer,patrol"},"amenity/post_box":{"name":"Mailbox","terms":"letter,post"},"amenity/post_office":{"name":"Post Office","terms":"letter,mail"},"amenity/prison":{"name":"Prison Grounds","terms":"cell,jail"},"amenity/pub":{"name":"Pub","terms":"dive,beer,bier,booze"},"amenity/public_bookcase":{"name":"Public Bookcase","terms":"library,bookcrossing"},"amenity/ranger_station":{"name":"Ranger Station","terms":"visitor center,visitor centre,permit center,permit centre,backcountry office,warden office,warden center"},"amenity/recycling":{"name":"Recycling","terms":"can,bottle,garbage,scrap,trash"},"amenity/register_office":{"name":"Register Office","terms":""},"amenity/restaurant":{"name":"Restaurant","terms":"bar,breakfast,cafe,café,canteen,coffee,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/sanitary_dump_station":{"name":"RV Toilet Disposal","terms":"Motor Home,Camper,Sanitary,Dump Station,Elsan,CDP,CTDP,Chemical Toilet"},"amenity/school":{"name":"School Grounds","terms":"academy,elementary school,middle school,high school"},"amenity/shelter":{"name":"Shelter","terms":"lean-to,gazebo,picnic"},"amenity/social_facility":{"name":"Social Facility","terms":""},"amenity/social_facility/food_bank":{"name":"Food Bank","terms":""},"amenity/social_facility/group_home":{"name":"Elderly Group Home","terms":"old,senior,living"},"amenity/social_facility/homeless_shelter":{"name":"Homeless Shelter","terms":"houseless,unhoused,displaced"},"amenity/studio":{"name":"Studio","terms":"recording,radio,television"},"amenity/swimming_pool":{"name":"Swimming Pool","terms":""},"amenity/taxi":{"name":"Taxi Stand","terms":"cab"},"amenity/telephone":{"name":"Telephone","terms":"phone"},"amenity/theatre":{"name":"Theater","terms":"theatre,performance,play,musical"},"amenity/toilets":{"name":"Toilets","terms":"bathroom,restroom,outhouse,privy,head,lavatory,latrine,water closet,WC,W.C."},"amenity/townhall":{"name":"Town Hall","terms":"village,city,government,courthouse,municipal"},"amenity/university":{"name":"University Grounds","terms":"college"},"amenity/vending_machine/cigarettes":{"name":"Cigarette Vending Machine","terms":"cigarette"},"amenity/vending_machine/condoms":{"name":"Condom Vending Machine","terms":"condom"},"amenity/vending_machine/drinks":{"name":"Drink Vending Machine","terms":"drink,soda,beverage,juice,pop"},"amenity/vending_machine/excrement_bags":{"name":"Excrement Bag Vending Machine","terms":"excrement bags,poop,dog,animal"},"amenity/vending_machine/news_papers":{"name":"Newspaper Vending Machine","terms":"newspaper"},"amenity/vending_machine/parcel_pickup_dropoff":{"name":"Parcel Pickup/Dropoff Vending Machine","terms":"parcel,mail,pickup"},"amenity/vending_machine/parking_tickets":{"name":"Parking Ticket Vending Machine","terms":"parking,ticket"},"amenity/vending_machine/public_transport_tickets":{"name":"Transit Ticket Vending Machine","terms":"bus,train,ferry,rail,ticket,transportation"},"amenity/vending_machine/sweets":{"name":"Snack Vending Machine","terms":"candy,gum,chip,pretzel,cookie,cracker"},"amenity/vending_machine/vending_machine":{"name":"Vending Machine","terms":""},"amenity/veterinary":{"name":"Veterinary","terms":"pet clinic,veterinarian,animal hospital,pet doctor"},"amenity/waste_basket":{"name":"Waste Basket","terms":"bin,rubbish,litter,trash,garbage"},"amenity/waste_disposal":{"name":"Garbage Dumpster","terms":"rubbish,litter,trash"},"amenity/water_point":{"name":"RV Drinking Water","terms":""},"area":{"name":"Area","terms":""},"area/highway":{"name":"Road Surface","terms":""},"barrier":{"name":"Barrier","terms":""},"barrier/block":{"name":"Block","terms":""},"barrier/bollard":{"name":"Bollard","terms":""},"barrier/cattle_grid":{"name":"Cattle Grid","terms":""},"barrier/city_wall":{"name":"City Wall","terms":""},"barrier/cycle_barrier":{"name":"Cycle Barrier","terms":""},"barrier/ditch":{"name":"Ditch","terms":""},"barrier/entrance":{"name":"Entrance","terms":""},"barrier/fence":{"name":"Fence","terms":""},"barrier/gate":{"name":"Gate","terms":""},"barrier/hedge":{"name":"Hedge","terms":""},"barrier/kissing_gate":{"name":"Kissing Gate","terms":""},"barrier/lift_gate":{"name":"Lift Gate","terms":""},"barrier/retaining_wall":{"name":"Retaining Wall","terms":""},"barrier/stile":{"name":"Stile","terms":""},"barrier/toll_booth":{"name":"Toll Booth","terms":""},"barrier/wall":{"name":"Wall","terms":""},"boundary/administrative":{"name":"Administrative Boundary","terms":""},"building":{"name":"Building","terms":""},"building/apartments":{"name":"Apartments","terms":""},"building/barn":{"name":"Barn","terms":""},"building/bunker":{"name":"Bunker","terms":""},"building/cabin":{"name":"Cabin","terms":""},"building/cathedral":{"name":"Cathedral Building","terms":""},"building/chapel":{"name":"Chapel Building","terms":""},"building/church":{"name":"Church Building","terms":""},"building/college":{"name":"College Building","terms":"university"},"building/commercial":{"name":"Commercial Building","terms":""},"building/construction":{"name":"Building Under Construction","terms":""},"building/detached":{"name":"Detached House","terms":"home,single,family,residence,dwelling"},"building/dormitory":{"name":"Dormitory","terms":""},"building/entrance":{"name":"Entrance/Exit","terms":""},"building/garage":{"name":"Garage","terms":""},"building/garages":{"name":"Garages","terms":""},"building/greenhouse":{"name":"Greenhouse","terms":""},"building/hospital":{"name":"Hospital Building","terms":""},"building/hotel":{"name":"Hotel Building","terms":""},"building/house":{"name":"House","terms":"home,family,residence,dwelling"},"building/hut":{"name":"Hut","terms":""},"building/industrial":{"name":"Industrial Building","terms":""},"building/kindergarten":{"name":"Preschool/Kindergarten Building","terms":"kindergarden,pre-school"},"building/public":{"name":"Public Building","terms":""},"building/residential":{"name":"Residential Building","terms":""},"building/retail":{"name":"Retail Building","terms":""},"building/roof":{"name":"Roof","terms":""},"building/school":{"name":"School Building","terms":"academy,elementary school,middle school,high school"},"building/semidetached_house":{"name":"Semi-Detached House","terms":"home,double,duplex,twin,family,residence,dwelling"},"building/shed":{"name":"Shed","terms":""},"building/stable":{"name":"Stable","terms":""},"building/static_caravan":{"name":"Static Mobile Home","terms":""},"building/terrace":{"name":"Row Houses","terms":"home,terrace,brownstone,family,residence,dwelling"},"building/train_station":{"name":"Train Station","terms":""},"building/university":{"name":"University Building","terms":"college"},"building/warehouse":{"name":"Warehouse","terms":""},"craft":{"name":"Craft","terms":""},"craft/basket_maker":{"name":"Basket Maker","terms":""},"craft/beekeeper":{"name":"Beekeeper","terms":""},"craft/blacksmith":{"name":"Blacksmith","terms":""},"craft/boatbuilder":{"name":"Boat Builder","terms":""},"craft/bookbinder":{"name":"Bookbinder","terms":"book repair"},"craft/brewery":{"name":"Brewery","terms":"beer,bier"},"craft/carpenter":{"name":"Carpenter","terms":"woodworker"},"craft/carpet_layer":{"name":"Carpet Layer","terms":""},"craft/caterer":{"name":"Caterer","terms":""},"craft/clockmaker":{"name":"Clockmaker","terms":""},"craft/confectionery":{"name":"Confectionery","terms":"sweets,candy"},"craft/dressmaker":{"name":"Dressmaker","terms":"seamstress"},"craft/electrician":{"name":"Electrician","terms":"power,wire"},"craft/gardener":{"name":"Gardener","terms":"landscaper,grounds keeper"},"craft/glaziery":{"name":"Glaziery","terms":"glass,stained-glass,window"},"craft/handicraft":{"name":"Handicraft","terms":""},"craft/hvac":{"name":"HVAC","terms":"heat*,vent*,air conditioning"},"craft/insulator":{"name":"Insulator","terms":""},"craft/jeweler":{"name":"Jeweler","terms":""},"craft/key_cutter":{"name":"Key Cutter","terms":""},"craft/locksmith":{"name":"Locksmith","terms":""},"craft/metal_construction":{"name":"Metal Construction","terms":""},"craft/optician":{"name":"Optician","terms":""},"craft/painter":{"name":"Painter","terms":""},"craft/photographer":{"name":"Photographer","terms":""},"craft/photographic_laboratory":{"name":"Photographic Laboratory","terms":"film"},"craft/plasterer":{"name":"Plasterer","terms":""},"craft/plumber":{"name":"Plumber","terms":"pipe"},"craft/pottery":{"name":"Pottery","terms":"ceramic"},"craft/rigger":{"name":"Rigger","terms":""},"craft/roofer":{"name":"Roofer","terms":""},"craft/saddler":{"name":"Saddler","terms":""},"craft/sailmaker":{"name":"Sailmaker","terms":""},"craft/sawmill":{"name":"Sawmill","terms":"lumber"},"craft/scaffolder":{"name":"Scaffolder","terms":""},"craft/sculpter":{"name":"Sculpter","terms":""},"craft/shoemaker":{"name":"Shoemaker","terms":"cobbler"},"craft/stonemason":{"name":"Stonemason","terms":"masonry"},"craft/sweep":{"name":"Chimney Sweep","terms":""},"craft/tailor":{"name":"Tailor","terms":"clothes,suit"},"craft/tiler":{"name":"Tiler","terms":""},"craft/tinsmith":{"name":"Tinsmith","terms":""},"craft/upholsterer":{"name":"Upholsterer","terms":""},"craft/watchmaker":{"name":"Watchmaker","terms":""},"craft/window_construction":{"name":"Window Construction","terms":"glass"},"craft/winery":{"name":"Winery","terms":""},"embankment":{"name":"Embankment","terms":""},"emergency/ambulance_station":{"name":"Ambulance Station","terms":"EMS,EMT,rescue"},"emergency/fire_hydrant":{"name":"Fire Hydrant","terms":""},"emergency/phone":{"name":"Emergency Phone","terms":""},"entrance":{"name":"Entrance/Exit","terms":""},"footway/crossing":{"name":"Street Crossing","terms":""},"footway/crosswalk":{"name":"Pedestrian Crosswalk","terms":"zebra crossing"},"footway/sidewalk":{"name":"Sidewalk","terms":""},"ford":{"name":"Ford","terms":""},"golf/bunker":{"name":"Sand Trap","terms":"hazard,bunker"},"golf/fairway":{"name":"Fairway","terms":""},"golf/green":{"name":"Putting Green","terms":""},"golf/hole":{"name":"Golf Hole","terms":""},"golf/lateral_water_hazard":{"name":"Lateral Water Hazard","terms":""},"golf/rough":{"name":"Rough","terms":""},"golf/tee":{"name":"Tee Box","terms":"teeing ground"},"golf/water_hazard":{"name":"Water Hazard","terms":""},"highway":{"name":"Highway","terms":""},"highway/bridleway":{"name":"Bridle Path","terms":"bridleway,equestrian,horse"},"highway/bus_stop":{"name":"Bus Stop","terms":""},"highway/corridor":{"name":"Indoor Corridor","terms":"gallery,hall,hallway,indoor,passage,passageway"},"highway/crossing":{"name":"Street Crossing","terms":""},"highway/crosswalk":{"name":"Pedestrian Crosswalk","terms":"zebra crossing"},"highway/cycleway":{"name":"Cycle Path","terms":"bike"},"highway/footway":{"name":"Foot Path","terms":"hike,hiking,trackway,trail,walk"},"highway/living_street":{"name":"Living Street","terms":""},"highway/mini_roundabout":{"name":"Mini-Roundabout","terms":""},"highway/motorway":{"name":"Motorway","terms":""},"highway/motorway_junction":{"name":"Motorway Junction / Exit","terms":""},"highway/motorway_link":{"name":"Motorway Link","terms":"ramp,on ramp,off ramp"},"highway/path":{"name":"Path","terms":"hike,hiking,trackway,trail,walk"},"highway/pedestrian":{"name":"Pedestrian Street","terms":""},"highway/primary":{"name":"Primary Road","terms":""},"highway/primary_link":{"name":"Primary Link","terms":"ramp,on ramp,off ramp"},"highway/raceway":{"name":"Motor Raceway","terms":"auto*,race*,nascar"},"highway/residential":{"name":"Residential Road","terms":""},"highway/rest_area":{"name":"Rest Area","terms":"rest stop"},"highway/road":{"name":"Unknown Road","terms":""},"highway/secondary":{"name":"Secondary Road","terms":""},"highway/secondary_link":{"name":"Secondary Link","terms":"ramp,on ramp,off ramp"},"highway/service":{"name":"Service Road","terms":""},"highway/service/alley":{"name":"Alley","terms":""},"highway/service/drive-through":{"name":"Drive-Through","terms":""},"highway/service/driveway":{"name":"Driveway","terms":""},"highway/service/emergency_access":{"name":"Emergency Access","terms":""},"highway/service/parking_aisle":{"name":"Parking Aisle","terms":""},"highway/services":{"name":"Service Area","terms":"services,travel plaza,service station"},"highway/steps":{"name":"Steps","terms":"stairs,staircase"},"highway/stop":{"name":"Stop Sign","terms":"stop sign"},"highway/street_lamp":{"name":"Street Lamp","terms":"streetlight,street light,lamp,light,gaslight"},"highway/tertiary":{"name":"Tertiary Road","terms":""},"highway/tertiary_link":{"name":"Tertiary Link","terms":"ramp,on ramp,off ramp"},"highway/track":{"name":"Unmaintained Track Road","terms":"woods road,forest road,logging road,fire road,farm road,agricultural road,ranch road,carriage road,primitive,unmaintained,rut,offroad,4wd,4x4,four wheel drive,atv,quad,jeep,double track,two track"},"highway/traffic_signals":{"name":"Traffic Signals","terms":"light,stoplight,traffic light"},"highway/trunk":{"name":"Trunk Road","terms":""},"highway/trunk_link":{"name":"Trunk Link","terms":"ramp,on ramp,off ramp"},"highway/turning_circle":{"name":"Turning Circle","terms":"cul-de-sac"},"highway/unclassified":{"name":"Minor/Unclassified Road","terms":""},"historic":{"name":"Historic Site","terms":""},"historic/archaeological_site":{"name":"Archaeological Site","terms":""},"historic/boundary_stone":{"name":"Boundary Stone","terms":""},"historic/castle":{"name":"Castle","terms":""},"historic/memorial":{"name":"Memorial","terms":""},"historic/monument":{"name":"Monument","terms":""},"historic/ruins":{"name":"Ruins","terms":""},"historic/wayside_cross":{"name":"Wayside Cross","terms":""},"historic/wayside_shrine":{"name":"Wayside Shrine","terms":""},"junction":{"name":"Junction","terms":""},"landuse":{"name":"Land Use","terms":""},"landuse/allotments":{"name":"Community Garden","terms":"allotment,garden"},"landuse/basin":{"name":"Basin","terms":""},"landuse/cemetery":{"name":"Cemetery","terms":""},"landuse/churchyard":{"name":"Churchyard","terms":""},"landuse/commercial":{"name":"Commercial Area","terms":""},"landuse/construction":{"name":"Construction","terms":""},"landuse/farm":{"name":"Farmland","terms":""},"landuse/farmland":{"name":"Farmland","terms":""},"landuse/farmyard":{"name":"Farmyard","terms":""},"landuse/forest":{"name":"Forest","terms":"tree"},"landuse/garages":{"name":"Garages","terms":""},"landuse/grass":{"name":"Grass","terms":""},"landuse/industrial":{"name":"Industrial Area","terms":""},"landuse/landfill":{"name":"Landfill","terms":"dump"},"landuse/meadow":{"name":"Meadow","terms":""},"landuse/military":{"name":"Military Area","terms":""},"landuse/orchard":{"name":"Orchard","terms":""},"landuse/plant_nursery":{"name":"Plant Nursery","terms":"vivero"},"landuse/quarry":{"name":"Quarry","terms":""},"landuse/residential":{"name":"Residential Area","terms":""},"landuse/retail":{"name":"Retail Area","terms":""},"landuse/vineyard":{"name":"Vineyard","terms":""},"leisure":{"name":"Leisure","terms":""},"leisure/adult_gaming_centre":{"name":"Adult Gaming Center","terms":"gambling,slot machine"},"leisure/bird_hide":{"name":"Bird Hide","terms":"machan,ornithology"},"leisure/bowling_alley":{"name":"Bowling Alley","terms":""},"leisure/common":{"name":"Common","terms":"open space"},"leisure/dog_park":{"name":"Dog Park","terms":""},"leisure/firepit":{"name":"Firepit","terms":"fireplace,campfire"},"leisure/garden":{"name":"Garden","terms":""},"leisure/golf_course":{"name":"Golf Course","terms":"links"},"leisure/ice_rink":{"name":"Ice Rink","terms":"hockey,skating,curling"},"leisure/marina":{"name":"Marina","terms":"boat"},"leisure/nature_reserve":{"name":"Nature Reserve","terms":"protected,wildlife"},"leisure/park":{"name":"Park","terms":"esplanade,estate,forest,garden,grass,green,grounds,lawn,lot,meadow,parkland,place,playground,plaza,pleasure garden,recreation area,square,tract,village green,woodland"},"leisure/picnic_table":{"name":"Picnic Table","terms":"bench"},"leisure/pitch":{"name":"Sport Pitch","terms":"field"},"leisure/pitch/american_football":{"name":"American Football Field","terms":""},"leisure/pitch/baseball":{"name":"Baseball Diamond","terms":""},"leisure/pitch/basketball":{"name":"Basketball Court","terms":""},"leisure/pitch/rugby_league":{"name":"Rugby League Field","terms":""},"leisure/pitch/rugby_union":{"name":"Rugby Union Field","terms":""},"leisure/pitch/skateboard":{"name":"Skate Park","terms":""},"leisure/pitch/soccer":{"name":"Soccer Field","terms":""},"leisure/pitch/tennis":{"name":"Tennis Court","terms":""},"leisure/pitch/volleyball":{"name":"Volleyball Court","terms":""},"leisure/playground":{"name":"Playground","terms":"jungle gym,play area"},"leisure/running_track":{"name":"Running Track","terms":""},"leisure/slipway":{"name":"Slipway","terms":"boat launch,boat ramp"},"leisure/sports_centre":{"name":"Sports Center / Gym","terms":"gym"},"leisure/sports_centre/swimming":{"name":"Swimming Pool Facility","terms":"dive,water"},"leisure/stadium":{"name":"Stadium","terms":""},"leisure/swimming_pool":{"name":"Swimming Pool","terms":"dive,water"},"leisure/track":{"name":"Racetrack (non-Motorsport)","terms":""},"leisure/water_park":{"name":"Water Park","terms":"swim,pool,dive"},"line":{"name":"Line","terms":""},"man_made":{"name":"Man Made","terms":""},"man_made/adit":{"name":"Adit","terms":"entrance,underground,mine,cave"},"man_made/breakwater":{"name":"Breakwater","terms":""},"man_made/chimney":{"name":"Chimney","terms":""},"man_made/cutline":{"name":"Cut line","terms":""},"man_made/embankment":{"name":"Embankment","terms":""},"man_made/flagpole":{"name":"Flagpole","terms":""},"man_made/gasometer":{"name":"Gasometer","terms":"gas holder"},"man_made/groyne":{"name":"Groyne","terms":""},"man_made/lighthouse":{"name":"Lighthouse","terms":""},"man_made/mast":{"name":"Radio Mast","terms":"broadcast tower,cell phone tower,cell tower,guyed tower,mobile phone tower,radio tower,television tower,transmission mast,transmission tower,tv tower"},"man_made/observation":{"name":"Observation Tower","terms":"lookout tower,fire tower"},"man_made/petroleum_well":{"name":"Oil Well","terms":"drilling rig,oil derrick,oil drill,oil horse,oil rig,oil pump,petroleum well,pumpjack"},"man_made/pier":{"name":"Pier","terms":"dock"},"man_made/pipeline":{"name":"Pipeline","terms":""},"man_made/silo":{"name":"Silo","terms":"grain,corn,wheat"},"man_made/storage_tank":{"name":"Storage Tank","terms":"water,oil,gas,petrol"},"man_made/surveillance":{"name":"Surveillance","terms":""},"man_made/survey_point":{"name":"Survey Point","terms":""},"man_made/tower":{"name":"Tower","terms":""},"man_made/wastewater_plant":{"name":"Wastewater Plant","terms":"sewage*,water treatment plant,reclamation plant"},"man_made/water_tower":{"name":"Water Tower","terms":""},"man_made/water_well":{"name":"Water Well","terms":""},"man_made/water_works":{"name":"Water Works","terms":""},"man_made/works":{"name":"Works","terms":"car assembly plant,aluminium processing plant,brewery,furniture manufacture factory,oil refinery,plastic recycling"},"military/airfield":{"name":"Airfield","terms":""},"military/barracks":{"name":"Barracks","terms":""},"military/bunker":{"name":"Bunker","terms":""},"military/checkpoint":{"name":"Checkpoint","terms":""},"military/danger_area":{"name":"Danger Area","terms":""},"military/naval_base":{"name":"Naval Base","terms":""},"military/obstacle_course":{"name":"Obstacle Course","terms":""},"military/range":{"name":"Military Range","terms":""},"military/training_area":{"name":"Training area","terms":""},"natural":{"name":"Natural","terms":""},"natural/bay":{"name":"Bay","terms":""},"natural/beach":{"name":"Beach","terms":""},"natural/cave_entrance":{"name":"Cave Entrance","terms":"cavern,hollow,grotto,shelter,cavity"},"natural/cliff":{"name":"Cliff","terms":""},"natural/coastline":{"name":"Coastline","terms":"shore"},"natural/fell":{"name":"Fell","terms":""},"natural/glacier":{"name":"Glacier","terms":""},"natural/grassland":{"name":"Grassland","terms":""},"natural/heath":{"name":"Heath","terms":""},"natural/peak":{"name":"Peak","terms":"acme,aiguille,alp,climax,crest,crown,hill,mount,mountain,pinnacle,summit,tip,top"},"natural/saddle":{"name":"Saddle","terms":"pass,mountain pass,top"},"natural/scree":{"name":"Scree","terms":"loose rocks"},"natural/scrub":{"name":"Scrub","terms":"bush,shrubs"},"natural/spring":{"name":"Spring","terms":""},"natural/tree":{"name":"Tree","terms":""},"natural/tree_row":{"name":"Tree row","terms":""},"natural/volcano":{"name":"Volcano","terms":"mountain,crater"},"natural/water":{"name":"Water","terms":""},"natural/water/lake":{"name":"Lake","terms":"lakelet,loch,mere"},"natural/water/pond":{"name":"Pond","terms":"lakelet,millpond,tarn,pool,mere"},"natural/water/reservoir":{"name":"Reservoir","terms":""},"natural/wetland":{"name":"Wetland","terms":""},"natural/wood":{"name":"Wood","terms":"tree"},"office":{"name":"Office","terms":""},"office/accountant":{"name":"Accountant","terms":""},"office/administrative":{"name":"Administrative Office","terms":""},"office/architect":{"name":"Architect","terms":""},"office/company":{"name":"Company Office","terms":""},"office/educational_institution":{"name":"Educational Institution","terms":""},"office/employment_agency":{"name":"Employment Agency","terms":"job"},"office/estate_agent":{"name":"Real Estate Office","terms":""},"office/financial":{"name":"Financial Office","terms":""},"office/government":{"name":"Government Office","terms":""},"office/insurance":{"name":"Insurance Office","terms":""},"office/it":{"name":"IT Office","terms":""},"office/lawyer":{"name":"Law Office","terms":""},"office/newspaper":{"name":"Newspaper","terms":""},"office/ngo":{"name":"NGO Office","terms":""},"office/physician":{"name":"Physician","terms":""},"office/political_party":{"name":"Political Party","terms":""},"office/research":{"name":"Research Office","terms":""},"office/telecommunication":{"name":"Telecom Office","terms":""},"office/therapist":{"name":"Therapist","terms":""},"office/travel_agent":{"name":"Travel Agency","terms":""},"piste":{"name":"Piste/Ski Trail","terms":"ski,sled,sleigh,snowboard,nordic,downhill,snowmobile"},"place":{"name":"Place","terms":""},"place/city":{"name":"City","terms":""},"place/farm":{"name":"Farm","terms":""},"place/hamlet":{"name":"Hamlet","terms":""},"place/island":{"name":"Island","terms":"archipelago,atoll,bar,cay,isle,islet,key,reef"},"place/isolated_dwelling":{"name":"Isolated Dwelling","terms":""},"place/locality":{"name":"Locality","terms":""},"place/neighbourhood":{"name":"Neighborhood","terms":"neighbourhood"},"place/suburb":{"name":"Borough","terms":"Boro,Quarter"},"place/town":{"name":"Town","terms":""},"place/village":{"name":"Village","terms":""},"point":{"name":"Point","terms":""},"power":{"name":"Power","terms":""},"power/generator":{"name":"Power Generator","terms":""},"power/line":{"name":"Power Line","terms":""},"power/minor_line":{"name":"Minor Power Line","terms":""},"power/pole":{"name":"Power Pole","terms":""},"power/sub_station":{"name":"Substation","terms":""},"power/substation":{"name":"Substation","terms":""},"power/tower":{"name":"High-Voltage Tower","terms":""},"power/transformer":{"name":"Transformer","terms":""},"public_transport/platform":{"name":"Platform","terms":""},"public_transport/stop_position":{"name":"Stop Position","terms":""},"railway":{"name":"Railway","terms":""},"railway/abandoned":{"name":"Abandoned Railway","terms":""},"railway/disused":{"name":"Disused Railway","terms":""},"railway/funicular":{"name":"Funicular","terms":"venicular,cliff railway,cable car,cable railway,funicular railway"},"railway/halt":{"name":"Railway Halt","terms":"break,interrupt,rest,wait,interruption"},"railway/level_crossing":{"name":"Railway Crossing","terms":"crossing,railroad crossing,level crossing,grade crossing,road through railroad,train crossing"},"railway/monorail":{"name":"Monorail","terms":""},"railway/narrow_gauge":{"name":"Narrow Gauge Rail","terms":"narrow gauge railway,narrow gauge railroad"},"railway/platform":{"name":"Railway Platform","terms":""},"railway/rail":{"name":"Rail","terms":""},"railway/station":{"name":"Railway Station","terms":"train station,station"},"railway/subway":{"name":"Subway","terms":""},"railway/subway_entrance":{"name":"Subway Entrance","terms":""},"railway/tram":{"name":"Tram","terms":"streetcar"},"relation":{"name":"Relation","terms":""},"roundabout":{"name":"Roundabout","terms":""},"route/ferry":{"name":"Ferry Route","terms":""},"shop":{"name":"Shop","terms":""},"shop/alcohol":{"name":"Liquor Store","terms":"alcohol,beer,booze,wine"},"shop/anime":{"name":"Anime Shop","terms":""},"shop/antiques":{"name":"Antiques Shop","terms":""},"shop/art":{"name":"Art Store","terms":"art*,exhibit*,gallery"},"shop/baby_goods":{"name":"Baby Goods Store","terms":""},"shop/bag":{"name":"Bag/Luggage Store","terms":"handbag,purse"},"shop/bakery":{"name":"Bakery","terms":""},"shop/bathroom_furnishing":{"name":"Bathroom Furnishing Store","terms":""},"shop/beauty":{"name":"Beauty Shop","terms":"nail spa,spa,salon,tanning"},"shop/bed":{"name":"Bedding/Mattress Store","terms":""},"shop/beverages":{"name":"Beverage Store","terms":""},"shop/bicycle":{"name":"Bicycle Shop","terms":"bike,repair"},"shop/bookmaker":{"name":"Bookmaker","terms":""},"shop/books":{"name":"Book Store","terms":""},"shop/boutique":{"name":"Boutique","terms":""},"shop/butcher":{"name":"Butcher","terms":"meat"},"shop/candles":{"name":"Candle Shop","terms":""},"shop/car":{"name":"Car Dealership","terms":"auto"},"shop/car_parts":{"name":"Car Parts Store","terms":"auto"},"shop/car_repair":{"name":"Car Repair Shop","terms":"auto"},"shop/carpet":{"name":"Carpet Store","terms":"rug"},"shop/cheese":{"name":"Cheese Store","terms":""},"shop/chemist":{"name":"Chemist","terms":""},"shop/chocolate":{"name":"Chocolate Store","terms":""},"shop/clothes":{"name":"Clothing Store","terms":""},"shop/coffee":{"name":"Coffee Store","terms":""},"shop/computer":{"name":"Computer Store","terms":""},"shop/confectionery":{"name":"Candy Store","terms":""},"shop/convenience":{"name":"Convenience Store","terms":""},"shop/copyshop":{"name":"Copy Store","terms":""},"shop/cosmetics":{"name":"Cosmetics Store","terms":""},"shop/craft":{"name":"Arts and Crafts Store","terms":"art*,paint*,frame"},"shop/curtain":{"name":"Curtain Store","terms":"drape*,window"},"shop/dairy":{"name":"Dairy Store","terms":"milk,egg,cheese"},"shop/deli":{"name":"Deli","terms":"lunch,meat,sandwich"},"shop/department_store":{"name":"Department Store","terms":""},"shop/doityourself":{"name":"DIY Store","terms":""},"shop/dry_cleaning":{"name":"Dry Cleaner","terms":""},"shop/electronics":{"name":"Electronics Store","terms":"appliance,audio,computer,tv"},"shop/erotic":{"name":"Erotic Store","terms":"sex,porn"},"shop/fabric":{"name":"Fabric Store","terms":"sew"},"shop/farm":{"name":"Produce Stand","terms":"farm shop,farm stand"},"shop/fashion":{"name":"Fashion Store","terms":""},"shop/fishmonger":{"name":"Fishmonger","terms":""},"shop/florist":{"name":"Florist","terms":"flower"},"shop/frame":{"name":"Framing Shop","terms":"art*,paint*,photo*,frame"},"shop/funeral_directors":{"name":"Funeral Home","terms":"undertaker,memorial home"},"shop/furnace":{"name":"Furnace Store","terms":"oven,stove"},"shop/furniture":{"name":"Furniture Store","terms":"chair,sofa,table"},"shop/garden_centre":{"name":"Garden Center","terms":"landscape,mulch,shrub,tree"},"shop/gift":{"name":"Gift Shop","terms":""},"shop/greengrocer":{"name":"Greengrocer","terms":"fruit,vegetable"},"shop/hairdresser":{"name":"Hairdresser","terms":""},"shop/hardware":{"name":"Hardware Store","terms":""},"shop/hearing_aids":{"name":"Hearing Aids Store","terms":""},"shop/herbalist":{"name":"Herbalist","terms":""},"shop/hifi":{"name":"Hifi Store","terms":"stereo,video"},"shop/houseware":{"name":"Houseware Store","terms":"home,household"},"shop/interior_decoration":{"name":"Interior Decoration Store","terms":""},"shop/jewelry":{"name":"Jeweler","terms":"diamond,gem,ring"},"shop/kiosk":{"name":"News Kiosk","terms":""},"shop/kitchen":{"name":"Kitchen Design Store","terms":""},"shop/laundry":{"name":"Laundry","terms":""},"shop/leather":{"name":"Leather Store","terms":""},"shop/locksmith":{"name":"Locksmith","terms":"key,lockpick"},"shop/lottery":{"name":"Lottery Shop","terms":""},"shop/mall":{"name":"Mall","terms":""},"shop/massage":{"name":"Massage Shop","terms":""},"shop/medical_supply":{"name":"Medical Supply Store","terms":""},"shop/mobile_phone":{"name":"Mobile Phone Store","terms":""},"shop/money_lender":{"name":"Money Lender","terms":""},"shop/motorcycle":{"name":"Motorcycle Dealership","terms":""},"shop/music":{"name":"Music Store","terms":"CD,vinyl"},"shop/musical_instrument":{"name":"Musical Instrument Store","terms":""},"shop/newsagent":{"name":"Newspaper/Magazine Shop","terms":""},"shop/nutrition_supplements":{"name":"Nutrition Supplements Store","terms":""},"shop/optician":{"name":"Optician","terms":"eye,glasses"},"shop/organic":{"name":"Organic Goods Store","terms":""},"shop/outdoor":{"name":"Outdoors Store","terms":"camping,climbing,hiking"},"shop/paint":{"name":"Paint Store","terms":""},"shop/pawnbroker":{"name":"Pawn Shop","terms":""},"shop/pet":{"name":"Pet Store","terms":"cat,dog,fish"},"shop/photo":{"name":"Photography Store","terms":"camera,film"},"shop/pyrotechnics":{"name":"Fireworks Store","terms":""},"shop/radiotechnics":{"name":"Radio/Electronic Component Store","terms":""},"shop/religion":{"name":"Religious Store","terms":""},"shop/scuba_diving":{"name":"Scuba Diving Shop","terms":""},"shop/seafood":{"name":"Seafood Shop","terms":"fishmonger"},"shop/second_hand":{"name":"Consignment/Thrift Store","terms":"secondhand,second hand,resale,thrift,used"},"shop/shoes":{"name":"Shoe Store","terms":""},"shop/sports":{"name":"Sporting Goods Store","terms":""},"shop/stationery":{"name":"Stationery Store","terms":"card,paper"},"shop/storage_rental":{"name":"Storage Rental","terms":""},"shop/supermarket":{"name":"Supermarket","terms":"grocery,store,shop"},"shop/tailor":{"name":"Tailor","terms":"clothes,suit"},"shop/tattoo":{"name":"Tattoo Parlor","terms":""},"shop/tea":{"name":"Tea Store","terms":""},"shop/ticket":{"name":"Ticket Seller","terms":""},"shop/tobacco":{"name":"Tobacco Shop","terms":""},"shop/toys":{"name":"Toy Store","terms":""},"shop/travel_agency":{"name":"Travel Agency","terms":""},"shop/tyres":{"name":"Tire Store","terms":""},"shop/vacant":{"name":"Vacant Shop","terms":""},"shop/vacuum_cleaner":{"name":"Vacuum Cleaner Store","terms":""},"shop/variety_store":{"name":"Variety Store","terms":""},"shop/video":{"name":"Video Store","terms":"DVD"},"shop/video_games":{"name":"Video Game Store","terms":""},"shop/water_sports":{"name":"Watersport/Swim Shop","terms":""},"shop/weapons":{"name":"Weapon Shop","terms":"ammo,gun,knife,knives"},"shop/window_blind":{"name":"Window Blind Store","terms":""},"shop/wine":{"name":"Wine Shop","terms":""},"tourism":{"name":"Tourism","terms":""},"tourism/alpine_hut":{"name":"Alpine Hut","terms":""},"tourism/artwork":{"name":"Artwork","terms":"mural,sculpture,statue"},"tourism/attraction":{"name":"Tourist Attraction","terms":""},"tourism/camp_site":{"name":"Camp Site","terms":"Tent"},"tourism/caravan_site":{"name":"RV Park","terms":"Motor Home,Camper"},"tourism/chalet":{"name":"Chalet","terms":""},"tourism/gallery":{"name":"Art Gallery","terms":"art*,exhibit*,paint*,photo*,sculpt*"},"tourism/guest_house":{"name":"Guest House","terms":"B&B,Bed and Breakfast"},"tourism/hostel":{"name":"Hostel","terms":""},"tourism/hotel":{"name":"Hotel","terms":""},"tourism/information":{"name":"Information","terms":""},"tourism/motel":{"name":"Motel","terms":""},"tourism/museum":{"name":"Museum","terms":"art*,exhibit*,gallery,foundation,hall,institution,paint*,photo*,sculpt*"},"tourism/picnic_site":{"name":"Picnic Site","terms":"camp"},"tourism/theme_park":{"name":"Theme Park","terms":""},"tourism/viewpoint":{"name":"Viewpoint","terms":""},"tourism/zoo":{"name":"Zoo","terms":""},"traffic_calming/bump":{"name":"Speed Bump","terms":"speed hump"},"traffic_calming/hump":{"name":"Speed Hump","terms":"speed bump"},"traffic_calming/rumble_strip":{"name":"Rumble Strip","terms":"sleeper lines,audible lines,growlers"},"traffic_calming/table":{"name":"Raised Pedestrian Crossing","terms":"speed table,flat top hump"},"type/boundary":{"name":"Boundary","terms":""},"type/boundary/administrative":{"name":"Administrative Boundary","terms":""},"type/multipolygon":{"name":"Multipolygon","terms":""},"type/restriction":{"name":"Restriction","terms":""},"type/restriction/no_left_turn":{"name":"No Left Turn","terms":""},"type/restriction/no_right_turn":{"name":"No Right Turn","terms":""},"type/restriction/no_straight_on":{"name":"No Straight On","terms":""},"type/restriction/no_u_turn":{"name":"No U-turn","terms":""},"type/restriction/only_left_turn":{"name":"Left Turn Only","terms":""},"type/restriction/only_right_turn":{"name":"Right Turn Only","terms":""},"type/restriction/only_straight_on":{"name":"No Turns","terms":""},"type/route":{"name":"Route","terms":""},"type/route/bicycle":{"name":"Cycle Route","terms":""},"type/route/bus":{"name":"Bus Route","terms":""},"type/route/detour":{"name":"Detour Route","terms":""},"type/route/ferry":{"name":"Ferry Route","terms":""},"type/route/foot":{"name":"Foot Route","terms":""},"type/route/hiking":{"name":"Hiking Route","terms":""},"type/route/pipeline":{"name":"Pipeline Route","terms":""},"type/route/power":{"name":"Power Route","terms":""},"type/route/road":{"name":"Road Route","terms":""},"type/route/train":{"name":"Train Route","terms":""},"type/route/tram":{"name":"Tram Route","terms":""},"type/route_master":{"name":"Route Master","terms":""},"type/site":{"name":"Site","terms":""},"vertex":{"name":"Other","terms":""},"waterway":{"name":"Waterway","terms":""},"waterway/boatyard":{"name":"Boatyard","terms":""},"waterway/canal":{"name":"Canal","terms":""},"waterway/dam":{"name":"Dam","terms":""},"waterway/ditch":{"name":"Ditch","terms":""},"waterway/dock":{"name":"Wet Dock / Dry Dock","terms":"boat,ship,vessel,marine"},"waterway/drain":{"name":"Drain","terms":""},"waterway/fuel":{"name":"Marine Fuel Station","terms":"petrol,gas,diesel,boat"},"waterway/river":{"name":"River","terms":"beck,branch,brook,course,creek,estuary,rill,rivulet,run,runnel,stream,tributary,watercourse"},"waterway/riverbank":{"name":"Riverbank","terms":""},"waterway/sanitary_dump_station":{"name":"Marine Toilet Disposal","terms":"Boat,Watercraft,Sanitary,Dump Station,Pumpout,Pump out,Elsan,CDP,CTDP,Chemical Toilet"},"waterway/stream":{"name":"Stream","terms":"beck,branch,brook,burn,course,creek,current,drift,flood,flow,freshet,race,rill,rindle,rivulet,run,runnel,rush,spate,spritz,surge,tide,torrent,tributary,watercourse"},"waterway/water_point":{"name":"Marine Drinking Water","terms":""},"waterway/weir":{"name":"Weir","terms":""}}}},"suggestions":{"amenity":{"fuel":{"76":{"count":314},"Neste":{"count":189},"BP":{"count":2511},"Shell":{"count":8380},"Agip":{"count":2651},"Migrol":{"count":65},"Avia":{"count":897},"Texaco":{"count":680},"Total":{"count":2607},"Statoil":{"count":596},"Esso":{"count":3652},"Jet":{"count":441},"Avanti":{"count":90},"Sainsbury's":{"count":58},"OMV":{"count":701},"Aral":{"count":1339},"Tesco":{"count":197},"JET":{"count":180},"Morrisons":{"count":111},"United":{"count":91},"Canadian Tire":{"count":66},"Mobil":{"count":613},"Caltex":{"count":1001},"Sunoco":{"count":355},"Q8":{"count":1161},"ABC":{"count":79},"ARAL":{"count":375},"CEPSA":{"count":1018},"BFT":{"count":89},"Petron":{"count":878},"Intermarché":{"count":434},"Total Access":{"count":51},"Super U":{"count":124},"Auchan":{"count":53},"Elf":{"count":129},"Carrefour":{"count":205},"Station Service E. Leclerc":{"count":530},"Shell Express":{"count":131},"Hess":{"count":127},"Flying V":{"count":129},"bft":{"count":168},"Gulf":{"count":199},"PTT":{"count":191},"St1":{"count":100},"Teboil":{"count":115},"HEM":{"count":212},"GALP":{"count":626},"OK":{"count":163},"ÖMV":{"count":101},"Tinq":{"count":215},"OKQ8":{"count":186},"Repsol":{"count":424},"Westfalen":{"count":96},"Esso Express":{"count":98},"Raiffeisenbank":{"count":117},"Tamoil":{"count":866},"Engen":{"count":241},"Sasol":{"count":59},"Topaz":{"count":78},"LPG":{"count":174},"Coop":{"count":62},"Orlen":{"count":598},"Oilibya":{"count":68},"Tango":{"count":122},"Star":{"count":319},"Петрол":{"count":84},"Cepsa":{"count":96},"OIL!":{"count":63},"Ultramar":{"count":125},"Irving":{"count":87},"Lukoil":{"count":701},"Petro-Canada":{"count":489},"7-Eleven":{"count":488},"Agrola":{"count":69},"Husky":{"count":126},"Slovnaft":{"count":219},"Sheetz":{"count":134},"Mol":{"count":61},"Petronas":{"count":159},"Газпромнефть":{"count":748},"Лукойл":{"count":1477},"Elan":{"count":112},"Роснефть":{"count":638},"Turmöl":{"count":57},"Neste A24":{"count":55},"Marathon":{"count":189},"Valero":{"count":366},"Eni":{"count":236},"Chevron":{"count":954},"ТНК":{"count":520},"REPSOL":{"count":1603},"MOL":{"count":228},"Bliska":{"count":150},"Api":{"count":302},"Arco":{"count":179},"Pemex":{"count":423},"Exxon":{"count":506},"Coles Express":{"count":115},"Petrom":{"count":259},"PETRONOR":{"count":207},"Rompetrol":{"count":174},"Lotos":{"count":178},"ОМВ":{"count":60},"BR":{"count":129},"Copec":{"count":505},"Petrobras":{"count":270},"Liberty":{"count":55},"IP":{"count":871},"Erg":{"count":596},"Eneos":{"count":97},"Citgo":{"count":279},"Metano":{"count":208},"Сургутнефтегаз":{"count":61},"EKO":{"count":59},"Eko":{"count":58},"Indipend.":{"count":172},"IES":{"count":63},"TotalErg":{"count":89},"Cenex":{"count":115},"ПТК":{"count":82},"HP":{"count":79},"Phillips 66":{"count":216},"CARREFOUR":{"count":74},"ERG":{"count":76},"Speedway":{"count":148},"Benzina":{"count":96},"Татнефть":{"count":264},"Terpel":{"count":259},"WOG":{"count":189},"Seaoil":{"count":54},"АЗС":{"count":1077},"Kwik Trip":{"count":108},"Wawa":{"count":89},"Pertamina":{"count":186},"COSMO":{"count":64},"Z":{"count":76},"Indian Oil":{"count":183},"АГЗС":{"count":494},"INA":{"count":121},"JOMO":{"count":62},"Holiday":{"count":97},"YPF":{"count":70},"IDEMITSU":{"count":87},"ENEOS":{"count":736},"Bharat Petroleum":{"count":64},"CAMPSA":{"count":615},"Casey's General Store":{"count":190},"Башнефть":{"count":60},"Kangaroo":{"count":60},"コスモ石油 (COSMO)":{"count":136},"MEROIL":{"count":77},"1-2-3":{"count":71},"出光":{"count":228,"tags":{"name:en":"IDEMITSU"}},"НК Альянс":{"count":88},"Sinclair":{"count":100},"Conoco":{"count":189},"SPBU":{"count":54},"Макпетрол":{"count":109},"Circle K":{"count":166},"Posto Ipiranga":{"count":70},"Posto Shell":{"count":54},"Phoenix":{"count":144},"Ipiranga":{"count":119},"OKKO":{"count":85},"ОККО":{"count":119},"บางจาก":{"count":60},"QuikTrip":{"count":105},"Stewart's":{"count":63},"Posto BR":{"count":68},"ป ต ท":{"count":152},"ปตท":{"count":88},"ANP":{"count":80},"Kum & Go":{"count":80},"Petrolimex":{"count":55},"Sokimex":{"count":66},"Tela":{"count":154},"Posto":{"count":71},"H-E-B":{"count":182},"Укрнафта":{"count":58},"Татнефтепродукт":{"count":54},"Afriquia":{"count":88},"Murphy USA":{"count":67},"昭和シェル (Showa-shell)":{"count":94},"エネオス":{"count":53},"CNG":{"count":94}},"pub":{"Kings Arms":{"count":67},"The Ship":{"count":89},"The White Horse":{"count":204},"The White Hart":{"count":226},"Royal Oak":{"count":150},"The Red Lion":{"count":233},"The Kings Arms":{"count":58},"The Star":{"count":73},"The Anchor":{"count":64},"The Cross Keys":{"count":55},"The Wheatsheaf":{"count":117},"The Crown Inn":{"count":67},"The Kings Head":{"count":53},"The Castle":{"count":62},"The Railway":{"count":102},"The White Lion":{"count":118},"The Bell":{"count":121},"The Bull":{"count":68},"The Plough":{"count":179},"The George":{"count":110},"The Royal Oak":{"count":209},"The Fox":{"count":74},"Prince of Wales":{"count":77},"The Rising Sun":{"count":71},"The Prince of Wales":{"count":51},"The Crown":{"count":244},"The Chequers":{"count":66},"The Swan":{"count":152},"Rose and Crown":{"count":79},"The Victoria":{"count":67},"New Inn":{"count":90},"Royal Hotel":{"count":57},"Red Lion":{"count":207},"Cross Keys":{"count":61},"The Greyhound":{"count":96},"The Black Horse":{"count":94},"The New Inn":{"count":105},"Kings Head":{"count":59},"The Albion":{"count":51},"The Angel":{"count":52},"The Queens Head":{"count":52},"The Ship Inn":{"count":83},"Rose & Crown":{"count":51},"Queens Head":{"count":52},"Irish Pub":{"count":76}},"fast_food":{"Quick":{"count":484},"McDonald's":{"count":12376,"tags":{"cuisine":"burger"}},"Subway":{"count":5576,"tags":{"cuisine":"sandwich"}},"Burger King":{"count":3734,"tags":{"cuisine":"burger"}},"Ali Baba":{"count":61},"Hungry Jacks":{"count":173,"tags":{"cuisine":"burger"}},"Red Rooster":{"count":148},"KFC":{"count":3198,"tags":{"cuisine":"chicken"}},"Domino's Pizza":{"count":985,"tags":{"cuisine":"pizza"}},"Chowking":{"count":142},"Jollibee":{"count":396},"Hesburger":{"count":102},"肯德基":{"count":86},"Wendy's":{"count":1621,"tags":{"cuisine":"burger"}},"Tim Hortons":{"count":323},"Steers":{"count":151},"Hardee's":{"count":268,"tags":{"cuisine":"burger"}},"Arby's":{"count":782},"A&W":{"count":283},"Dairy Queen":{"count":791},"Hallo Pizza":{"count":76},"Fish & Chips":{"count":93},"Harvey's":{"count":90},"麥當勞":{"count":65},"Pizza Pizza":{"count":215},"Kotipizza":{"count":74},"Jack in the Box":{"count":546,"tags":{"cuisine":"burger"}},"Istanbul":{"count":56},"Kochlöffel":{"count":68},"Döner":{"count":228},"Telepizza":{"count":201},"Sibylla":{"count":61},"Carl's Jr.":{"count":298,"tags":{"cuisine":"burger"}},"Quiznos":{"count":266,"tags":{"cuisine":"sandwich"}},"Wimpy":{"count":141},"Sonic":{"count":566,"tags":{"cuisine":"burger"}},"Taco Bell":{"count":1423,"tags":{"cuisine":"mexican"}},"Pizza Nova":{"count":63},"Papa John's":{"count":304,"tags":{"cuisine":"pizza"}},"Nordsee":{"count":159},"Mr. Sub":{"count":103},"Макдоналдс":{"count":324,"tags":{"name:en":"McDonald's"}},"Asia Imbiss":{"count":111},"Chipotle":{"count":290,"tags":{"cuisine":"mexican"}},"マクドナルド":{"count":692,"tags":{"name:en":"McDonald's","cuisine":"burger"}},"In-N-Out Burger":{"count":65},"Jimmy John's":{"count":141},"Jamba Juice":{"count":68},"Робин Сдобин":{"count":82},"Baskin Robbins":{"count":74},"ケンタッキーフライドチキン":{"count":164,"tags":{"name:en":"KFC","cuisine":"chicken"}},"吉野家":{"count":191},"Taco Time":{"count":88},"松屋":{"count":281,"tags":{"name:en":"Matsuya"}},"Little Caesars":{"count":81},"El Pollo Loco":{"count":63},"Del Taco":{"count":141},"White Castle":{"count":80},"Boston Market":{"count":66},"Chick-fil-A":{"count":257,"tags":{"cuisine":"chicken"}},"Panda Express":{"count":238,"tags":{"cuisine":"chinese"}},"Whataburger":{"count":364},"Taco John's":{"count":78},"Теремок":{"count":68},"Culver's":{"count":425},"Five Guys":{"count":141},"Church's Chicken":{"count":95},"Popeye's":{"count":167,"tags":{"cuisine":"chicken"}},"Long John Silver's":{"count":93},"Pollo Campero":{"count":62},"Zaxby's":{"count":51},"すき家":{"count":276,"tags":{"name:en":"SUKIYA"}},"モスバーガー":{"count":257,"tags":{"name:en":"MOS BURGER"}},"Русский Аппетит":{"count":69},"なか卯":{"count":63}},"restaurant":{"Pizza Hut":{"count":1180,"tags":{"cuisine":"pizza"}},"Little Chef":{"count":64},"Adler":{"count":158},"Zur Krone":{"count":90},"Deutsches Haus":{"count":90},"Krone":{"count":171},"Akropolis":{"count":152},"Schützenhaus":{"count":124},"Kreuz":{"count":74},"Waldschänke":{"count":55},"La Piazza":{"count":69},"Lamm":{"count":66},"Zur Sonne":{"count":73},"Zur Linde":{"count":204},"Poseidon":{"count":110},"Shanghai":{"count":82},"Red Lobster":{"count":235},"Zum Löwen":{"count":84},"Swiss Chalet":{"count":107},"Olympia":{"count":74},"Wagamama":{"count":64},"Frankie & Benny's":{"count":66},"Hooters":{"count":103},"Sternen":{"count":78},"Hirschen":{"count":79},"Denny's":{"count":450},"Athen":{"count":68},"Sonne":{"count":126},"Hirsch":{"count":79},"Ratskeller":{"count":150},"La Cantina":{"count":56},"Gasthaus Krone":{"count":56},"El Greco":{"count":86},"Gasthof zur Post":{"count":79},"Nando's":{"count":246},"Löwen":{"count":112},"La Pataterie":{"count":51},"Bella Napoli":{"count":53},"Pizza Express":{"count":262},"Mandarin":{"count":65},"Hong Kong":{"count":83},"Zizzi":{"count":68},"Cracker Barrel":{"count":183},"Rhodos":{"count":81},"Lindenhof":{"count":79},"Milano":{"count":54},"Dolce Vita":{"count":77},"Kirchenwirt":{"count":81},"Kantine":{"count":52},"Ochsen":{"count":95},"Spur":{"count":62},"Mykonos":{"count":59},"Lotus":{"count":66},"Applebee's":{"count":531},"Flunch":{"count":72},"Zur Post":{"count":116},"China Town":{"count":76},"La Dolce Vita":{"count":73},"Waffle House":{"count":207},"Delphi":{"count":88},"Linde":{"count":103},"Outback Steakhouse":{"count":218},"Dionysos":{"count":69},"Kelsey's":{"count":57},"Boston Pizza":{"count":165},"Bella Italia":{"count":132},"Sizzler":{"count":53},"Grüner Baum":{"count":116},"Taj Mahal":{"count":104},"Rössli":{"count":68},"Wimpy":{"count":51},"Traube":{"count":65},"Adria":{"count":52},"Red Robin":{"count":185},"Roma":{"count":61},"San Marco":{"count":67},"Hellas":{"count":55},"La Perla":{"count":67},"Vips":{"count":53},"Panera Bread":{"count":218},"Da Vinci":{"count":54},"Hippopotamus":{"count":96},"Prezzo":{"count":75},"Courtepaille":{"count":106},"Hard Rock Cafe":{"count":70},"Panorama":{"count":61},"デニーズ":{"count":82},"Sportheim":{"count":65},"餃子の王将":{"count":57},"Bären":{"count":60},"Alte Post":{"count":60},"Pizzeria Roma":{"count":51},"China Garden":{"count":66},"Vapiano":{"count":82},"Mamma Mia":{"count":64},"Schwarzer Adler":{"count":57},"IHOP":{"count":317},"Chili's":{"count":328},"Asia":{"count":51},"Olive Garden":{"count":279},"TGI Friday's":{"count":159},"Friendly's":{"count":78},"Buffalo Grill":{"count":202},"Texas Roadhouse":{"count":110},"ガスト":{"count":230,"tags":{"name:en":"Gusto"}},"Sakura":{"count":75},"Mensa":{"count":99},"The Keg":{"count":53},"サイゼリヤ":{"count":93},"La Strada":{"count":52},"Village Inn":{"count":92},"Buffalo Wild Wings":{"count":176},"Peking":{"count":59},"Boston Market":{"count":61},"Round Table Pizza":{"count":53},"Jimmy John's":{"count":69},"California Pizza Kitchen":{"count":61},"Якитория":{"count":77},"Golden Corral":{"count":101},"Perkins":{"count":105},"Ruby Tuesday":{"count":162},"Shari's":{"count":65},"Bob Evans":{"count":129},"바다횟집 (Bada Fish Restaurant)":{"count":55},"Mang Inasal":{"count":84},"Евразия":{"count":102},"ジョナサン":{"count":59},"Longhorn Steakhouse":{"count":66}},"bank":{"Chase":{"count":721},"Commonwealth Bank":{"count":232},"Citibank":{"count":277},"HSBC":{"count":1102},"Barclays":{"count":965},"Westpac":{"count":208},"NAB":{"count":131},"ANZ":{"count":218},"Lloyds Bank":{"count":547},"Landbank":{"count":81},"Sparkasse":{"count":4555},"UCPB":{"count":92},"PNB":{"count":244},"Metrobank":{"count":269},"BDO":{"count":290},"Volksbank":{"count":2591},"BPI":{"count":415},"Postbank":{"count":443},"NatWest":{"count":628},"Raiffeisenbank":{"count":2119},"Yorkshire Bank":{"count":63},"ABSA":{"count":95},"Standard Bank":{"count":109},"FNB":{"count":97},"Deutsche Bank":{"count":855},"SEB":{"count":133},"Commerzbank":{"count":806},"Targobank":{"count":166},"ABN AMRO":{"count":130},"Handelsbanken":{"count":184},"Swedbank":{"count":223},"Kreissparkasse":{"count":600},"UniCredit Bank":{"count":408},"Monte dei Paschi di Siena":{"count":132},"Caja Rural":{"count":99},"Dresdner Bank":{"count":66},"Sparda-Bank":{"count":320},"VÚB":{"count":107},"Slovenská sporiteľňa":{"count":134},"Bank of Montreal":{"count":118},"KBC":{"count":203},"Royal Bank of Scotland":{"count":111},"TSB":{"count":80},"US Bank":{"count":256},"HypoVereinsbank":{"count":561},"Bank Austria":{"count":176},"ING":{"count":496},"Erste Bank":{"count":180},"CIBC":{"count":326},"Scotiabank":{"count":413},"Caisse d'Épargne":{"count":882},"Santander":{"count":1323},"Bank of Scotland":{"count":89},"TD Canada Trust":{"count":450},"BMO":{"count":169},"Danske Bank":{"count":131},"OTP":{"count":192},"Crédit Agricole":{"count":1239},"LCL":{"count":553},"VR-Bank":{"count":430},"ČSOB":{"count":160},"Česká spořitelna":{"count":212},"BNP":{"count":112},"Royal Bank":{"count":65},"Nationwide":{"count":209},"Halifax":{"count":225},"BAWAG PSK":{"count":102},"National Bank":{"count":84},"Nedbank":{"count":80},"First National Bank":{"count":85},"Nordea":{"count":319},"Rabobank":{"count":609},"Sparkasse KölnBonn":{"count":69},"Tatra banka":{"count":67},"Berliner Sparkasse":{"count":62},"Berliner Volksbank":{"count":77},"Wells Fargo":{"count":874},"Credit Suisse":{"count":71},"Société Générale":{"count":634},"Osuuspankki":{"count":75},"Sparkasse Aachen":{"count":56},"Hamburger Sparkasse":{"count":156},"Cassa di Risparmio del Veneto":{"count":68},"BNP Paribas":{"count":617},"Banque Populaire":{"count":433},"BNP Paribas Fortis":{"count":209},"Banco Popular":{"count":291},"Bancaja":{"count":55},"Banesto":{"count":208},"La Caixa":{"count":583},"Santander Consumer Bank":{"count":88},"BRD":{"count":191},"BCR":{"count":143},"Banca Transilvania":{"count":141},"BW-Bank":{"count":97},"Komerční banka":{"count":132},"Banco Pastor":{"count":64},"Stadtsparkasse":{"count":86},"Ulster Bank":{"count":86},"Sberbank":{"count":58},"CIC":{"count":427},"Bancpost":{"count":56},"Caja Madrid":{"count":115},"Maybank":{"count":94},"中国银行":{"count":85},"Unicredit Banca":{"count":243},"Crédit Mutuel":{"count":690},"BBVA":{"count":647},"Intesa San Paolo":{"count":69},"TD Bank":{"count":206},"Belfius":{"count":231},"Bank of America":{"count":924},"RBC":{"count":230},"Alpha Bank":{"count":123},"Сбербанк":{"count":4794},"Россельхозбанк":{"count":201},"Crédit du Nord":{"count":96},"BancoEstado":{"count":80},"Millennium Bank":{"count":414},"State Bank of India":{"count":151},"Беларусбанк":{"count":242},"ING Bank Śląski":{"count":67},"Caixa Geral de Depósitos":{"count":129},"Kreissparkasse Köln":{"count":65},"Banco BCI":{"count":51},"Banco de Chile":{"count":98},"ВТБ24":{"count":326},"UBS":{"count":134},"PKO BP":{"count":265},"Chinabank":{"count":55},"PSBank":{"count":59},"Union Bank":{"count":124},"China Bank":{"count":66},"RCBC":{"count":122},"Unicaja":{"count":83},"BBK":{"count":79},"Ibercaja":{"count":69},"RBS":{"count":143},"Commercial Bank of Ceylon PLC":{"count":79},"Bank of Ireland":{"count":109},"BNL":{"count":87},"Banco Santander":{"count":138},"Banco Itaú":{"count":111},"AIB":{"count":72},"BZ WBK":{"count":77},"Banco do Brasil":{"count":557},"Caixa Econômica Federal":{"count":184},"Fifth Third Bank":{"count":84},"Banca Popolare di Vicenza":{"count":81},"Wachovia":{"count":58},"OLB":{"count":53},"みずほ銀行":{"count":78},"BES":{"count":72},"ICICI Bank":{"count":91},"HDFC Bank":{"count":91},"La Banque Postale":{"count":67},"Pekao SA":{"count":56},"Oberbank":{"count":90},"Bradesco":{"count":295},"Oldenburgische Landesbank":{"count":56},"Bendigo Bank":{"count":93},"Argenta":{"count":86},"AXA":{"count":68},"Axis Bank":{"count":61},"Banco Nación":{"count":67},"GE Money Bank":{"count":72},"Альфа-Банк":{"count":185},"Белагропромбанк":{"count":70},"Caja Círculo":{"count":65},"Banco Galicia":{"count":51},"Eurobank":{"count":97},"Banca Intesa":{"count":62},"Canara Bank":{"count":92},"Cajamar":{"count":77},"Banamex":{"count":149},"Crédit Mutuel de Bretagne":{"count":335},"Davivienda":{"count":83},"Bank Spółdzielczy":{"count":159},"Credit Agricole":{"count":157},"Bankinter":{"count":59},"Banque Nationale":{"count":63},"Bank of the West":{"count":96},"Key Bank":{"count":155},"Western Union":{"count":88},"Citizens Bank":{"count":115},"ПриватБанк":{"count":513},"Security Bank":{"count":78},"Millenium":{"count":60},"Bankia":{"count":149},"三菱東京UFJ銀行":{"count":159},"Caixa":{"count":117},"Banco de Costa Rica":{"count":63},"SunTrust Bank":{"count":73},"Itaú":{"count":338},"PBZ":{"count":52},"中国工商银行":{"count":51},"Bancolombia":{"count":89},"Райффайзен Банк Аваль":{"count":64},"Bancomer":{"count":115},"Banorte":{"count":80},"Alior Bank":{"count":81},"BOC":{"count":51},"Банк Москвы":{"count":118},"ВТБ":{"count":59},"Getin Bank":{"count":55},"Caja Duero":{"count":57},"Regions Bank":{"count":62},"Росбанк":{"count":177},"Banco Estado":{"count":72},"BCI":{"count":68},"SunTrust":{"count":68},"PNC Bank":{"count":254},"신한은행":{"count":217,"tags":{"name:en":"Sinhan Bank"}},"우리은행":{"count":291,"tags":{"name:en":"Uri Bank"}},"국민은행":{"count":165,"tags":{"name:en":"Gungmin Bank"}},"중소기업은행":{"count":52,"tags":{"name:en":"Industrial Bank of Korea"}},"광주은행":{"count":51,"tags":{"name:en":"Gwangju Bank"}},"Газпромбанк":{"count":100},"M&T Bank":{"count":92},"Caja de Burgos":{"count":51},"Santander Totta":{"count":69},"УкрСиббанк":{"count":192},"Ощадбанк":{"count":364},"Уралсиб":{"count":85},"りそな銀行":{"count":225,"tags":{"name:en":"Mizuho Bank"}},"Ecobank":{"count":66},"Cajero Automatico Bancared":{"count":145},"Промсвязьбанк":{"count":93},"三井住友銀行":{"count":129},"Banco Provincia":{"count":67},"BB&T":{"count":147},"Возрождение":{"count":59},"Capital One":{"count":59},"横浜銀行":{"count":51},"Bank Mandiri":{"count":62},"Banco de la Nación":{"count":92},"Banco G&T Continental":{"count":62},"Peoples Bank":{"count":60},"工商银行":{"count":51},"Совкомбанк":{"count":55},"Provincial":{"count":56},"Banco de Desarrollo Banrural":{"count":73},"Banco Bradesco":{"count":65},"Bicentenario":{"count":182},"ლიბერთი ბანკი":{"count":54,"tags":{"name:en":"Liberty Bank"}},"Banesco":{"count":108},"Mercantil":{"count":75},"Bank BRI":{"count":53},"Del Tesoro":{"count":91},"하나은행":{"count":77},"CityCommerce Bank":{"count":71},"De Venezuela":{"count":117}},"car_rental":{"Europcar":{"count":291},"Budget":{"count":92},"Sixt":{"count":161},"Avis":{"count":282},"Hertz":{"count":293},"Enterprise":{"count":199},"stadtmobil CarSharing-Station":{"count":148}},"pharmacy":{"Rowlands Pharmacy":{"count":71},"Boots":{"count":840},"Marien-Apotheke":{"count":314},"Mercury Drug":{"count":426},"Löwen-Apotheke":{"count":356},"Superdrug":{"count":117},"Sonnen-Apotheke":{"count":311},"Rathaus-Apotheke":{"count":132},"Engel-Apotheke":{"count":123},"Hirsch-Apotheke":{"count":83},"Stern-Apotheke":{"count":67},"Lloyds Pharmacy":{"count":295},"Rosen-Apotheke":{"count":208},"Stadt-Apotheke":{"count":302},"Markt-Apotheke":{"count":164},"Аптека":{"count":1989},"Pharmasave":{"count":64},"Brunnen-Apotheke":{"count":53},"Shoppers Drug Mart":{"count":430},"Apotheke am Markt":{"count":60},"Alte Apotheke":{"count":88},"Neue Apotheke":{"count":109},"Gintarinė vaistinė":{"count":101},"Rats-Apotheke":{"count":84},"Adler Apotheke":{"count":313},"Pharmacie Centrale":{"count":64},"Walgreens":{"count":1619},"Rite Aid":{"count":745},"Apotheke":{"count":165},"Linden-Apotheke":{"count":211},"Bahnhof-Apotheke":{"count":66},"Burg-Apotheke":{"count":55},"Jean Coutu":{"count":62},"Pharmaprix":{"count":60},"Farmacias Ahumada":{"count":104},"Farmacia Comunale":{"count":113},"Farmacias Cruz Verde":{"count":86},"Cruz Verde":{"count":99},"Hubertus Apotheke":{"count":52},"CVS":{"count":1560},"Farmacias SalcoBrand":{"count":133},"Фармация":{"count":120},"Bären-Apotheke":{"count":74},"Clicks":{"count":113},"セイジョー":{"count":53},"マツモトキヨシ":{"count":115},"Dr. Max":{"count":51},"Вита":{"count":106},"Радуга":{"count":70},"サンドラッグ":{"count":61},"Apteka":{"count":366},"Первая помощь":{"count":74},"Ригла":{"count":113},"Имплозия":{"count":63},"Kinney Drugs":{"count":68},"Классика":{"count":67},"Ljekarna":{"count":53},"SalcoBrand":{"count":88},"Аптека 36,6":{"count":224},"Фармакор":{"count":75},"スギ薬局":{"count":84},"Аптечный пункт":{"count":148},"Невис":{"count":60},"トモズ (Tomod's)":{"count":83},"Eurovaistinė":{"count":65},"Farmacity":{"count":68},"аптека":{"count":96},"The Generics Pharmacy":{"count":95},"Farmatodo":{"count":123},"Duane Reade":{"count":61},"H-E-B":{"count":262},"Фармленд":{"count":82},"ドラッグてらしま (Drug Terashima)":{"count":96},"Арніка":{"count":125},"ავერსი (Aversi)":{"count":62},"Farmahorro":{"count":58}},"cafe":{"Starbucks":{"count":4238,"tags":{"cuisine":"coffee_shop"}},"Cafeteria":{"count":115},"Costa":{"count":618},"Caffè Nero":{"count":169},"Кафе":{"count":226},"Café Central":{"count":61},"Second Cup":{"count":193},"Dunkin Donuts":{"count":428,"tags":{"cuisine":"donut"}},"Espresso House":{"count":53},"Segafredo":{"count":69},"Coffee Time":{"count":94},"Cafe Coffee Day":{"count":120},"Eiscafe Venezia":{"count":180},"スターバックス":{"count":251,"tags":{"name:en":"Starbucks"}},"Шоколадница":{"count":145},"Pret A Manger":{"count":119},"Столовая":{"count":391},"Jamba Juice":{"count":53},"ドトール":{"count":164,"tags":{"name:en":"DOUTOR"}},"Tchibo":{"count":100},"Кофе Хауз":{"count":104},"Caribou Coffee":{"count":100},"Уют":{"count":51},"Шашлычная":{"count":58},"คาเฟ่ อเมซอน":{"count":62},"Traveler's Coffee":{"count":60},"カフェ・ド・クリエ":{"count":67,"tags":{"name:en":"Cafe de CRIE"}},"Cafe Amazon":{"count":65}}},"shop":{"supermarket":{"Budgens":{"count":88},"Morrisons":{"count":411},"Interspar":{"count":142},"Merkur":{"count":107},"Sainsbury's":{"count":547},"Lidl":{"count":7130},"Edeka":{"count":2293},"Coles":{"count":400},"Iceland":{"count":315},"Coop":{"count":2100},"Tesco":{"count":1297},"Woolworths":{"count":541},"Zielpunkt":{"count":239},"Nahkauf":{"count":170},"Billa":{"count":1432},"Kaufland":{"count":1004},"Plus":{"count":120},"ALDI":{"count":5172},"Checkers":{"count":128},"Tesco Metro":{"count":137},"NP":{"count":153},"Penny":{"count":1759},"Norma":{"count":1068},"Asda":{"count":225},"Netto":{"count":4379},"Rewe":{"count":2645},"Aldi Süd":{"count":594},"Real":{"count":246},"Tesco Express":{"count":406},"King Soopers":{"count":72},"Kiwi":{"count":167},"Pick n Pay":{"count":241},"ICA":{"count":192},"Tengelmann":{"count":188},"Carrefour":{"count":1640},"Waitrose":{"count":258},"Spar":{"count":2386},"Hofer":{"count":442},"M-Preis":{"count":76},"tegut":{"count":210},"Sainsbury's Local":{"count":118},"E-Center":{"count":66},"Aldi Nord":{"count":210},"nahkauf":{"count":84},"Meijer":{"count":76},"Safeway":{"count":410},"Costco":{"count":152},"Albert":{"count":185},"Jumbo":{"count":194},"Shoprite":{"count":244},"MPreis":{"count":54},"Penny Market":{"count":429},"Tesco Extra":{"count":123},"Albert Heijn":{"count":476},"IGA":{"count":363},"Super U":{"count":488},"Metro":{"count":260},"Neukauf":{"count":77},"Migros":{"count":459},"Marktkauf":{"count":121},"Delikatesy Centrum":{"count":59},"C1000":{"count":307},"Hoogvliet":{"count":53},"Food Basics":{"count":75},"Casino":{"count":264},"Penny Markt":{"count":466},"Giant":{"count":191},"COOP Jednota":{"count":73},"Rema 1000":{"count":368},"Kaufpark":{"count":96},"ALDI SÜD":{"count":113},"Simply Market":{"count":330},"Konzum":{"count":230},"Carrefour Express":{"count":353},"Eurospar":{"count":270},"Mercator":{"count":125},"Famila":{"count":130},"Hemköp":{"count":82},"real,-":{"count":81},"Markant":{"count":88},"Volg":{"count":135},"Leader Price":{"count":267},"Treff 3000":{"count":94},"SuperBrugsen":{"count":67},"Kaiser's":{"count":256},"K+K":{"count":106},"Unimarkt":{"count":86},"Carrefour City":{"count":126},"Sobeys":{"count":122},"S-Market":{"count":109},"Combi":{"count":55},"Denner":{"count":276},"Konsum":{"count":133},"Franprix":{"count":312},"Monoprix":{"count":198},"Diska":{"count":69},"PENNY":{"count":79},"Dia":{"count":835},"Giant Eagle":{"count":85},"NORMA":{"count":115},"AD Delhaize":{"count":63},"Auchan":{"count":152},"Mercadona":{"count":769},"Consum":{"count":130},"Carrefour Market":{"count":80},"Whole Foods":{"count":210,"tags":{"shop":"supermarket"}},"Pam":{"count":56},"sky":{"count":105},"Despar":{"count":146},"Eroski":{"count":208},"Costcutter":{"count":63},"Maxi":{"count":108},"Colruyt":{"count":180},"The Co-operative":{"count":64},"Intermarché":{"count":1210},"Delhaize":{"count":207},"CBA":{"count":176},"Shopi":{"count":53},"Walmart":{"count":644},"Kroger":{"count":317},"Albertsons":{"count":242},"Trader Joe's":{"count":235},"Feneberg":{"count":58},"denn's Biomarkt":{"count":52},"dm":{"count":114},"Kvickly":{"count":55},"Makro":{"count":140},"Dico":{"count":53},"Nah & Frisch":{"count":73},"Champion":{"count":59},"ICA Supermarket":{"count":51},"Fakta":{"count":235},"Магнит":{"count":1760},"Caprabo":{"count":103},"Famiglia Cooperativa":{"count":64},"Народная 7Я семьЯ":{"count":154},"Esselunga":{"count":85},"Maxima":{"count":102},"Petit Casino":{"count":111},"Wasgau":{"count":60},"Pingo Doce":{"count":253},"Match":{"count":140},"Profi":{"count":60},"Lider":{"count":65},"Unimarc":{"count":177},"The Co-operative Food":{"count":190},"Santa Isabel":{"count":128},"Седьмой континент":{"count":79},"HIT":{"count":59},"Rimi":{"count":106},"Conad":{"count":304},"Фуршет":{"count":76},"Willys":{"count":56},"Farmfoods":{"count":64},"U Express":{"count":51},"Фора":{"count":52},"Dunnes Stores":{"count":73},"Сільпо":{"count":125},"マルエツ":{"count":59},"Piggly Wiggly":{"count":57},"Crai":{"count":54},"El Árbol":{"count":73},"Centre Commercial E. Leclerc":{"count":549},"Foodland":{"count":100},"Super Brugsen":{"count":67},"Дикси":{"count":683},"Пятёрочка":{"count":1344},"Publix":{"count":339},"Føtex":{"count":66},"coop":{"count":73},"Fressnapf":{"count":69},"Coop Konsum":{"count":79},"Carrefour Contact":{"count":83},"No Frills":{"count":105},"Plodine":{"count":52},"ADEG":{"count":68},"Minipreço":{"count":111},"Biedronka":{"count":1335},"Eurospin":{"count":155},"Семья":{"count":62},"Gadis":{"count":53},"Евроопт":{"count":68},"Centra":{"count":51},"Квартал":{"count":82},"New World":{"count":69},"Countdown":{"count":95},"Reliance Fresh":{"count":61},"Stokrotka":{"count":98},"Coop Jednota":{"count":74},"Fred Meyer":{"count":64},"Irma":{"count":58},"Continente":{"count":75},"Price Chopper":{"count":99},"Game":{"count":52},"Soriana":{"count":93},"Alimerka":{"count":64},"Piotr i Paweł":{"count":53},"Перекресток":{"count":312},"Maxima X":{"count":117},"Карусель":{"count":55},"ALDI Nord":{"count":51},"Condis":{"count":67},"Sam's Club":{"count":138},"Копейка":{"count":87},"Géant Casino":{"count":54},"ASDA":{"count":180},"Intermarche":{"count":115},"Stop & Shop":{"count":66},"Food Lion":{"count":216},"Harris Teeter":{"count":92},"Foodworks":{"count":62},"Polo Market":{"count":86},"Лента":{"count":51},"西友 (SEIYU)":{"count":58},"H-E-B":{"count":293},"Атак":{"count":53},"Полушка":{"count":139},"Extra":{"count":82},"Lewiatan":{"count":94},"Sigma":{"count":51},"АТБ":{"count":322},"Społem":{"count":55},"Bodega Aurrera":{"count":82},"Tesco Lotus":{"count":77},"Мария-Ра":{"count":108},"Магнолия":{"count":72},"Магазин":{"count":120},"Монетка":{"count":174},"Hy-Vee":{"count":75},"Walmart Supercenter":{"count":133},"Hannaford":{"count":57},"Wegmans":{"count":83},"業務スーパー":{"count":61},"Norfa XL":{"count":55},"ヨークマート (YorkMart)":{"count":64},"Leclerc Drive":{"count":76}},"electronics":{"Media Markt":{"count":285},"Maplin":{"count":65},"Best Buy":{"count":345},"Future Shop":{"count":73},"Saturn":{"count":134},"Currys":{"count":80},"Radio Shack":{"count":269},"Euronics":{"count":115},"Expert":{"count":123},"Эльдорадо":{"count":184},"Darty":{"count":74},"М.Видео":{"count":89},"ヤマダ電機":{"count":51}},"convenience":{"Shell":{"count":255},"Spar":{"count":1119},"McColl's":{"count":100},"Tesco Express":{"count":426},"Sainsbury's Local":{"count":104},"Aral":{"count":56},"One Stop":{"count":146},"The Co-operative Food":{"count":115},"Londis":{"count":352},"7-Eleven":{"count":4440},"CBA":{"count":135},"Coop":{"count":678},"Sale":{"count":80},"Statoil":{"count":69},"Sheetz":{"count":54},"Konzum":{"count":173},"Siwa":{"count":216},"Mercator":{"count":57},"Esso":{"count":67},"COOP Jednota":{"count":181},"Mac's":{"count":152},"Alepa":{"count":62},"Hasty Market":{"count":54},"K-Market":{"count":54},"Costcutter":{"count":292},"Valintatalo":{"count":62},"Casino":{"count":90},"Franprix":{"count":61},"Circle K":{"count":289},"セブンイレブン":{"count":3011,"tags":{"name:en":"7-Eleven"}},"ローソン":{"count":1596,"tags":{"name:en":"LAWSON"}},"BP":{"count":163},"Tesco":{"count":55},"Petit Casino":{"count":233},"Volg":{"count":116},"Mace":{"count":115},"Mini Market":{"count":272},"Nisa Local":{"count":77},"Dorfladen":{"count":75},"Продукты":{"count":4285},"Mini Stop":{"count":228},"LAWSON":{"count":419},"デイリーヤマザキ":{"count":141},"Biedronka":{"count":83},"Надежда":{"count":56},"Mobil":{"count":66},"Nisa":{"count":51},"Premier":{"count":129},"ABC":{"count":152},"ミニストップ":{"count":316,"tags":{"name:en":"MINISTOP"}},"サンクス":{"count":560,"tags":{"name:en":"sunkus"}},"スリーエフ":{"count":88},"8 à Huit":{"count":61},"Tchibo":{"count":56},"Żabka":{"count":546},"Almacen":{"count":229},"Vival":{"count":194},"FamilyMart":{"count":529},"ファミリーマート":{"count":1608,"tags":{"name:en":"FamilyMart"}},"Carrefour City":{"count":57},"Sunkus":{"count":62},"Casey's General Store":{"count":95},"セブンイレブン(Seven-Eleven)":{"count":65},"Jednota":{"count":58},"Магазин":{"count":915},"Гастроном":{"count":152},"Centra":{"count":111},"Магнит":{"count":701},"サークルK":{"count":538,"tags":{"name:en":"Circle K"}},"Wawa":{"count":135},"Proxi":{"count":123},"Универсам":{"count":78},"Перекресток":{"count":51},"Groszek":{"count":65},"Select":{"count":62},"Večerka":{"count":51},"Potraviny":{"count":249},"Смак":{"count":78},"Эконом":{"count":55},"Березка":{"count":77},"Społem":{"count":93},"Carrefour Express":{"count":84},"Cumberland Farms":{"count":63},"Chevron":{"count":59},"Coop Jednota":{"count":66},"Tesco Lotus Express":{"count":67},"Kiosk":{"count":55},"Sklep spożywczy":{"count":130},"24 часа":{"count":58},"Минимаркет":{"count":102},"Oxxo":{"count":669},"Пятёрочка":{"count":398},"abc":{"count":74},"7/11":{"count":51},"Stewart's":{"count":255},"Продукти":{"count":171},"ローソンストア100 (LAWSON STORE 100)":{"count":85},"Дикси":{"count":119},"Радуга":{"count":86},"ローソンストア100":{"count":76},"เซเว่นอีเลฟเว่น":{"count":185},"Delikatesy Centrum":{"count":53},"Citgo":{"count":62},"Фортуна":{"count":51},"Kum & Go":{"count":59},"Мария-Ра":{"count":76},"Picard":{"count":57},"Four Square":{"count":52},"Визит":{"count":57},"Авоська":{"count":55},"Dollar General":{"count":127},"Studenac":{"count":76},"Central Convenience Store":{"count":55},"Монетка":{"count":62},"продукты":{"count":114},"Теремок":{"count":56},"Kwik Trip":{"count":69},"Кулинария":{"count":55},"全家":{"count":90},"Мечта":{"count":54},"Epicerie":{"count":102},"Кировский":{"count":67},"Food Mart":{"count":117},"Delikatesy":{"count":81},"ポプラ":{"count":54},"Lewiatan":{"count":135},"Продуктовый магазин":{"count":149},"Продуктовый":{"count":84},"セイコーマート (Seicomart)":{"count":72},"Виктория":{"count":70},"Весна":{"count":57},"Mini Market Non-Stop":{"count":60},"QuikTrip":{"count":75},"Копеечка":{"count":51},"Royal Farms":{"count":51},"Alfamart":{"count":103},"Indomaret":{"count":141},"магазин":{"count":171},"全家便利商店":{"count":156},"Boutique":{"count":59},"მარკეტი (Market)":{"count":144},"Stores":{"count":61}},"chemist":{"dm":{"count":939},"Müller":{"count":212},"Schlecker":{"count":187},"Etos":{"count":467},"Bipa":{"count":289},"Rossmann":{"count":1669},"DM Drogeriemarkt":{"count":55},"Ihr Platz":{"count":73},"Douglas":{"count":62},"Kruidvat":{"count":123}},"car_repair":{"Peugeot":{"count":83},"Kwik Fit":{"count":128},"ATU":{"count":261},"Midas":{"count":202},"Feu Vert":{"count":113},"Norauto":{"count":152},"Speedy":{"count":115},"Автозапчасти":{"count":212},"Renault":{"count":171},"Pit Stop":{"count":58},"Jiffy Lube":{"count":198},"Шиномонтаж":{"count":1157},"СТО":{"count":395},"O'Reilly Auto Parts":{"count":81},"Carglass":{"count":112},"шиномонтаж":{"count":62},"Citroen":{"count":51},"Euromaster":{"count":87},"Firestone":{"count":88},"Автосервис":{"count":361},"Advance Auto Parts":{"count":52},"Roady":{"count":56}},"furniture":{"IKEA":{"count":169},"Jysk":{"count":109},"Roller":{"count":78},"Dänisches Bettenlager":{"count":309},"Conforama":{"count":99},"Matratzen Concord":{"count":52},"Мебель":{"count":210},"But":{"count":63}},"doityourself":{"Hornbach":{"count":123},"B&Q":{"count":225},"Hubo":{"count":77},"Mr Bricolage":{"count":88},"Gamma":{"count":111},"OBI":{"count":422},"Lowes":{"count":1152},"Wickes":{"count":123},"Hagebau":{"count":59},"Max Bahr":{"count":79},"Castorama":{"count":153},"Rona":{"count":61},"Home Depot":{"count":865},"Toom Baumarkt":{"count":71},"Homebase":{"count":225},"Baumax":{"count":95},"Lagerhaus":{"count":79},"Bauhaus":{"count":186},"Canadian Tire":{"count":97},"Leroy Merlin":{"count":209},"Hellweg":{"count":58},"Brico":{"count":98},"Bricomarché":{"count":235},"Toom":{"count":67},"Hagebaumarkt":{"count":107},"Praktiker":{"count":122},"Menards":{"count":70},"Weldom":{"count":73},"Bunnings Warehouse":{"count":91},"Ace Hardware":{"count":147},"Home Hardware":{"count":72},"Хозтовары":{"count":86},"Стройматериалы":{"count":197},"Bricorama":{"count":60},"Point P":{"count":59}},"stationery":{"Staples":{"count":299},"McPaper":{"count":83},"Office Depot":{"count":98},"Канцтовары":{"count":63}},"car":{"Skoda":{"count":97},"BMW":{"count":149},"Citroen":{"count":277},"Renault":{"count":382},"Mercedes-Benz":{"count":235},"Volvo":{"count":96},"Ford":{"count":239},"Volkswagen":{"count":217},"Mazda":{"count":105},"Mitsubishi":{"count":73},"Fiat":{"count":93},"Автозапчасти":{"count":277},"Opel":{"count":165},"Audi":{"count":121},"Toyota":{"count":271},"Nissan":{"count":189},"Suzuki":{"count":75},"Honda":{"count":157},"Peugeot":{"count":308},"Шиномонтаж":{"count":259},"Hyundai":{"count":166},"Subaru":{"count":58},"Chevrolet":{"count":86},"Автомагазин":{"count":72}},"clothes":{"Matalan":{"count":90},"KiK":{"count":1219},"H&M":{"count":658},"Urban Outfitters":{"count":63},"Vögele":{"count":132},"Zeeman":{"count":121},"Takko":{"count":515},"Adler":{"count":55},"C&A":{"count":506},"Zara":{"count":217},"Vero Moda":{"count":95},"NKD":{"count":486},"Ernsting's family":{"count":312},"Winners":{"count":65},"River Island":{"count":59},"Next":{"count":176},"Gap":{"count":81},"Adidas":{"count":92},"Woolworths":{"count":117},"Mr Price":{"count":88},"Jet":{"count":61},"Pep":{"count":134},"Edgars":{"count":110},"Ackermans":{"count":91},"Truworths":{"count":65},"Ross":{"count":93},"Burton":{"count":51},"Dorothy Perkins":{"count":53},"Deichmann":{"count":61},"Lindex":{"count":73},"s.Oliver":{"count":56},"Cecil":{"count":51},"Dress Barn":{"count":52},"Old Navy":{"count":174},"Jack & Jones":{"count":52},"Pimkie":{"count":73},"Esprit":{"count":231},"Primark":{"count":92},"Bonita":{"count":155},"Mexx":{"count":67},"Gerry Weber":{"count":71},"Tally Weijl":{"count":70},"Mango":{"count":133},"TK Maxx":{"count":84},"Benetton":{"count":101},"Ulla Popken":{"count":61},"AWG":{"count":66},"Tommy Hilfiger":{"count":75},"New Yorker":{"count":180},"Orsay":{"count":73},"Jeans Fritz":{"count":51},"Charles Vögele":{"count":69},"New Look":{"count":126},"Lacoste":{"count":78},"Etam":{"count":53},"Kiabi":{"count":148},"Jack Wolfskin":{"count":60},"American Apparel":{"count":57},"Men's Wearhouse":{"count":54},"Intimissimi":{"count":52},"United Colors of Benetton":{"count":96},"Jules":{"count":63},"Second Hand":{"count":53},"AOKI":{"count":57},"Calzedonia":{"count":68},"洋服の青山":{"count":100},"Levi's":{"count":63},"Celio":{"count":74},"TJ Maxx":{"count":57},"Promod":{"count":82},"Street One":{"count":72},"ユニクロ":{"count":59},"Banana Republic":{"count":57},"Одежда":{"count":75},"Marshalls":{"count":56},"La Halle":{"count":62},"Peacocks":{"count":89},"しまむら":{"count":60}},"books":{"Bruna":{"count":58},"Waterstones":{"count":90},"Libro":{"count":57},"Barnes & Noble":{"count":267},"Weltbild":{"count":74},"Thalia":{"count":121},"Книги":{"count":112}},"department_store":{"Debenhams":{"count":67},"Canadian Tire":{"count":75},"Karstadt":{"count":64},"Walmart":{"count":517},"Kmart":{"count":143},"Target":{"count":574},"Galeria Kaufhof":{"count":61},"Marks & Spencer":{"count":66},"Big W":{"count":57},"Woolworth":{"count":78},"Универмаг":{"count":72},"Sears":{"count":235},"Walmart Supercenter":{"count":101},"Kohl's":{"count":153},"Macy's":{"count":147},"Sam's Club":{"count":54},"JCPenney":{"count":66}},"alcohol":{"Alko":{"count":145},"The Beer Store":{"count":150},"Systembolaget":{"count":210},"LCBO":{"count":239},"Ароматный мир":{"count":62},"Bargain Booze":{"count":62},"Nicolas":{"count":119},"BWS":{"count":70},"Botilleria":{"count":77},"SAQ":{"count":72},"Gall & Gall":{"count":512},"Живое пиво":{"count":70}},"bakery":{"Kamps":{"count":252},"Banette":{"count":52},"Bäckerei Schmidt":{"count":57},"Anker":{"count":73},"Hofpfisterei":{"count":111},"Greggs":{"count":276},"Oebel":{"count":57},"Boulangerie":{"count":266},"Stadtbäckerei":{"count":57},"Steinecke":{"count":145},"Ihle":{"count":76},"Goldilocks":{"count":59},"Dat Backhus":{"count":67},"K&U":{"count":61},"Der Beck":{"count":96},"Thürmann":{"count":54},"Backwerk":{"count":95},"Schäfer's":{"count":51},"Panaderia":{"count":168},"Goeken backen":{"count":51},"Stadtbäckerei Junge":{"count":51},"Boulangerie Patisserie":{"count":119},"Paul":{"count":81},"Хлеб":{"count":89},"Пекарня":{"count":52},"Кулиничи":{"count":51}},"sports":{"Sports Direct":{"count":57},"Decathlon":{"count":309},"Intersport":{"count":283},"Sports Authority":{"count":75},"Спортмастер":{"count":87},"Sport 2000":{"count":90},"Dick's Sporting Goods":{"count":77}},"variety_store":{"Tedi":{"count":157},"Dollarama":{"count":103},"Family Dollar":{"count":61},"Dollar Tree":{"count":110},"Dollar General":{"count":80}},"pet":{"Fressnapf":{"count":318},"PetSmart":{"count":177},"Das Futterhaus":{"count":69},"Pets at Home":{"count":62},"Petco":{"count":101},"Зоомагазин":{"count":100}},"shoes":{"Deichmann":{"count":622},"Reno":{"count":183},"Ecco":{"count":55},"Clarks":{"count":109},"La Halle aux Chaussures":{"count":69},"Brantano":{"count":71},"Geox":{"count":51},"Salamander":{"count":51},"Обувь":{"count":100},"Payless Shoe Source":{"count":67},"Famous Footwear":{"count":59},"Quick Schuh":{"count":72},"Shoe Zone":{"count":55},"Foot Locker":{"count":82},"Bata":{"count":101},"ЦентрОбувь":{"count":51}},"toys":{"La Grande Récré":{"count":56},"Toys R Us":{"count":151,"tags":{"shop":"toys"}},"Intertoys":{"count":57},"Детский мир":{"count":86},"Игрушки":{"count":58}},"travel_agency":{"Flight Centre":{"count":92},"Thomas Cook":{"count":119}},"jewelry":{"Bijou Brigitte":{"count":57},"Christ":{"count":57},"Swarovski":{"count":74}},"optician":{"Fielmann":{"count":232},"Apollo Optik":{"count":150},"Vision Express":{"count":58},"Оптика":{"count":182},"Optic 2000":{"count":98},"Alain Afflelou":{"count":73},"Specsavers":{"count":124},"Krys":{"count":77},"Atol":{"count":55}},"video":{"Blockbuster":{"count":184},"World of Video":{"count":64}},"mobile_phone":{"Билайн":{"count":128},"ソフトバンクショップ (SoftBank shop)":{"count":255},"Vodafone":{"count":355},"O2":{"count":208},"Carphone Warehouse":{"count":127},"Orange":{"count":246},"Verizon Wireless":{"count":125},"Sprint":{"count":109},"T-Mobile":{"count":175},"МТС":{"count":352},"Евросеть":{"count":506},"Bell":{"count":190},"The Phone House":{"count":83},"SFR":{"count":71},"Связной":{"count":439},"Мегафон":{"count":251},"AT&T":{"count":124},"ドコモショップ (docomo shop)":{"count":114},"au":{"count":65},"Movistar":{"count":77},"Bitė":{"count":72}},"hifi":{},"computer":{"PC World":{"count":55},"DNS":{"count":128}},"hairdresser":{"Klier":{"count":119},"Supercuts":{"count":106},"Hairkiller":{"count":51},"Great Clips":{"count":182},"Парикмахерская":{"count":510},"Стиль":{"count":51},"Franck Provost":{"count":70},"Салон красоты":{"count":70}},"hardware":{"1000 мелочей":{"count":61},"Хозтовары":{"count":151},"Стройматериалы":{"count":54}},"motorcycle":{"Yamaha":{"count":67},"Honda":{"count":69}}}},"addressFormats":[{"format":[["housenumber","street"],["city","postcode"]]},{"countryCodes":["gb"],"format":[["housename"],["housenumber","street"],["city","postcode"]]},{"countryCodes":["ie"],"format":[["housename"],["housenumber","street"],["city"],["postcode"]]},{"countryCodes":["ad","at","ba","be","ch","cz","de","dk","es","fi","gr","hr","is","it","li","nl","no","pl","pt","se","si","sk","sm","va"],"format":[["street","housenumber"],["postcode","city"]]},{"countryCodes":["fr","lu","mo"],"format":[["housenumber","street"],["postcode","city"]]},{"countryCodes":["br"],"format":[["street"],["housenumber","suburb"],["city","postcode"]]},{"countryCodes":["vn"],"format":[["housenumber","street"],["subdistrict"],["district"],["city"],["province","postcode"]]},{"countryCodes":["us"],"format":[["housenumber","street"],["city","state","postcode"]]},{"countryCodes":["ca"],"format":[["housenumber","street"],["city","province","postcode"]]}]};
\ No newline at end of file
+iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081]},"n185964961":{"id":"n185964961","loc":[-85.6406588,41.942601]},"n185964962":{"id":"n185964962","loc":[-85.6394548,41.94261]},"n185970607":{"id":"n185970607","loc":[-85.641094,41.94006]},"n185970614":{"id":"n185970614","loc":[-85.641825,41.941316]},"n185970616":{"id":"n185970616","loc":[-85.641838,41.941556]},"n185973650":{"id":"n185973650","loc":[-85.639918,41.940064]},"n185973660":{"id":"n185973660","loc":[-85.640645,41.941339]},"n185973659":{"id":"n185973659","loc":[-85.6406115,41.9400658]},"n185974479":{"id":"n185974479","loc":[-85.639402,41.941344]},"n185974481":{"id":"n185974481","loc":[-85.643071,41.941288]},"n185976259":{"id":"n185976259","loc":[-85.642213,41.940043]},"n185976261":{"id":"n185976261","loc":[-85.643056,41.94001]},"n185964959":{"id":"n185964959","loc":[-85.6431031,41.9425754]},"n185964960":{"id":"n185964960","loc":[-85.6418749,41.9425864]},"n185981481":{"id":"n185981481","loc":[-85.6386827,41.9400828]},"n185981482":{"id":"n185981482","loc":[-85.6393664,41.9400854]},"n2138493844":{"id":"n2138493844","loc":[-85.6427969,41.940522]},"n2138493845":{"id":"n2138493845","loc":[-85.6425891,41.9405228]},"n2138493846":{"id":"n2138493846","loc":[-85.6425868,41.9402875]},"n2138493847":{"id":"n2138493847","loc":[-85.6427969,41.9402858]},"n2138493848":{"id":"n2138493848","loc":[-85.6425708,41.9405234]},"n2138493849":{"id":"n2138493849","loc":[-85.642568,41.9402855]},"n2138493850":{"id":"n2138493850","loc":[-85.6423157,41.9402886]},"n2138493851":{"id":"n2138493851","loc":[-85.6423212,41.9404362]},"n2138493852":{"id":"n2138493852","loc":[-85.6422923,41.9404578]},"n2138493853":{"id":"n2138493853","loc":[-85.6422868,41.9404834]},"n2138493854":{"id":"n2138493854","loc":[-85.6423226,41.9405091]},"n2138493855":{"id":"n2138493855","loc":[-85.6423847,41.9405111]},"n2138493856":{"id":"n2138493856","loc":[-85.6424081,41.9405265]},"n2140155811":{"id":"n2140155811","loc":[-85.6419547,41.9410956]},"n2140155814":{"id":"n2140155814","loc":[-85.6427577,41.9410884]},"n2140155816":{"id":"n2140155816","loc":[-85.6427545,41.9410052]},"n2140155818":{"id":"n2140155818","loc":[-85.6428057,41.9410028]},"n2140155821":{"id":"n2140155821","loc":[-85.6427993,41.9407339]},"n2140155823":{"id":"n2140155823","loc":[-85.6427385,41.9407339]},"n2140155825":{"id":"n2140155825","loc":[-85.6427417,41.9406435]},"n2140155827":{"id":"n2140155827","loc":[-85.6419515,41.9406482]},"n2140155828":{"id":"n2140155828","loc":[-85.6429368,41.9412407]},"n2140155829":{"id":"n2140155829","loc":[-85.6417756,41.9412526]},"n2140155830":{"id":"n2140155830","loc":[-85.641766,41.9405983]},"n2140155831":{"id":"n2140155831","loc":[-85.6419803,41.9405983]},"n2140155832":{"id":"n2140155832","loc":[-85.6419611,41.9401366]},"n2140155833":{"id":"n2140155833","loc":[-85.6429336,41.94012]},"n2140155834":{"id":"n2140155834","loc":[-85.6430697,41.9411732]},"n2140155835":{"id":"n2140155835","loc":[-85.6428411,41.9409974]},"n2140155837":{"id":"n2140155837","loc":[-85.6428388,41.9407211]},"n2140155839":{"id":"n2140155839","loc":[-85.6430624,41.9405521]},"n2140155840":{"id":"n2140155840","loc":[-85.6427323,41.9412396]},"n2140155842":{"id":"n2140155842","loc":[-85.6418147,41.9412457]},"n2140155844":{"id":"n2140155844","loc":[-85.641813,41.9411319]},"n2140155845":{"id":"n2140155845","loc":[-85.6418394,41.9411111]},"n2140155847":{"id":"n2140155847","loc":[-85.6418838,41.9410977]},"n2140155849":{"id":"n2140155849","loc":[-85.6427324,41.9410921]},"n2140155851":{"id":"n2140155851","loc":[-85.6427798,41.9412945]},"n2140155852":{"id":"n2140155852","loc":[-85.6427701,41.9411777]},"n2140155854":{"id":"n2140155854","loc":[-85.6427323,41.9411572]},"n2140155856":{"id":"n2140155856","loc":[-85.6418478,41.9411666]},"n2165942818":{"id":"n2165942818","loc":[-85.6437533,41.9415029]},"n2165942819":{"id":"n2165942819","loc":[-85.6437623,41.9421195]},"n2168510551":{"id":"n2168510551","loc":[-85.6423795,41.9422615]},"n2168510552":{"id":"n2168510552","loc":[-85.6423744,41.9419439]},"n2168510553":{"id":"n2168510553","loc":[-85.642518,41.9419427]},"n2168510554":{"id":"n2168510554","loc":[-85.6425186,41.9419801]},"n2168510555":{"id":"n2168510555","loc":[-85.6428314,41.9419773]},"n2168510556":{"id":"n2168510556","loc":[-85.6428368,41.9423116]},"n2168510557":{"id":"n2168510557","loc":[-85.6424947,41.9423146]},"n2168510558":{"id":"n2168510558","loc":[-85.6424938,41.9422605]},"n2189046007":{"id":"n2189046007","loc":[-85.6410866,41.9424327]},"n2189046009":{"id":"n2189046009","loc":[-85.6410805,41.9420061]},"n2189046011":{"id":"n2189046011","loc":[-85.6412443,41.9420048]},"n2189046012":{"id":"n2189046012","loc":[-85.6412505,41.9424314]},"n2189046014":{"id":"n2189046014","loc":[-85.6413311,41.942968]},"n2189046016":{"id":"n2189046016","loc":[-85.6413281,41.942713]},"n2189046018":{"id":"n2189046018","loc":[-85.641521,41.9427117]},"n2189046021":{"id":"n2189046021","loc":[-85.6415234,41.9429236]},"n2189046022":{"id":"n2189046022","loc":[-85.6415045,41.9429238]},"n2189046025":{"id":"n2189046025","loc":[-85.641505,41.9429668]},"n2189046053":{"id":"n2189046053","loc":[-85.6385988,41.942412]},"n2189046054":{"id":"n2189046054","loc":[-85.6385985,41.9423311]},"n2189046055":{"id":"n2189046055","loc":[-85.6387617,41.9423308]},"n2189046056":{"id":"n2189046056","loc":[-85.6387616,41.9423026]},"n2189046058":{"id":"n2189046058","loc":[-85.6388215,41.9423025]},"n2189046059":{"id":"n2189046059","loc":[-85.6388219,41.9424115]},"n2189046060":{"id":"n2189046060","loc":[-85.6391096,41.9424486]},"n2189046061":{"id":"n2189046061","loc":[-85.6391105,41.9423673]},"n2189046063":{"id":"n2189046063","loc":[-85.6392911,41.9423684]},"n2189046065":{"id":"n2189046065","loc":[-85.6392903,41.9424497]},"n2189046067":{"id":"n2189046067","loc":[-85.6397927,41.9423876]},"n2189046069":{"id":"n2189046069","loc":[-85.6397897,41.9422981]},"n2189046070":{"id":"n2189046070","loc":[-85.6399702,41.9422947]},"n2189046072":{"id":"n2189046072","loc":[-85.6399732,41.9423843]},"n2189046074":{"id":"n2189046074","loc":[-85.6396331,41.9430227]},"n2189046075":{"id":"n2189046075","loc":[-85.6398673,41.9430189]},"n2189046077":{"id":"n2189046077","loc":[-85.6398656,41.9429637]},"n2189046079":{"id":"n2189046079","loc":[-85.6398885,41.9429633]},"n2189046082":{"id":"n2189046082","loc":[-85.6398832,41.942779]},"n2189046083":{"id":"n2189046083","loc":[-85.6398513,41.9427796]},"n2189046085":{"id":"n2189046085","loc":[-85.6398502,41.9427401]},"n2189046087":{"id":"n2189046087","loc":[-85.6397889,41.9427411]},"n2189046089":{"id":"n2189046089","loc":[-85.6397892,41.942753]},"n2189046090":{"id":"n2189046090","loc":[-85.6396983,41.9427544]},"n2189046092":{"id":"n2189046092","loc":[-85.6396993,41.9427882]},"n2189046094":{"id":"n2189046094","loc":[-85.6396746,41.9427886]},"n2189046096":{"id":"n2189046096","loc":[-85.6396758,41.9428296]},"n2189046097":{"id":"n2189046097","loc":[-85.6397007,41.9428292]},"n2189046099":{"id":"n2189046099","loc":[-85.6397018,41.9428686]},"n2189046103":{"id":"n2189046103","loc":[-85.6396289,41.9428697]},"n2189046112":{"id":"n2189046112","loc":[-85.6435683,41.9429457]},"n2189046113":{"id":"n2189046113","loc":[-85.643568,41.9427766]},"n2189046115":{"id":"n2189046115","loc":[-85.6434011,41.9427767]},"n2189046116":{"id":"n2189046116","loc":[-85.6434012,41.9428631]},"n2189046117":{"id":"n2189046117","loc":[-85.643448,41.9428631]},"n2189046118":{"id":"n2189046118","loc":[-85.6434481,41.9429457]},"n2189046119":{"id":"n2189046119","loc":[-85.6428363,41.9429809]},"n2189046120":{"id":"n2189046120","loc":[-85.6429171,41.9429791]},"n2189046121":{"id":"n2189046121","loc":[-85.642914,41.9429041]},"n2189046122":{"id":"n2189046122","loc":[-85.6429385,41.9429035]},"n2189046123":{"id":"n2189046123","loc":[-85.6429348,41.9428126]},"n2189046124":{"id":"n2189046124","loc":[-85.6427746,41.9428163]},"n2189046125":{"id":"n2189046125","loc":[-85.6427783,41.942906]},"n2189046126":{"id":"n2189046126","loc":[-85.6428332,41.9429047]},"n2189046127":{"id":"n2189046127","loc":[-85.6423018,41.9428859]},"n2189046128":{"id":"n2189046128","loc":[-85.6422987,41.9427208]},"n2189046130":{"id":"n2189046130","loc":[-85.6424218,41.9427195]},"n2189046131":{"id":"n2189046131","loc":[-85.6424246,41.9428684]},"n2189046132":{"id":"n2189046132","loc":[-85.6423845,41.9428689]},"n2189046133":{"id":"n2189046133","loc":[-85.6423848,41.942885]},"n2189046134":{"id":"n2189046134","loc":[-85.641533,41.9429392]},"n2189046135":{"id":"n2189046135","loc":[-85.6416096,41.9428768]},"n2189046137":{"id":"n2189046137","loc":[-85.6416763,41.9429221]},"n2189046138":{"id":"n2189046138","loc":[-85.6415997,41.9429845]},"n2189046139":{"id":"n2189046139","loc":[-85.6420598,41.9428016]},"n2189046140":{"id":"n2189046140","loc":[-85.6420593,41.9427415]},"n2189046141":{"id":"n2189046141","loc":[-85.6421957,41.9427409]},"n2189046142":{"id":"n2189046142","loc":[-85.6421963,41.9428182]},"n2189046143":{"id":"n2189046143","loc":[-85.6421281,41.9428185]},"n2189046144":{"id":"n2189046144","loc":[-85.6421279,41.9428013]},"n2189046145":{"id":"n2189046145","loc":[-85.6409429,41.9429345]},"n2189046146":{"id":"n2189046146","loc":[-85.6410354,41.9429334]},"n2189046147":{"id":"n2189046147","loc":[-85.6410325,41.9427972]},"n2189046148":{"id":"n2189046148","loc":[-85.640997,41.9427976]},"n2189046149":{"id":"n2189046149","loc":[-85.6409963,41.9427643]},"n2189046150":{"id":"n2189046150","loc":[-85.6408605,41.9427659]},"n2189046152":{"id":"n2189046152","loc":[-85.6408623,41.9428482]},"n2189046153":{"id":"n2189046153","loc":[-85.640941,41.9428473]},"n2189152992":{"id":"n2189152992","loc":[-85.6437661,41.9422257]},"n2189152993":{"id":"n2189152993","loc":[-85.643768,41.9424067]},"n2189152994":{"id":"n2189152994","loc":[-85.6432176,41.9417705]},"n2189152995":{"id":"n2189152995","loc":[-85.6432097,41.941327]},"n2189152996":{"id":"n2189152996","loc":[-85.6436493,41.9413226]},"n2189152997":{"id":"n2189152997","loc":[-85.6436563,41.9417164]},"n2189152998":{"id":"n2189152998","loc":[-85.6435796,41.9417171]},"n2189152999":{"id":"n2189152999","loc":[-85.6435805,41.9417669]},"n2189153000":{"id":"n2189153000","loc":[-85.6438202,41.9414953]},"n2189153001":{"id":"n2189153001","loc":[-85.6438173,41.9413175]},"n2189153004":{"id":"n2189153004","loc":[-85.6432535,41.9418466]},"n2189153005":{"id":"n2189153005","loc":[-85.6433935,41.9418599]},"n2189153006":{"id":"n2189153006","loc":[-85.6434831,41.9418986]},"n2189153007":{"id":"n2189153007","loc":[-85.6435678,41.9419774]},"n2189153008":{"id":"n2189153008","loc":[-85.6435987,41.9420282]},"n2189153009":{"id":"n2189153009","loc":[-85.643438,41.9419573]},"n2189153010":{"id":"n2189153010","loc":[-85.6435284,41.9424676]},"n2189153011":{"id":"n2189153011","loc":[-85.6436207,41.9423631]},"n2189153012":{"id":"n2189153012","loc":[-85.6434957,41.9422973]},"n2189153013":{"id":"n2189153013","loc":[-85.6434457,41.9422458]},"n2189153014":{"id":"n2189153014","loc":[-85.6433976,41.9421772]},"n2189153015":{"id":"n2189153015","loc":[-85.6433861,41.9420785]},"n2189153016":{"id":"n2189153016","loc":[-85.6433765,41.9420313]},"n2189153017":{"id":"n2189153017","loc":[-85.6432207,41.9420284]},"n2189153018":{"id":"n2189153018","loc":[-85.6432245,41.9422759]},"n2189153019":{"id":"n2189153019","loc":[-85.6432649,41.9423474]},"n2189153020":{"id":"n2189153020","loc":[-85.6433226,41.9424132]},"n2189153021":{"id":"n2189153021","loc":[-85.6434111,41.9424704]},"n2189153022":{"id":"n2189153022","loc":[-85.6434591,41.9424347]},"n2189153025":{"id":"n2189153025","loc":[-85.6437669,41.9423073]},"n2189153026":{"id":"n2189153026","loc":[-85.6436611,41.942293]},"n2189153027":{"id":"n2189153027","loc":[-85.6435784,41.9422473]},"n2189153028":{"id":"n2189153028","loc":[-85.6435245,41.9421443]},"n2189153029":{"id":"n2189153029","loc":[-85.6435149,41.9420613]},"n2189153030":{"id":"n2189153030","loc":[-85.6433528,41.9419269]},"n2189153031":{"id":"n2189153031","loc":[-85.6432535,41.9419191]},"n2189153032":{"id":"n2189153032","loc":[-85.6430868,41.9419198]},"n2189153033":{"id":"n2189153033","loc":[-85.6434894,41.9420033]},"n2189153034":{"id":"n2189153034","loc":[-85.6432974,41.9419225]},"n2189153035":{"id":"n2189153035","loc":[-85.6433055,41.9421632]},"n2189153036":{"id":"n2189153036","loc":[-85.6433538,41.9422849]},"n2189153037":{"id":"n2189153037","loc":[-85.6434718,41.9423887]},"n2189153038":{"id":"n2189153038","loc":[-85.6436134,41.9422667]},"n2189153040":{"id":"n2189153040","loc":[-85.6438759,41.9414017]},"n2189153041":{"id":"n2189153041","loc":[-85.6438181,41.9413687]},"n2189153042":{"id":"n2189153042","loc":[-85.6436821,41.9413044]},"n2189153043":{"id":"n2189153043","loc":[-85.6435899,41.9412862]},"n2189153044":{"id":"n2189153044","loc":[-85.6433169,41.9417268]},"n2189153045":{"id":"n2189153045","loc":[-85.643301,41.9412859]},"n2189153046":{"id":"n2189153046","loc":[-85.6435531,41.9416981]},"n2189153047":{"id":"n2189153047","loc":[-85.6435427,41.9412863]},"n185948706":{"id":"n185948706","loc":[-85.6369439,41.940122]},"n185949348":{"id":"n185949348","loc":[-85.640039,41.931135]},"n185949870":{"id":"n185949870","loc":[-85.643195,41.949261]},"n185954680":{"id":"n185954680","loc":[-85.6337802,41.9401143]},"n185954784":{"id":"n185954784","loc":[-85.6487485,41.942527]},"n185958670":{"id":"n185958670","loc":[-85.637255,41.940104]},"n185958672":{"id":"n185958672","loc":[-85.636996,41.941355]},"n185960207":{"id":"n185960207","loc":[-85.634992,41.940118]},"n185963163":{"id":"n185963163","loc":[-85.638831,41.93398]},"n185963165":{"id":"n185963165","loc":[-85.640073,41.933968]},"n185963167":{"id":"n185963167","loc":[-85.641225,41.933972]},"n185963168":{"id":"n185963168","loc":[-85.642386,41.933952]},"n185964695":{"id":"n185964695","loc":[-85.6443608,41.9425645]},"n185964697":{"id":"n185964697","loc":[-85.644384,41.939941]},"n185964963":{"id":"n185964963","loc":[-85.6382347,41.9426146]},"n185964965":{"id":"n185964965","loc":[-85.637022,41.942622]},"n185964967":{"id":"n185964967","loc":[-85.6363706,41.9426606]},"n185964968":{"id":"n185964968","loc":[-85.6357988,41.9427748]},"n185964969":{"id":"n185964969","loc":[-85.6355409,41.9428465]},"n185964970":{"id":"n185964970","loc":[-85.6348729,41.9430443]},"n185966958":{"id":"n185966958","loc":[-85.641946,41.946413]},"n185966960":{"id":"n185966960","loc":[-85.643148,41.946389]},"n185967774":{"id":"n185967774","loc":[-85.641889,41.943852]},"n185967775":{"id":"n185967775","loc":[-85.641922,41.945121]},"n185967776":{"id":"n185967776","loc":[-85.641927,41.947544]},"n185967777":{"id":"n185967777","loc":[-85.641982,41.947622]},"n185969289":{"id":"n185969289","loc":[-85.63928,41.929221]},"n185969704":{"id":"n185969704","loc":[-85.6388186,41.9350099]},"n185969706":{"id":"n185969706","loc":[-85.6400709,41.9349957]},"n185969708":{"id":"n185969708","loc":[-85.6412214,41.9349827]},"n185969710":{"id":"n185969710","loc":[-85.6423509,41.934974]},"n185970602":{"id":"n185970602","loc":[-85.641293,41.931817]},"n185970604":{"id":"n185970604","loc":[-85.641258,41.932705]},"n185970605":{"id":"n185970605","loc":[-85.641148,41.936984]},"n185970606":{"id":"n185970606","loc":[-85.641112,41.938169]},"n185970906":{"id":"n185970906","loc":[-85.639454,41.943871]},"n185970908":{"id":"n185970908","loc":[-85.6394635,41.9450504]},"n185970909":{"id":"n185970909","loc":[-85.6394914,41.9451911]},"n185971368":{"id":"n185971368","loc":[-85.635769,41.940122]},"n185971978":{"id":"n185971978","loc":[-85.640003,41.936988]},"n185971980":{"id":"n185971980","loc":[-85.642299,41.936988]},"n185973633":{"id":"n185973633","loc":[-85.639023,41.92861]},"n185973635":{"id":"n185973635","loc":[-85.639153,41.928969]},"n185973637":{"id":"n185973637","loc":[-85.639213,41.929088]},"n185973639":{"id":"n185973639","loc":[-85.63935,41.929396]},"n185973641":{"id":"n185973641","loc":[-85.640143,41.931462]},"n185973644":{"id":"n185973644","loc":[-85.64019,41.931788]},"n185973646":{"id":"n185973646","loc":[-85.6401365,41.9327199]},"n185973648":{"id":"n185973648","loc":[-85.639983,41.938174]},"n185974477":{"id":"n185974477","loc":[-85.638206,41.941331]},"n185975928":{"id":"n185975928","loc":[-85.640683,41.94513]},"n185975930":{"id":"n185975930","loc":[-85.643102,41.945103]},"n185976255":{"id":"n185976255","loc":[-85.642424,41.931817]},"n185976257":{"id":"n185976257","loc":[-85.64242,41.932699]},"n185976258":{"id":"n185976258","loc":[-85.6422621,41.9381489]},"n185977452":{"id":"n185977452","loc":[-85.6457497,41.9398834]},"n185978772":{"id":"n185978772","loc":[-85.646656,41.939869]},"n185981472":{"id":"n185981472","loc":[-85.6388962,41.9321266]},"n185981474":{"id":"n185981474","loc":[-85.6388769,41.9327334]},"n185981476":{"id":"n185981476","loc":[-85.638829,41.934116]},"n185981478":{"id":"n185981478","loc":[-85.63876,41.937002]},"n185981480":{"id":"n185981480","loc":[-85.638682,41.93819]},"n185981999":{"id":"n185981999","loc":[-85.638194,41.9400866]},"n185982001":{"id":"n185982001","loc":[-85.646302,41.93988]},"n185982877":{"id":"n185982877","loc":[-85.640676,41.943867]},"n185982879":{"id":"n185982879","loc":[-85.640734,41.945887]},"n185985823":{"id":"n185985823","loc":[-85.643106,41.943841]},"n185985824":{"id":"n185985824","loc":[-85.643145,41.947641]},"n185985825":{"id":"n185985825","loc":[-85.643219,41.950829]},"n1475301385":{"id":"n1475301385","loc":[-85.6360612,41.9427042]},"n1475301397":{"id":"n1475301397","loc":[-85.6366651,41.9426328]},"n2139795811":{"id":"n2139795811","loc":[-85.6469154,41.9425427]},"n2139795830":{"id":"n2139795830","loc":[-85.6443194,41.9399444]},"n2139795834":{"id":"n2139795834","loc":[-85.6453506,41.9399002]},"n2139795837":{"id":"n2139795837","loc":[-85.645806,41.9398831]},"n2139858932":{"id":"n2139858932","loc":[-85.6351721,41.9429557]},"n2140019000":{"id":"n2140019000","loc":[-85.6359935,41.9427224]},"n2165942817":{"id":"n2165942817","loc":[-85.6442017,41.9414993]},"n2165942820":{"id":"n2165942820","loc":[-85.6442107,41.9421159]},"n2189152990":{"id":"n2189152990","loc":[-85.6442328,41.942404]},"n2189152991":{"id":"n2189152991","loc":[-85.6442309,41.9422229]},"n2189153002":{"id":"n2189153002","loc":[-85.6441329,41.9413147]},"n2189153003":{"id":"n2189153003","loc":[-85.6441357,41.9414925]},"n2189153023":{"id":"n2189153023","loc":[-85.6443453,41.9423074]},"n2189153024":{"id":"n2189153024","loc":[-85.6442318,41.9423045]},"n2189153039":{"id":"n2189153039","loc":[-85.6441343,41.9414025]},"w208643102":{"id":"w208643102","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153034","n2189153035","n2189153036","n2189153037","n2189153038"]},"w17966942":{"id":"w17966942","tags":{"highway":"residential","name":"Millard St"},"nodes":["n185954680","n185960207","n185971368","n185948706","n185958670","n185981999","n185981481","n185981482","n185973650","n185973659","n185970607","n185976259","n185976261","n2139795830","n185964697","n2139795834","n185977452","n2139795837","n185982001","n185978772"]},"w208643105":{"id":"w208643105","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153046","n2189153047"]},"w208631637":{"id":"w208631637","tags":{"area":"yes","building":"yes"},"nodes":["n2189046014","n2189046016","n2189046018","n2189046021","n2189046022","n2189046025","n2189046014"]},"w208643096":{"id":"w208643096","tags":{"amenity":"parking","area":"yes","fee":"no"},"nodes":["n2189152990","n2189153024","n2189152991","n2189152992","n2189153025","n2189152993","n2189152990"]},"w208631656":{"id":"w208631656","tags":{"area":"yes","building":"yes"},"nodes":["n2189046134","n2189046135","n2189046137","n2189046138","n2189046134"]},"w204003417":{"id":"w204003417","tags":{"area":"yes","building":"school"},"nodes":["n2140155811","n2140155814","n2140155816","n2140155818","n2140155821","n2140155823","n2140155825","n2140155827","n2140155811"]},"w208631654":{"id":"w208631654","tags":{"area":"yes","building":"yes"},"nodes":["n2189046127","n2189046128","n2189046130","n2189046131","n2189046132","n2189046133","n2189046127"]},"w17966327":{"id":"w17966327","tags":{"highway":"residential","name":"S Douglas Ave"},"nodes":["n185976261","n2140155839","n2140155834","n185974481","n2189153032","n185964959"]},"w41785752":{"id":"w41785752","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","access":"yes"},"nodes":["n185954784","n2139795811","n185964695","n185964959","n185964960","n185964961","n185964962","n185964963","n185964965","n1475301397","n185964967","n1475301385","n2140019000","n185964968","n185964969","n2139858932","n185964970"]},"w203841842":{"id":"w203841842","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493848","n2138493849","n2138493850","n2138493851","n2138493852","n2138493853","n2138493854","n2138493855","n2138493856","n2138493848"]},"w208643103":{"id":"w208643103","tags":{"highway":"service"},"nodes":["n2189153039","n2189153040","n2189153041","n2189153042","n2189153043","n2189153047","n2189153045","n185974481"]},"w208643098":{"id":"w208643098","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153000","n2189153041","n2189153001","n2189153002","n2189153039","n2189153003","n2189153000"]},"w208631646":{"id":"w208631646","tags":{"area":"yes","building":"yes"},"nodes":["n2189046067","n2189046069","n2189046070","n2189046072","n2189046067"]},"w208631653":{"id":"w208631653","tags":{"area":"yes","building":"yes"},"nodes":["n2189046119","n2189046120","n2189046121","n2189046122","n2189046123","n2189046124","n2189046125","n2189046126","n2189046119"]},"w17966041":{"id":"w17966041","tags":{"highway":"residential","name":"S Lincoln Ave"},"nodes":["n185973659","n185973660","n185964961"]},"w208631645":{"id":"w208631645","tags":{"area":"yes","building":"yes"},"nodes":["n2189046060","n2189046061","n2189046063","n2189046065","n2189046060"]},"w206803397":{"id":"w206803397","tags":{"area":"yes","building":"yes"},"nodes":["n2168510551","n2168510552","n2168510553","n2168510554","n2168510555","n2168510556","n2168510557","n2168510558","n2168510551"]},"w17965792":{"id":"w17965792","tags":{"highway":"residential","name":"N Hooker Ave"},"nodes":["n185964962","n185970906","n185970908","n185970909"]},"w208631651":{"id":"w208631651","tags":{"area":"yes","building":"yes"},"nodes":["n2189046112","n2189046113","n2189046115","n2189046116","n2189046117","n2189046118","n2189046112"]},"w208631643":{"id":"w208631643","tags":{"area":"yes","building":"yes"},"nodes":["n2189046053","n2189046054","n2189046055","n2189046056","n2189046058","n2189046059","n2189046053"]},"w17966878":{"id":"w17966878","tags":{"highway":"residential","name":"S Hooker Ave"},"nodes":["n185981472","n185981474","n185963163","n185981476","n185969704","n185981478","n185981480","n185981481"]},"w17966102":{"id":"w17966102","tags":{"highway":"residential","name":"South St"},"nodes":["n185958672","n185974477","n185974479","n185973660","n185970614"]},"w208631660":{"id":"w208631660","tags":{"area":"yes","building":"yes"},"nodes":["n2189046145","n2189046146","n2189046147","n2189046148","n2189046149","n2189046150","n2189046152","n2189046153","n2189046145"]},"w208643101":{"id":"w208643101","tags":{"highway":"service"},"nodes":["n2189153023","n2189153024","n2189153025","n2189153026","n2189153038","n2189153027","n2189153028","n2189153029","n2189153033","n2189153009","n2189153030","n2189153034","n2189153031","n2189153032"]},"w204000205":{"id":"w204000205","tags":{"highway":"residential","name":"South St","oneway":"yes"},"nodes":["n185974481","n2140155851","n185970614"]},"w203841841":{"id":"w203841841","tags":{"area":"yes","leisure":"pitch","pitch":"basketball"},"nodes":["n2138493844","n2138493845","n2138493846","n2138493847","n2138493844"]},"w17965444":{"id":"w17965444","tags":{"highway":"residential","name":"N Grant Ave"},"nodes":["n185964960","n185967774","n185967775","n185966958","n185967776","n185967777"]},"w208631648":{"id":"w208631648","tags":{"area":"yes","building":"yes"},"nodes":["n2189046074","n2189046075","n2189046077","n2189046079","n2189046082","n2189046083","n2189046085","n2189046087","n2189046089","n2189046090","n2189046092","n2189046094","n2189046096","n2189046097","n2189046099","n2189046103","n2189046074"]},"w208643100":{"id":"w208643100","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153010","n2189153011","n2189153012","n2189153013","n2189153014","n2189153015","n2189153016","n2189153017","n2189153018","n2189153019","n2189153020","n2189153021","n2189153022","n2189153010"]},"w17965749":{"id":"w17965749","tags":{"highway":"residential","name":"S Grant Ave"},"nodes":["n185970614","n185970616","n185964960"]},"w206574482":{"id":"w206574482","tags":{"amenity":"library","area":"yes","building":"yes","name":"Three Rivers Public Library"},"nodes":["n2165942817","n2165942818","n2165942819","n2165942820","n2165942817"]},"w208643097":{"id":"w208643097","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189152994","n2189152995","n2189152996","n2189152997","n2189152998","n2189152999","n2189152994"]},"w17966879":{"id":"w17966879","tags":{"highway":"residential","name":"S Hooker Ave"},"nodes":["n185981482","n185974479","n185964962"]},"w17966325":{"id":"w17966325","tags":{"highway":"residential","name":"S Douglas Ave"},"nodes":["n185976255","n185976257","n185963168","n185969710","n185971980","n185976258","n185954700","n185976259"]},"w17967390":{"id":"w17967390","tags":{"highway":"residential","name":"N Douglas Ave"},"nodes":["n185964959","n185985823","n185975930","n185966960","n185985824","n185949870","n185985825"]},"w208631635":{"id":"w208631635","tags":{"area":"yes","building":"yes"},"nodes":["n2189046007","n2189046009","n2189046011","n2189046012","n2189046007"]},"w208643099":{"id":"w208643099","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153031","n2189153004","n2189153005","n2189153006","n2189153007","n2189153008","n2189153029","n2189153033","n2189153009","n2189153030","n2189153031"]},"w208631658":{"id":"w208631658","tags":{"area":"yes","building":"yes"},"nodes":["n2189046139","n2189046140","n2189046141","n2189046142","n2189046143","n2189046144","n2189046139"]},"w208643104":{"id":"w208643104","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153044","n2189153045"]},"w17966039":{"id":"w17966039","tags":{"highway":"residential","name":"S Lincoln Ave"},"nodes":["n185973633","n185973635","n185973637","n185969289","n185973639","n185949348","n185973641","n185973644","n185973646","n185963165","n185969706","n185971978","n185973648","n185973650"]},"w204003420":{"id":"w204003420","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140155840","n2140155842","n2140155844","n2140155845","n2140155847","n2140155849","n2140155854","n2140155840"]},"w204003419":{"id":"w204003419","tags":{"highway":"service"},"nodes":["n2140155834","n2140155835","n2140155837","n2140155839"]},"w204003418":{"id":"w204003418","tags":{"amenity":"school","area":"yes","name":"Andrews Elementary School"},"nodes":["n2140155828","n2140155829","n2140155830","n2140155831","n2140155832","n2140155833","n2140155828"]},"w17965747":{"id":"w17965747","tags":{"highway":"residential","name":"S Grant Ave"},"nodes":["n185970602","n185970604","n185963167","n185969708","n185970605","n185970606","n185970607"]},"w17967073":{"id":"w17967073","tags":{"highway":"residential","name":"N Lincoln Ave"},"nodes":["n185964961","n185982877","n185975928","n185982879"]},"w204003421":{"id":"w204003421","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2140155851","n2140155852","n2140155854","n2140155856"]},"r1943857":{"id":"r1943857","tags":{"modifier":"Business","name":"US 131 Business (Three Rivers, MI)","network":"US:US","ref":"131","route":"road","type":"route"},"members":[{"id":"w17966509","type":"way","role":"forward"},{"id":"w143497377","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w41785752","type":"way","role":""},{"id":"w17965146","type":"way","role":"forward"},{"id":"w17964031","type":"way","role":"forward"}]},"r270277":{"id":"r270277","tags":{"network":"US:MI","ref":"60","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-60_%28Michigan_highway%29"},"members":[{"id":"w17751087","type":"way","role":"east"},{"id":"w117148312","type":"way","role":"east"},{"id":"w40942155","type":"way","role":"west"},{"id":"w17751017","type":"way","role":""},{"id":"w17751083","type":"way","role":""},{"id":"w17747780","type":"way","role":""},{"id":"w41068082","type":"way","role":""},{"id":"w197025212","type":"way","role":""},{"id":"w17743874","type":"way","role":""},{"id":"w17751044","type":"way","role":""},{"id":"w17752167","type":"way","role":""},{"id":"w17751089","type":"way","role":""},{"id":"w17743879","type":"way","role":""},{"id":"w17751064","type":"way","role":""},{"id":"w197057073","type":"way","role":""},{"id":"w167699963","type":"way","role":""},{"id":"w167699972","type":"way","role":""},{"id":"w17967584","type":"way","role":""},{"id":"w167699964","type":"way","role":""},{"id":"w17967582","type":"way","role":"west"},{"id":"w41260270","type":"way","role":"west"},{"id":"w17965146","type":"way","role":"west"},{"id":"w41785752","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150836","type":"way","role":""},{"id":"w134150802","type":"way","role":""},{"id":"w41074896","type":"way","role":""},{"id":"w17966773","type":"way","role":""},{"id":"w17967415","type":"way","role":""},{"id":"w41074899","type":"way","role":""},{"id":"w17967581","type":"way","role":""},{"id":"w41074902","type":"way","role":""},{"id":"w41074906","type":"way","role":""},{"id":"w209707997","type":"way","role":""},{"id":"w209707998","type":"way","role":""},{"id":"w17964798","type":"way","role":""},{"id":"w17966034","type":"way","role":""},{"id":"w17967593","type":"way","role":""},{"id":"w41074888","type":"way","role":""},{"id":"w17733772","type":"way","role":""},{"id":"w41074813","type":"way","role":""},{"id":"w17742213","type":"way","role":""},{"id":"w17746863","type":"way","role":""},{"id":"w17745772","type":"way","role":""},{"id":"w17742222","type":"way","role":""},{"id":"w17745922","type":"way","role":""},{"id":"w17742198","type":"way","role":""},{"id":"w17747675","type":"way","role":""},{"id":"w17739927","type":"way","role":""},{"id":"w17745708","type":"way","role":""},{"id":"w41006323","type":"way","role":""},{"id":"w17744233","type":"way","role":""},{"id":"w17739436","type":"way","role":""},{"id":"w17742201","type":"way","role":""},{"id":"w151418616","type":"way","role":""},{"id":"w17750062","type":"way","role":""},{"id":"w17742227","type":"way","role":"east"},{"id":"w41006348","type":"way","role":"east"},{"id":"w41260984","type":"way","role":""},{"id":"w17832427","type":"way","role":""},{"id":"w17838408","type":"way","role":""},{"id":"w17835846","type":"way","role":""},{"id":"w17832923","type":"way","role":""},{"id":"w17839388","type":"way","role":""},{"id":"w17838390","type":"way","role":""},{"id":"w17831272","type":"way","role":""},{"id":"w17828581","type":"way","role":""},{"id":"w38240686","type":"way","role":""},{"id":"w17838405","type":"way","role":"east"},{"id":"w123323711","type":"way","role":"east"},{"id":"w17830167","type":"way","role":"east"},{"id":"w99011909","type":"way","role":"east"},{"id":"w41911361","type":"way","role":"east"},{"id":"w41911355","type":"way","role":"east"},{"id":"w41911356","type":"way","role":"east"},{"id":"w117148326","type":"way","role":"west"},{"id":"w41911352","type":"way","role":"west"},{"id":"w41911353","type":"way","role":"west"},{"id":"w41911354","type":"way","role":"west"},{"id":"w41911360","type":"way","role":"west"},{"id":"w38240676","type":"way","role":"west"},{"id":"w123323710","type":"way","role":"west"},{"id":"w41260271","type":"way","role":"east"},{"id":"w41260273","type":"way","role":"east"},{"id":"w17964031","type":"way","role":"east"},{"id":"w41006344","type":"way","role":"west"},{"id":"w41006351","type":"way","role":"west"}]},"n367813436":{"id":"n367813436","loc":[-85.63605205663384,41.94305506683346],"tags":{"amenity":"fire_station","name":"Three Rivers Fire Department"}},"n185948708":{"id":"n185948708","loc":[-85.6369828,41.9408789]},"n185948710":{"id":"n185948710","loc":[-85.6370184,41.9411346]},"n185954691":{"id":"n185954691","loc":[-85.634476,41.941475]},"n185954692":{"id":"n185954692","loc":[-85.635008,41.941846]},"n185954693":{"id":"n185954693","loc":[-85.635362,41.941962]},"n185954695":{"id":"n185954695","loc":[-85.63578,41.941978]},"n185972903":{"id":"n185972903","loc":[-85.63295,41.9430062]},"n185964971":{"id":"n185964971","loc":[-85.6346811,41.9431023]},"n1819805854":{"id":"n1819805854","loc":[-85.6331275,41.9404837]},"n1819805918":{"id":"n1819805918","loc":[-85.6331168,41.942798]},"n1819805762":{"id":"n1819805762","loc":[-85.6333034,41.9424123]},"n1819805907":{"id":"n1819805907","loc":[-85.6334819,41.9419121]},"n1819805915":{"id":"n1819805915","loc":[-85.6334554,41.9413588]},"n1819848888":{"id":"n1819848888","loc":[-85.6331625,41.942679]},"n1819848930":{"id":"n1819848930","loc":[-85.6338684,41.9431252]},"n1819858505":{"id":"n1819858505","loc":[-85.6346782,41.9429092]},"n1819858507":{"id":"n1819858507","loc":[-85.6339003,41.9414534]},"n1819858508":{"id":"n1819858508","loc":[-85.6345709,41.9427742]},"n1819858509":{"id":"n1819858509","loc":[-85.63419,41.9417322]},"n1819858511":{"id":"n1819858511","loc":[-85.6340666,41.9415652]},"n1819858512":{"id":"n1819858512","loc":[-85.6343295,41.9423027]},"n1819858514":{"id":"n1819858514","loc":[-85.6343241,41.942207]},"n1819858521":{"id":"n1819858521","loc":[-85.633391,41.941231]},"n1819858528":{"id":"n1819858528","loc":[-85.6343027,41.9419716]},"n185954683":{"id":"n185954683","loc":[-85.6335412,41.940147]},"n185954685":{"id":"n185954685","loc":[-85.6334296,41.9403023]},"n185954687":{"id":"n185954687","loc":[-85.6333988,41.9404704]},"n185954689":{"id":"n185954689","loc":[-85.6335511,41.9410225]},"n185954690":{"id":"n185954690","loc":[-85.6336721,41.9411669]},"n1820938802":{"id":"n1820938802","loc":[-85.6330671,41.941845]},"n1821006702":{"id":"n1821006702","loc":[-85.6344047,41.9395496]},"n2130304133":{"id":"n2130304133","loc":[-85.6349025,41.9427659]},"n2130304136":{"id":"n2130304136","loc":[-85.6346027,41.9422017]},"n2130304138":{"id":"n2130304138","loc":[-85.6348577,41.9421517]},"n2130304140":{"id":"n2130304140","loc":[-85.6348419,41.9422694]},"n2130304142":{"id":"n2130304142","loc":[-85.6349071,41.9423135]},"n2130304144":{"id":"n2130304144","loc":[-85.6350495,41.9423312]},"n2130304146":{"id":"n2130304146","loc":[-85.6351009,41.9422812]},"n2130304147":{"id":"n2130304147","loc":[-85.6351227,41.9421532]},"n2130304148":{"id":"n2130304148","loc":[-85.635526,41.9421547]},"n2130304149":{"id":"n2130304149","loc":[-85.6355339,41.9425768]},"n2130304150":{"id":"n2130304150","loc":[-85.6351582,41.9426562]},"n2130304151":{"id":"n2130304151","loc":[-85.6351207,41.9427032]},"n2138493807":{"id":"n2138493807","loc":[-85.6350923,41.9415216]},"n2138493808":{"id":"n2138493808","loc":[-85.6353603,41.9411061]},"n2138493809":{"id":"n2138493809","loc":[-85.6354421,41.9410942]},"n2138493810":{"id":"n2138493810","loc":[-85.6355079,41.9411044]},"n2138493811":{"id":"n2138493811","loc":[-85.6355693,41.9411246]},"n2138493812":{"id":"n2138493812","loc":[-85.6355829,41.9411061]},"n2138493813":{"id":"n2138493813","loc":[-85.6355624,41.9409777]},"n2138493814":{"id":"n2138493814","loc":[-85.6355011,41.9409152]},"n2138493815":{"id":"n2138493815","loc":[-85.635383,41.9409219]},"n2138493816":{"id":"n2138493816","loc":[-85.635299,41.9409658]},"n2138493817":{"id":"n2138493817","loc":[-85.6351695,41.941204]},"n2138493818":{"id":"n2138493818","loc":[-85.6348879,41.9415166]},"n2138493819":{"id":"n2138493819","loc":[-85.634897,41.9415757]},"n2138493820":{"id":"n2138493820","loc":[-85.6349606,41.9416399]},"n2138493821":{"id":"n2138493821","loc":[-85.6350219,41.9416669]},"n2138493822":{"id":"n2138493822","loc":[-85.6351241,41.9416314]},"n2138493823":{"id":"n2138493823","loc":[-85.6350855,41.9415622]},"n2138493824":{"id":"n2138493824","loc":[-85.6350401,41.9413603]},"n2138493825":{"id":"n2138493825","loc":[-85.6352206,41.9410765]},"n2138493826":{"id":"n2138493826","loc":[-85.6343865,41.9415594]},"n2138493827":{"id":"n2138493827","loc":[-85.6343506,41.9415873]},"n2138493828":{"id":"n2138493828","loc":[-85.6344158,41.9417557]},"n2138493829":{"id":"n2138493829","loc":[-85.6344614,41.9417968]},"n2138493830":{"id":"n2138493830","loc":[-85.6345005,41.9418186]},"n2138493831":{"id":"n2138493831","loc":[-85.6345965,41.9418162]},"n2138493832":{"id":"n2138493832","loc":[-85.6347317,41.9417242]},"n2138493833":{"id":"n2138493833","loc":[-85.6346722,41.941775]},"n2139858909":{"id":"n2139858909","loc":[-85.633403,41.9391006]},"n2139858910":{"id":"n2139858910","loc":[-85.6332973,41.9393967]},"n2139858911":{"id":"n2139858911","loc":[-85.633205,41.9396742]},"n2139858912":{"id":"n2139858912","loc":[-85.6332203,41.9397772]},"n2139858913":{"id":"n2139858913","loc":[-85.6333453,41.939936]},"n2139858914":{"id":"n2139858914","loc":[-85.6333761,41.9400018]},"n2139858915":{"id":"n2139858915","loc":[-85.63328,41.9402249]},"n2139858916":{"id":"n2139858916","loc":[-85.6332357,41.9403523]},"n2139858917":{"id":"n2139858917","loc":[-85.6332838,41.9405831]},"n2139858918":{"id":"n2139858918","loc":[-85.6333643,41.9408744]},"n2139858919":{"id":"n2139858919","loc":[-85.6334394,41.9410519]},"n2139858920":{"id":"n2139858920","loc":[-85.6335815,41.9411717]},"n2139858921":{"id":"n2139858921","loc":[-85.6337478,41.9412734]},"n2139858922":{"id":"n2139858922","loc":[-85.6343174,41.9415268]},"n2139858923":{"id":"n2139858923","loc":[-85.6343886,41.9417397]},"n2139858924":{"id":"n2139858924","loc":[-85.6344407,41.9418015]},"n2139858925":{"id":"n2139858925","loc":[-85.6345139,41.9418366]},"n2139858926":{"id":"n2139858926","loc":[-85.6344846,41.942005]},"n2139858927":{"id":"n2139858927","loc":[-85.6345775,41.9422218]},"n2139858928":{"id":"n2139858928","loc":[-85.6348771,41.9427814]},"n2139858929":{"id":"n2139858929","loc":[-85.6349487,41.9427995]},"n2139858930":{"id":"n2139858930","loc":[-85.6350415,41.9427874]},"n2139858931":{"id":"n2139858931","loc":[-85.6351246,41.9428589]},"n2139858978":{"id":"n2139858978","loc":[-85.6349658,41.9431481]},"n2139858979":{"id":"n2139858979","loc":[-85.6350081,41.9431287]},"n2139858980":{"id":"n2139858980","loc":[-85.6349967,41.9430997]},"n2139858981":{"id":"n2139858981","loc":[-85.6352158,41.9430352]},"n2139858982":{"id":"n2139858982","loc":[-85.6348174,41.94267]},"n2139858983":{"id":"n2139858983","loc":[-85.6346142,41.9425989]},"n2139858984":{"id":"n2139858984","loc":[-85.6344938,41.9423809]},"n2139858985":{"id":"n2139858985","loc":[-85.6344856,41.9422997]},"n2139870380":{"id":"n2139870380","loc":[-85.6346707,41.9417955]},"n2139870381":{"id":"n2139870381","loc":[-85.6345949,41.9418311]},"n2139870382":{"id":"n2139870382","loc":[-85.6343322,41.9418659]},"n2139870383":{"id":"n2139870383","loc":[-85.6342072,41.941885]},"n2139870384":{"id":"n2139870384","loc":[-85.6341325,41.9418919]},"n2139870385":{"id":"n2139870385","loc":[-85.6341314,41.9422028]},"n2139870386":{"id":"n2139870386","loc":[-85.6340472,41.9423271]},"n2139870387":{"id":"n2139870387","loc":[-85.6342185,41.9427933]},"n2139870388":{"id":"n2139870388","loc":[-85.6340605,41.9423924]},"n2139870389":{"id":"n2139870389","loc":[-85.6339889,41.9424069]},"n2139870390":{"id":"n2139870390","loc":[-85.633971,41.942356]},"n2139870391":{"id":"n2139870391","loc":[-85.63361,41.9424235]},"n2139870392":{"id":"n2139870392","loc":[-85.6337137,41.9426819]},"n2139870393":{"id":"n2139870393","loc":[-85.6336977,41.9428632]},"n2139870394":{"id":"n2139870394","loc":[-85.6338823,41.9428647]},"n2139870395":{"id":"n2139870395","loc":[-85.6339412,41.9430069]},"n2139870396":{"id":"n2139870396","loc":[-85.6338873,41.9430353]},"n2139870397":{"id":"n2139870397","loc":[-85.6337676,41.942815]},"n2139870398":{"id":"n2139870398","loc":[-85.6336822,41.9423505]},"n2139870399":{"id":"n2139870399","loc":[-85.634037,41.9422725]},"n2139870400":{"id":"n2139870400","loc":[-85.6340294,41.9422518]},"n2139870401":{"id":"n2139870401","loc":[-85.6336726,41.9423312]},"n2139870402":{"id":"n2139870402","loc":[-85.6342188,41.9425715]},"n2139870403":{"id":"n2139870403","loc":[-85.6342524,41.942565]},"n2139870404":{"id":"n2139870404","loc":[-85.6341438,41.942299]},"n2139870405":{"id":"n2139870405","loc":[-85.6341149,41.9423061]},"n2139870407":{"id":"n2139870407","loc":[-85.6340846,41.9431458]},"n2139870408":{"id":"n2139870408","loc":[-85.6339436,41.9429032]},"n2139870409":{"id":"n2139870409","loc":[-85.6343143,41.9428207]},"n2139870410":{"id":"n2139870410","loc":[-85.6343507,41.94277]},"n2139870411":{"id":"n2139870411","loc":[-85.6341527,41.942254]},"n2139870412":{"id":"n2139870412","loc":[-85.6340925,41.9422199]},"n2139870413":{"id":"n2139870413","loc":[-85.6335435,41.9423433]},"n2139870414":{"id":"n2139870414","loc":[-85.6335023,41.9423975]},"n2139870415":{"id":"n2139870415","loc":[-85.6335086,41.9424552]},"n2139870416":{"id":"n2139870416","loc":[-85.6336296,41.942665]},"n2139870417":{"id":"n2139870417","loc":[-85.6341396,41.9428596]},"n2139870418":{"id":"n2139870418","loc":[-85.6339701,41.9424487]},"n2139870419":{"id":"n2139870419","loc":[-85.6335514,41.9425294]},"n2139870420":{"id":"n2139870420","loc":[-85.6337406,41.9424929]},"n2139870421":{"id":"n2139870421","loc":[-85.6338939,41.9428687]},"n2139870422":{"id":"n2139870422","loc":[-85.6341323,41.9419538]},"n2139870423":{"id":"n2139870423","loc":[-85.6340321,41.9420376]},"n2139870424":{"id":"n2139870424","loc":[-85.6337648,41.942238]},"n2139870425":{"id":"n2139870425","loc":[-85.6337604,41.9422685]},"n2139870426":{"id":"n2139870426","loc":[-85.6337682,41.9422928]},"n2139870427":{"id":"n2139870427","loc":[-85.6338086,41.9423862]},"n2139870428":{"id":"n2139870428","loc":[-85.6349465,41.9416631]},"n2139870429":{"id":"n2139870429","loc":[-85.6351097,41.9416973]},"n2139870430":{"id":"n2139870430","loc":[-85.6353371,41.9416798]},"n2139870431":{"id":"n2139870431","loc":[-85.6349627,41.9422506]},"n2139870432":{"id":"n2139870432","loc":[-85.634979,41.9421815]},"n2139870433":{"id":"n2139870433","loc":[-85.634885,41.9421679]},"n2139870434":{"id":"n2139870434","loc":[-85.6348689,41.9422377]},"n2139870435":{"id":"n2139870435","loc":[-85.6349779,41.9419486]},"n2139870436":{"id":"n2139870436","loc":[-85.6349505,41.9418933]},"n2139870437":{"id":"n2139870437","loc":[-85.6347327,41.9419505]},"n2139870438":{"id":"n2139870438","loc":[-85.6347614,41.9420087]},"n2139870439":{"id":"n2139870439","loc":[-85.6351889,41.9416912]},"n2139870440":{"id":"n2139870440","loc":[-85.6351092,41.9418426]},"n2139870441":{"id":"n2139870441","loc":[-85.635086,41.9419659]},"n2139870442":{"id":"n2139870442","loc":[-85.6350584,41.9421466]},"n2139870443":{"id":"n2139870443","loc":[-85.6350993,41.9421606]},"n2139870444":{"id":"n2139870444","loc":[-85.6350993,41.9422132]},"n2139870445":{"id":"n2139870445","loc":[-85.6350794,41.9422855]},"n2139870446":{"id":"n2139870446","loc":[-85.6350474,41.9423159]},"n2139870447":{"id":"n2139870447","loc":[-85.6349251,41.9422998]},"n2139870448":{"id":"n2139870448","loc":[-85.634911,41.9422755]},"n2139870449":{"id":"n2139870449","loc":[-85.6349157,41.9422553]},"n2139870450":{"id":"n2139870450","loc":[-85.6347213,41.9419324]},"n2139870451":{"id":"n2139870451","loc":[-85.6349535,41.9418771]},"n2139870452":{"id":"n2139870452","loc":[-85.6350135,41.9419421]},"n2139870453":{"id":"n2139870453","loc":[-85.6348584,41.9418997]},"n2139870454":{"id":"n2139870454","loc":[-85.6348113,41.9418101]},"n2139870455":{"id":"n2139870455","loc":[-85.6347306,41.9417449]},"n2139870456":{"id":"n2139870456","loc":[-85.6349123,41.941776]},"n2139870457":{"id":"n2139870457","loc":[-85.6349423,41.9421448]},"n2139870458":{"id":"n2139870458","loc":[-85.6349436,41.9420652]},"n2139870459":{"id":"n2139870459","loc":[-85.6349136,41.9419963]},"n2139870460":{"id":"n2139870460","loc":[-85.6349814,41.9419789]},"n2139989328":{"id":"n2139989328","loc":[-85.6334188,41.9421725]},"n2139989330":{"id":"n2139989330","loc":[-85.6335087,41.9416308]},"n2139989335":{"id":"n2139989335","loc":[-85.6336856,41.9429371]},"n2139989337":{"id":"n2139989337","loc":[-85.6333713,41.9427217]},"n2139989339":{"id":"n2139989339","loc":[-85.6332912,41.9425383]},"n2139989341":{"id":"n2139989341","loc":[-85.6339369,41.9409198]},"n2139989344":{"id":"n2139989344","loc":[-85.634097,41.9409469]},"n2139989346":{"id":"n2139989346","loc":[-85.634137,41.9412852]},"n2139989348":{"id":"n2139989348","loc":[-85.6344536,41.9414151]},"n2139989350":{"id":"n2139989350","loc":[-85.6350794,41.9412392]},"n2139989351":{"id":"n2139989351","loc":[-85.6352541,41.9409387]},"n2139989353":{"id":"n2139989353","loc":[-85.6357198,41.9408007]},"n2139989355":{"id":"n2139989355","loc":[-85.6357235,41.9427088]},"n2139989357":{"id":"n2139989357","loc":[-85.6337119,41.9421256]},"n2139989359":{"id":"n2139989359","loc":[-85.6336913,41.9420655]},"n2139989360":{"id":"n2139989360","loc":[-85.633582,41.9420867]},"n2139989362":{"id":"n2139989362","loc":[-85.6336058,41.9421491]},"n2139989364":{"id":"n2139989364","loc":[-85.6339685,41.9410995]},"n2139989366":{"id":"n2139989366","loc":[-85.6339067,41.9411383]},"n2139989368":{"id":"n2139989368","loc":[-85.6339685,41.9411972]},"n2139989370":{"id":"n2139989370","loc":[-85.6340398,41.9411619]},"n2139870379":{"id":"n2139870379","loc":[-85.6348391,41.9416651]},"n2140006363":{"id":"n2140006363","loc":[-85.6353144,41.9430345]},"n2140006364":{"id":"n2140006364","loc":[-85.6349191,41.9431422]},"n2140018997":{"id":"n2140018997","loc":[-85.63645945147184,41.942986488012565],"tags":{"amenity":"townhall","name":"Three Rivers City Hall"}},"n2140018998":{"id":"n2140018998","loc":[-85.6370319,41.9427919]},"n2140018999":{"id":"n2140018999","loc":[-85.6360687,41.9427808]},"n2199856288":{"id":"n2199856288","loc":[-85.6344968,41.9407307]},"n2199856289":{"id":"n2199856289","loc":[-85.634492,41.9406036]},"n2199856290":{"id":"n2199856290","loc":[-85.634891,41.9406001]},"n2199856291":{"id":"n2199856291","loc":[-85.6348894,41.9405288]},"n2199856292":{"id":"n2199856292","loc":[-85.6349166,41.94053]},"n2199856293":{"id":"n2199856293","loc":[-85.6349166,41.9404956]},"n2199856294":{"id":"n2199856294","loc":[-85.6350219,41.9404956]},"n2199856295":{"id":"n2199856295","loc":[-85.6350251,41.94053]},"n2199856296":{"id":"n2199856296","loc":[-85.6350538,41.9405288]},"n2199856297":{"id":"n2199856297","loc":[-85.6350602,41.94079]},"n2199856298":{"id":"n2199856298","loc":[-85.6351703,41.9407912]},"n2199856299":{"id":"n2199856299","loc":[-85.6351688,41.9409171]},"n2199856300":{"id":"n2199856300","loc":[-85.6347889,41.9409135]},"n2199856301":{"id":"n2199856301","loc":[-85.6347921,41.94079]},"n2199856302":{"id":"n2199856302","loc":[-85.6348942,41.9407888]},"n2199856303":{"id":"n2199856303","loc":[-85.6348926,41.9407283]},"n185951869":{"id":"n185951869","loc":[-85.6387639,41.957288]},"n185958643":{"id":"n185958643","loc":[-85.636746,41.929221]},"n185958645":{"id":"n185958645","loc":[-85.636791,41.929363]},"n185958647":{"id":"n185958647","loc":[-85.6375975,41.9314987]},"n185958649":{"id":"n185958649","loc":[-85.637669,41.931667]},"n185958651":{"id":"n185958651","loc":[-85.637728,41.931901]},"n185958653":{"id":"n185958653","loc":[-85.637724,41.932187]},"n185958656":{"id":"n185958656","loc":[-85.637732,41.932761]},"n185958658":{"id":"n185958658","loc":[-85.637688,41.93398]},"n185958660":{"id":"n185958660","loc":[-85.637685,41.934223]},"n185958662":{"id":"n185958662","loc":[-85.6376468,41.9350232]},"n185958664":{"id":"n185958664","loc":[-85.637564,41.937028]},"n185958666":{"id":"n185958666","loc":[-85.637458,41.938197]},"n185958668":{"id":"n185958668","loc":[-85.637424,41.938692]},"n185964972":{"id":"n185964972","loc":[-85.6341901,41.9432732]},"n185971361":{"id":"n185971361","loc":[-85.635762,41.938208]},"n185971364":{"id":"n185971364","loc":[-85.635732,41.9384]},"n185971366":{"id":"n185971366","loc":[-85.635736,41.938697]},"n185972775":{"id":"n185972775","loc":[-85.635638,42.070357]},"n185972777":{"id":"n185972777","loc":[-85.635724,42.069929]},"n185972779":{"id":"n185972779","loc":[-85.635804,42.069248]},"n185972781":{"id":"n185972781","loc":[-85.635869,42.068361]},"n185972783":{"id":"n185972783","loc":[-85.635883,42.067582]},"n185972785":{"id":"n185972785","loc":[-85.635875,42.067114]},"n185972787":{"id":"n185972787","loc":[-85.635778,42.065359]},"n185972788":{"id":"n185972788","loc":[-85.635728,42.063416]},"n185972789":{"id":"n185972789","loc":[-85.635665,42.062491]},"n185972790":{"id":"n185972790","loc":[-85.635617,42.061928]},"n185972791":{"id":"n185972791","loc":[-85.635614,42.061898]},"n185972793":{"id":"n185972793","loc":[-85.635379,42.060288]},"n185972795":{"id":"n185972795","loc":[-85.635092,42.05799]},"n185972797":{"id":"n185972797","loc":[-85.634843,42.055781]},"n185972798":{"id":"n185972798","loc":[-85.634817,42.055549]},"n185972800":{"id":"n185972800","loc":[-85.634708,42.053942]},"n185972802":{"id":"n185972802","loc":[-85.634447,42.051809]},"n185972805":{"id":"n185972805","loc":[-85.634241,42.04946]},"n185972807":{"id":"n185972807","loc":[-85.633787,42.045926]},"n185972809":{"id":"n185972809","loc":[-85.633811,42.045645]},"n185972811":{"id":"n185972811","loc":[-85.63373,42.043626]},"n185972813":{"id":"n185972813","loc":[-85.633698,42.042184]},"n185972814":{"id":"n185972814","loc":[-85.63369,42.04181]},"n185972815":{"id":"n185972815","loc":[-85.633681,42.040714]},"n185972816":{"id":"n185972816","loc":[-85.633571,42.036322]},"n185972817":{"id":"n185972817","loc":[-85.633537,42.034044]},"n185972819":{"id":"n185972819","loc":[-85.633481,42.030785]},"n185972821":{"id":"n185972821","loc":[-85.633452,42.027538]},"n185972824":{"id":"n185972824","loc":[-85.633438,42.027427]},"n185972826":{"id":"n185972826","loc":[-85.633342,42.022656]},"n185972830":{"id":"n185972830","loc":[-85.63327,42.020724]},"n185972832":{"id":"n185972832","loc":[-85.633198,42.019106]},"n185972834":{"id":"n185972834","loc":[-85.633249,42.018363]},"n185972835":{"id":"n185972835","loc":[-85.633139,42.012944]},"n185972836":{"id":"n185972836","loc":[-85.63309,42.008284]},"n185972839":{"id":"n185972839","loc":[-85.63298,42.00005]},"n185972845":{"id":"n185972845","loc":[-85.6325369,41.9764959]},"n185972847":{"id":"n185972847","loc":[-85.6327549,41.9750005]},"n185972849":{"id":"n185972849","loc":[-85.6329374,41.9742527]},"n185972851":{"id":"n185972851","loc":[-85.6331387,41.9736039]},"n185972862":{"id":"n185972862","loc":[-85.6383589,41.9585023]},"n185972868":{"id":"n185972868","loc":[-85.6393633,41.9551716]},"n185972878":{"id":"n185972878","loc":[-85.639377,41.95335]},"n185972882":{"id":"n185972882","loc":[-85.6389179,41.9516944]},"n185972885":{"id":"n185972885","loc":[-85.6387444,41.9512105]},"n185972891":{"id":"n185972891","loc":[-85.636421,41.946392]},"n185972895":{"id":"n185972895","loc":[-85.635965,41.945809]},"n185972897":{"id":"n185972897","loc":[-85.635683,41.945449]},"n185972899":{"id":"n185972899","loc":[-85.635281,41.9450252]},"n185972905":{"id":"n185972905","loc":[-85.6324428,41.9425743]},"n185985217":{"id":"n185985217","loc":[-85.638243,41.943674]},"n185985219":{"id":"n185985219","loc":[-85.638228,41.943747]},"n185985221":{"id":"n185985221","loc":[-85.638163,41.943797]},"n185985222":{"id":"n185985222","loc":[-85.638089,41.943832]},"n185985223":{"id":"n185985223","loc":[-85.637969,41.943841]},"n185985225":{"id":"n185985225","loc":[-85.637841,41.943833]},"n185985227":{"id":"n185985227","loc":[-85.637601,41.943789]},"n185985229":{"id":"n185985229","loc":[-85.637449,41.943754]},"n185985231":{"id":"n185985231","loc":[-85.637342,41.943734]},"n185985233":{"id":"n185985233","loc":[-85.637218,41.943703]},"n185985235":{"id":"n185985235","loc":[-85.637151,41.943663]},"n185985238":{"id":"n185985238","loc":[-85.637118,41.943615]},"n185985240":{"id":"n185985240","loc":[-85.637073,41.943494]},"n185990434":{"id":"n185990434","loc":[-85.6329028,41.9984292],"tags":{"railway":"level_crossing"}},"n1475284023":{"id":"n1475284023","loc":[-85.6336163,41.9435806],"tags":{"railway":"level_crossing"}},"n1475293222":{"id":"n1475293222","loc":[-85.6394045,41.953658],"tags":{"railway":"level_crossing"}},"n1475293226":{"id":"n1475293226","loc":[-85.6364975,41.9638663],"tags":{"railway":"level_crossing"}},"n1475293234":{"id":"n1475293234","loc":[-85.6390449,41.9565145]},"n1475293240":{"id":"n1475293240","loc":[-85.636943,41.9473114]},"n1475293252":{"id":"n1475293252","loc":[-85.6392115,41.9559003]},"n1475293254":{"id":"n1475293254","loc":[-85.6348931,41.9685127],"tags":{"railway":"level_crossing"}},"n1475293260":{"id":"n1475293260","loc":[-85.6375999,41.9485401]},"n1475293261":{"id":"n1475293261","loc":[-85.6391256,41.9523817],"tags":{"railway":"level_crossing"}},"n1475293264":{"id":"n1475293264","loc":[-85.6394155,41.9546493],"tags":{"railway":"level_crossing"}},"n1819805614":{"id":"n1819805614","loc":[-85.6345652,41.9363097]},"n1819805618":{"id":"n1819805618","loc":[-85.6295334,41.9426862]},"n1819805622":{"id":"n1819805622","loc":[-85.6308208,41.9430773]},"n1819805626":{"id":"n1819805626","loc":[-85.6274734,41.9406592]},"n1819805629":{"id":"n1819805629","loc":[-85.6296943,41.9430533]},"n1819805632":{"id":"n1819805632","loc":[-85.6340931,41.9354477]},"n1819805636":{"id":"n1819805636","loc":[-85.6304131,41.9436598]},"n1819805639":{"id":"n1819805639","loc":[-85.6304882,41.9426623]},"n1819805641":{"id":"n1819805641","loc":[-85.6336103,41.9367487]},"n1819805643":{"id":"n1819805643","loc":[-85.6300376,41.9418084]},"n1819805645":{"id":"n1819805645","loc":[-85.6365286,41.9336679]},"n1819805647":{"id":"n1819805647","loc":[-85.632016,41.9429221]},"n1819805666":{"id":"n1819805666","loc":[-85.6314753,41.9442663]},"n1819805669":{"id":"n1819805669","loc":[-85.6268619,41.9402203]},"n1819805673":{"id":"n1819805673","loc":[-85.6296728,41.9412099]},"n1819805676":{"id":"n1819805676","loc":[-85.6354557,41.932766]},"n1819805680":{"id":"n1819805680","loc":[-85.632752,41.9431012]},"n1819805683":{"id":"n1819805683","loc":[-85.631147,41.9432014]},"n1819805687":{"id":"n1819805687","loc":[-85.635284,41.9343942]},"n1819805690":{"id":"n1819805690","loc":[-85.6249736,41.9405794]},"n1819805694":{"id":"n1819805694","loc":[-85.6294153,41.9417925]},"n1819805698":{"id":"n1819805698","loc":[-85.6323486,41.9426986]},"n1819805702":{"id":"n1819805702","loc":[-85.6340287,41.9373871]},"n1819805707":{"id":"n1819805707","loc":[-85.6353698,41.9316326]},"n1819805711":{"id":"n1819805711","loc":[-85.6284176,41.940356]},"n1819805715":{"id":"n1819805715","loc":[-85.6291471,41.9412897]},"n1819805718":{"id":"n1819805718","loc":[-85.6311105,41.943979]},"n1819805722":{"id":"n1819805722","loc":[-85.6320868,41.9400128]},"n1819805724":{"id":"n1819805724","loc":[-85.635166,41.9324627]},"n1819805727":{"id":"n1819805727","loc":[-85.6344686,41.9350567]},"n1819805728":{"id":"n1819805728","loc":[-85.6357132,41.9332369]},"n1819805731":{"id":"n1819805731","loc":[-85.629984,41.9434444]},"n1819805760":{"id":"n1819805760","loc":[-85.6330996,41.9378784]},"n1819805766":{"id":"n1819805766","loc":[-85.625274,41.9411141]},"n1819805770":{"id":"n1819805770","loc":[-85.6326321,41.9412173]},"n1819805774":{"id":"n1819805774","loc":[-85.6347047,41.9312096]},"n1819805777":{"id":"n1819805777","loc":[-85.6363569,41.9339552]},"n1819805780":{"id":"n1819805780","loc":[-85.6327392,41.941926]},"n1819805783":{"id":"n1819805783","loc":[-85.6357239,41.9338435]},"n1819805786":{"id":"n1819805786","loc":[-85.6356595,41.9346576]},"n1819805789":{"id":"n1819805789","loc":[-85.6316469,41.9436598]},"n1819805792":{"id":"n1819805792","loc":[-85.6350587,41.9354557]},"n1819805795":{"id":"n1819805795","loc":[-85.6360028,41.9322791]},"n1819805798":{"id":"n1819805798","loc":[-85.63125,41.9443062]},"n1819805802":{"id":"n1819805802","loc":[-85.6263362,41.9408109]},"n1819805805":{"id":"n1819805805","loc":[-85.6315075,41.9438753]},"n1819805808":{"id":"n1819805808","loc":[-85.6340008,41.9316051]},"n1819805810":{"id":"n1819805810","loc":[-85.6345545,41.9320557]},"n1819805812":{"id":"n1819805812","loc":[-85.6250809,41.9408587]},"n1819805814":{"id":"n1819805814","loc":[-85.6257783,41.9400926]},"n1819805834":{"id":"n1819805834","loc":[-85.6326408,41.9424363]},"n1819805838":{"id":"n1819805838","loc":[-85.6365607,41.9334365]},"n1819805842":{"id":"n1819805842","loc":[-85.6288253,41.9410343]},"n1819805846":{"id":"n1819805846","loc":[-85.6279133,41.9402921]},"n1819805849":{"id":"n1819805849","loc":[-85.6289433,41.9405156]},"n1819805852":{"id":"n1819805852","loc":[-85.6313787,41.9439152]},"n1819805858":{"id":"n1819805858","loc":[-85.6300805,41.9420398]},"n1819805861":{"id":"n1819805861","loc":[-85.6321941,41.9396297]},"n1819805864":{"id":"n1819805864","loc":[-85.6329129,41.9393903]},"n1819805868":{"id":"n1819805868","loc":[-85.632001,41.9434922]},"n1819805870":{"id":"n1819805870","loc":[-85.6314903,41.9431535]},"n1819805873":{"id":"n1819805873","loc":[-85.6251667,41.9401166]},"n1819805876":{"id":"n1819805876","loc":[-85.63287,41.939941]},"n1819805878":{"id":"n1819805878","loc":[-85.6307886,41.9437317]},"n1819805880":{"id":"n1819805880","loc":[-85.6321727,41.940348]},"n1819805883":{"id":"n1819805883","loc":[-85.6265872,41.940113]},"n1819805885":{"id":"n1819805885","loc":[-85.6268404,41.9406672]},"n1819805887":{"id":"n1819805887","loc":[-85.6325267,41.9389035]},"n1819805889":{"id":"n1819805889","loc":[-85.6364964,41.933189]},"n1819805911":{"id":"n1819805911","loc":[-85.6248663,41.9401804]},"n1819805922":{"id":"n1819805922","loc":[-85.633267,41.9387199]},"n1819805925":{"id":"n1819805925","loc":[-85.6293402,41.9408428]},"n1819848849":{"id":"n1819848849","loc":[-85.6464957,41.9695178]},"n1819848850":{"id":"n1819848850","loc":[-85.6497642,41.9611355]},"n1819848851":{"id":"n1819848851","loc":[-85.6480943,41.9624818]},"n1819848854":{"id":"n1819848854","loc":[-85.6500362,41.9657367]},"n1819848855":{"id":"n1819848855","loc":[-85.6493673,41.9783496]},"n1819848856":{"id":"n1819848856","loc":[-85.6457409,41.9548007]},"n1819848857":{"id":"n1819848857","loc":[-85.651313,41.9760426]},"n1819848858":{"id":"n1819848858","loc":[-85.6495819,41.9784772]},"n1819848859":{"id":"n1819848859","loc":[-85.6495105,41.9833722]},"n1819848860":{"id":"n1819848860","loc":[-85.6405053,41.9492792]},"n1819848863":{"id":"n1819848863","loc":[-85.6502293,41.9786826]},"n1819848865":{"id":"n1819848865","loc":[-85.6406877,41.9495106]},"n1819848870":{"id":"n1819848870","loc":[-85.6493136,41.9704611]},"n1819848871":{"id":"n1819848871","loc":[-85.6372249,41.9441284]},"n1819848873":{"id":"n1819848873","loc":[-85.6512379,41.9659441]},"n1819848875":{"id":"n1819848875","loc":[-85.6508087,41.9650187]},"n1819848877":{"id":"n1819848877","loc":[-85.6487166,41.9605352]},"n1819848878":{"id":"n1819848878","loc":[-85.6506478,41.9760665]},"n1819848879":{"id":"n1819848879","loc":[-85.651431,41.9758512]},"n1819848886":{"id":"n1819848886","loc":[-85.6477617,41.9563945]},"n1819848889":{"id":"n1819848889","loc":[-85.6497895,41.9832286]},"n1819848892":{"id":"n1819848892","loc":[-85.6504868,41.9791931]},"n1819848893":{"id":"n1819848893","loc":[-85.6498002,41.9615085]},"n1819848894":{"id":"n1819848894","loc":[-85.6404302,41.9502846]},"n1819848901":{"id":"n1819848901","loc":[-85.6354412,41.9439886]},"n1819848903":{"id":"n1819848903","loc":[-85.6472145,41.9698528]},"n1819848904":{"id":"n1819848904","loc":[-85.6401979,41.9486233]},"n1819848905":{"id":"n1819848905","loc":[-85.6475042,41.963503]},"n1819848909":{"id":"n1819848909","loc":[-85.6343405,41.94358]},"n1819848914":{"id":"n1819848914","loc":[-85.6503474,41.9737773]},"n1819848915":{"id":"n1819848915","loc":[-85.6389533,41.9470992]},"n1819848916":{"id":"n1819848916","loc":[-85.6483625,41.9577907]},"n1819848917":{"id":"n1819848917","loc":[-85.6484768,41.9617419]},"n1819848918":{"id":"n1819848918","loc":[-85.644078,41.9545693]},"n1819848919":{"id":"n1819848919","loc":[-85.6437169,41.9543041]},"n1819848920":{"id":"n1819848920","loc":[-85.6478331,41.9627949]},"n1819848922":{"id":"n1819848922","loc":[-85.6499144,41.9785889]},"n1819848924":{"id":"n1819848924","loc":[-85.647633,41.9720066]},"n1819848926":{"id":"n1819848926","loc":[-85.6487987,41.978868]},"n1819848927":{"id":"n1819848927","loc":[-85.6495105,41.9730355]},"n1819848928":{"id":"n1819848928","loc":[-85.648223,41.9829654]},"n1819848929":{"id":"n1819848929","loc":[-85.6514846,41.9659122]},"n1819848931":{"id":"n1819848931","loc":[-85.6498753,41.9731871]},"n1819848932":{"id":"n1819848932","loc":[-85.640906,41.9508575]},"n1819848933":{"id":"n1819848933","loc":[-85.649775,41.9799767]},"n1819848934":{"id":"n1819848934","loc":[-85.6507014,41.9739927]},"n1819848937":{"id":"n1819848937","loc":[-85.6479763,41.9840899]},"n1819848938":{"id":"n1819848938","loc":[-85.6501113,41.9600884]},"n1819848939":{"id":"n1819848939","loc":[-85.6389962,41.9478253]},"n1819848941":{"id":"n1819848941","loc":[-85.637469,41.9445791]},"n1819848942":{"id":"n1819848942","loc":[-85.6494569,41.9601682]},"n1819848943":{"id":"n1819848943","loc":[-85.6368803,41.9439351]},"n1819848945":{"id":"n1819848945","loc":[-85.6474398,41.9724213]},"n1819848946":{"id":"n1819848946","loc":[-85.6382629,41.9463666]},"n1819848948":{"id":"n1819848948","loc":[-85.6489633,41.9830771]},"n1819848952":{"id":"n1819848952","loc":[-85.6488882,41.9600326]},"n1819848953":{"id":"n1819848953","loc":[-85.6488094,41.9774324]},"n1819848954":{"id":"n1819848954","loc":[-85.6491135,41.9600485]},"n1819848955":{"id":"n1819848955","loc":[-85.6501435,41.9734583]},"n1819848956":{"id":"n1819848956","loc":[-85.6495534,41.960958]},"n1819848958":{"id":"n1819848958","loc":[-85.6474683,41.9561491]},"n1819848959":{"id":"n1819848959","loc":[-85.6401083,41.9485451]},"n1819848960":{"id":"n1819848960","loc":[-85.6481764,41.9678686]},"n1819848961":{"id":"n1819848961","loc":[-85.6484017,41.967382]},"n1819848962":{"id":"n1819848962","loc":[-85.6501328,41.959897]},"n1819848964":{"id":"n1819848964","loc":[-85.6403695,41.9504586]},"n1819848966":{"id":"n1819848966","loc":[-85.6398975,41.9491499]},"n1819848967":{"id":"n1819848967","loc":[-85.6412455,41.9510187]},"n1819848968":{"id":"n1819848968","loc":[-85.6482622,41.9619493]},"n1819848969":{"id":"n1819848969","loc":[-85.6405841,41.9501474]},"n1819848970":{"id":"n1819848970","loc":[-85.6478583,41.9703394]},"n1819848971":{"id":"n1819848971","loc":[-85.6493388,41.9832845]},"n1819848972":{"id":"n1819848972","loc":[-85.6485664,41.9829415]},"n1819848974":{"id":"n1819848974","loc":[-85.6491457,41.9779887]},"n1819848975":{"id":"n1819848975","loc":[-85.6468889,41.9697033]},"n1819848976":{"id":"n1819848976","loc":[-85.6452726,41.9546072]},"n1819848977":{"id":"n1819848977","loc":[-85.6448435,41.9546072]},"n1819848979":{"id":"n1819848979","loc":[-85.6485342,41.9763138]},"n1819848980":{"id":"n1819848980","loc":[-85.6495282,41.9664087]},"n1819848986":{"id":"n1819848986","loc":[-85.6486307,41.9603278]},"n1819848987":{"id":"n1819848987","loc":[-85.6492278,41.9791871]},"n1819848990":{"id":"n1819848990","loc":[-85.6501934,41.9800724]},"n1819848992":{"id":"n1819848992","loc":[-85.6482445,41.9819685]},"n1819848993":{"id":"n1819848993","loc":[-85.6481871,41.9704451]},"n1819848994":{"id":"n1819848994","loc":[-85.6371364,41.9457602]},"n1819848996":{"id":"n1819848996","loc":[-85.6500362,41.9801023]},"n1819849000":{"id":"n1819849000","loc":[-85.639007,41.9485914]},"n1819849001":{"id":"n1819849001","loc":[-85.6488882,41.9669253]},"n1819849002":{"id":"n1819849002","loc":[-85.6484698,41.9565062]},"n1819849004":{"id":"n1819849004","loc":[-85.6510769,41.9761064]},"n1819849005":{"id":"n1819849005","loc":[-85.6503581,41.9799029]},"n1819849006":{"id":"n1819849006","loc":[-85.6489381,41.9703893]},"n1819849008":{"id":"n1819849008","loc":[-85.6497457,41.9833588]},"n1819849011":{"id":"n1819849011","loc":[-85.6497358,41.9717593]},"n1819849012":{"id":"n1819849012","loc":[-85.6494676,41.9796796]},"n1819849019":{"id":"n1819849019","loc":[-85.6486093,41.9771034]},"n1819849021":{"id":"n1819849021","loc":[-85.6504546,41.9796556]},"n1819849022":{"id":"n1819849022","loc":[-85.6371294,41.9454154]},"n1819849023":{"id":"n1819849023","loc":[-85.6503436,41.9759249]},"n1819849025":{"id":"n1819849025","loc":[-85.6462382,41.9693822]},"n1819849026":{"id":"n1819849026","loc":[-85.6497573,41.983093]},"n1819849028":{"id":"n1819849028","loc":[-85.6497465,41.9602799]},"n1819849029":{"id":"n1819849029","loc":[-85.6374728,41.9460698]},"n1819849030":{"id":"n1819849030","loc":[-85.6486592,41.9566039]},"n1819849031":{"id":"n1819849031","loc":[-85.6515989,41.9654993]},"n1819849032":{"id":"n1819849032","loc":[-85.6387028,41.9482658]},"n1819849033":{"id":"n1819849033","loc":[-85.6464742,41.9688398]},"n1819849034":{"id":"n1819849034","loc":[-85.6495212,41.9589236]},"n1819849035":{"id":"n1819849035","loc":[-85.6490599,41.9790096]},"n1819849036":{"id":"n1819849036","loc":[-85.6489918,41.9800724]},"n1819849038":{"id":"n1819849038","loc":[-85.6499182,41.9659042]},"n1819849040":{"id":"n1819849040","loc":[-85.639758,41.9490143]},"n1819849041":{"id":"n1819849041","loc":[-85.6514846,41.9755241]},"n1819849042":{"id":"n1819849042","loc":[-85.6436633,41.9540647]},"n1819849045":{"id":"n1819849045","loc":[-85.6475541,41.9726387]},"n1819849046":{"id":"n1819849046","loc":[-85.6488308,41.9718331]},"n1819849047":{"id":"n1819849047","loc":[-85.6377694,41.9460953]},"n1819849048":{"id":"n1819849048","loc":[-85.6490706,41.9804452]},"n1819849049":{"id":"n1819849049","loc":[-85.6485449,41.9766248]},"n1819849051":{"id":"n1819849051","loc":[-85.6483625,41.9790256]},"n1819849052":{"id":"n1819849052","loc":[-85.6490706,41.9585167]},"n1819849053":{"id":"n1819849053","loc":[-85.6425008,41.9522874]},"n1819849054":{"id":"n1819849054","loc":[-85.6475793,41.9632158]},"n1819849055":{"id":"n1819849055","loc":[-85.6408631,41.9499399]},"n1819849056":{"id":"n1819849056","loc":[-85.6483373,41.9814681]},"n1819849057":{"id":"n1819849057","loc":[-85.6313548,41.9442876]},"n1819849058":{"id":"n1819849058","loc":[-85.6432663,41.9529796]},"n1819849059":{"id":"n1819849059","loc":[-85.6487128,41.9582873]},"n1819849060":{"id":"n1819849060","loc":[-85.6482338,41.9817612]},"n1819849062":{"id":"n1819849062","loc":[-85.6485664,41.9788661]},"n1819849063":{"id":"n1819849063","loc":[-85.6373081,41.9448824]},"n1819849064":{"id":"n1819849064","loc":[-85.6472215,41.9557582]},"n1819849065":{"id":"n1819849065","loc":[-85.6348984,41.9440414]},"n1819849066":{"id":"n1819849066","loc":[-85.6501972,41.9647315]},"n1819849067":{"id":"n1819849067","loc":[-85.6489741,41.9808281]},"n1819849068":{"id":"n1819849068","loc":[-85.6420111,41.9515034]},"n1819849069":{"id":"n1819849069","loc":[-85.6397972,41.9488882]},"n1819849070":{"id":"n1819849070","loc":[-85.6499718,41.9593465]},"n1819849071":{"id":"n1819849071","loc":[-85.6486844,41.9811311]},"n1819849072":{"id":"n1819849072","loc":[-85.6390392,41.9474663]},"n1819849074":{"id":"n1819849074","loc":[-85.6495642,41.9616362]},"n1819849075":{"id":"n1819849075","loc":[-85.6483518,41.9791931]},"n1819849076":{"id":"n1819849076","loc":[-85.6478974,41.9833104]},"n1819849077":{"id":"n1819849077","loc":[-85.640155,41.948719]},"n1819849078":{"id":"n1819849078","loc":[-85.6399366,41.9487845]},"n1819849079":{"id":"n1819849079","loc":[-85.6492959,41.9825348]},"n1819849080":{"id":"n1819849080","loc":[-85.6505083,41.9648352]},"n1819849081":{"id":"n1819849081","loc":[-85.6492959,41.9645241]},"n1819849082":{"id":"n1819849082","loc":[-85.6402049,41.9491835]},"n1819849083":{"id":"n1819849083","loc":[-85.6495175,41.9826963]},"n1819849084":{"id":"n1819849084","loc":[-85.6480836,41.9728361]},"n1819849085":{"id":"n1819849085","loc":[-85.6374349,41.9443425]},"n1819849086":{"id":"n1819849086","loc":[-85.6478331,41.9681238]},"n1819849089":{"id":"n1819849089","loc":[-85.639368,41.9486169]},"n1819849092":{"id":"n1819849092","loc":[-85.6503581,41.9788022]},"n1819849093":{"id":"n1819849093","loc":[-85.64862,41.9568014]},"n1819849094":{"id":"n1819849094","loc":[-85.6496999,41.9828877]},"n1819849095":{"id":"n1819849095","loc":[-85.647472,41.972198]},"n1819849096":{"id":"n1819849096","loc":[-85.6485771,41.9644523]},"n1819849097":{"id":"n1819849097","loc":[-85.6388353,41.9480488]},"n1819849099":{"id":"n1819849099","loc":[-85.6472752,41.9683312]},"n1819849104":{"id":"n1819849104","loc":[-85.6479548,41.9836035]},"n1819849105":{"id":"n1819849105","loc":[-85.6462489,41.9691668]},"n1819849107":{"id":"n1819849107","loc":[-85.6511912,41.9746328]},"n1819849108":{"id":"n1819849108","loc":[-85.6498646,41.9714881]},"n1819849111":{"id":"n1819849111","loc":[-85.6488239,41.961684]},"n1819849112":{"id":"n1819849112","loc":[-85.6469356,41.9553812]},"n1819849114":{"id":"n1819849114","loc":[-85.6479548,41.9640853]},"n1819849119":{"id":"n1819849119","loc":[-85.6491565,41.961692]},"n1819849121":{"id":"n1819849121","loc":[-85.651667,41.9656728]},"n1819849124":{"id":"n1819849124","loc":[-85.6388423,41.9484414]},"n1819849126":{"id":"n1819849126","loc":[-85.6371686,41.9450978]},"n1819849127":{"id":"n1819849127","loc":[-85.6502615,41.9656728]},"n1819849129":{"id":"n1819849129","loc":[-85.6498501,41.9613031]},"n1819849131":{"id":"n1819849131","loc":[-85.6513881,41.9653298]},"n1819849133":{"id":"n1819849133","loc":[-85.639883,41.9485291]},"n1819849139":{"id":"n1819849139","loc":[-85.6508693,41.9658264]},"n1819849140":{"id":"n1819849140","loc":[-85.6486806,41.9761642]},"n1819849141":{"id":"n1819849141","loc":[-85.6483159,41.9717613]},"n1819849144":{"id":"n1819849144","loc":[-85.6443714,41.9546232]},"n1819849146":{"id":"n1819849146","loc":[-85.641775,41.9513359]},"n1819849147":{"id":"n1819849147","loc":[-85.6495604,41.9757335]},"n1819849148":{"id":"n1819849148","loc":[-85.6465671,41.9551678]},"n1819849150":{"id":"n1819849150","loc":[-85.6485127,41.9794084]},"n1819849151":{"id":"n1819849151","loc":[-85.6499144,41.9757096]},"n1819849152":{"id":"n1819849152","loc":[-85.6433736,41.9531072]},"n1819849154":{"id":"n1819849154","loc":[-85.6489741,41.9607426]},"n1819849155":{"id":"n1819849155","loc":[-85.640627,41.9507697]},"n1819849156":{"id":"n1819849156","loc":[-85.6509659,41.9743058]},"n1819849157":{"id":"n1819849157","loc":[-85.6486844,41.9704431]},"n1819849158":{"id":"n1819849158","loc":[-85.6498538,41.9711132]},"n1819849159":{"id":"n1819849159","loc":[-85.6358937,41.943719]},"n1819849160":{"id":"n1819849160","loc":[-85.6497358,41.9707702]},"n1819849161":{"id":"n1819849161","loc":[-85.6480476,41.9564842]},"n1819849162":{"id":"n1819849162","loc":[-85.6482982,41.9574556]},"n1819849163":{"id":"n1819849163","loc":[-85.6501757,41.9757794]},"n1819849164":{"id":"n1819849164","loc":[-85.6372973,41.9459916]},"n1819849165":{"id":"n1819849165","loc":[-85.6513773,41.9750775]},"n1819849166":{"id":"n1819849166","loc":[-85.6436418,41.9537455]},"n1819849167":{"id":"n1819849167","loc":[-85.6483625,41.9571524]},"n1819849169":{"id":"n1819849169","loc":[-85.647751,41.9727962]},"n1819849170":{"id":"n1819849170","loc":[-85.6504546,41.9656808]},"n1819849171":{"id":"n1819849171","loc":[-85.6479977,41.971839]},"n1819849172":{"id":"n1819849172","loc":[-85.6482767,41.9642449]},"n1819849174":{"id":"n1819849174","loc":[-85.6414317,41.9512086]},"n1819849176":{"id":"n1819849176","loc":[-85.6469034,41.9685287]},"n1819849179":{"id":"n1819849179","loc":[-85.6408631,41.9497564]},"n1819849182":{"id":"n1819849182","loc":[-85.6476721,41.96384]},"n1819849183":{"id":"n1819849183","loc":[-85.6479725,41.983111]},"n1819849184":{"id":"n1819849184","loc":[-85.640788,41.9500516]},"n1819849185":{"id":"n1819849185","loc":[-85.6427798,41.9528778]},"n1819849186":{"id":"n1819849186","loc":[-85.6435308,41.9534124]},"n1819849187":{"id":"n1819849187","loc":[-85.6483733,41.9821998]},"n1819849189":{"id":"n1819849189","loc":[-85.6351752,41.9440796]},"n1819849191":{"id":"n1819849191","loc":[-85.6487021,41.9601463]},"n1819849192":{"id":"n1819849192","loc":[-85.6363811,41.9437605]},"n1819849193":{"id":"n1819849193","loc":[-85.6490883,41.9759728]},"n1819849194":{"id":"n1819849194","loc":[-85.6423292,41.9520081]},"n1819849195":{"id":"n1819849195","loc":[-85.6500003,41.960242]},"n1819849196":{"id":"n1819849196","loc":[-85.6385778,41.9466443]},"n1819849197":{"id":"n1819849197","loc":[-85.6494032,41.9718789]},"n1819849198":{"id":"n1819849198","loc":[-85.6404339,41.9506501]},"n1819849199":{"id":"n1819849199","loc":[-85.6426226,41.9527083]},"n1819849200":{"id":"n1819849200","loc":[-85.6439101,41.9545035]},"n1819849201":{"id":"n1819849201","loc":[-85.6516563,41.9657845]},"n1819849202":{"id":"n1819849202","loc":[-85.6473395,41.9699585]},"n1819858501":{"id":"n1819858501","loc":[-85.6361263,41.9437126]},"n1819858503":{"id":"n1819858503","loc":[-85.6350068,41.944034]},"n1819858513":{"id":"n1819858513","loc":[-85.6371402,41.9453282]},"n1819858518":{"id":"n1819858518","loc":[-85.6348713,41.9432923]},"n1819858523":{"id":"n1819858523","loc":[-85.6357047,41.943799]},"n1819858526":{"id":"n1819858526","loc":[-85.6349947,41.9435756]},"n1819858531":{"id":"n1819858531","loc":[-85.6350376,41.943827]},"n1820937508":{"id":"n1820937508","loc":[-85.1026013,42.0881722]},"n1820937509":{"id":"n1820937509","loc":[-85.0558088,42.102493]},"n1820937511":{"id":"n1820937511","loc":[-85.3030116,41.9724451]},"n1820937513":{"id":"n1820937513","loc":[-85.0353221,42.1027398]},"n1820937514":{"id":"n1820937514","loc":[-85.0835468,42.1015469]},"n1820937515":{"id":"n1820937515","loc":[-85.2421298,42.0106305]},"n1820937517":{"id":"n1820937517","loc":[-85.0090632,42.0910452]},"n1820937518":{"id":"n1820937518","loc":[-85.086626,42.0948838]},"n1820937520":{"id":"n1820937520","loc":[-85.2552039,42.0015448]},"n1820937521":{"id":"n1820937521","loc":[-85.3739614,41.9969917]},"n1820937522":{"id":"n1820937522","loc":[-85.4831166,41.993898]},"n1820937523":{"id":"n1820937523","loc":[-85.0341084,42.0977657]},"n1820937524":{"id":"n1820937524","loc":[-85.3272802,41.9710333]},"n1820937525":{"id":"n1820937525","loc":[-85.2125568,42.0414521]},"n1820937526":{"id":"n1820937526","loc":[-85.3798022,41.9992458]},"n1820937527":{"id":"n1820937527","loc":[-85.2652021,41.999768]},"n1820937528":{"id":"n1820937528","loc":[-85.3852739,42.0004896]},"n1820937529":{"id":"n1820937529","loc":[-85.3911919,42.0030513]},"n1820937530":{"id":"n1820937530","loc":[-85.5440349,41.9717109]},"n1820937531":{"id":"n1820937531","loc":[-85.2790155,41.9911764]},"n1820937532":{"id":"n1820937532","loc":[-85.4723277,41.9950518]},"n1820937533":{"id":"n1820937533","loc":[-85.5690546,41.9653931]},"n1820937535":{"id":"n1820937535","loc":[-85.5674882,41.9649623]},"n1820937536":{"id":"n1820937536","loc":[-85.6362815,41.9189165]},"n1820937537":{"id":"n1820937537","loc":[-85.5659003,41.963638]},"n1820937539":{"id":"n1820937539","loc":[-85.6391353,41.9122262]},"n1820937540":{"id":"n1820937540","loc":[-85.4834385,41.9894803]},"n1820937541":{"id":"n1820937541","loc":[-85.6399078,41.9160744]},"n1820937542":{"id":"n1820937542","loc":[-85.632874,41.941031]},"n1820937543":{"id":"n1820937543","loc":[-85.1307591,42.0726961]},"n1820937544":{"id":"n1820937544","loc":[-85.6444397,41.9128378]},"n1820937545":{"id":"n1820937545","loc":[-85.6197204,41.9420365]},"n1820937546":{"id":"n1820937546","loc":[-85.1164857,42.0864631]},"n1820937547":{"id":"n1820937547","loc":[-85.6476111,41.9142222]},"n1820937548":{"id":"n1820937548","loc":[-85.2915747,41.9774223]},"n1820937549":{"id":"n1820937549","loc":[-85.6430192,41.9102461]},"n1820937550":{"id":"n1820937550","loc":[-85.1597495,42.0639017]},"n1820937551":{"id":"n1820937551","loc":[-85.5504079,41.9701793]},"n1820937553":{"id":"n1820937553","loc":[-85.2781317,41.9948951]},"n1820937555":{"id":"n1820937555","loc":[-85.3724594,41.997518]},"n1820937556":{"id":"n1820937556","loc":[-85.5629434,41.9665155]},"n1820937557":{"id":"n1820937557","loc":[-85.3791971,41.9990808]},"n1820937558":{"id":"n1820937558","loc":[-85.001891,42.0878843]},"n1820937560":{"id":"n1820937560","loc":[-85.3140838,41.9709056]},"n1820937561":{"id":"n1820937561","loc":[-85.2468032,42.0146987]},"n1820937563":{"id":"n1820937563","loc":[-85.0877378,42.097255]},"n1820937564":{"id":"n1820937564","loc":[-85.2442498,42.0150654]},"n1820937566":{"id":"n1820937566","loc":[-85.3108973,41.9701478]},"n1820937568":{"id":"n1820937568","loc":[-85.0344584,42.1016572]},"n1820937569":{"id":"n1820937569","loc":[-85.2331025,42.0297387]},"n1820937570":{"id":"n1820937570","loc":[-85.5058446,41.9746996]},"n1820937571":{"id":"n1820937571","loc":[-85.5622739,41.9676427]},"n1820937572":{"id":"n1820937572","loc":[-85.2792687,41.9890337]},"n1820937574":{"id":"n1820937574","loc":[-84.9909302,42.08695]},"n1820937575":{"id":"n1820937575","loc":[-85.6218233,41.9418609]},"n1820937576":{"id":"n1820937576","loc":[-85.3577437,41.9931062]},"n1820937577":{"id":"n1820937577","loc":[-85.639028,41.9165853]},"n1820937578":{"id":"n1820937578","loc":[-84.9956576,42.0865348]},"n1820937579":{"id":"n1820937579","loc":[-85.4828376,41.990198]},"n1820937580":{"id":"n1820937580","loc":[-85.3244478,41.9720543]},"n1820937582":{"id":"n1820937582","loc":[-85.0517479,42.1035159]},"n1820937583":{"id":"n1820937583","loc":[-85.225646,42.0338025]},"n1820937584":{"id":"n1820937584","loc":[-84.9941019,42.0862163]},"n1820937586":{"id":"n1820937586","loc":[-85.1051762,42.0879452]},"n1820937587":{"id":"n1820937587","loc":[-85.1245203,42.0753162]},"n1820937588":{"id":"n1820937588","loc":[-85.3250808,41.9719506]},"n1820937589":{"id":"n1820937589","loc":[-85.2720109,41.997933]},"n1820937590":{"id":"n1820937590","loc":[-85.2556653,42.0027248]},"n1820937591":{"id":"n1820937591","loc":[-85.0872483,42.0943544]},"n1820937592":{"id":"n1820937592","loc":[-85.2778353,41.9955023]},"n1820937593":{"id":"n1820937593","loc":[-85.2984733,41.9735538]},"n1820937594":{"id":"n1820937594","loc":[-85.101578,42.0889552]},"n1820937595":{"id":"n1820937595","loc":[-85.3888745,42.0016959]},"n1820937596":{"id":"n1820937596","loc":[-84.9903508,42.0870654]},"n1820937597":{"id":"n1820937597","loc":[-85.6405558,41.9146261]},"n1820937598":{"id":"n1820937598","loc":[-85.6460704,41.9141311]},"n1820937599":{"id":"n1820937599","loc":[-85.0377468,42.1037428]},"n1820937600":{"id":"n1820937600","loc":[-85.2298345,42.0312899]},"n1820937601":{"id":"n1820937601","loc":[-85.1080958,42.0861964]},"n1820937602":{"id":"n1820937602","loc":[-85.6325307,41.9402329]},"n1820937603":{"id":"n1820937603","loc":[-85.1165984,42.0832184]},"n1820937604":{"id":"n1820937604","loc":[-85.6354446,41.9190602]},"n1820937605":{"id":"n1820937605","loc":[-85.1114592,42.0862959]},"n1820937606":{"id":"n1820937606","loc":[-85.0858763,42.1001646]},"n1820937607":{"id":"n1820937607","loc":[-85.0472083,42.1015151]},"n1820937608":{"id":"n1820937608","loc":[-85.0802477,42.1027609]},"n1820937610":{"id":"n1820937610","loc":[-85.0924585,42.0928564]},"n1820937611":{"id":"n1820937611","loc":[-85.0329617,42.09827]},"n1820937612":{"id":"n1820937612","loc":[-85.2814617,41.993465]},"n1820937613":{"id":"n1820937613","loc":[-85.3097708,41.9700282]},"n1820937614":{"id":"n1820937614","loc":[-85.2809427,41.993695]},"n1820937615":{"id":"n1820937615","loc":[-85.0583233,42.1026494]},"n1820937617":{"id":"n1820937617","loc":[-85.2801592,41.9840021]},"n1820937619":{"id":"n1820937619","loc":[-85.1064154,42.0863449]},"n1820937620":{"id":"n1820937620","loc":[-85.0423173,42.1014662]},"n1820937621":{"id":"n1820937621","loc":[-85.2168913,42.0398107]},"n1820937622":{"id":"n1820937622","loc":[-85.2798481,41.9833401]},"n1820937623":{"id":"n1820937623","loc":[-85.0575468,42.1028672]},"n1820937625":{"id":"n1820937625","loc":[-85.0130369,42.0893067]},"n1820937626":{"id":"n1820937626","loc":[-85.0346985,42.1018256]},"n1820937627":{"id":"n1820937627","loc":[-85.2231569,42.0372768]},"n1820937628":{"id":"n1820937628","loc":[-85.2956195,41.9732268]},"n1820937629":{"id":"n1820937629","loc":[-85.1052312,42.086893]},"n1820937630":{"id":"n1820937630","loc":[-85.4813356,41.9958436]},"n1820937631":{"id":"n1820937631","loc":[-85.0961599,42.0914672]},"n1820937632":{"id":"n1820937632","loc":[-85.308419,41.9704749]},"n1820937633":{"id":"n1820937633","loc":[-85.295952,41.9715119]},"n1820937634":{"id":"n1820937634","loc":[-85.3310933,41.9703923]},"n1820937635":{"id":"n1820937635","loc":[-85.2940745,41.9739686]},"n1820937636":{"id":"n1820937636","loc":[-85.3803343,42.000484]},"n1820937637":{"id":"n1820937637","loc":[-85.1174231,42.0845533]},"n1820937638":{"id":"n1820937638","loc":[-85.0095836,42.089839]},"n1820937639":{"id":"n1820937639","loc":[-85.3179354,41.9705866]},"n1820937640":{"id":"n1820937640","loc":[-85.257708,42.0001189]},"n1820937641":{"id":"n1820937641","loc":[-85.2563522,42.0002771]},"n1820937642":{"id":"n1820937642","loc":[-85.3181929,41.970419]},"n1820937643":{"id":"n1820937643","loc":[-85.2911884,41.9757154]},"n1820937644":{"id":"n1820937644","loc":[-85.2714423,41.9975862]},"n1820937645":{"id":"n1820937645","loc":[-85.0193669,42.089888]},"n1820937646":{"id":"n1820937646","loc":[-85.3889818,42.0039921]},"n1820937647":{"id":"n1820937647","loc":[-85.3408093,41.9853965]},"n1820937648":{"id":"n1820937648","loc":[-85.1258091,42.0748332]},"n1820937649":{"id":"n1820937649","loc":[-85.5722561,41.962782]},"n1820937650":{"id":"n1820937650","loc":[-85.3266902,41.9721819]},"n1820937651":{"id":"n1820937651","loc":[-85.1473255,42.065192]},"n1820937652":{"id":"n1820937652","loc":[-85.1462526,42.0655106]},"n1820937653":{"id":"n1820937653","loc":[-85.4641051,42.0013929]},"n1820937654":{"id":"n1820937654","loc":[-85.5620379,41.9700677]},"n1820937655":{"id":"n1820937655","loc":[-85.3226025,41.971121]},"n1820937656":{"id":"n1820937656","loc":[-85.0200965,42.0899516]},"n1820937657":{"id":"n1820937657","loc":[-85.0624714,42.1044711]},"n1820937658":{"id":"n1820937658","loc":[-85.5649562,41.9637178]},"n1820937659":{"id":"n1820937659","loc":[-85.2360315,42.0253315]},"n1820937660":{"id":"n1820937660","loc":[-85.3881449,41.9994475]},"n1820937661":{"id":"n1820937661","loc":[-85.5032911,41.976263]},"n1820937662":{"id":"n1820937662","loc":[-85.481297,41.9871414]},"n1820937663":{"id":"n1820937663","loc":[-85.1167056,42.0841898]},"n1820937664":{"id":"n1820937664","loc":[-85.2891714,41.9787223]},"n1820937665":{"id":"n1820937665","loc":[-85.4393429,42.0058736]},"n1820937666":{"id":"n1820937666","loc":[-85.0077007,42.0895762]},"n1820937667":{"id":"n1820937667","loc":[-85.2736202,41.9979171]},"n1820937668":{"id":"n1820937668","loc":[-84.9935332,42.0859296]},"n1820937669":{"id":"n1820937669","loc":[-85.0622769,42.1046713]},"n1820937670":{"id":"n1820937670","loc":[-85.2309031,42.0311249]},"n1820937671":{"id":"n1820937671","loc":[-85.0343726,42.10069]},"n1820937672":{"id":"n1820937672","loc":[-85.0596551,42.1048612]},"n1820937673":{"id":"n1820937673","loc":[-85.1338597,42.0707449]},"n1820937674":{"id":"n1820937674","loc":[-85.3117663,41.9689194]},"n1820937675":{"id":"n1820937675","loc":[-85.0705649,42.1057499]},"n1820937676":{"id":"n1820937676","loc":[-85.2441425,42.0180944]},"n1820937677":{"id":"n1820937677","loc":[-85.1171174,42.0862692]},"n1820937678":{"id":"n1820937678","loc":[-85.0346824,42.1005519]},"n1820937680":{"id":"n1820937680","loc":[-85.2389927,42.0229245]},"n1820937681":{"id":"n1820937681","loc":[-85.0834892,42.1018642]},"n1820937682":{"id":"n1820937682","loc":[-85.0619443,42.1049459]},"n1820937683":{"id":"n1820937683","loc":[-85.2845366,41.9811868]},"n1820937684":{"id":"n1820937684","loc":[-85.210411,42.0394123]},"n1820937685":{"id":"n1820937685","loc":[-85.4377383,42.0055942]},"n1820937686":{"id":"n1820937686","loc":[-85.2882058,41.9789138]},"n1820937687":{"id":"n1820937687","loc":[-85.2741191,41.9955808]},"n1820937688":{"id":"n1820937688","loc":[-85.3442211,41.9903575]},"n1820937689":{"id":"n1820937689","loc":[-85.2641413,41.9995237]},"n1820937690":{"id":"n1820937690","loc":[-85.2804489,41.9829174]},"n1820937691":{"id":"n1820937691","loc":[-85.5593342,41.9729074]},"n1820937692":{"id":"n1820937692","loc":[-85.3590912,41.9932601]},"n1820937694":{"id":"n1820937694","loc":[-85.4826445,41.9957479]},"n1820937695":{"id":"n1820937695","loc":[-85.4539127,42.0063041]},"n1820937696":{"id":"n1820937696","loc":[-85.2456767,42.0153683]},"n1820937697":{"id":"n1820937697","loc":[-85.5794015,41.9489631]},"n1820937698":{"id":"n1820937698","loc":[-85.4108686,42.0078507]},"n1820937699":{"id":"n1820937699","loc":[-85.0616386,42.1051529]},"n1820937700":{"id":"n1820937700","loc":[-85.4977979,41.978241]},"n1820937701":{"id":"n1820937701","loc":[-85.2488417,42.0086319]},"n1820937702":{"id":"n1820937702","loc":[-85.5588836,41.9728116]},"n1820937703":{"id":"n1820937703","loc":[-85.4557366,42.0051241]},"n1820937705":{"id":"n1820937705","loc":[-85.0723151,42.1056094]},"n1820937706":{"id":"n1820937706","loc":[-85.0057909,42.0887323]},"n1820937707":{"id":"n1820937707","loc":[-85.0756786,42.105677]},"n1820937708":{"id":"n1820937708","loc":[-85.0901504,42.0940001]},"n1820937709":{"id":"n1820937709","loc":[-85.0979999,42.0910213]},"n1820937710":{"id":"n1820937710","loc":[-85.2376301,42.0239686]},"n1820937711":{"id":"n1820937711","loc":[-85.2780671,41.9902299]},"n1820937712":{"id":"n1820937712","loc":[-85.251481,42.0113188]},"n1820937713":{"id":"n1820937713","loc":[-85.3114767,41.9690311]},"n1820937714":{"id":"n1820937714","loc":[-85.2649621,41.9975662]},"n1820937715":{"id":"n1820937715","loc":[-85.283807,41.9813383]},"n1820937716":{"id":"n1820937716","loc":[-85.5515451,41.9703867]},"n1820937717":{"id":"n1820937717","loc":[-85.1176605,42.0850896]},"n1820937718":{"id":"n1820937718","loc":[-85.1069317,42.0862441]},"n1820937719":{"id":"n1820937719","loc":[-85.2739314,41.9976938]},"n1820937720":{"id":"n1820937720","loc":[-85.5550212,41.9702112]},"n1820937721":{"id":"n1820937721","loc":[-85.3076679,41.9719904]},"n1820937722":{"id":"n1820937722","loc":[-85.592319,41.9440316]},"n1820937723":{"id":"n1820937723","loc":[-85.3139979,41.9704031]},"n1820937724":{"id":"n1820937724","loc":[-85.0421134,42.1013149]},"n1820937725":{"id":"n1820937725","loc":[-85.2508373,42.0102741]},"n1820937726":{"id":"n1820937726","loc":[-85.0830922,42.1038821]},"n1820937727":{"id":"n1820937727","loc":[-85.6342473,41.9360031]},"n1820937730":{"id":"n1820937730","loc":[-85.0500192,42.1024942]},"n1820937731":{"id":"n1820937731","loc":[-85.3498644,41.9926221]},"n1820937732":{"id":"n1820937732","loc":[-85.0234117,42.0918903]},"n1820937733":{"id":"n1820937733","loc":[-85.0464425,42.1009408]},"n1820937734":{"id":"n1820937734","loc":[-85.033938,42.099886]},"n1820937736":{"id":"n1820937736","loc":[-85.0152752,42.0886009]},"n1820937737":{"id":"n1820937737","loc":[-85.0441894,42.1012671]},"n1820937738":{"id":"n1820937738","loc":[-85.4668731,41.9979804]},"n1820937739":{"id":"n1820937739","loc":[-85.4407377,42.006033]},"n1820937740":{"id":"n1820937740","loc":[-85.2262253,42.0344878]},"n1820937741":{"id":"n1820937741","loc":[-85.2550001,42.0033706]},"n1820937742":{"id":"n1820937742","loc":[-85.3071422,41.9722617]},"n1820937743":{"id":"n1820937743","loc":[-85.6147852,41.942228]},"n1820937744":{"id":"n1820937744","loc":[-85.0183853,42.0901825]},"n1820937745":{"id":"n1820937745","loc":[-85.6323161,41.9228489]},"n1820937746":{"id":"n1820937746","loc":[-85.0095568,42.0901376]},"n1820937747":{"id":"n1820937747","loc":[-85.2524037,42.0113826]},"n1820937748":{"id":"n1820937748","loc":[-85.3186864,41.9708578]},"n1820937749":{"id":"n1820937749","loc":[-85.2805669,41.9870883]},"n1820937750":{"id":"n1820937750","loc":[-85.0585768,42.1038144]},"n1820937751":{"id":"n1820937751","loc":[-85.2970786,41.9715358]},"n1820937752":{"id":"n1820937752","loc":[-85.1315758,42.0723445]},"n1820937753":{"id":"n1820937753","loc":[-85.2448291,42.0175444]},"n1820937754":{"id":"n1820937754","loc":[-85.2446468,42.0174248]},"n1820937755":{"id":"n1820937755","loc":[-85.229165,42.032129]},"n1820937756":{"id":"n1820937756","loc":[-85.5612654,41.9724926]},"n1820937757":{"id":"n1820937757","loc":[-85.2331776,42.030854]},"n1820937758":{"id":"n1820937758","loc":[-85.2271909,42.0334519]},"n1820937759":{"id":"n1820937759","loc":[-85.1032396,42.0879214]},"n1820937760":{"id":"n1820937760","loc":[-85.0638447,42.1044154]},"n1820937761":{"id":"n1820937761","loc":[-85.1260706,42.0745556]},"n1820937762":{"id":"n1820937762","loc":[-85.3454485,41.99132]},"n1820937763":{"id":"n1820937763","loc":[-85.2639321,41.9980088]},"n1820937764":{"id":"n1820937764","loc":[-85.0837681,42.1013746]},"n1820937765":{"id":"n1820937765","loc":[-85.2808137,41.9869368]},"n1820937766":{"id":"n1820937766","loc":[-85.6338997,41.9309373]},"n1820937767":{"id":"n1820937767","loc":[-85.2267403,42.0332766]},"n1820937768":{"id":"n1820937768","loc":[-85.0605831,42.1052074]},"n1820937769":{"id":"n1820937769","loc":[-85.0259021,42.0930037]},"n1820937770":{"id":"n1820937770","loc":[-85.232963,42.0313162]},"n1820937771":{"id":"n1820937771","loc":[-85.2404947,42.0125381]},"n1820937772":{"id":"n1820937772","loc":[-85.0910892,42.0935742]},"n1820937773":{"id":"n1820937773","loc":[-85.2554829,42.0019435]},"n1820937774":{"id":"n1820937774","loc":[-85.2799339,41.9867773]},"n1820937775":{"id":"n1820937775","loc":[-85.1075432,42.0852767]},"n1820937776":{"id":"n1820937776","loc":[-85.1176927,42.0854001]},"n1820937777":{"id":"n1820937777","loc":[-85.1067064,42.0863357]},"n1820937778":{"id":"n1820937778","loc":[-85.2517492,42.0106333]},"n1820937779":{"id":"n1820937779","loc":[-85.0987174,42.0909031]},"n1820937780":{"id":"n1820937780","loc":[-85.1160083,42.0863994]},"n1820937781":{"id":"n1820937781","loc":[-85.1268645,42.0739703]},"n1820937782":{"id":"n1820937782","loc":[-85.0454702,42.1002852]},"n1820937783":{"id":"n1820937783","loc":[-85.1334145,42.0705418]},"n1820937784":{"id":"n1820937784","loc":[-85.5866542,41.947431]},"n1820937786":{"id":"n1820937786","loc":[-85.2359886,42.0250366]},"n1820937787":{"id":"n1820937787","loc":[-85.3138048,41.9698527]},"n1820937788":{"id":"n1820937788","loc":[-85.1274291,42.0733081]},"n1820937790":{"id":"n1820937790","loc":[-85.6292905,41.9411267]},"n1820937791":{"id":"n1820937791","loc":[-85.5958809,41.9417333]},"n1820937792":{"id":"n1820937792","loc":[-85.1271019,42.0737581]},"n1820937793":{"id":"n1820937793","loc":[-85.2312679,42.0314437]},"n1820937794":{"id":"n1820937794","loc":[-85.1081387,42.0863516]},"n1820937795":{"id":"n1820937795","loc":[-85.2424473,42.0212109]},"n1820937796":{"id":"n1820937796","loc":[-85.2710654,41.9975236]},"n1820937797":{"id":"n1820937797","loc":[-85.4798408,41.9863223]},"n1820937798":{"id":"n1820937798","loc":[-85.035939,42.104296]},"n1820937799":{"id":"n1820937799","loc":[-85.2178139,42.0395398]},"n1820937800":{"id":"n1820937800","loc":[-85.0630709,42.1042614]},"n1820937801":{"id":"n1820937801","loc":[-85.0440124,42.1014861]},"n1820937802":{"id":"n1820937802","loc":[-85.1321874,42.0720458]},"n1820937804":{"id":"n1820937804","loc":[-85.079427,42.1029121]},"n1820937805":{"id":"n1820937805","loc":[-85.2962632,41.9738968]},"n1820937806":{"id":"n1820937806","loc":[-85.6334748,41.9274627]},"n1820937807":{"id":"n1820937807","loc":[-85.1057341,42.0872804]},"n1820937808":{"id":"n1820937808","loc":[-85.4960169,41.9778263]},"n1820937809":{"id":"n1820937809","loc":[-85.2821226,41.9910273]},"n1820937810":{"id":"n1820937810","loc":[-85.0013868,42.0885054]},"n1820937811":{"id":"n1820937811","loc":[-85.2952547,41.9729795]},"n1820937812":{"id":"n1820937812","loc":[-85.1298375,42.0667842]},"n1820937813":{"id":"n1820937813","loc":[-85.1339201,42.0710025]},"n1820937814":{"id":"n1820937814","loc":[-85.0374356,42.103691]},"n1820937815":{"id":"n1820937815","loc":[-85.0061115,42.0880607]},"n1820937817":{"id":"n1820937817","loc":[-85.2398402,42.0226934]},"n1820937818":{"id":"n1820937818","loc":[-85.123501,42.076236]},"n1820937819":{"id":"n1820937819","loc":[-85.1209489,42.0791294]},"n1820937820":{"id":"n1820937820","loc":[-85.0818624,42.1025778]},"n1820937821":{"id":"n1820937821","loc":[-85.4428835,42.0054749]},"n1820937822":{"id":"n1820937822","loc":[-85.4710359,41.9961147]},"n1820937823":{"id":"n1820937823","loc":[-85.4253354,42.006198]},"n1820937824":{"id":"n1820937824","loc":[-85.5486483,41.9709451]},"n1820937825":{"id":"n1820937825","loc":[-85.2303238,42.0310452]},"n1820937826":{"id":"n1820937826","loc":[-85.6450405,41.9136361]},"n1820937828":{"id":"n1820937828","loc":[-85.2606853,41.9964073]},"n1820937830":{"id":"n1820937830","loc":[-85.097383,42.0911447]},"n1820937831":{"id":"n1820937831","loc":[-85.0498207,42.102136]},"n1820937832":{"id":"n1820937832","loc":[-85.1232435,42.0763793]},"n1820937833":{"id":"n1820937833","loc":[-85.394093,42.0055921]},"n1820937834":{"id":"n1820937834","loc":[-85.3566665,41.9928295]},"n1820937835":{"id":"n1820937835","loc":[-85.3543276,41.9920002]},"n1820937837":{"id":"n1820937837","loc":[-85.084668,42.1034932]},"n1820937838":{"id":"n1820937838","loc":[-85.4400296,42.0060649]},"n1820937839":{"id":"n1820937839","loc":[-85.2362246,42.025714]},"n1820937840":{"id":"n1820937840","loc":[-85.0409225,42.1012791]},"n1820937841":{"id":"n1820937841","loc":[-85.2442283,42.019832]},"n1820937842":{"id":"n1820937842","loc":[-85.1123001,42.084824]},"n1820937843":{"id":"n1820937843","loc":[-85.1603074,42.0638061]},"n1820937844":{"id":"n1820937844","loc":[-85.1359744,42.0650646]},"n1820937845":{"id":"n1820937845","loc":[-85.1757569,42.053849]},"n1820937846":{"id":"n1820937846","loc":[-85.5200925,41.9716686]},"n1820937848":{"id":"n1820937848","loc":[-85.5525322,41.9701315]},"n1820937849":{"id":"n1820937849","loc":[-85.0406489,42.10149]},"n1820937850":{"id":"n1820937850","loc":[-85.0142547,42.088825]},"n1820937851":{"id":"n1820937851","loc":[-85.343749,41.9881884]},"n1820937852":{"id":"n1820937852","loc":[-85.074996,42.1060205]},"n1820937853":{"id":"n1820937853","loc":[-85.2436275,42.0136864]},"n1820937854":{"id":"n1820937854","loc":[-85.2641453,41.9980897]},"n1820937856":{"id":"n1820937856","loc":[-85.2802343,41.9870086]},"n1820937857":{"id":"n1820937857","loc":[-85.0099256,42.0909946]},"n1820937858":{"id":"n1820937858","loc":[-85.493957,41.9786079]},"n1820937859":{"id":"n1820937859","loc":[-85.0739405,42.1059795]},"n1820937860":{"id":"n1820937860","loc":[-85.2331605,42.0301423]},"n1820937862":{"id":"n1820937862","loc":[-85.2035231,42.0438425]},"n1820937863":{"id":"n1820937863","loc":[-85.0884928,42.0986971]},"n1820937864":{"id":"n1820937864","loc":[-85.131597,42.0690142]},"n1820937865":{"id":"n1820937865","loc":[-85.3937454,42.0052677]},"n1820937866":{"id":"n1820937866","loc":[-85.2212729,42.0378561]},"n1820937867":{"id":"n1820937867","loc":[-85.0886068,42.0982421]},"n1820937868":{"id":"n1820937868","loc":[-85.0875004,42.0968064]},"n1820937869":{"id":"n1820937869","loc":[-85.0771323,42.1042642]},"n1820937870":{"id":"n1820937870","loc":[-85.0164554,42.0894887]},"n1820937871":{"id":"n1820937871","loc":[-85.6069102,41.9415577]},"n1820937872":{"id":"n1820937872","loc":[-85.3273875,41.9704908]},"n1820937873":{"id":"n1820937873","loc":[-85.3890891,41.9997983]},"n1820937875":{"id":"n1820937875","loc":[-85.5091276,41.9723705]},"n1820937876":{"id":"n1820937876","loc":[-85.0770626,42.1047696]},"n1820937877":{"id":"n1820937877","loc":[-85.612575,41.9419567]},"n1820937878":{"id":"n1820937878","loc":[-85.3868146,42.0036094]},"n1820937879":{"id":"n1820937879","loc":[-85.2722738,41.9981204]},"n1820937880":{"id":"n1820937880","loc":[-85.3064878,41.9723733]},"n1820937882":{"id":"n1820937882","loc":[-85.1270845,42.0727678]},"n1820937884":{"id":"n1820937884","loc":[-85.3316512,41.97923]},"n1820937885":{"id":"n1820937885","loc":[-85.3932519,42.0042472]},"n1820937886":{"id":"n1820937886","loc":[-85.2457411,42.0175444]},"n1820937887":{"id":"n1820937887","loc":[-85.1397509,42.0648415]},"n1820937891":{"id":"n1820937891","loc":[-85.3196735,41.9719665]},"n1820937892":{"id":"n1820937892","loc":[-85.3372473,41.9845033]},"n1820937894":{"id":"n1820937894","loc":[-85.3254778,41.9719745]},"n1820937897":{"id":"n1820937897","loc":[-85.3185148,41.9691268]},"n1820937899":{"id":"n1820937899","loc":[-85.5419106,41.9714556]},"n1820937901":{"id":"n1820937901","loc":[-85.3293509,41.9748368]},"n1820937903":{"id":"n1820937903","loc":[-85.0798078,42.1028365]},"n1820937905":{"id":"n1820937905","loc":[-85.3954191,42.0056025]},"n1820937909":{"id":"n1820937909","loc":[-85.3417534,41.9857155]},"n1820937913":{"id":"n1820937913","loc":[-84.9927822,42.0857107]},"n1820937915":{"id":"n1820937915","loc":[-85.5444212,41.9712801]},"n1820937917":{"id":"n1820937917","loc":[-85.259088,41.9981682]},"n1820937921":{"id":"n1820937921","loc":[-85.2784576,41.9876358]},"n1820937922":{"id":"n1820937922","loc":[-84.9971918,42.087753]},"n1820937924":{"id":"n1820937924","loc":[-85.5310688,41.966899]},"n1820937928":{"id":"n1820937928","loc":[-85.3766436,41.9979326]},"n1820937930":{"id":"n1820937930","loc":[-85.5494852,41.9704346]},"n1820937933":{"id":"n1820937933","loc":[-85.5548281,41.9695412]},"n1820937935":{"id":"n1820937935","loc":[-85.0768588,42.105088]},"n1820937937":{"id":"n1820937937","loc":[-85.2646885,41.9978054]},"n1820937939":{"id":"n1820937939","loc":[-85.2441532,42.0176082]},"n1820937941":{"id":"n1820937941","loc":[-85.105553,42.0877928]},"n1820937943":{"id":"n1820937943","loc":[-85.0879457,42.0958909]},"n1820937944":{"id":"n1820937944","loc":[-85.3187015,41.9704402]},"n1820937945":{"id":"n1820937945","loc":[-85.5624456,41.970626]},"n1820937946":{"id":"n1820937946","loc":[-85.0580176,42.1028644]},"n1820937948":{"id":"n1820937948","loc":[-85.3016061,41.9726286]},"n1820937949":{"id":"n1820937949","loc":[-85.4310388,42.0069418]},"n1820937950":{"id":"n1820937950","loc":[-85.2945144,41.9740723]},"n1820937951":{"id":"n1820937951","loc":[-85.1170222,42.082657]},"n1820937952":{"id":"n1820937952","loc":[-85.0864503,42.0947632]},"n1820937953":{"id":"n1820937953","loc":[-85.4285926,42.0059533]},"n1820937970":{"id":"n1820937970","loc":[-85.3629965,41.9938023]},"n1820937972":{"id":"n1820937972","loc":[-85.2438099,42.0199755]},"n1820937974":{"id":"n1820937974","loc":[-85.1327654,42.0699285]},"n1820937977":{"id":"n1820937977","loc":[-85.1515956,42.0611935]},"n1820937978":{"id":"n1820937978","loc":[-85.0107369,42.0896638]},"n1820937979":{"id":"n1820937979","loc":[-85.1152626,42.0862083]},"n1820937980":{"id":"n1820937980","loc":[-85.4531831,42.0062881]},"n1820937981":{"id":"n1820937981","loc":[-85.0341473,42.0985924]},"n1820937982":{"id":"n1820937982","loc":[-85.0877485,42.0960171]},"n1820937983":{"id":"n1820937983","loc":[-85.2756373,41.9951742]},"n1820937984":{"id":"n1820937984","loc":[-85.2965421,41.9714401]},"n1820937985":{"id":"n1820937985","loc":[-85.2409775,42.0226934]},"n1820937986":{"id":"n1820937986","loc":[-85.0170723,42.0900579]},"n1820937987":{"id":"n1820937987","loc":[-85.1034663,42.0880555]},"n1820937988":{"id":"n1820937988","loc":[-85.0585071,42.1031577]},"n1820937990":{"id":"n1820937990","loc":[-85.0819174,42.1032373]},"n1820937992":{"id":"n1820937992","loc":[-85.0546608,42.1030542]},"n1820937993":{"id":"n1820937993","loc":[-85.0100811,42.0906125]},"n1820937995":{"id":"n1820937995","loc":[-85.6304278,41.9432655]},"n1820937997":{"id":"n1820937997","loc":[-85.0255628,42.092778]},"n1820938011":{"id":"n1820938011","loc":[-85.2316756,42.0317146]},"n1820938012":{"id":"n1820938012","loc":[-85.4067917,42.008042]},"n1820938013":{"id":"n1820938013","loc":[-85.390398,42.0028759]},"n1820938014":{"id":"n1820938014","loc":[-85.0161604,42.0886527]},"n1820938015":{"id":"n1820938015","loc":[-85.125337,42.0744589]},"n1820938016":{"id":"n1820938016","loc":[-85.2151317,42.0404801]},"n1820938017":{"id":"n1820938017","loc":[-85.3165085,41.9706025]},"n1820938018":{"id":"n1820938018","loc":[-85.5641193,41.9640688]},"n1820938019":{"id":"n1820938019","loc":[-85.147583,42.0642203]},"n1820938022":{"id":"n1820938022","loc":[-85.2803781,41.9947886]},"n1820938024":{"id":"n1820938024","loc":[-85.2692469,41.9982053]},"n1820938026":{"id":"n1820938026","loc":[-85.4321975,42.0067505]},"n1820938028":{"id":"n1820938028","loc":[-85.572535,41.9633405]},"n1820938030":{"id":"n1820938030","loc":[-85.3237505,41.9716475]},"n1820938032":{"id":"n1820938032","loc":[-85.6487698,41.9141583]},"n1820938033":{"id":"n1820938033","loc":[-85.0526371,42.1038315]},"n1820938034":{"id":"n1820938034","loc":[-85.088069,42.0978731]},"n1820938035":{"id":"n1820938035","loc":[-85.2516312,42.0102267]},"n1820938039":{"id":"n1820938039","loc":[-85.2731374,41.9982958]},"n1820938040":{"id":"n1820938040","loc":[-85.5453224,41.9713439]},"n1820938041":{"id":"n1820938041","loc":[-85.4480548,42.0049647]},"n1820938043":{"id":"n1820938043","loc":[-85.2504081,42.010322]},"n1820938045":{"id":"n1820938045","loc":[-85.2663447,41.99919]},"n1820938046":{"id":"n1820938046","loc":[-85.0507287,42.102907]},"n1820938047":{"id":"n1820938047","loc":[-85.0408246,42.1024743]},"n1820938048":{"id":"n1820938048","loc":[-85.2796335,41.9866099]},"n1820938050":{"id":"n1820938050","loc":[-85.452475,42.0061127]},"n1820938051":{"id":"n1820938051","loc":[-85.2410569,42.0128147]},"n1820938052":{"id":"n1820938052","loc":[-85.0413302,42.1011477]},"n1820938053":{"id":"n1820938053","loc":[-85.6327409,41.9197627]},"n1820938056":{"id":"n1820938056","loc":[-85.1072039,42.0857994]},"n1820938057":{"id":"n1820938057","loc":[-85.2001114,42.0448145]},"n1820938058":{"id":"n1820938058","loc":[-85.2655347,41.9978186]},"n1820938059":{"id":"n1820938059","loc":[-85.2330918,42.0304874]},"n1820938060":{"id":"n1820938060","loc":[-85.2601113,41.9966545]},"n1820938061":{"id":"n1820938061","loc":[-85.5397863,41.9708494]},"n1820938062":{"id":"n1820938062","loc":[-85.2702085,41.9977217]},"n1820938063":{"id":"n1820938063","loc":[-85.2219982,42.03699]},"n1820938064":{"id":"n1820938064","loc":[-85.0668957,42.105121]},"n1820938065":{"id":"n1820938065","loc":[-85.2328665,42.0270769]},"n1820938066":{"id":"n1820938066","loc":[-85.3189654,41.9694778]},"n1820938067":{"id":"n1820938067","loc":[-85.3814115,42.0022915]},"n1820938068":{"id":"n1820938068","loc":[-85.2759108,41.9956008]},"n1820938069":{"id":"n1820938069","loc":[-85.0391938,42.1034853]},"n1820938070":{"id":"n1820938070","loc":[-85.2850623,41.9810353]},"n1820938071":{"id":"n1820938071","loc":[-85.538074,41.970855]},"n1820938073":{"id":"n1820938073","loc":[-85.1319661,42.0670932]},"n1820938074":{"id":"n1820938074","loc":[-85.2816763,41.9913678]},"n1820938075":{"id":"n1820938075","loc":[-85.3182144,41.9700282]},"n1820938076":{"id":"n1820938076","loc":[-85.5909028,41.9458989]},"n1820938077":{"id":"n1820938077","loc":[-85.4057617,42.0074361]},"n1820938078":{"id":"n1820938078","loc":[-85.2620438,41.9967729]},"n1820938079":{"id":"n1820938079","loc":[-85.1122143,42.0851107]},"n1820938080":{"id":"n1820938080","loc":[-85.2443785,42.0174567]},"n1820938081":{"id":"n1820938081","loc":[-85.0319733,42.0953853]},"n1820938082":{"id":"n1820938082","loc":[-85.0878276,42.09443]},"n1820938083":{"id":"n1820938083","loc":[-85.0271789,42.0935809]},"n1820938084":{"id":"n1820938084","loc":[-85.0326399,42.0974222]},"n1820938085":{"id":"n1820938085","loc":[-85.3989167,42.0065592]},"n1820938086":{"id":"n1820938086","loc":[-85.3263361,41.9721261]},"n1820938087":{"id":"n1820938087","loc":[-85.2547855,42.0037134]},"n1820938088":{"id":"n1820938088","loc":[-85.4373259,42.005746]},"n1820938089":{"id":"n1820938089","loc":[-85.3094275,41.9699245]},"n1820938090":{"id":"n1820938090","loc":[-85.2783246,41.9872793]},"n1820938092":{"id":"n1820938092","loc":[-85.0815633,42.1025169]},"n1820938093":{"id":"n1820938093","loc":[-85.1788511,42.0522134]},"n1820938095":{"id":"n1820938095","loc":[-85.2830345,41.9816733]},"n1820938096":{"id":"n1820938096","loc":[-85.0744984,42.1059835]},"n1820938097":{"id":"n1820938097","loc":[-85.2788396,41.9879333]},"n1820938098":{"id":"n1820938098","loc":[-85.3640093,41.9946531]},"n1820938099":{"id":"n1820938099","loc":[-85.291167,41.9787463]},"n1820938100":{"id":"n1820938100","loc":[-85.0772436,42.1038156]},"n1820938101":{"id":"n1820938101","loc":[-85.00563,42.0887482]},"n1820938102":{"id":"n1820938102","loc":[-85.0326881,42.0961245]},"n1820938104":{"id":"n1820938104","loc":[-85.0530448,42.1038634]},"n1820938105":{"id":"n1820938105","loc":[-85.2625266,41.9970639]},"n1820938106":{"id":"n1820938106","loc":[-85.2827556,41.9823512]},"n1820938107":{"id":"n1820938107","loc":[-85.2784319,41.9910752]},"n1820938108":{"id":"n1820938108","loc":[-85.0882099,42.094393]},"n1820938109":{"id":"n1820938109","loc":[-85.5718484,41.9645371]},"n1820938110":{"id":"n1820938110","loc":[-85.2559764,42.0099317]},"n1820938111":{"id":"n1820938111","loc":[-85.2969284,41.973179]},"n1820938113":{"id":"n1820938113","loc":[-85.3875055,42.0019726]},"n1820938114":{"id":"n1820938114","loc":[-85.4250779,42.0068199]},"n1820938115":{"id":"n1820938115","loc":[-85.0645367,42.104889]},"n1820938116":{"id":"n1820938116","loc":[-85.1636762,42.0623724]},"n1820938117":{"id":"n1820938117","loc":[-85.0757322,42.1055935]},"n1820938118":{"id":"n1820938118","loc":[-85.3695197,41.9981559]},"n1820938120":{"id":"n1820938120","loc":[-85.1297516,42.0671027]},"n1820938121":{"id":"n1820938121","loc":[-85.1057448,42.0875551]},"n1820938122":{"id":"n1820938122","loc":[-85.2805175,41.9943182]},"n1820938123":{"id":"n1820938123","loc":[-85.2545173,42.0040722]},"n1820938124":{"id":"n1820938124","loc":[-84.9966607,42.0871319]},"n1820938125":{"id":"n1820938125","loc":[-85.0099899,42.0904612]},"n1820938126":{"id":"n1820938126","loc":[-85.2489919,42.0091102]},"n1820938127":{"id":"n1820938127","loc":[-85.0342706,42.0979476]},"n1820938128":{"id":"n1820938128","loc":[-85.1080891,42.0855884]},"n1820938129":{"id":"n1820938129","loc":[-85.0128183,42.0905356]},"n1820938130":{"id":"n1820938130","loc":[-85.631608,41.9434251]},"n1820938131":{"id":"n1820938131","loc":[-85.2551975,42.0008524]},"n1820938132":{"id":"n1820938132","loc":[-85.6421823,41.9096233]},"n1820938133":{"id":"n1820938133","loc":[-85.0125059,42.0906284]},"n1820938134":{"id":"n1820938134","loc":[-85.5499358,41.9701793]},"n1820938135":{"id":"n1820938135","loc":[-85.5472107,41.9712323]},"n1820938136":{"id":"n1820938136","loc":[-85.2760758,41.9958691]},"n1820938137":{"id":"n1820938137","loc":[-85.276678,41.9960433]},"n1820938138":{"id":"n1820938138","loc":[-85.0570319,42.1024731]},"n1820938140":{"id":"n1820938140","loc":[-85.2394325,42.0227492]},"n1820938142":{"id":"n1820938142","loc":[-85.5666341,41.9638829]},"n1820938144":{"id":"n1820938144","loc":[-85.258101,41.9996353]},"n1820938147":{"id":"n1820938147","loc":[-85.2129645,42.0413565]},"n1820938149":{"id":"n1820938149","loc":[-84.9962369,42.0868373]},"n1820938151":{"id":"n1820938151","loc":[-85.2570386,42.0084968]},"n1820938153":{"id":"n1820938153","loc":[-85.3971142,42.0050285]},"n1820938155":{"id":"n1820938155","loc":[-85.1072093,42.0855566]},"n1820938157":{"id":"n1820938157","loc":[-85.2840323,41.9920959]},"n1820938159":{"id":"n1820938159","loc":[-85.1187924,42.0816458]},"n1820938161":{"id":"n1820938161","loc":[-85.2681324,41.9985788]},"n1820938163":{"id":"n1820938163","loc":[-85.0887034,42.0984969]},"n1820938165":{"id":"n1820938165","loc":[-85.4133405,42.0073141]},"n1820938166":{"id":"n1820938166","loc":[-85.0097445,42.0902888]},"n1820938167":{"id":"n1820938167","loc":[-85.0828133,42.1037388]},"n1820938168":{"id":"n1820938168","loc":[-85.0549599,42.1030833]},"n1820938169":{"id":"n1820938169","loc":[-85.4571528,42.0010421]},"n1820938178":{"id":"n1820938178","loc":[-85.2706644,41.9975941]},"n1820938180":{"id":"n1820938180","loc":[-85.2258606,42.0335794]},"n1820938182":{"id":"n1820938182","loc":[-85.2832276,41.9814659]},"n1820938184":{"id":"n1820938184","loc":[-85.1082299,42.0860928]},"n1820938185":{"id":"n1820938185","loc":[-85.3839392,42.0022381]},"n1820938186":{"id":"n1820938186","loc":[-85.2772131,41.995905]},"n1820938187":{"id":"n1820938187","loc":[-85.1044895,42.0879214]},"n1820938188":{"id":"n1820938188","loc":[-85.2135267,42.0407087]},"n1820938189":{"id":"n1820938189","loc":[-85.2543993,42.0044628]},"n1820938190":{"id":"n1820938190","loc":[-85.1501793,42.0617351]},"n1820938191":{"id":"n1820938191","loc":[-85.3350587,41.9820469]},"n1820938192":{"id":"n1820938192","loc":[-85.1350731,42.0655735]},"n1820938193":{"id":"n1820938193","loc":[-85.0404008,42.1028843]},"n1820938194":{"id":"n1820938194","loc":[-85.6323161,41.943042]},"n1820938195":{"id":"n1820938195","loc":[-85.1259593,42.0742837]},"n1820938196":{"id":"n1820938196","loc":[-85.4562988,42.0033758]},"n1820938197":{"id":"n1820938197","loc":[-85.256824,42.0056826]},"n1820938198":{"id":"n1820938198","loc":[-85.2742103,41.9963862]},"n1820938199":{"id":"n1820938199","loc":[-85.0380888,42.1037877]},"n1820938200":{"id":"n1820938200","loc":[-85.47404,41.9944721]},"n1820938201":{"id":"n1820938201","loc":[-85.103021,42.087948]},"n1820938202":{"id":"n1820938202","loc":[-85.4030151,42.0065113]},"n1820938203":{"id":"n1820938203","loc":[-85.2113981,42.040735]},"n1820938204":{"id":"n1820938204","loc":[-85.2603433,41.9965137]},"n1820938206":{"id":"n1820938206","loc":[-85.1669378,42.0607634]},"n1820938207":{"id":"n1820938207","loc":[-85.0642027,42.1046076]},"n1820938208":{"id":"n1820938208","loc":[-85.2812428,41.9915696]},"n1820938209":{"id":"n1820938209","loc":[-85.0839559,42.1038343]},"n1820938210":{"id":"n1820938210","loc":[-85.1239946,42.0769368]},"n1820938211":{"id":"n1820938211","loc":[-85.2311177,42.0283042]},"n1820938212":{"id":"n1820938212","loc":[-85.2791614,41.9882682]},"n1820938213":{"id":"n1820938213","loc":[-85.2674941,41.9987582]},"n1820938214":{"id":"n1820938214","loc":[-85.352787,41.9919579]},"n1820938215":{"id":"n1820938215","loc":[-85.0874146,42.0952182]},"n1820938216":{"id":"n1820938216","loc":[-85.0069711,42.0877092]},"n1820938217":{"id":"n1820938217","loc":[-85.2059049,42.0404004]},"n1820938218":{"id":"n1820938218","loc":[-85.2403552,42.0227332]},"n1820938219":{"id":"n1820938219","loc":[-85.2492923,42.0098915]},"n1820938220":{"id":"n1820938220","loc":[-85.269778,41.9979541]},"n1820938221":{"id":"n1820938221","loc":[-85.2097673,42.0389024]},"n1820938222":{"id":"n1820938222","loc":[-85.0845942,42.1032015]},"n1820938223":{"id":"n1820938223","loc":[-84.993206,42.0858142]},"n1820938224":{"id":"n1820938224","loc":[-85.2108187,42.0402729]},"n1820938225":{"id":"n1820938225","loc":[-84.9893959,42.0873043]},"n1820938226":{"id":"n1820938226","loc":[-85.2952332,41.9719984]},"n1820938227":{"id":"n1820938227","loc":[-85.4100961,42.0081536]},"n1820938228":{"id":"n1820938228","loc":[-85.3299088,41.9785696]},"n1820938229":{"id":"n1820938229","loc":[-85.2258176,42.0340097]},"n1820938230":{"id":"n1820938230","loc":[-85.3146739,41.9711449]},"n1820938231":{"id":"n1820938231","loc":[-85.5447645,41.9712801]},"n1820938232":{"id":"n1820938232","loc":[-85.5510087,41.9705941]},"n1820938233":{"id":"n1820938233","loc":[-85.5122389,41.9703445]},"n1820938234":{"id":"n1820938234","loc":[-85.2792687,41.9865381]},"n1820938235":{"id":"n1820938235","loc":[-85.1475229,42.0630151]},"n1820938237":{"id":"n1820938237","loc":[-85.0332889,42.0996034]},"n1820938238":{"id":"n1820938238","loc":[-85.2588882,41.9986877]},"n1820938239":{"id":"n1820938239","loc":[-85.0656458,42.1050892]},"n1820938240":{"id":"n1820938240","loc":[-84.9913915,42.086098]},"n1820938241":{"id":"n1820938241","loc":[-85.4752416,41.9944402]},"n1820938242":{"id":"n1820938242","loc":[-85.1214304,42.0791147]},"n1820938243":{"id":"n1820938243","loc":[-85.0075183,42.0886925]},"n1820938244":{"id":"n1820938244","loc":[-85.1052888,42.0872087]},"n1820938245":{"id":"n1820938245","loc":[-85.3104252,41.9703393]},"n1820938246":{"id":"n1820938246","loc":[-85.232109,42.0318158]},"n1820938247":{"id":"n1820938247","loc":[-85.0756075,42.1059528]},"n1820938248":{"id":"n1820938248","loc":[-85.0075612,42.0890866]},"n1820938249":{"id":"n1820938249","loc":[-85.1013312,42.0897474]},"n1820938250":{"id":"n1820938250","loc":[-85.1168076,42.0828919]},"n1820938251":{"id":"n1820938251","loc":[-85.2951367,41.9723334]},"n1820938252":{"id":"n1820938252","loc":[-85.0879363,42.0976053]},"n1820938253":{"id":"n1820938253","loc":[-85.0354763,42.1021838]},"n1820938254":{"id":"n1820938254","loc":[-85.2379627,42.0236339]},"n1820938255":{"id":"n1820938255","loc":[-85.1308245,42.0685364]},"n1820938256":{"id":"n1820938256","loc":[-85.0914446,42.0934774]},"n1820938257":{"id":"n1820938257","loc":[-85.2436812,42.014069]},"n1820938258":{"id":"n1820938258","loc":[-85.0682529,42.1056106]},"n1820938259":{"id":"n1820938259","loc":[-85.290652,41.9766805]},"n1820938260":{"id":"n1820938260","loc":[-85.0133494,42.0897434]},"n1820938261":{"id":"n1820938261","loc":[-85.2753047,41.9949429]},"n1820938262":{"id":"n1820938262","loc":[-85.0314691,42.0950788]},"n1820938263":{"id":"n1820938263","loc":[-85.3444786,41.9908359]},"n1820938264":{"id":"n1820938264","loc":[-85.0443115,42.1009061]},"n1820938265":{"id":"n1820938265","loc":[-85.0634853,42.1043159]},"n1820938267":{"id":"n1820938267","loc":[-85.3978223,42.0053952]},"n1820938268":{"id":"n1820938268","loc":[-85.0228659,42.0911885]},"n1820938269":{"id":"n1820938269","loc":[-85.0220237,42.0906272]},"n1820938270":{"id":"n1820938270","loc":[-85.1061525,42.0863369]},"n1820938271":{"id":"n1820938271","loc":[-85.2382309,42.0233708]},"n1820938272":{"id":"n1820938272","loc":[-85.310672,41.9702755]},"n1820938273":{"id":"n1820938273","loc":[-85.1448192,42.0652613]},"n1820938274":{"id":"n1820938274","loc":[-85.6036057,41.9403766]},"n1820938275":{"id":"n1820938275","loc":[-85.0778941,42.1032413]},"n1820938276":{"id":"n1820938276","loc":[-85.1279374,42.0723974]},"n1820938277":{"id":"n1820938277","loc":[-85.2806635,41.9847836]},"n1820938278":{"id":"n1820938278","loc":[-85.2653201,41.9976352]},"n1820938279":{"id":"n1820938279","loc":[-85.0351665,42.1001805]},"n1820938280":{"id":"n1820938280","loc":[-85.0718269,42.1056253]},"n1820938281":{"id":"n1820938281","loc":[-85.2574248,42.0075322]},"n1820938282":{"id":"n1820938282","loc":[-85.126666,42.0740778]},"n1820938283":{"id":"n1820938283","loc":[-85.077705,42.1034733]},"n1820938284":{"id":"n1820938284","loc":[-85.3535552,41.9919045]},"n1820938286":{"id":"n1820938286","loc":[-85.2810711,41.9866657]},"n1820938287":{"id":"n1820938287","loc":[-85.4567494,42.0019885]},"n1820938288":{"id":"n1820938288","loc":[-85.2642419,41.9992936]},"n1820938289":{"id":"n1820938289","loc":[-85.2643344,41.9980925]},"n1820938290":{"id":"n1820938290","loc":[-85.3270335,41.9776125]},"n1820938291":{"id":"n1820938291","loc":[-85.1200584,42.0795077]},"n1820938292":{"id":"n1820938292","loc":[-85.2290792,42.0340256]},"n1820938293":{"id":"n1820938293","loc":[-85.6015887,41.9401372]},"n1820938294":{"id":"n1820938294","loc":[-85.5370869,41.970488]},"n1820938295":{"id":"n1820938295","loc":[-85.3108866,41.9698048]},"n1820938297":{"id":"n1820938297","loc":[-85.1556511,42.0628184]},"n1820938298":{"id":"n1820938298","loc":[-85.0027922,42.0875221]},"n1820938300":{"id":"n1820938300","loc":[-85.3873338,42.0040614]},"n1820938301":{"id":"n1820938301","loc":[-85.0350753,42.1004034]},"n1820938302":{"id":"n1820938302","loc":[-85.6239476,41.9411906]},"n1820938304":{"id":"n1820938304","loc":[-85.0118246,42.0897964]},"n1820938306":{"id":"n1820938306","loc":[-85.4796877,41.995275]},"n1820938307":{"id":"n1820938307","loc":[-85.5388636,41.9707856]},"n1820938309":{"id":"n1820938309","loc":[-85.2971902,41.9727773]},"n1820938310":{"id":"n1820938310","loc":[-85.5426831,41.9715513]},"n1820938311":{"id":"n1820938311","loc":[-85.2798373,41.9836671]},"n1820938312":{"id":"n1820938312","loc":[-85.2432198,42.0104017]},"n1820938313":{"id":"n1820938313","loc":[-85.2650412,41.9987554]},"n1820938317":{"id":"n1820938317","loc":[-85.0015423,42.0882386]},"n1820938318":{"id":"n1820938318","loc":[-85.1409783,42.064879]},"n1820938319":{"id":"n1820938319","loc":[-85.1691908,42.058995]},"n1820938320":{"id":"n1820938320","loc":[-85.1059165,42.0864882]},"n1820938321":{"id":"n1820938321","loc":[-85.3664941,41.9965771]},"n1820938323":{"id":"n1820938323","loc":[-85.3143198,41.9710971]},"n1820938324":{"id":"n1820938324","loc":[-85.0016067,42.0880675]},"n1820938325":{"id":"n1820938325","loc":[-85.0148139,42.0887164]},"n1820938326":{"id":"n1820938326","loc":[-85.0324682,42.0959056]},"n1820938327":{"id":"n1820938327","loc":[-85.0898661,42.0939921]},"n1820938328":{"id":"n1820938328","loc":[-85.2556427,42.0004936]},"n1820938329":{"id":"n1820938329","loc":[-85.6287112,41.9407437]},"n1820938330":{"id":"n1820938330","loc":[-84.9913392,42.0866701]},"n1820938331":{"id":"n1820938331","loc":[-85.2685777,41.9984632]},"n1820938332":{"id":"n1820938332","loc":[-85.0078884,42.0901614]},"n1820938333":{"id":"n1820938333","loc":[-84.999642,42.0878616]},"n1820938334":{"id":"n1820938334","loc":[-85.0188909,42.0899186]},"n1820938335":{"id":"n1820938335","loc":[-85.2830238,41.9819843]},"n1820938336":{"id":"n1820938336","loc":[-85.2491421,42.0096204]},"n1820938337":{"id":"n1820938337","loc":[-85.0585701,42.1034295]},"n1820938338":{"id":"n1820938338","loc":[-85.0651965,42.1051636]},"n1820938339":{"id":"n1820938339","loc":[-85.0583944,42.104292]},"n1820938340":{"id":"n1820938340","loc":[-85.119876,42.0801567]},"n1820938341":{"id":"n1820938341","loc":[-85.0943937,42.0931323]},"n1820938342":{"id":"n1820938342","loc":[-85.1504583,42.0613209]},"n1820938343":{"id":"n1820938343","loc":[-85.0425426,42.1019836]},"n1820938345":{"id":"n1820938345","loc":[-84.9991391,42.0878206]},"n1820938346":{"id":"n1820938346","loc":[-85.2563841,42.0094614]},"n1820938347":{"id":"n1820938347","loc":[-85.0515387,42.103297]},"n1820938348":{"id":"n1820938348","loc":[-85.0857261,42.1003636]},"n1820938349":{"id":"n1820938349","loc":[-85.078971,42.1029241]},"n1820938350":{"id":"n1820938350","loc":[-85.5699558,41.958931]},"n1820938351":{"id":"n1820938351","loc":[-85.3181285,41.9696533]},"n1820938352":{"id":"n1820938352","loc":[-85.5998506,41.9402329]},"n1820938353":{"id":"n1820938353","loc":[-85.2567277,42.000317]},"n1820938354":{"id":"n1820938354","loc":[-85.3082795,41.9708338]},"n1820938355":{"id":"n1820938355","loc":[-85.3127856,41.9692784]},"n1820938356":{"id":"n1820938356","loc":[-85.0340775,42.1010721]},"n1820938357":{"id":"n1820938357","loc":[-85.3158111,41.9706583]},"n1820938359":{"id":"n1820938359","loc":[-85.2312035,42.0280412]},"n1820938360":{"id":"n1820938360","loc":[-85.2448613,42.018477]},"n1820938361":{"id":"n1820938361","loc":[-85.29077,41.9759068]},"n1820938364":{"id":"n1820938364","loc":[-85.3677387,41.9976615]},"n1820938365":{"id":"n1820938365","loc":[-85.0785204,42.1030355]},"n1820938366":{"id":"n1820938366","loc":[-85.2262039,42.0333722]},"n1820938367":{"id":"n1820938367","loc":[-85.1226011,42.0780902]},"n1820938368":{"id":"n1820938368","loc":[-85.3229673,41.971129]},"n1820938369":{"id":"n1820938369","loc":[-85.385334,42.0000056]},"n1820938370":{"id":"n1820938370","loc":[-85.000098,42.0879094]},"n1820938372":{"id":"n1820938372","loc":[-85.3852481,42.0025091]},"n1820938373":{"id":"n1820938373","loc":[-85.3770513,41.9982515]},"n1820938374":{"id":"n1820938374","loc":[-85.6278314,41.9405362]},"n1820938375":{"id":"n1820938375","loc":[-85.6355133,41.9344068]},"n1820938376":{"id":"n1820938376","loc":[-85.635642,41.9324753]},"n1820938377":{"id":"n1820938377","loc":[-85.3154463,41.970778]},"n1820938378":{"id":"n1820938378","loc":[-85.0920334,42.093411]},"n1820938379":{"id":"n1820938379","loc":[-85.3269155,41.9722297]},"n1820938381":{"id":"n1820938381","loc":[-85.1134334,42.0849184]},"n1820938382":{"id":"n1820938382","loc":[-85.005968,42.088585]},"n1820938384":{"id":"n1820938384","loc":[-85.1245203,42.0757183]},"n1820938385":{"id":"n1820938385","loc":[-85.020704,42.0905396]},"n1820938386":{"id":"n1820938386","loc":[-85.119585,42.0808984]},"n1820938387":{"id":"n1820938387","loc":[-85.0072447,42.0880117]},"n1820938388":{"id":"n1820938388","loc":[-85.2742908,41.9960273]},"n1820938389":{"id":"n1820938389","loc":[-85.3275807,41.9696852]},"n1820938390":{"id":"n1820938390","loc":[-85.2385635,42.0231556]},"n1820938392":{"id":"n1820938392","loc":[-85.0202856,42.0900778]},"n1820938393":{"id":"n1820938393","loc":[-85.2067847,42.0395398]},"n1820938394":{"id":"n1820938394","loc":[-85.5183544,41.9713495]},"n1820938396":{"id":"n1820938396","loc":[-85.5073037,41.9736787]},"n1820938397":{"id":"n1820938397","loc":[-85.2519638,42.0114225]},"n1820938398":{"id":"n1820938398","loc":[-85.287487,41.9793285]},"n1820938399":{"id":"n1820938399","loc":[-85.2298088,42.0336431]},"n1820938400":{"id":"n1820938400","loc":[-85.229444,42.0339141]},"n1820938401":{"id":"n1820938401","loc":[-85.2421791,42.0220239]},"n1820938402":{"id":"n1820938402","loc":[-85.2976687,41.9737612]},"n1820938403":{"id":"n1820938403","loc":[-85.3622069,41.993473]},"n1820938404":{"id":"n1820938404","loc":[-85.2465458,42.014906]},"n1820938405":{"id":"n1820938405","loc":[-85.5724663,41.9639412]},"n1820938406":{"id":"n1820938406","loc":[-85.3708501,41.9982037]},"n1820938408":{"id":"n1820938408","loc":[-85.2564592,42.0055311]},"n1820938409":{"id":"n1820938409","loc":[-85.1192846,42.0810856]},"n1820938410":{"id":"n1820938410","loc":[-85.5623812,41.971663]},"n1820938411":{"id":"n1820938411","loc":[-85.3221948,41.9719665]},"n1820938412":{"id":"n1820938412","loc":[-85.5168738,41.9710305]},"n1820938413":{"id":"n1820938413","loc":[-85.4546852,42.0061127]},"n1820938414":{"id":"n1820938414","loc":[-85.5896153,41.9463617]},"n1820938415":{"id":"n1820938415","loc":[-85.2978189,41.9722138]},"n1820938416":{"id":"n1820938416","loc":[-85.1021681,42.0883581]},"n1820938417":{"id":"n1820938417","loc":[-85.2797193,41.9912984]},"n1820938419":{"id":"n1820938419","loc":[-85.2362461,42.0248533]},"n1820938420":{"id":"n1820938420","loc":[-85.4833639,41.9846252]},"n1820938422":{"id":"n1820938422","loc":[-85.3281064,41.9689433]},"n1820938424":{"id":"n1820938424","loc":[-85.2416963,42.0130088]},"n1820938425":{"id":"n1820938425","loc":[-85.5718655,41.9564577]},"n1820938426":{"id":"n1820938426","loc":[-85.0512812,42.1030701]},"n1820938427":{"id":"n1820938427","loc":[-85.1273527,42.0723616]},"n1820938428":{"id":"n1820938428","loc":[-85.0215033,42.0904083]},"n1820938429":{"id":"n1820938429","loc":[-85.6169953,41.942228]},"n1820938430":{"id":"n1820938430","loc":[-85.2829165,41.9907243]},"n1820938431":{"id":"n1820938431","loc":[-85.2240796,42.0374203]},"n1820938432":{"id":"n1820938432","loc":[-85.0167598,42.0898442]},"n1820938433":{"id":"n1820938433","loc":[-85.2132649,42.0411334]},"n1820938434":{"id":"n1820938434","loc":[-85.2293839,42.031513]},"n1820938435":{"id":"n1820938435","loc":[-85.1203374,42.0792608]},"n1820938436":{"id":"n1820938436","loc":[-85.109571,42.086268]},"n1820938437":{"id":"n1820938437","loc":[-85.1079026,42.0853842]},"n1820938438":{"id":"n1820938438","loc":[-85.109237,42.0862413]},"n1820938439":{"id":"n1820938439","loc":[-85.2259936,42.0350831]},"n1820938440":{"id":"n1820938440","loc":[-85.3669705,41.99679]},"n1820938441":{"id":"n1820938441","loc":[-85.2418143,42.0223507]},"n1820938442":{"id":"n1820938442","loc":[-85.3101248,41.9702515]},"n1820938443":{"id":"n1820938443","loc":[-85.069315,42.1059688]},"n1820938444":{"id":"n1820938444","loc":[-85.205862,42.0410378]},"n1820938445":{"id":"n1820938445","loc":[-85.0388076,42.1036604]},"n1820938446":{"id":"n1820938446","loc":[-85.2225389,42.0370115]},"n1820938447":{"id":"n1820938447","loc":[-85.3241474,41.9719346]},"n1820938448":{"id":"n1820938448","loc":[-85.3125496,41.9690789]},"n1820938449":{"id":"n1820938449","loc":[-85.1146497,42.0857039]},"n1820938450":{"id":"n1820938450","loc":[-85.1333944,42.0714963]},"n1820938451":{"id":"n1820938451","loc":[-85.5619306,41.9720937]},"n1820938452":{"id":"n1820938452","loc":[-85.2553651,42.0006479]},"n1820938453":{"id":"n1820938453","loc":[-85.3151137,41.9710093]},"n1820938454":{"id":"n1820938454","loc":[-85.2592315,41.9977947]},"n1820938455":{"id":"n1820938455","loc":[-85.2655723,41.9995966]},"n1820938456":{"id":"n1820938456","loc":[-85.4820652,41.9959233]},"n1820938459":{"id":"n1820938459","loc":[-85.450737,42.0055068]},"n1820938460":{"id":"n1820938460","loc":[-85.2428658,42.0205573]},"n1820938461":{"id":"n1820938461","loc":[-85.0835576,42.1021559]},"n1820938462":{"id":"n1820938462","loc":[-85.244636,42.0194733]},"n1820938463":{"id":"n1820938463","loc":[-85.5702562,41.9581332]},"n1820938465":{"id":"n1820938465","loc":[-85.5680031,41.9659515]},"n1820938467":{"id":"n1820938467","loc":[-85.2798752,41.9948353]},"n1820938468":{"id":"n1820938468","loc":[-85.0477407,42.1015537]},"n1820938469":{"id":"n1820938469","loc":[-85.6403842,41.913732]},"n1820938470":{"id":"n1820938470","loc":[-85.0396029,42.103289]},"n1820938471":{"id":"n1820938471","loc":[-85.2824702,41.9907777]},"n1820938472":{"id":"n1820938472","loc":[-85.2969284,41.9735538]},"n1820938474":{"id":"n1820938474","loc":[-85.401041,42.0070853]},"n1820938475":{"id":"n1820938475","loc":[-85.4116625,42.0073883]},"n1820938476":{"id":"n1820938476","loc":[-85.0437764,42.1016214]},"n1820938477":{"id":"n1820938477","loc":[-85.3643269,41.9958436]},"n1820938478":{"id":"n1820938478","loc":[-85.3895182,42.0009465]},"n1820938479":{"id":"n1820938479","loc":[-85.636157,41.9333373]},"n1820938480":{"id":"n1820938480","loc":[-85.2811355,41.9858044]},"n1820938481":{"id":"n1820938481","loc":[-85.0239052,42.092153]},"n1820938482":{"id":"n1820938482","loc":[-85.2558798,42.0053557]},"n1820938483":{"id":"n1820938483","loc":[-85.2544422,42.0047339]},"n1820938484":{"id":"n1820938484","loc":[-85.4864683,41.9843183]},"n1820938485":{"id":"n1820938485","loc":[-85.2554185,42.0031075]},"n1820938486":{"id":"n1820938486","loc":[-85.3082795,41.9712486]},"n1820938487":{"id":"n1820938487","loc":[-85.2433378,42.0133436]},"n1820938488":{"id":"n1820938488","loc":[-85.0216696,42.0904162]},"n1820938489":{"id":"n1820938489","loc":[-85.2546138,42.0050289]},"n1820938490":{"id":"n1820938490","loc":[-85.2717521,41.9977349]},"n1820938491":{"id":"n1820938491","loc":[-85.0100489,42.0908195]},"n1820938492":{"id":"n1820938492","loc":[-85.207879,42.0392211]},"n1820938493":{"id":"n1820938493","loc":[-85.0007363,42.0882836]},"n1820938494":{"id":"n1820938494","loc":[-85.5775303,41.9504097]},"n1820938495":{"id":"n1820938495","loc":[-85.1131584,42.0847683]},"n1820938496":{"id":"n1820938496","loc":[-85.0887825,42.0941633]},"n1820938497":{"id":"n1820938497","loc":[-85.1185926,42.0818938]},"n1820938498":{"id":"n1820938498","loc":[-85.2748487,41.9948712]},"n1820938499":{"id":"n1820938499","loc":[-85.2566952,42.0090788]},"n1820938500":{"id":"n1820938500","loc":[-85.0774757,42.1036234]},"n1820938501":{"id":"n1820938501","loc":[-85.4190869,42.008903]},"n1820938502":{"id":"n1820938502","loc":[-85.1140395,42.0850577]},"n1820938503":{"id":"n1820938503","loc":[-85.1136104,42.0848627]},"n1820938504":{"id":"n1820938504","loc":[-85.5828089,41.9480638]},"n1820938505":{"id":"n1820938505","loc":[-85.625514,41.9405202]},"n1820938506":{"id":"n1820938506","loc":[-85.2063384,42.0398322]},"n1820938507":{"id":"n1820938507","loc":[-85.3395476,41.9851636]},"n1820938508":{"id":"n1820938508","loc":[-85.0328853,42.0963606]},"n1820938510":{"id":"n1820938510","loc":[-85.1170369,42.0843702]},"n1820938511":{"id":"n1820938511","loc":[-85.2784748,41.9868487]},"n1820938512":{"id":"n1820938512","loc":[-85.6310501,41.9435528]},"n1820938514":{"id":"n1820938514","loc":[-85.0334284,42.0981028]},"n1820938515":{"id":"n1820938515","loc":[-84.9912091,42.0868226]},"n1820938516":{"id":"n1820938516","loc":[-85.2806141,41.9940351]},"n1820938517":{"id":"n1820938517","loc":[-85.1233025,42.0776734]},"n1820938518":{"id":"n1820938518","loc":[-85.2047891,42.0429023]},"n1820938519":{"id":"n1820938519","loc":[-85.1475443,42.0648312]},"n1820938520":{"id":"n1820938520","loc":[-85.2644685,41.9990891]},"n1820938521":{"id":"n1820938521","loc":[-85.1056281,42.0872553]},"n1820938522":{"id":"n1820938522","loc":[-85.4813184,41.9930105]},"n1820938523":{"id":"n1820938523","loc":[-85.321551,41.9722936]},"n1820938524":{"id":"n1820938524","loc":[-85.1564664,42.0631211]},"n1820938525":{"id":"n1820938525","loc":[-85.4149885,42.0079144]},"n1820938527":{"id":"n1820938527","loc":[-85.2861888,41.9803653]},"n1820938528":{"id":"n1820938528","loc":[-85.1301379,42.0682178]},"n1820938529":{"id":"n1820938529","loc":[-85.4156537,42.0084247]},"n1820938530":{"id":"n1820938530","loc":[-85.245151,42.0176082]},"n1820938531":{"id":"n1820938531","loc":[-85.457818,42.0001651]},"n1820938532":{"id":"n1820938532","loc":[-85.310951,41.9694538]},"n1820938533":{"id":"n1820938533","loc":[-85.1509089,42.0611298]},"n1820938534":{"id":"n1820938534","loc":[-85.1108249,42.086321]},"n1820938535":{"id":"n1820938535","loc":[-85.1260344,42.0740687]},"n1820938536":{"id":"n1820938536","loc":[-85.4561228,42.0042791]},"n1820938537":{"id":"n1820938537","loc":[-85.2805082,41.9945761]},"n1820938538":{"id":"n1820938538","loc":[-85.273352,41.9981921]},"n1820938539":{"id":"n1820938539","loc":[-85.1084216,42.0864364]},"n1820938540":{"id":"n1820938540","loc":[-85.5009737,41.9773637]},"n1820938541":{"id":"n1820938541","loc":[-85.3960843,42.0051879]},"n1820938542":{"id":"n1820938542","loc":[-85.3425088,41.9865034]},"n1820938545":{"id":"n1820938545","loc":[-84.9937907,42.0860849]},"n1820938546":{"id":"n1820938546","loc":[-85.1084176,42.086065]},"n1820938547":{"id":"n1820938547","loc":[-85.3492851,41.9924786]},"n1820938548":{"id":"n1820938548","loc":[-85.2512235,42.0101147]},"n1820938549":{"id":"n1820938549","loc":[-85.3717298,41.9979326]},"n1820938551":{"id":"n1820938551","loc":[-85.2573712,42.0064081]},"n1820938552":{"id":"n1820938552","loc":[-85.2514596,42.010139]},"n1820938553":{"id":"n1820938553","loc":[-85.416512,42.0088073]},"n1820938554":{"id":"n1820938554","loc":[-85.4365964,42.0061606]},"n1820938555":{"id":"n1820938555","loc":[-85.4552431,42.0057301]},"n1820938556":{"id":"n1820938556","loc":[-85.2916283,41.9778769]},"n1820938557":{"id":"n1820938557","loc":[-85.100709,42.0902968]},"n1820938558":{"id":"n1820938558","loc":[-85.4703064,41.9965771]},"n1820938559":{"id":"n1820938559","loc":[-85.3134722,41.9696134]},"n1820938560":{"id":"n1820938560","loc":[-85.4834213,41.9885768]},"n1820938561":{"id":"n1820938561","loc":[-85.2740641,41.9975236]},"n1820938562":{"id":"n1820938562","loc":[-85.148334,42.0623405]},"n1820938563":{"id":"n1820938563","loc":[-85.2358598,42.0263675]},"n1820938565":{"id":"n1820938565","loc":[-85.2902979,41.9790892]},"n1820938566":{"id":"n1820938566","loc":[-85.2528865,42.0112869]},"n1820938567":{"id":"n1820938567","loc":[-85.2595319,41.9973003]},"n1820938568":{"id":"n1820938568","loc":[-85.071151,42.105689]},"n1820938570":{"id":"n1820938570","loc":[-85.299278,41.9732188]},"n1820938571":{"id":"n1820938571","loc":[-85.0354669,42.1024771]},"n1820938583":{"id":"n1820938583","loc":[-85.3313937,41.972562]},"n1820938585":{"id":"n1820938585","loc":[-85.0756933,42.1058334]},"n1820938587":{"id":"n1820938587","loc":[-85.3130324,41.9694219]},"n1820938590":{"id":"n1820938590","loc":[-85.0934227,42.0931681]},"n1820938592":{"id":"n1820938592","loc":[-85.3517956,41.9922553]},"n1820938593":{"id":"n1820938593","loc":[-85.4023971,42.0065169]},"n1820938594":{"id":"n1820938594","loc":[-85.3506798,41.9925583]},"n1820938595":{"id":"n1820938595","loc":[-85.3673524,41.9971193]},"n1820938596":{"id":"n1820938596","loc":[-85.1073608,42.0853523]},"n1820938597":{"id":"n1820938597","loc":[-85.2976579,41.972477]},"n1820938598":{"id":"n1820938598","loc":[-85.5616517,41.9694295]},"n1820938599":{"id":"n1820938599","loc":[-85.3552074,41.9921915]},"n1820938600":{"id":"n1820938600","loc":[-85.4665126,41.9999953]},"n1820938601":{"id":"n1820938601","loc":[-85.2740695,41.9966226]},"n1820938602":{"id":"n1820938602","loc":[-85.279376,41.9886669]},"n1820938603":{"id":"n1820938603","loc":[-85.0771109,42.1040413]},"n1820938604":{"id":"n1820938604","loc":[-85.2636049,41.9977895]},"n1820938605":{"id":"n1820938605","loc":[-85.3762145,41.9976456]},"n1820938606":{"id":"n1820938606","loc":[-85.2321369,42.0289577]},"n1820938620":{"id":"n1820938620","loc":[-85.4947724,41.9776189]},"n1820938622":{"id":"n1820938622","loc":[-85.1547069,42.0622768]},"n1820938624":{"id":"n1820938624","loc":[-85.0005056,42.0880249]},"n1820938626":{"id":"n1820938626","loc":[-85.0735596,42.1059357]},"n1820938628":{"id":"n1820938628","loc":[-85.4665298,41.99932]},"n1820938629":{"id":"n1820938629","loc":[-85.434515,42.0065273]},"n1820938630":{"id":"n1820938630","loc":[-85.117462,42.0823823]},"n1820938631":{"id":"n1820938631","loc":[-85.0131777,42.0890707]},"n1820938632":{"id":"n1820938632","loc":[-85.0875326,42.0961934]},"n1820938634":{"id":"n1820938634","loc":[-85.6433839,41.9112042]},"n1820938635":{"id":"n1820938635","loc":[-85.1366181,42.064969]},"n1820938636":{"id":"n1820938636","loc":[-85.073109,42.1057925]},"n1820938638":{"id":"n1820938638","loc":[-85.161406,42.0632541]},"n1820938640":{"id":"n1820938640","loc":[-85.6343932,41.9188845]},"n1820938642":{"id":"n1820938642","loc":[-85.2500004,42.010306]},"n1820938644":{"id":"n1820938644","loc":[-85.291918,41.9753166]},"n1820938663":{"id":"n1820938663","loc":[-85.2841611,41.9916812]},"n1820938664":{"id":"n1820938664","loc":[-85.1052955,42.0868134]},"n1820938665":{"id":"n1820938665","loc":[-85.4606118,42.0005534]},"n1820938666":{"id":"n1820938666","loc":[-85.5672736,41.9642922]},"n1820938667":{"id":"n1820938667","loc":[-85.6348481,41.9316932]},"n1820938668":{"id":"n1820938668","loc":[-85.0224904,42.0909576]},"n1820938669":{"id":"n1820938669","loc":[-85.0133856,42.0899755]},"n1820938670":{"id":"n1820938670","loc":[-85.344779,41.991139]},"n1820938671":{"id":"n1820938671","loc":[-85.632874,41.9425313]},"n1820938673":{"id":"n1820938673","loc":[-85.4941501,41.9779698]},"n1820938675":{"id":"n1820938675","loc":[-85.0862559,42.0997519]},"n1820938676":{"id":"n1820938676","loc":[-85.0097874,42.0898032]},"n1820938678":{"id":"n1820938678","loc":[-84.9913553,42.0863675]},"n1820938680":{"id":"n1820938680","loc":[-85.0533666,42.1038315]},"n1820938682":{"id":"n1820938682","loc":[-85.2950294,41.9743914]},"n1820938684":{"id":"n1820938684","loc":[-85.2517385,42.0104499]},"n1820938686":{"id":"n1820938686","loc":[-85.0247971,42.0922514]},"n1820938688":{"id":"n1820938688","loc":[-85.0807037,42.1026017]},"n1820938690":{"id":"n1820938690","loc":[-85.52462,41.9722748]},"n1820938694":{"id":"n1820938694","loc":[-85.2586535,41.9988818]},"n1820938695":{"id":"n1820938695","loc":[-85.0931612,42.092948]},"n1820938697":{"id":"n1820938697","loc":[-85.2470822,42.016564]},"n1820938698":{"id":"n1820938698","loc":[-85.4143018,42.0075158]},"n1820938699":{"id":"n1820938699","loc":[-85.0771484,42.104487]},"n1820938700":{"id":"n1820938700","loc":[-85.0291208,42.0942775]},"n1820938701":{"id":"n1820938701","loc":[-85.6367964,41.9185971]},"n1820938702":{"id":"n1820938702","loc":[-85.085419,42.1010693]},"n1820938703":{"id":"n1820938703","loc":[-85.0583877,42.1040584]},"n1820938705":{"id":"n1820938705","loc":[-85.2573379,42.0003182]},"n1820938706":{"id":"n1820938706","loc":[-85.2655937,41.9981575]},"n1820938707":{"id":"n1820938707","loc":[-85.023181,42.0915758]},"n1820938708":{"id":"n1820938708","loc":[-85.2318687,42.0274674]},"n1820938709":{"id":"n1820938709","loc":[-85.1056389,42.0866184]},"n1820938710":{"id":"n1820938710","loc":[-85.5276265,41.9700978]},"n1820938711":{"id":"n1820938711","loc":[-85.0864128,42.0945761]},"n1820938712":{"id":"n1820938712","loc":[-84.9897071,42.0871888]},"n1820938714":{"id":"n1820938714","loc":[-85.1328845,42.0665611]},"n1820938715":{"id":"n1820938715","loc":[-85.0336537,42.0991377]},"n1820938716":{"id":"n1820938716","loc":[-85.087597,42.0986692]},"n1820938717":{"id":"n1820938717","loc":[-85.1241394,42.0761882]},"n1820938718":{"id":"n1820938718","loc":[-85.1176002,42.0847723]},"n1820938719":{"id":"n1820938719","loc":[-85.2423615,42.0216572]},"n1820938721":{"id":"n1820938721","loc":[-85.2196378,42.0387908]},"n1820938722":{"id":"n1820938722","loc":[-85.0164272,42.0890082]},"n1820938723":{"id":"n1820938723","loc":[-85.5917182,41.9451807]},"n1820938724":{"id":"n1820938724","loc":[-85.2458806,42.0086638]},"n1820938725":{"id":"n1820938725","loc":[-85.1264474,42.0740527]},"n1820938726":{"id":"n1820938726","loc":[-85.1961631,42.04738]},"n1820938727":{"id":"n1820938727","loc":[-85.2784643,41.9943648]},"n1820938728":{"id":"n1820938728","loc":[-85.2905554,41.9763216]},"n1820938729":{"id":"n1820938729","loc":[-85.2913386,41.9771511]},"n1820938730":{"id":"n1820938730","loc":[-85.0112519,42.0895683]},"n1820938732":{"id":"n1820938732","loc":[-85.4290261,42.0064531]},"n1820938733":{"id":"n1820938733","loc":[-85.3867073,42.0031629]},"n1820938734":{"id":"n1820938734","loc":[-85.4943647,41.9836005]},"n1820938735":{"id":"n1820938735","loc":[-85.4900303,41.9860728]},"n1820938736":{"id":"n1820938736","loc":[-85.0866153,42.0944539]},"n1820938737":{"id":"n1820938737","loc":[-85.0869532,42.0990911]},"n1820938738":{"id":"n1820938738","loc":[-85.6321659,41.9208851]},"n1820938739":{"id":"n1820938739","loc":[-85.5930485,41.9433453]},"n1820938740":{"id":"n1820938740","loc":[-85.0406851,42.102733]},"n1820938741":{"id":"n1820938741","loc":[-85.1051131,42.0869846]},"n1820938742":{"id":"n1820938742","loc":[-85.1377554,42.0648893]},"n1820938743":{"id":"n1820938743","loc":[-85.2795694,41.994604]},"n1820938745":{"id":"n1820938745","loc":[-85.4948153,41.9826594]},"n1820938746":{"id":"n1820938746","loc":[-85.4488916,42.0050923]},"n1820938747":{"id":"n1820938747","loc":[-85.1052526,42.0866144]},"n1820938748":{"id":"n1820938748","loc":[-85.1468749,42.0653991]},"n1820938749":{"id":"n1820938749","loc":[-85.0856886,42.1006104]},"n1820938750":{"id":"n1820938750","loc":[-85.2144022,42.0404004]},"n1820938751":{"id":"n1820938751","loc":[-85.277771,41.9907458]},"n1820938752":{"id":"n1820938752","loc":[-85.1474542,42.0636149]},"n1820938753":{"id":"n1820938753","loc":[-85.0820515,42.1028075]},"n1820938754":{"id":"n1820938754","loc":[-85.1122948,42.08525]},"n1820938756":{"id":"n1820938756","loc":[-85.0173352,42.0901933]},"n1820938757":{"id":"n1820938757","loc":[-85.2259721,42.0354018]},"n1820938758":{"id":"n1820938758","loc":[-85.0872389,42.0987795]},"n1820938759":{"id":"n1820938759","loc":[-85.2291436,42.031874]},"n1820938760":{"id":"n1820938760","loc":[-85.3802485,42.0016002]},"n1820938761":{"id":"n1820938761","loc":[-85.3945822,42.0057938]},"n1820938762":{"id":"n1820938762","loc":[-85.5273237,41.9713017]},"n1820938763":{"id":"n1820938763","loc":[-85.2868862,41.9798629]},"n1820938764":{"id":"n1820938764","loc":[-85.2516677,42.0107899]},"n1820938766":{"id":"n1820938766","loc":[-85.3183002,41.9693103]},"n1820938768":{"id":"n1820938768","loc":[-85.2159042,42.0401932]},"n1820938770":{"id":"n1820938770","loc":[-85.0094481,42.0911141]},"n1820938771":{"id":"n1820938771","loc":[-85.0244538,42.0922155]},"n1820938772":{"id":"n1820938772","loc":[-85.231697,42.028862]},"n1820938773":{"id":"n1820938773","loc":[-85.2102394,42.0390617]},"n1820938774":{"id":"n1820938774","loc":[-85.2463419,42.0151212]},"n1820938775":{"id":"n1820938775","loc":[-85.0726195,42.1056424]},"n1820938776":{"id":"n1820938776","loc":[-85.0060431,42.0883262]},"n1820938778":{"id":"n1820938778","loc":[-85.425889,42.0056982]},"n1820938779":{"id":"n1820938779","loc":[-85.1183042,42.0820638]},"n1820938780":{"id":"n1820938780","loc":[-85.441596,42.0058257]},"n1820938781":{"id":"n1820938781","loc":[-85.1124879,42.0847086]},"n1820938782":{"id":"n1820938782","loc":[-85.2452733,42.0153894]},"n1820938783":{"id":"n1820938783","loc":[-85.2741191,41.9969244]},"n1820938784":{"id":"n1820938784","loc":[-85.2829487,41.9822236]},"n1820938785":{"id":"n1820938785","loc":[-85.3202743,41.972142]},"n1820938786":{"id":"n1820938786","loc":[-85.2345402,42.0266465]},"n1820938787":{"id":"n1820938787","loc":[-85.3037626,41.9724611]},"n1820938789":{"id":"n1820938789","loc":[-85.2474792,42.0161973]},"n1820938790":{"id":"n1820938790","loc":[-85.2951045,41.9727323]},"n1820938791":{"id":"n1820938791","loc":[-85.322345,41.9712726]},"n1820938792":{"id":"n1820938792","loc":[-85.2402372,42.0110394]},"n1820938793":{"id":"n1820938793","loc":[-85.5135693,41.9698659]},"n1820938794":{"id":"n1820938794","loc":[-85.4695339,41.9967366]},"n1820938796":{"id":"n1820938796","loc":[-85.0418492,42.1011131]},"n1820938797":{"id":"n1820938797","loc":[-85.3334107,41.9806337]},"n1820938798":{"id":"n1820938798","loc":[-85.5625314,41.9711685]},"n1820938799":{"id":"n1820938799","loc":[-85.3755707,41.9973585]},"n1820938800":{"id":"n1820938800","loc":[-85.5227532,41.9722429]},"n1820938801":{"id":"n1820938801","loc":[-85.4267687,42.0052836]},"n1820938803":{"id":"n1820938803","loc":[-85.0284704,42.0940837]},"n1820938804":{"id":"n1820938804","loc":[-85.015585,42.0885305]},"n1820938805":{"id":"n1820938805","loc":[-85.0765905,42.1053865]},"n1820938806":{"id":"n1820938806","loc":[-85.2614953,41.9964551]},"n1820938808":{"id":"n1820938808","loc":[-85.0307355,42.0947313]},"n1820938810":{"id":"n1820938810","loc":[-85.3894753,42.0003565]},"n1820938812":{"id":"n1820938812","loc":[-85.0868848,42.095006]},"n1820938813":{"id":"n1820938813","loc":[-85.3854198,42.0009465]},"n1820938814":{"id":"n1820938814","loc":[-85.2659692,41.9993534]},"n1820938815":{"id":"n1820938815","loc":[-85.1234259,42.0765266]},"n1820938816":{"id":"n1820938816","loc":[-85.1426906,42.0648893]},"n1820938818":{"id":"n1820938818","loc":[-85.1014533,42.0893067]},"n1820938819":{"id":"n1820938819","loc":[-85.0883064,42.098067]},"n1820938820":{"id":"n1820938820","loc":[-85.0503156,42.102704]},"n1820938821":{"id":"n1820938821","loc":[-85.1179649,42.0821884]},"n1820938822":{"id":"n1820938822","loc":[-85.3484697,41.9921596]},"n1820938823":{"id":"n1820938823","loc":[-85.3732962,41.9970874]},"n1820938824":{"id":"n1820938824","loc":[-85.2784104,41.9898312]},"n1820938825":{"id":"n1820938825","loc":[-85.4441709,42.0052198]},"n1820938826":{"id":"n1820938826","loc":[-85.3925438,42.0038326]},"n1820938829":{"id":"n1820938829","loc":[-85.5717582,41.9621861]},"n1820938830":{"id":"n1820938830","loc":[-85.0866314,42.0995051]},"n1820938831":{"id":"n1820938831","loc":[-85.576672,41.9522769]},"n1820938832":{"id":"n1820938832","loc":[-85.1587238,42.0636205]},"n1820938833":{"id":"n1820938833","loc":[-85.3804245,41.9999155]},"n1820938834":{"id":"n1820938834","loc":[-85.280083,41.9948843]},"n1820938836":{"id":"n1820938836","loc":[-85.561892,41.9686693]},"n1820938837":{"id":"n1820938837","loc":[-85.0158975,42.0885253]},"n1820938838":{"id":"n1820938838","loc":[-85.4248204,42.007633]},"n1820938839":{"id":"n1820938839","loc":[-85.0352738,42.1039657]},"n1820938840":{"id":"n1820938840","loc":[-85.211956,42.0411812]},"n1820938841":{"id":"n1820938841","loc":[-85.4816575,41.9908997]},"n1820938842":{"id":"n1820938842","loc":[-85.3807635,42.0020308]},"n1820938843":{"id":"n1820938843","loc":[-85.0100865,42.0898521]},"n1820938844":{"id":"n1820938844","loc":[-85.0103936,42.0897434]},"n1820938848":{"id":"n1820938848","loc":[-85.2430052,42.0131363]},"n1820938849":{"id":"n1820938849","loc":[-85.112559,42.0853723]},"n1820938851":{"id":"n1820938851","loc":[-85.3641553,41.9952535]},"n1820938852":{"id":"n1820938852","loc":[-85.2087373,42.0390777]},"n1820938853":{"id":"n1820938853","loc":[-85.2473933,42.0148263]},"n1820938854":{"id":"n1820938854","loc":[-85.0213464,42.090509]},"n1820938855":{"id":"n1820938855","loc":[-85.0673208,42.1052353]},"n1820938856":{"id":"n1820938856","loc":[-85.1003053,42.0905528]},"n1820938857":{"id":"n1820938857","loc":[-85.2617367,41.9965389]},"n1820938858":{"id":"n1820938858","loc":[-85.280363,41.9916015]},"n1820938859":{"id":"n1820938859","loc":[-85.0038866,42.0873469]},"n1820938860":{"id":"n1820938860","loc":[-85.2476401,42.0151451]},"n1820938861":{"id":"n1820938861","loc":[-85.193717,42.0499294]},"n1820938862":{"id":"n1820938862","loc":[-85.3478689,41.9917609]},"n1820938863":{"id":"n1820938863","loc":[-85.5638017,41.9648881]},"n1820938864":{"id":"n1820938864","loc":[-85.4356308,42.0064476]},"n1820938865":{"id":"n1820938865","loc":[-85.0561722,42.1023509]},"n1820938867":{"id":"n1820938867","loc":[-85.2256031,42.0356034]},"n1820938868":{"id":"n1820938868","loc":[-85.6102576,41.9420844]},"n1820938869":{"id":"n1820938869","loc":[-85.2285213,42.0339938]},"n1820938870":{"id":"n1820938870","loc":[-85.0326238,42.0978003]},"n1820938871":{"id":"n1820938871","loc":[-85.0131389,42.0903736]},"n1820938872":{"id":"n1820938872","loc":[-85.2550859,42.0012259]},"n1820938873":{"id":"n1820938873","loc":[-85.1130029,42.0846966]},"n1820938874":{"id":"n1820938874","loc":[-85.1579041,42.06336]},"n1820938875":{"id":"n1820938875","loc":[-85.0430522,42.1020234]},"n1820938876":{"id":"n1820938876","loc":[-85.2786679,41.9865935]},"n1820938877":{"id":"n1820938877","loc":[-85.1221666,42.0788706]},"n1820938878":{"id":"n1820938878","loc":[-85.2554614,42.0103303]},"n1820938879":{"id":"n1820938879","loc":[-85.2349801,42.0265748]},"n1820938880":{"id":"n1820938880","loc":[-85.0997434,42.0907864]},"n1820938881":{"id":"n1820938881","loc":[-85.0045464,42.0878167]},"n1820938882":{"id":"n1820938882","loc":[-85.2728048,41.9982519]},"n1820938883":{"id":"n1820938883","loc":[-85.3111333,41.9691587]},"n1820938884":{"id":"n1820938884","loc":[-85.3219802,41.9721899]},"n1820938885":{"id":"n1820938885","loc":[-85.3091378,41.9699325]},"n1820938887":{"id":"n1820938887","loc":[-85.4242367,42.0085203]},"n1820938888":{"id":"n1820938888","loc":[-84.9968377,42.0874504]},"n1820938890":{"id":"n1820938890","loc":[-85.5443139,41.9714078]},"n1820938891":{"id":"n1820938891","loc":[-85.6404013,41.9154676]},"n1820938892":{"id":"n1820938892","loc":[-85.3644986,41.9962582]},"n1820938893":{"id":"n1820938893","loc":[-85.0496772,42.1018323]},"n1820938894":{"id":"n1820938894","loc":[-85.297261,41.9737373]},"n1820938895":{"id":"n1820938895","loc":[-85.0327096,42.098071]},"n1820938896":{"id":"n1820938896","loc":[-85.3856773,41.9996867]},"n1820938897":{"id":"n1820938897","loc":[-85.0493862,42.1015509]},"n1820938898":{"id":"n1820938898","loc":[-84.9969879,42.0876614]},"n1820938899":{"id":"n1820938899","loc":[-85.0848625,42.1013587]},"n1820938900":{"id":"n1820938900","loc":[-85.5853195,41.9479201]},"n1820938901":{"id":"n1820938901","loc":[-85.6329169,41.9387964]},"n1820938902":{"id":"n1820938902","loc":[-85.0843046,42.1029468]},"n1820938903":{"id":"n1820938903","loc":[-85.1228747,42.0778474]},"n1820938904":{"id":"n1820938904","loc":[-85.4855456,41.984095]},"n1820938905":{"id":"n1820938905","loc":[-85.0573269,42.1026801]},"n1820938906":{"id":"n1820938906","loc":[-85.2425868,42.0131523]},"n1820938907":{"id":"n1820938907","loc":[-85.1149622,42.0860053]},"n1820938908":{"id":"n1820938908","loc":[-85.4833097,41.9951578]},"n1820938909":{"id":"n1820938909","loc":[-85.075979,42.1056372]},"n1820938910":{"id":"n1820938910","loc":[-85.0338509,42.0977139]},"n1820938911":{"id":"n1820938911","loc":[-85.6384272,41.9115715]},"n1820938912":{"id":"n1820938912","loc":[-85.0458363,42.1004074]},"n1820938913":{"id":"n1820938913","loc":[-85.0592138,42.1048305]},"n1820938914":{"id":"n1820938914","loc":[-85.2807493,41.9916653]},"n1820938915":{"id":"n1820938915","loc":[-85.1103274,42.0864193]},"n1820938916":{"id":"n1820938916","loc":[-85.6267156,41.9404404]},"n1820938918":{"id":"n1820938918","loc":[-85.0331374,42.0982911]},"n1820938919":{"id":"n1820938919","loc":[-85.5637331,41.965409]},"n1820938920":{"id":"n1820938920","loc":[-85.5457515,41.9714237]},"n1820938922":{"id":"n1820938922","loc":[-85.082073,42.1030104]},"n1820938923":{"id":"n1820938923","loc":[-85.0780765,42.103102]},"n1820938924":{"id":"n1820938924","loc":[-85.4208035,42.0089508]},"n1820938925":{"id":"n1820938925","loc":[-85.3469934,41.9914795]},"n1820938926":{"id":"n1820938926","loc":[-85.0322,42.095619]},"n1820938927":{"id":"n1820938927","loc":[-85.4784431,41.9949401]},"n1820938928":{"id":"n1820938928","loc":[-85.1303095,42.0667523]},"n1820938929":{"id":"n1820938929","loc":[-85.2463784,42.0084781]},"n1820938930":{"id":"n1820938930","loc":[-85.6299986,41.9427707]},"n1820938931":{"id":"n1820938931","loc":[-85.6325907,41.9238499]},"n1820938932":{"id":"n1820938932","loc":[-85.4808464,41.9914476]},"n1820938934":{"id":"n1820938934","loc":[-85.2411599,42.0105292]},"n1820938935":{"id":"n1820938935","loc":[-85.0163213,42.0892379]},"n1820938936":{"id":"n1820938936","loc":[-85.3290934,41.9682322]},"n1820938937":{"id":"n1820938937","loc":[-85.4925623,41.9853231]},"n1820938938":{"id":"n1820938938","loc":[-85.0338294,42.09892]},"n1820938940":{"id":"n1820938940","loc":[-85.4174561,42.008903]},"n1820938941":{"id":"n1820938941","loc":[-85.1165595,42.0838845]},"n1820938942":{"id":"n1820938942","loc":[-85.2954585,41.9717192]},"n1820938943":{"id":"n1820938943","loc":[-85.6330199,41.9257338]},"n1820938944":{"id":"n1820938944","loc":[-85.2294654,42.0324478]},"n1820938945":{"id":"n1820938945","loc":[-85.5601282,41.9728914]},"n1820938946":{"id":"n1820938946","loc":[-85.1176324,42.08568]},"n1820938947":{"id":"n1820938947","loc":[-85.0210245,42.0906005]},"n1820938948":{"id":"n1820938948","loc":[-85.0251887,42.09253]},"n1820938949":{"id":"n1820938949","loc":[-85.0895832,42.0939551]},"n1820938950":{"id":"n1820938950","loc":[-84.9915109,42.085842]},"n1820938951":{"id":"n1820938951","loc":[-85.2187366,42.0393486]},"n1820938952":{"id":"n1820938952","loc":[-85.006605,42.087579]},"n1820938953":{"id":"n1820938953","loc":[-85.046641,42.1012393]},"n1820938954":{"id":"n1820938954","loc":[-85.052102,42.103695]},"n1820938955":{"id":"n1820938955","loc":[-85.283925,41.9912825]},"n1820938956":{"id":"n1820938956","loc":[-85.2326626,42.0316349]},"n1820938957":{"id":"n1820938957","loc":[-85.1174298,42.0859694]},"n1820938958":{"id":"n1820938958","loc":[-85.3802056,41.9994794]},"n1820938959":{"id":"n1820938959","loc":[-85.4586334,41.9999737]},"n1820938960":{"id":"n1820938960","loc":[-85.4302234,42.0069418]},"n1820938961":{"id":"n1820938961","loc":[-85.092201,42.0930674]},"n1820938962":{"id":"n1820938962","loc":[-85.3684511,41.9979382]},"n1820938963":{"id":"n1820938963","loc":[-85.4618735,42.0011856]},"n1820938964":{"id":"n1820938964","loc":[-85.4828205,41.9877793]},"n1820938965":{"id":"n1820938965","loc":[-85.0837789,42.1025726]},"n1820938966":{"id":"n1820938966","loc":[-85.0176195,42.090253]},"n1820938967":{"id":"n1820938967","loc":[-85.3801627,42.001074]},"n1820938968":{"id":"n1820938968","loc":[-85.4767007,41.994488]},"n1820938969":{"id":"n1820938969","loc":[-85.274268,41.9957495]},"n1820938970":{"id":"n1820938970","loc":[-85.2977438,41.9719506]},"n1820938971":{"id":"n1820938971","loc":[-85.2425546,42.0208682]},"n1820938972":{"id":"n1820938972","loc":[-85.2557082,42.002382]},"n1820938973":{"id":"n1820938973","loc":[-85.3187937,41.9691986]},"n1820938975":{"id":"n1820938975","loc":[-85.2448077,42.0153045]},"n1820938977":{"id":"n1820938977","loc":[-85.0343015,42.0997718]},"n1820938978":{"id":"n1820938978","loc":[-85.2449364,42.01874]},"n1820938979":{"id":"n1820938979","loc":[-85.2598391,41.9969602]},"n1820938980":{"id":"n1820938980","loc":[-85.4294724,42.0067665]},"n1820938981":{"id":"n1820938981","loc":[-85.428082,42.0055124]},"n1820938983":{"id":"n1820938983","loc":[-85.5436315,41.9717484]},"n1820938985":{"id":"n1820938985","loc":[-85.5978336,41.9407437]},"n1820938986":{"id":"n1820938986","loc":[-85.491661,41.9860249]},"n1820938987":{"id":"n1820938987","loc":[-85.4942789,41.9801392]},"n1820938988":{"id":"n1820938988","loc":[-85.0416306,42.1010841]},"n1820938989":{"id":"n1820938989","loc":[-85.2653644,41.9984433]},"n1820938990":{"id":"n1820938990","loc":[-85.1028266,42.0881124]},"n1820938991":{"id":"n1820938991","loc":[-85.0163146,42.0887932]},"n1820938992":{"id":"n1820938992","loc":[-85.5282209,41.9678112]},"n1820938993":{"id":"n1820938993","loc":[-85.5442752,41.9715888]},"n1820938994":{"id":"n1820938994","loc":[-85.5634327,41.9658558]},"n1820938995":{"id":"n1820938995","loc":[-85.0384227,42.1037627]},"n1820938996":{"id":"n1820938996","loc":[-85.1144258,42.0854439]},"n1820938997":{"id":"n1820938997","loc":[-85.1870651,42.0506305]},"n1820938998":{"id":"n1820938998","loc":[-85.1256159,42.0747376]},"n1820938999":{"id":"n1820938999","loc":[-85.3272695,41.9715836]},"n1820939000":{"id":"n1820939000","loc":[-85.0543067,42.103098]},"n1820939001":{"id":"n1820939001","loc":[-85.4678173,41.9973585]},"n1820939003":{"id":"n1820939003","loc":[-85.0266626,42.0933154]},"n1820939004":{"id":"n1820939004","loc":[-85.0353046,42.1019728]},"n1820939005":{"id":"n1820939005","loc":[-85.1237961,42.0762798]},"n1820939006":{"id":"n1820939006","loc":[-85.2812214,41.9826702]},"n1820939007":{"id":"n1820939007","loc":[-85.2927763,41.9747343]},"n1820939008":{"id":"n1820939008","loc":[-85.3270979,41.9720862]},"n1820939009":{"id":"n1820939009","loc":[-85.488657,41.9856581]},"n1820939010":{"id":"n1820939010","loc":[-85.3087301,41.9701399]},"n1820939011":{"id":"n1820939011","loc":[-85.0276939,42.093768]},"n1820939012":{"id":"n1820939012","loc":[-85.2956516,41.9748779]},"n1820939013":{"id":"n1820939013","loc":[-85.1298579,42.0726443]},"n1820939014":{"id":"n1820939014","loc":[-85.105144,42.0870893]},"n1820939015":{"id":"n1820939015","loc":[-85.0677486,42.1053917]},"n1820939016":{"id":"n1820939016","loc":[-85.0333681,42.0993459]},"n1820939017":{"id":"n1820939017","loc":[-85.6384272,41.910805]},"n1820939018":{"id":"n1820939018","loc":[-85.399496,42.006894]},"n1820939019":{"id":"n1820939019","loc":[-85.2648427,41.9998318]},"n1820939020":{"id":"n1820939020","loc":[-85.1237424,42.0766779]},"n1820939021":{"id":"n1820939021","loc":[-85.2515025,42.0109442]},"n1820939022":{"id":"n1820939022","loc":[-85.5566306,41.9718385]},"n1820939023":{"id":"n1820939023","loc":[-85.090644,42.0938369]},"n1820939024":{"id":"n1820939024","loc":[-85.1245525,42.074914]},"n1820939025":{"id":"n1820939025","loc":[-85.1099934,42.0863926]},"n1820939026":{"id":"n1820939026","loc":[-85.1251653,42.0744589]},"n1820939027":{"id":"n1820939027","loc":[-85.401792,42.0068143]},"n1820939028":{"id":"n1820939028","loc":[-85.0094763,42.0899584]},"n1820939029":{"id":"n1820939029","loc":[-85.1330779,42.0705605]},"n1820939030":{"id":"n1820939030","loc":[-85.4935064,41.984398]},"n1820939031":{"id":"n1820939031","loc":[-85.5713334,41.9613939]},"n1820939032":{"id":"n1820939032","loc":[-85.0873945,42.0964669]},"n1820939033":{"id":"n1820939033","loc":[-85.0886497,42.0986481]},"n1820939034":{"id":"n1820939034","loc":[-85.3276343,41.9758897]},"n1820939035":{"id":"n1820939035","loc":[-85.1304386,42.0727387]},"n1820939036":{"id":"n1820939036","loc":[-85.2551932,42.0052999]},"n1820939037":{"id":"n1820939037","loc":[-85.2206936,42.0384458]},"n1820939038":{"id":"n1820939038","loc":[-85.2313645,42.0286389]},"n1820939039":{"id":"n1820939039","loc":[-85.0754586,42.1059835]},"n1820939040":{"id":"n1820939040","loc":[-85.0663324,42.1050812]},"n1820939041":{"id":"n1820939041","loc":[-85.2406234,42.0106887]},"n1820939042":{"id":"n1820939042","loc":[-85.0685962,42.1058175]},"n1820939043":{"id":"n1820939043","loc":[-85.0689462,42.1059437]},"n1820939044":{"id":"n1820939044","loc":[-85.0586144,42.1046144]},"n1820939045":{"id":"n1820939045","loc":[-85.3650565,41.9965452]},"n1820939047":{"id":"n1820939047","loc":[-85.5752558,41.9536014]},"n1820939048":{"id":"n1820939048","loc":[-85.5110159,41.9710624]},"n1820939050":{"id":"n1820939050","loc":[-85.2832641,41.9926477]},"n1820939051":{"id":"n1820939051","loc":[-85.0078402,42.0898947]},"n1820939052":{"id":"n1820939052","loc":[-85.3882737,42.0017916]},"n1820939053":{"id":"n1820939053","loc":[-85.1718945,42.0564937]},"n1820939054":{"id":"n1820939054","loc":[-85.0947048,42.0929293]},"n1820939055":{"id":"n1820939055","loc":[-85.4456944,42.0051082]},"n1820939056":{"id":"n1820939056","loc":[-85.3139872,41.9706903]},"n1820939057":{"id":"n1820939057","loc":[-85.3893895,42.0034021]},"n1820939058":{"id":"n1820939058","loc":[-85.2425332,42.0106089]},"n1820939059":{"id":"n1820939059","loc":[-85.6085624,41.9420844]},"n1820939060":{"id":"n1820939060","loc":[-85.210411,42.0397789]},"n1820939061":{"id":"n1820939061","loc":[-85.2762542,41.9960473]},"n1820939062":{"id":"n1820939062","loc":[-85.4686584,41.9969973]},"n1820939063":{"id":"n1820939063","loc":[-85.3860421,42.0018394]},"n1820939064":{"id":"n1820939064","loc":[-85.5636944,41.9644414]},"n1820939065":{"id":"n1820939065","loc":[-85.3267331,41.9766554]},"n1820939066":{"id":"n1820939066","loc":[-85.0868996,42.0943822]},"n1820939067":{"id":"n1820939067","loc":[-85.104861,42.0880038]},"n1820939068":{"id":"n1820939068","loc":[-85.5537123,41.9695093]},"n1820939069":{"id":"n1820939069","loc":[-85.6325092,41.9396743]},"n1820939070":{"id":"n1820939070","loc":[-85.3869648,42.0024454]},"n1820939071":{"id":"n1820939071","loc":[-85.2775349,41.9957335]},"n1820939072":{"id":"n1820939072","loc":[-85.2055616,42.0421533]},"n1820939073":{"id":"n1820939073","loc":[-85.4731431,41.9946531]},"n1820939074":{"id":"n1820939074","loc":[-85.0399609,42.1030833]},"n1820939075":{"id":"n1820939075","loc":[-85.3055758,41.9725169]},"n1820939076":{"id":"n1820939076","loc":[-85.4834599,41.994488]},"n1820939077":{"id":"n1820939077","loc":[-85.3819866,42.0023018]},"n1820939078":{"id":"n1820939078","loc":[-85.1218756,42.0789992]},"n1820939079":{"id":"n1820939079","loc":[-85.2793159,41.9944458]},"n1820939080":{"id":"n1820939080","loc":[-85.2495498,42.0101466]},"n1820939081":{"id":"n1820939081","loc":[-85.0035969,42.0872434]},"n1820939082":{"id":"n1820939082","loc":[-85.1054243,42.0865626]},"n1820939083":{"id":"n1820939083","loc":[-85.0917665,42.0934774]},"n1820939084":{"id":"n1820939084","loc":[-85.3442211,41.988938]},"n1820939086":{"id":"n1820939086","loc":[-85.273989,41.9953588]},"n1820939087":{"id":"n1820939087","loc":[-85.1142541,42.0852488]},"n1820939089":{"id":"n1820939089","loc":[-85.1526684,42.0615758]},"n1820939090":{"id":"n1820939090","loc":[-85.2538843,42.0110159]},"n1820939091":{"id":"n1820939091","loc":[-85.28341,41.9909635]},"n1820939092":{"id":"n1820939092","loc":[-85.3963178,42.0050217]},"n1820939093":{"id":"n1820939093","loc":[-85.0851682,42.1012472]},"n1820939095":{"id":"n1820939095","loc":[-85.2811784,41.986243]},"n1820939096":{"id":"n1820939096","loc":[-85.4274125,42.0052995]},"n1820939097":{"id":"n1820939097","loc":[-85.0871262,42.0951652]},"n1820939099":{"id":"n1820939099","loc":[-85.1314253,42.0671665]},"n1820939100":{"id":"n1820939100","loc":[-85.2778997,41.991001]},"n1820939101":{"id":"n1820939101","loc":[-85.112107,42.0862812]},"n1820939102":{"id":"n1820939102","loc":[-85.299911,41.9729955]},"n1820939103":{"id":"n1820939103","loc":[-85.639822,41.9094796]},"n1820939104":{"id":"n1820939104","loc":[-85.122294,42.0785334]},"n1820939105":{"id":"n1820939105","loc":[-85.2476294,42.015719]},"n1820939106":{"id":"n1820939106","loc":[-85.4946007,41.9814631]},"n1820939107":{"id":"n1820939107","loc":[-85.0879524,42.0986919]},"n1820939108":{"id":"n1820939108","loc":[-85.0342814,42.098274]},"n1820939109":{"id":"n1820939109","loc":[-85.2450695,42.0095463]},"n1820939110":{"id":"n1820939110","loc":[-85.3847546,42.0024135]},"n1820939111":{"id":"n1820939111","loc":[-85.2961344,41.9742558]},"n1820939112":{"id":"n1820939112","loc":[-85.27899,41.994317]},"n1820939114":{"id":"n1820939114","loc":[-85.1017644,42.0886618]},"n1820939115":{"id":"n1820939115","loc":[-85.076215,42.1056333]},"n1820939116":{"id":"n1820939116","loc":[-85.1198009,42.0805349]},"n1820939117":{"id":"n1820939117","loc":[-85.11988,42.0798513]},"n1820939118":{"id":"n1820939118","loc":[-85.147819,42.0625476]},"n1820939119":{"id":"n1820939119","loc":[-85.0585969,42.1029042]},"n1820939120":{"id":"n1820939120","loc":[-85.1248596,42.0745744]},"n1820939121":{"id":"n1820939121","loc":[-85.3023786,41.9725249]},"n1820939123":{"id":"n1820939123","loc":[-85.0119332,42.0900699]},"n1820939124":{"id":"n1820939124","loc":[-85.2466852,42.0170343]},"n1820939125":{"id":"n1820939125","loc":[-85.0033019,42.0872792]},"n1820939126":{"id":"n1820939126","loc":[-85.0042084,42.0875778]},"n1820939128":{"id":"n1820939128","loc":[-85.0052961,42.0885424]},"n1820939130":{"id":"n1820939130","loc":[-85.0647942,42.10508]},"n1820939131":{"id":"n1820939131","loc":[-85.2824123,41.9825107]},"n1820939132":{"id":"n1820939132","loc":[-85.3210039,41.9723255]},"n1820939133":{"id":"n1820939133","loc":[-85.0491033,42.1014184]},"n1820939134":{"id":"n1820939134","loc":[-85.1127776,42.0855168]},"n1820939135":{"id":"n1820939135","loc":[-85.1243768,42.0759322]},"n1820939137":{"id":"n1820939137","loc":[-85.125974,42.0747547]},"n1820939138":{"id":"n1820939138","loc":[-85.1071248,42.0859973]},"n1820939139":{"id":"n1820939139","loc":[-85.5326175,41.9674833]},"n1820939140":{"id":"n1820939140","loc":[-85.1338715,42.0660833]},"n1820939142":{"id":"n1820939142","loc":[-85.649671,41.9135675]},"n1820939144":{"id":"n1820939144","loc":[-85.0236545,42.0920444]},"n1820939145":{"id":"n1820939145","loc":[-85.1084391,42.0859376]},"n1820939146":{"id":"n1820939146","loc":[-85.1539988,42.0618626]},"n1820939147":{"id":"n1820939147","loc":[-85.2354521,42.026511]},"n1820939148":{"id":"n1820939148","loc":[-85.2362246,42.0260408]},"n1820939149":{"id":"n1820939149","loc":[-85.2401342,42.0115233]},"n1820939150":{"id":"n1820939150","loc":[-85.295319,41.9747423]},"n1820939151":{"id":"n1820939151","loc":[-85.1164696,42.0835409]},"n1820939152":{"id":"n1820939152","loc":[-85.3232891,41.9712885]},"n1820939153":{"id":"n1820939153","loc":[-85.2574463,42.0068944]},"n1820939155":{"id":"n1820939155","loc":[-85.5704064,41.9598246]},"n1820939156":{"id":"n1820939156","loc":[-85.0349077,42.0998116]},"n1820939157":{"id":"n1820939157","loc":[-85.0949529,42.0925619]},"n1820939159":{"id":"n1820939159","loc":[-85.0179829,42.0902343]},"n1820939160":{"id":"n1820939160","loc":[-85.0405832,42.1016942]},"n1820939161":{"id":"n1820939161","loc":[-85.2534015,42.0111833]},"n1820939162":{"id":"n1820939162","loc":[-85.0839881,42.102708]},"n1820939163":{"id":"n1820939163","loc":[-85.0341996,42.1008385]},"n1820939164":{"id":"n1820939164","loc":[-85.1037761,42.0879731]},"n1820939173":{"id":"n1820939173","loc":[-85.0460616,42.1005786]},"n1820939177":{"id":"n1820939177","loc":[-85.0061651,42.0878059]},"n1820939181":{"id":"n1820939181","loc":[-85.1456775,42.0654684]},"n1820939183":{"id":"n1820939183","loc":[-85.1325508,42.0718439]},"n1820939185":{"id":"n1820939185","loc":[-85.2485842,42.008329]},"n1820939187":{"id":"n1820939187","loc":[-85.2744128,41.9949322]},"n1820939189":{"id":"n1820939189","loc":[-85.2579025,41.9999542]},"n1820939191":{"id":"n1820939191","loc":[-85.3358998,41.9828987]},"n1820939193":{"id":"n1820939193","loc":[-85.3192658,41.9716714]},"n1820939194":{"id":"n1820939194","loc":[-85.6400795,41.9130725]},"n1820939195":{"id":"n1820939195","loc":[-85.3278489,41.9780591]},"n1820939196":{"id":"n1820939196","loc":[-85.2800197,41.983061]},"n1820939197":{"id":"n1820939197","loc":[-85.3278167,41.9692943]},"n1820939198":{"id":"n1820939198","loc":[-85.3366894,41.9838653]},"n1820939199":{"id":"n1820939199","loc":[-85.0328383,42.0969923]},"n1820939201":{"id":"n1820939201","loc":[-85.3259284,41.9720383]},"n1820939217":{"id":"n1820939217","loc":[-85.1840181,42.0503277]},"n1820939220":{"id":"n1820939220","loc":[-85.422563,42.0089986]},"n1820939222":{"id":"n1820939222","loc":[-85.555386,41.9707856]},"n1820939224":{"id":"n1820939224","loc":[-85.3830809,42.002254]},"n1820939226":{"id":"n1820939226","loc":[-84.9917938,42.0857517]},"n1820939227":{"id":"n1820939227","loc":[-85.2936775,41.9740484]},"n1820939228":{"id":"n1820939228","loc":[-85.2632133,41.9975024]},"n1820939229":{"id":"n1820939229","loc":[-85.2809424,41.9853259]},"n1820939230":{"id":"n1820939230","loc":[-85.242104,42.0131204]},"n1820939232":{"id":"n1820939232","loc":[-85.2610246,41.9963901]},"n1820939233":{"id":"n1820939233","loc":[-85.2335531,42.0268378]},"n1820939234":{"id":"n1820939234","loc":[-85.3188839,41.9713575]},"n1820939235":{"id":"n1820939235","loc":[-85.2413637,42.0225658]},"n1820939237":{"id":"n1820939237","loc":[-85.0010796,42.0887215]},"n1820939239":{"id":"n1820939239","loc":[-85.2241697,42.0362624]},"n1820939243":{"id":"n1820939243","loc":[-85.0368456,42.1040134]},"n1820939244":{"id":"n1820939244","loc":[-85.1327986,42.069524]},"n1820939260":{"id":"n1820939260","loc":[-85.5408163,41.9711206]},"n1820939261":{"id":"n1820939261","loc":[-85.2959199,41.9746546]},"n1820939262":{"id":"n1820939262","loc":[-85.3298659,41.9683598]},"n1820939263":{"id":"n1820939263","loc":[-85.2240581,42.0358425]},"n1820939264":{"id":"n1820939264","loc":[-85.2438206,42.0101944]},"n1820939265":{"id":"n1820939265","loc":[-85.3984489,42.0059589]},"n1820939266":{"id":"n1820939266","loc":[-85.2330811,42.0294279]},"n1820939268":{"id":"n1820939268","loc":[-85.1126877,42.0857704]},"n1820939271":{"id":"n1820939271","loc":[-85.254925,42.0106253]},"n1820939273":{"id":"n1820939273","loc":[-85.4328046,42.0064662]},"n1820939277":{"id":"n1820939277","loc":[-85.289622,41.9789616]},"n1820939279":{"id":"n1820939279","loc":[-85.4574532,42.0004043]},"n1820939281":{"id":"n1820939281","loc":[-85.4803486,41.9867211]},"n1820939283":{"id":"n1820939283","loc":[-85.157475,42.0631848]},"n1820939285":{"id":"n1820939285","loc":[-85.2571458,42.0059935]},"n1820939287":{"id":"n1820939287","loc":[-85.2818544,41.9825984]},"n1820939289":{"id":"n1820939289","loc":[-85.2298302,42.0328781]},"n1820939291":{"id":"n1820939291","loc":[-85.4819523,41.984821]},"n1820939301":{"id":"n1820939301","loc":[-85.3139765,41.9701159]},"n1820939304":{"id":"n1820939304","loc":[-85.0424447,42.101742]},"n1820939306":{"id":"n1820939306","loc":[-85.6360283,41.9338482]},"n1820939310":{"id":"n1820939310","loc":[-85.3463025,41.9913622]},"n1820939312":{"id":"n1820939312","loc":[-85.4664869,41.9988097]},"n1820939314":{"id":"n1820939314","loc":[-85.149364,42.0622449]},"n1820939316":{"id":"n1820939316","loc":[-85.2460415,42.0153125]},"n1820939318":{"id":"n1820939318","loc":[-85.4806103,41.9924523]},"n1820939320":{"id":"n1820939320","loc":[-85.2449042,42.0190987]},"n1820939322":{"id":"n1820939322","loc":[-85.5280165,41.9689263]},"n1820939324":{"id":"n1820939324","loc":[-85.0051204,42.0882625]},"n1820939326":{"id":"n1820939326","loc":[-85.1240925,42.0771546]},"n1820939329":{"id":"n1820939329","loc":[-85.2261653,42.0342225]},"n1820939331":{"id":"n1820939331","loc":[-85.5259933,41.972211]},"n1820939333":{"id":"n1820939333","loc":[-85.0074754,42.0883183]},"n1820939335":{"id":"n1820939335","loc":[-85.0764014,42.1055549]},"n1820939336":{"id":"n1820939336","loc":[-85.2908773,41.9769597]},"n1820939337":{"id":"n1820939337","loc":[-85.4095382,42.0083449]},"n1820939346":{"id":"n1820939346","loc":[-85.2514166,42.0111753]},"n1820939348":{"id":"n1820939348","loc":[-85.0030377,42.0873799]},"n1820939350":{"id":"n1820939350","loc":[-85.3659362,41.9964974]},"n1820939352":{"id":"n1820939352","loc":[-85.226058,42.0348281]},"n1820939355":{"id":"n1820939355","loc":[-85.1902408,42.0507101]},"n1820939357":{"id":"n1820939357","loc":[-85.2781854,41.9946001]},"n1820939359":{"id":"n1820939359","loc":[-85.2139988,42.0405175]},"n1820939361":{"id":"n1820939361","loc":[-85.0086609,42.0908262]},"n1820939363":{"id":"n1820939363","loc":[-85.0627128,42.1043398]},"n1820939365":{"id":"n1820939365","loc":[-85.1311346,42.072501]},"n1820939369":{"id":"n1820939369","loc":[-85.248198,42.0082652]},"n1820939370":{"id":"n1820939370","loc":[-84.99792,42.087794]},"n1820939371":{"id":"n1820939371","loc":[-85.2786775,41.9942783]},"n1820939372":{"id":"n1820939372","loc":[-85.0342103,42.1013957]},"n1820939373":{"id":"n1820939373","loc":[-85.2022357,42.0444799]},"n1820939374":{"id":"n1820939374","loc":[-85.2279205,42.0337388]},"n1820939375":{"id":"n1820939375","loc":[-85.1337699,42.0712614]},"n1820939376":{"id":"n1820939376","loc":[-85.317517,41.9707062]},"n1820939377":{"id":"n1820939377","loc":[-85.1326326,42.070218]},"n1820939394":{"id":"n1820939394","loc":[-85.0197746,42.0899118]},"n1820939397":{"id":"n1820939397","loc":[-85.2590076,41.9984632]},"n1820939399":{"id":"n1820939399","loc":[-85.2469964,42.0083449]},"n1820939400":{"id":"n1820939400","loc":[-85.2470929,42.0146668]},"n1820939401":{"id":"n1820939401","loc":[-84.9984095,42.0878087]},"n1820939402":{"id":"n1820939402","loc":[-85.2372653,42.0243273]},"n1820939403":{"id":"n1820939403","loc":[-85.2454986,42.0091955]},"n1820939404":{"id":"n1820939404","loc":[-85.0539205,42.1035995]},"n1820939405":{"id":"n1820939405","loc":[-85.550601,41.9706101]},"n1820939406":{"id":"n1820939406","loc":[-85.0351343,42.0999656]},"n1820939407":{"id":"n1820939407","loc":[-85.0082908,42.0905755]},"n1820939408":{"id":"n1820939408","loc":[-85.0132904,42.0902251]},"n1820939410":{"id":"n1820939410","loc":[-85.0892546,42.094012]},"n1820939412":{"id":"n1820939412","loc":[-85.0350793,42.1030315]},"n1820939416":{"id":"n1820939416","loc":[-85.0012406,42.0886777]},"n1820939418":{"id":"n1820939418","loc":[-85.0577453,42.1029229]},"n1820939420":{"id":"n1820939420","loc":[-85.1230786,42.0776722]},"n1820939422":{"id":"n1820939422","loc":[-85.571136,41.9649304]},"n1820939436":{"id":"n1820939436","loc":[-85.1137968,42.0848997]},"n1820939437":{"id":"n1820939437","loc":[-85.3559584,41.9925105]},"n1820939438":{"id":"n1820939438","loc":[-85.0080172,42.0903565]},"n1820939439":{"id":"n1820939439","loc":[-85.0048897,42.0880913]},"n1820939441":{"id":"n1820939441","loc":[-85.0406959,42.1018574]},"n1820939443":{"id":"n1820939443","loc":[-85.3897328,42.0029078]},"n1820939445":{"id":"n1820939445","loc":[-85.122349,42.0782814]},"n1820939448":{"id":"n1820939448","loc":[-85.4872193,41.985036]},"n1820939450":{"id":"n1820939450","loc":[-85.0120459,42.0904919]},"n1820939452":{"id":"n1820939452","loc":[-85.6320543,41.921982]},"n1820939456":{"id":"n1820939456","loc":[-85.0844749,42.1036843]},"n1820939458":{"id":"n1820939458","loc":[-85.0968037,42.091296]},"n1820939463":{"id":"n1820939463","loc":[-85.5339747,41.9681841]},"n1820939465":{"id":"n1820939465","loc":[-85.4125423,42.0072129]},"n1820939467":{"id":"n1820939467","loc":[-85.6335563,41.9303626]},"n1820939469":{"id":"n1820939469","loc":[-85.2821014,41.9932126]},"n1820939471":{"id":"n1820939471","loc":[-85.374691,41.9969917]},"n1820939485":{"id":"n1820939485","loc":[-85.4471321,42.0049806]},"n1820939487":{"id":"n1820939487","loc":[-85.3752532,41.9972206]},"n1820939489":{"id":"n1820939489","loc":[-85.4517283,42.005927]},"n1820939492":{"id":"n1820939492","loc":[-85.4662552,42.0005693]},"n1820939494":{"id":"n1820939494","loc":[-85.0120083,42.0902928]},"n1820939496":{"id":"n1820939496","loc":[-85.044463,42.1004631]},"n1820939498":{"id":"n1820939498","loc":[-85.418293,42.0089667]},"n1820939500":{"id":"n1820939500","loc":[-85.0554762,42.1027358]},"n1820939504":{"id":"n1820939504","loc":[-85.1246289,42.0746858]},"n1820939507":{"id":"n1820939507","loc":[-85.0408139,42.1021838]},"n1820939508":{"id":"n1820939508","loc":[-85.1236204,42.0775169]},"n1820939509":{"id":"n1820939509","loc":[-85.0350109,42.1037428]},"n1820939510":{"id":"n1820939510","loc":[-85.0551583,42.1029878]},"n1820939511":{"id":"n1820939511","loc":[-85.0956771,42.0916662]},"n1820939512":{"id":"n1820939512","loc":[-85.2323408,42.0273638]},"n1820939513":{"id":"n1820939513","loc":[-85.1232771,42.0762388]},"n1820939531":{"id":"n1820939531","loc":[-85.264608,41.9997828]},"n1820939533":{"id":"n1820939533","loc":[-85.4198808,42.0087914]},"n1820939535":{"id":"n1820939535","loc":[-85.3080864,41.9715677]},"n1820939536":{"id":"n1820939536","loc":[-85.1189426,42.0812596]},"n1820939537":{"id":"n1820939537","loc":[-85.2642741,41.9996764]},"n1820939538":{"id":"n1820939538","loc":[-85.2572531,42.0079627]},"n1820939539":{"id":"n1820939539","loc":[-85.2907807,41.9790174]},"n1820939540":{"id":"n1820939540","loc":[-85.3171415,41.9707301]},"n1820939541":{"id":"n1820939541","loc":[-85.08777,42.0953841]},"n1820939542":{"id":"n1820939542","loc":[-85.1239262,42.0773218]},"n1820939543":{"id":"n1820939543","loc":[-84.9973956,42.0877968]},"n1820939544":{"id":"n1820939544","loc":[-85.011606,42.0896161]},"n1820939545":{"id":"n1820939545","loc":[-85.4077358,42.0082971]},"n1820939546":{"id":"n1820939546","loc":[-85.3614945,41.9933717]},"n1820939547":{"id":"n1820939547","loc":[-85.3189118,41.9697649]},"n1820939550":{"id":"n1820939550","loc":[-85.1262691,42.0740221]},"n1820939551":{"id":"n1820939551","loc":[-85.3863639,41.9994635]},"n1820939552":{"id":"n1820939552","loc":[-85.2836034,41.9923953]},"n1820939554":{"id":"n1820939554","loc":[-85.3222377,41.9715916]},"n1820939555":{"id":"n1820939555","loc":[-85.0122658,42.0906312]},"n1820939556":{"id":"n1820939556","loc":[-85.0022652,42.0877581]},"n1820939557":{"id":"n1820939557","loc":[-85.1011314,42.0899954]},"n1820939559":{"id":"n1820939559","loc":[-85.0008181,42.0885293]},"n1820939561":{"id":"n1820939561","loc":[-85.3637046,41.9942488]},"n1820939562":{"id":"n1820939562","loc":[-85.4500117,42.0052892]},"n1820939563":{"id":"n1820939563","loc":[-85.0537636,42.1036365]},"n1820939565":{"id":"n1820939565","loc":[-85.2367503,42.0246939]},"n1820939566":{"id":"n1820939566","loc":[-85.0448479,42.1002653]},"n1820939567":{"id":"n1820939567","loc":[-85.6337065,41.9295006]},"n1820939568":{"id":"n1820939568","loc":[-85.0879792,42.095623]},"n1820939569":{"id":"n1820939569","loc":[-85.6347623,41.9352369]},"n1820939570":{"id":"n1820939570","loc":[-85.1497931,42.0620378]},"n1820939571":{"id":"n1820939571","loc":[-85.5676169,41.9656324]},"n1820939572":{"id":"n1820939572","loc":[-85.638041,41.9166971]},"n1820939573":{"id":"n1820939573","loc":[-85.4993429,41.9781293]},"n1820939574":{"id":"n1820939574","loc":[-85.5352831,41.9692127]},"n1820939575":{"id":"n1820939575","loc":[-84.9924429,42.0857118]},"n1820939577":{"id":"n1820939577","loc":[-85.0581101,42.1026721]},"n1820939578":{"id":"n1820939578","loc":[-85.641088,41.9094477]},"n1820939579":{"id":"n1820939579","loc":[-85.2548821,42.0052282]},"n1820939580":{"id":"n1820939580","loc":[-85.1124463,42.0859734]},"n1820939581":{"id":"n1820939581","loc":[-85.1083479,42.0857624]},"n1820939583":{"id":"n1820939583","loc":[-85.1387424,42.0648893]},"n1820939584":{"id":"n1820939584","loc":[-85.5152645,41.9700892]},"n1820939585":{"id":"n1820939585","loc":[-85.5463738,41.9713439]},"n1820939586":{"id":"n1820939586","loc":[-85.360207,41.9933717]},"n1820939587":{"id":"n1820939587","loc":[-85.2402372,42.0120917]},"n1820939588":{"id":"n1820939588","loc":[-85.3936381,42.0047255]},"n1820939589":{"id":"n1820939589","loc":[-85.3310246,41.973784]},"n1820939590":{"id":"n1820939590","loc":[-85.0329403,42.096642]},"n1820939591":{"id":"n1820939591","loc":[-85.0097271,42.0910981]},"n1820939593":{"id":"n1820939593","loc":[-85.0446562,42.1003437]},"n1820939595":{"id":"n1820939595","loc":[-85.0856671,42.1008452]},"n1820939596":{"id":"n1820939596","loc":[-85.4087228,42.0083449]},"n1820939597":{"id":"n1820939597","loc":[-85.0609519,42.1052564]},"n1820939598":{"id":"n1820939598","loc":[-85.3432126,41.9874548]},"n1820939599":{"id":"n1820939599","loc":[-85.4041738,42.0067027]},"n1820939600":{"id":"n1820939600","loc":[-85.0825437,42.1035768]},"n1820939601":{"id":"n1820939601","loc":[-85.048422,42.101498]},"n1820939602":{"id":"n1820939602","loc":[-85.0336256,42.0999031]},"n1820939603":{"id":"n1820939603","loc":[-85.046818,42.1014104]},"n1820939605":{"id":"n1820939605","loc":[-85.2856524,41.98078]},"n1820939607":{"id":"n1820939607","loc":[-85.1118173,42.0864245]},"n1820939609":{"id":"n1820939609","loc":[-85.0443397,42.1006263]},"n1820939610":{"id":"n1820939610","loc":[-85.0336698,42.0978361]},"n1820939611":{"id":"n1820939611","loc":[-85.4630322,42.0014248]},"n1820939612":{"id":"n1820939612","loc":[-85.0613127,42.1052353]},"n1820939613":{"id":"n1820939613","loc":[-85.0137571,42.0887801]},"n1820939614":{"id":"n1820939614","loc":[-85.272487,41.9982013]},"n1820939616":{"id":"n1820939616","loc":[-85.4665727,41.9983791]},"n1820939617":{"id":"n1820939617","loc":[-85.1288078,42.0725476]},"n1820939618":{"id":"n1820939618","loc":[-85.4653282,42.00109]},"n1820939619":{"id":"n1820939619","loc":[-85.2314717,42.0276746]},"n1820939620":{"id":"n1820939620","loc":[-85.255982,42.0003569]},"n1820939621":{"id":"n1820939621","loc":[-85.2886779,41.9787223]},"n1820939622":{"id":"n1820939622","loc":[-85.22438,42.0367509]},"n1820939623":{"id":"n1820939623","loc":[-85.0334713,42.0998382]},"n1820939624":{"id":"n1820939624","loc":[-85.2236504,42.037484]},"n1820939625":{"id":"n1820939625","loc":[-85.636908,41.9175162]},"n1820939627":{"id":"n1820939627","loc":[-85.2669187,41.9989707]},"n1820939628":{"id":"n1820939628","loc":[-85.3247268,41.9720702]},"n1820939629":{"id":"n1820939629","loc":[-85.3785104,41.9987299]},"n1820939630":{"id":"n1820939630","loc":[-85.5267658,41.9720515]},"n1820939631":{"id":"n1820939631","loc":[-85.2445116,42.0098811]},"n1820939632":{"id":"n1820939632","loc":[-85.1271448,42.0725077]},"n1820939633":{"id":"n1820939633","loc":[-85.0345751,42.099724]},"n1820939634":{"id":"n1820939634","loc":[-85.4217476,42.0089986]},"n1820939635":{"id":"n1820939635","loc":[-85.3121848,41.9689433]},"n1820939636":{"id":"n1820939636","loc":[-85.2826419,41.9929985]},"n1820939637":{"id":"n1820939637","loc":[-85.3160257,41.9706344]},"n1820939638":{"id":"n1820939638","loc":[-85.5684967,41.9657919]},"n1820939640":{"id":"n1820939640","loc":[-85.225131,42.0356194]},"n1820939642":{"id":"n1820939642","loc":[-85.1324124,42.0693328]},"n1820939644":{"id":"n1820939644","loc":[-84.9994073,42.0878843]},"n1820939645":{"id":"n1820939645","loc":[-85.1087596,42.0863329]},"n1820939646":{"id":"n1820939646","loc":[-85.2915532,41.9782996]},"n1820939647":{"id":"n1820939647","loc":[-84.9988708,42.0877808]},"n1820939648":{"id":"n1820939648","loc":[-85.2243628,42.0356728]},"n1820939649":{"id":"n1820939649","loc":[-85.0427397,42.1020524]},"n1820939650":{"id":"n1820939650","loc":[-85.6388392,41.9100752]},"n1820939651":{"id":"n1820939651","loc":[-85.0133709,42.0888557]},"n1820939652":{"id":"n1820939652","loc":[-85.318798,41.9701211]},"n1820939653":{"id":"n1820939653","loc":[-85.6335778,41.9190602]},"n1820939654":{"id":"n1820939654","loc":[-85.6338396,41.9370247]},"n1820939655":{"id":"n1820939655","loc":[-85.0939069,42.0931988]},"n1820939656":{"id":"n1820939656","loc":[-85.5702347,41.9651378]},"n1820939657":{"id":"n1820939657","loc":[-85.4235286,42.0088392]},"n1820939658":{"id":"n1820939658","loc":[-85.2740856,41.9972206]},"n1820939659":{"id":"n1820939659","loc":[-85.4824299,41.9934195]},"n1820939660":{"id":"n1820939660","loc":[-85.3857846,42.0014408]},"n1820939661":{"id":"n1820939661","loc":[-85.0451658,42.10028]},"n1820939662":{"id":"n1820939662","loc":[-85.3893036,42.001377]},"n1820939664":{"id":"n1820939664","loc":[-85.2455845,42.0088607]},"n1820939665":{"id":"n1820939665","loc":[-85.2741071,41.9951116]},"n1820939666":{"id":"n1820939666","loc":[-85.1298375,42.0677718]},"n1820939667":{"id":"n1820939667","loc":[-85.5491848,41.9707377]},"n1820939669":{"id":"n1820939669","loc":[-85.2780298,41.995238]},"n1820939670":{"id":"n1820939670","loc":[-85.1330068,42.0716926]},"n1820939671":{"id":"n1820939671","loc":[-85.0811342,42.1025129]},"n1820939672":{"id":"n1820939672","loc":[-85.2325124,42.0290135]},"n1820939673":{"id":"n1820939673","loc":[-85.2975077,41.9716953]},"n1820939674":{"id":"n1820939674","loc":[-85.0951729,42.0922394]},"n1820939676":{"id":"n1820939676","loc":[-85.0363252,42.1043119]},"n1820939677":{"id":"n1820939677","loc":[-85.2960057,41.97349]},"n1820939678":{"id":"n1820939678","loc":[-85.3701849,41.9982515]},"n1820939679":{"id":"n1820939679","loc":[-85.3381486,41.9848861]},"n1820939680":{"id":"n1820939680","loc":[-85.2058448,42.0417286]},"n1820939682":{"id":"n1820939682","loc":[-85.0819335,42.1034443]},"n1820939683":{"id":"n1820939683","loc":[-85.3872223,41.9993359]},"n1820939684":{"id":"n1820939684","loc":[-85.095366,42.091909]},"n1820939685":{"id":"n1820939685","loc":[-85.2327914,42.0291888]},"n1820939686":{"id":"n1820939686","loc":[-85.0433459,42.1018773]},"n1820939687":{"id":"n1820939687","loc":[-85.0585339,42.1027318]},"n1820939688":{"id":"n1820939688","loc":[-85.0062885,42.0876347]},"n1820939689":{"id":"n1820939689","loc":[-85.246299,42.017377]},"n1820939690":{"id":"n1820939690","loc":[-85.2932376,41.9742877]},"n1820939691":{"id":"n1820939691","loc":[-85.2962846,41.9736815]},"n1820939692":{"id":"n1820939692","loc":[-85.6052365,41.9409193]},"n1820939693":{"id":"n1820939693","loc":[-85.2570536,42.0003341]},"n1820939694":{"id":"n1820939694","loc":[-85.0488458,42.1014064]},"n1820939695":{"id":"n1820939695","loc":[-85.4050321,42.0069578]},"n1820939696":{"id":"n1820939696","loc":[-85.4847517,41.9845894]},"n1820939697":{"id":"n1820939697","loc":[-85.0844655,42.1013826]},"n1820939698":{"id":"n1820939698","loc":[-85.1437206,42.0650008]},"n1820939699":{"id":"n1820939699","loc":[-85.1168183,42.0864034]},"n1820939700":{"id":"n1820939700","loc":[-85.5479831,41.9711366]},"n1820939701":{"id":"n1820939701","loc":[-85.0349948,42.1034124]},"n1820939702":{"id":"n1820939702","loc":[-85.0835589,42.1038821]},"n1820939703":{"id":"n1820939703","loc":[-85.0203875,42.0902649]},"n1820939704":{"id":"n1820939704","loc":[-85.0371191,42.1038184]},"n1820939705":{"id":"n1820939705","loc":[-85.1273312,42.0735681]},"n1820939707":{"id":"n1820939707","loc":[-85.1272239,42.0730226]},"n1820939710":{"id":"n1820939710","loc":[-85.0349881,42.1019012]},"n1820939712":{"id":"n1820939712","loc":[-85.2440459,42.0178313]},"n1820939713":{"id":"n1820939713","loc":[-85.2444751,42.0182618]},"n1820939714":{"id":"n1820939714","loc":[-85.0539996,42.1032863]},"n1820939715":{"id":"n1820939715","loc":[-85.2215905,42.0373246]},"n1820939716":{"id":"n1820939716","loc":[-85.0649712,42.1051994]},"n1820939717":{"id":"n1820939717","loc":[-85.0927146,42.0927581]},"n1820939718":{"id":"n1820939718","loc":[-85.3884668,42.0042312]},"n1820939719":{"id":"n1820939719","loc":[-85.0840672,42.1013241]},"n1820939720":{"id":"n1820939720","loc":[-85.304739,41.9725408]},"n1820939721":{"id":"n1820939721","loc":[-85.2243585,42.0371334]},"n1820939722":{"id":"n1820939722","loc":[-85.0599823,42.1049686]},"n1820939723":{"id":"n1820939723","loc":[-85.0298825,42.0944288]},"n1820939724":{"id":"n1820939724","loc":[-85.0366095,42.1042443]},"n1820939725":{"id":"n1820939725","loc":[-85.0698783,42.1058135]},"n1820939726":{"id":"n1820939726","loc":[-85.1054551,42.0873361]},"n1820939727":{"id":"n1820939727","loc":[-84.9952324,42.0864285]},"n1820939728":{"id":"n1820939728","loc":[-85.3442211,41.9897993]},"n1820939729":{"id":"n1820939729","loc":[-85.4386134,42.0056822]},"n1820939730":{"id":"n1820939730","loc":[-85.2438528,42.0146589]},"n1820939731":{"id":"n1820939731","loc":[-85.0355581,42.1041846]},"n1820939732":{"id":"n1820939732","loc":[-85.557682,41.9724447]},"n1820939734":{"id":"n1820939734","loc":[-85.2299418,42.033314]},"n1820939735":{"id":"n1820939735","loc":[-85.6297412,41.9419088]},"n1820939736":{"id":"n1820939736","loc":[-85.2645101,41.9980259]},"n1820939738":{"id":"n1820939738","loc":[-85.082195,42.1035649]},"n1820939739":{"id":"n1820939739","loc":[-85.234272,42.0267102]},"n1820939740":{"id":"n1820939740","loc":[-85.0130758,42.0895006]},"n1820939741":{"id":"n1820939741","loc":[-85.4594702,42.0000375]},"n1820939742":{"id":"n1820939742","loc":[-84.9946745,42.0863687]},"n1820939743":{"id":"n1820939743","loc":[-85.6438775,41.9120186]},"n1820939744":{"id":"n1820939744","loc":[-85.6372685,41.9168089]},"n1820939745":{"id":"n1820939745","loc":[-85.2789468,41.9893208]},"n1820939747":{"id":"n1820939747","loc":[-85.3775019,41.998427]},"n1820939749":{"id":"n1820939749","loc":[-85.0993571,42.0909178]},"n1820939750":{"id":"n1820939750","loc":[-85.1308503,42.0669339]},"n1820939751":{"id":"n1820939751","loc":[-85.4802566,41.9856659]},"n1820939752":{"id":"n1820939752","loc":[-85.2543563,42.0108804]},"n1820939753":{"id":"n1820939753","loc":[-85.1041033,42.0878815]},"n1820939755":{"id":"n1820939755","loc":[-85.4000969,42.0071651]},"n1820939757":{"id":"n1820939757","loc":[-85.3858275,42.0022381]},"n1820939758":{"id":"n1820939758","loc":[-85.3653998,41.996609]},"n1820939759":{"id":"n1820939759","loc":[-85.2432949,42.0202305]},"n1820939760":{"id":"n1820939760","loc":[-85.3878874,42.0042472]},"n1820939761":{"id":"n1820939761","loc":[-85.2516741,42.0114145]},"n1820939762":{"id":"n1820939762","loc":[-85.2788825,41.9865142]},"n1820939763":{"id":"n1820939763","loc":[-85.0009147,42.0886686]},"n1820939764":{"id":"n1820939764","loc":[-85.3918142,42.003434]},"n1820939765":{"id":"n1820939765","loc":[-85.5532832,41.9696848]},"n1820939766":{"id":"n1820939766","loc":[-85.5545063,41.969254]},"n1820939768":{"id":"n1820939768","loc":[-85.1327989,42.0704769]},"n1820939770":{"id":"n1820939770","loc":[-85.0588558,42.1047696]},"n1820939772":{"id":"n1820939772","loc":[-85.555798,41.9713017]},"n1820939773":{"id":"n1820939773","loc":[-85.0565853,42.1023589]},"n1820939774":{"id":"n1820939774","loc":[-85.2582941,41.9992765]},"n1820939775":{"id":"n1820939775","loc":[-85.3007264,41.9727642]},"n1820939776":{"id":"n1820939776","loc":[-85.2477045,42.0082652]},"n1820939777":{"id":"n1820939777","loc":[-85.2415247,42.0104973]},"n1821006698":{"id":"n1821006698","loc":[-85.6345227,41.9382009]},"n1821006700":{"id":"n1821006700","loc":[-85.6344894,41.938975]},"n1821006704":{"id":"n1821006704","loc":[-85.6351181,41.9370157]},"n1821006706":{"id":"n1821006706","loc":[-85.6357554,41.9361657]},"n1821006708":{"id":"n1821006708","loc":[-85.6351235,41.9368481]},"n1821006710":{"id":"n1821006710","loc":[-85.6352844,41.9364211]},"n1821006712":{"id":"n1821006712","loc":[-85.6351503,41.937307]},"n1821006716":{"id":"n1821006716","loc":[-85.6350366,41.9379774]},"n1821006725":{"id":"n1821006725","loc":[-85.6352147,41.9375903]},"n1821137607":{"id":"n1821137607","loc":[-85.5297057,41.9669915]},"n1821137608":{"id":"n1821137608","loc":[-85.5288598,41.9673094]},"n1821139530":{"id":"n1821139530","loc":[-85.4832228,41.9881686]},"n1821139531":{"id":"n1821139531","loc":[-85.4812101,41.9851258]},"n1821139532":{"id":"n1821139532","loc":[-85.4799127,41.9860244]},"n1821139533":{"id":"n1821139533","loc":[-85.4800313,41.9865555]},"n1841425201":{"id":"n1841425201","loc":[-85.4334577,42.0063713]},"n1841425222":{"id":"n1841425222","loc":[-85.4382449,42.0055785]},"n1914861007":{"id":"n1914861007","loc":[-85.394959,42.0057472]},"n1914861057":{"id":"n1914861057","loc":[-85.3967185,42.0049695]},"n1914861112":{"id":"n1914861112","loc":[-85.394179,42.0056906]},"n1914861306":{"id":"n1914861306","loc":[-85.3900226,42.0028488]},"n2114807565":{"id":"n2114807565","loc":[-85.6385979,41.9577824]},"n2114807568":{"id":"n2114807568","loc":[-85.6325097,41.9775713]},"n2114807572":{"id":"n2114807572","loc":[-85.6328996,41.9980965]},"n2114807578":{"id":"n2114807578","loc":[-85.6344818,41.9696956]},"n2114807583":{"id":"n2114807583","loc":[-85.6326289,41.9757853]},"n2114807593":{"id":"n2114807593","loc":[-85.6360828,41.9650674]},"n2130304159":{"id":"n2130304159","loc":[-85.6352537,41.9450015],"tags":{"railway":"level_crossing"}},"n2139795852":{"id":"n2139795852","loc":[-85.6374708,41.9311633]},"n2139858882":{"id":"n2139858882","loc":[-85.635178,41.9356158]},"n2139858883":{"id":"n2139858883","loc":[-85.63533,41.9355886]},"n2139858884":{"id":"n2139858884","loc":[-85.6353819,41.93556]},"n2139858885":{"id":"n2139858885","loc":[-85.6353665,41.9355157]},"n2139858886":{"id":"n2139858886","loc":[-85.6353165,41.9354971]},"n2139858887":{"id":"n2139858887","loc":[-85.6352454,41.9355328]},"n2139858888":{"id":"n2139858888","loc":[-85.6350184,41.9357846]},"n2139858889":{"id":"n2139858889","loc":[-85.634978,41.9359448]},"n2139858890":{"id":"n2139858890","loc":[-85.6347723,41.9361523]},"n2139858891":{"id":"n2139858891","loc":[-85.6347165,41.9362667]},"n2139858892":{"id":"n2139858892","loc":[-85.6346992,41.9364312]},"n2139858893":{"id":"n2139858893","loc":[-85.634603,41.9366329]},"n2139858894":{"id":"n2139858894","loc":[-85.6345973,41.9367488]},"n2139858895":{"id":"n2139858895","loc":[-85.6345127,41.9369734]},"n2139858896":{"id":"n2139858896","loc":[-85.634478,41.9371923]},"n2139858897":{"id":"n2139858897","loc":[-85.6344838,41.9373768]},"n2139858898":{"id":"n2139858898","loc":[-85.6346242,41.9375299]},"n2139858899":{"id":"n2139858899","loc":[-85.6347723,41.9376357]},"n2139858900":{"id":"n2139858900","loc":[-85.6347607,41.9377788]},"n2139858901":{"id":"n2139858901","loc":[-85.6346204,41.9379533]},"n2139858902":{"id":"n2139858902","loc":[-85.6344184,41.9380105]},"n2139858903":{"id":"n2139858903","loc":[-85.6341627,41.9380406]},"n2139858904":{"id":"n2139858904","loc":[-85.634005,41.9381679]},"n2139858905":{"id":"n2139858905","loc":[-85.63393,41.9383353]},"n2139858906":{"id":"n2139858906","loc":[-85.6338588,41.9384597]},"n2139858907":{"id":"n2139858907","loc":[-85.6336627,41.9387759]},"n2139858908":{"id":"n2139858908","loc":[-85.6335127,41.9389361]},"n2139858933":{"id":"n2139858933","loc":[-85.6353118,41.9432646]},"n2139858934":{"id":"n2139858934","loc":[-85.6353952,41.9433002]},"n2139858935":{"id":"n2139858935","loc":[-85.6356496,41.9433255]},"n2139858936":{"id":"n2139858936","loc":[-85.6363128,41.9433373]},"n2139858937":{"id":"n2139858937","loc":[-85.6365467,41.9433779]},"n2139858938":{"id":"n2139858938","loc":[-85.6368692,41.9435265]},"n2139858939":{"id":"n2139858939","loc":[-85.6370986,41.9437039]},"n2139858940":{"id":"n2139858940","loc":[-85.6372371,41.9437732]},"n2139858941":{"id":"n2139858941","loc":[-85.6374756,41.9438171]},"n2139858942":{"id":"n2139858942","loc":[-85.6376164,41.9439286]},"n2139858943":{"id":"n2139858943","loc":[-85.6377504,41.944138]},"n2139858944":{"id":"n2139858944","loc":[-85.6384204,41.9443137]},"n2139858945":{"id":"n2139858945","loc":[-85.6385726,41.9444506]},"n2139858946":{"id":"n2139858946","loc":[-85.638702,41.9445739]},"n2139858947":{"id":"n2139858947","loc":[-85.6387179,41.9446516]},"n2139858948":{"id":"n2139858948","loc":[-85.6387088,41.9447985]},"n2139858949":{"id":"n2139858949","loc":[-85.6387656,41.9449877]},"n2139858950":{"id":"n2139858950","loc":[-85.638777,41.9451448]},"n2139858951":{"id":"n2139858951","loc":[-85.6387088,41.9452631]},"n2139858964":{"id":"n2139858964","loc":[-85.6383346,41.9442912]},"n2139858966":{"id":"n2139858966","loc":[-85.6384724,41.9443605]},"n2139858967":{"id":"n2139858967","loc":[-85.6354078,41.9434285]},"n2139858968":{"id":"n2139858968","loc":[-85.635271,41.943654]},"n2139858969":{"id":"n2139858969","loc":[-85.6352657,41.9437437]},"n2139858970":{"id":"n2139858970","loc":[-85.635271,41.9438195]},"n2139858971":{"id":"n2139858971","loc":[-85.6351563,41.9438906]},"n2139858972":{"id":"n2139858972","loc":[-85.6351384,41.9438882]},"n2139858973":{"id":"n2139858973","loc":[-85.6351514,41.9438034]},"n2139858974":{"id":"n2139858974","loc":[-85.6351237,41.9436641]},"n2139858975":{"id":"n2139858975","loc":[-85.6351498,41.9436108]},"n2139858976":{"id":"n2139858976","loc":[-85.6351058,41.9435345]},"n2139858977":{"id":"n2139858977","loc":[-85.6349641,41.9432051]},"n2139858986":{"id":"n2139858986","loc":[-85.6341205,41.9380746]},"n2139858990":{"id":"n2139858990","loc":[-85.6345671,41.9381816]},"n2139858995":{"id":"n2139858995","loc":[-85.6339783,41.9382273]},"n2139859003":{"id":"n2139859003","loc":[-85.6340477,41.9373489]},"n2139859004":{"id":"n2139859004","loc":[-85.6339784,41.9374752]},"n2139870406":{"id":"n2139870406","loc":[-85.6342265,41.9432605]},"n2139877106":{"id":"n2139877106","loc":[-85.6346323,41.9438746]},"n2139982399":{"id":"n2139982399","loc":[-85.6324055,41.9408537]},"n2139982400":{"id":"n2139982400","loc":[-85.632488,41.941063],"tags":{"leisure":"slipway"}},"n2139982401":{"id":"n2139982401","loc":[-85.6327261,41.9415366]},"n2139982402":{"id":"n2139982402","loc":[-85.6326391,41.9413598]},"n2139982403":{"id":"n2139982403","loc":[-85.6327041,41.9414391]},"n2139982405":{"id":"n2139982405","loc":[-85.6322891,41.9406009]},"n2139982406":{"id":"n2139982406","loc":[-85.6325412,41.9425257]},"n2139989333":{"id":"n2139989333","loc":[-85.6340584,41.9431731]},"n2140006331":{"id":"n2140006331","loc":[-85.6361751,41.9459744]},"n2140006334":{"id":"n2140006334","loc":[-85.636528,41.9459751]},"n2140006336":{"id":"n2140006336","loc":[-85.6370918,41.9458926]},"n2140006338":{"id":"n2140006338","loc":[-85.6378806,41.9456474]},"n2140006340":{"id":"n2140006340","loc":[-85.6385831,41.9454343]},"n2140006342":{"id":"n2140006342","loc":[-85.639341,41.945157]},"n2140006344":{"id":"n2140006344","loc":[-85.6393497,41.9450232]},"n2140006346":{"id":"n2140006346","loc":[-85.6388245,41.9450145]},"n2140006348":{"id":"n2140006348","loc":[-85.6388167,41.9441739]},"n2140006351":{"id":"n2140006351","loc":[-85.6382915,41.9441797]},"n2140006353":{"id":"n2140006353","loc":[-85.63828,41.9438109]},"n2140006355":{"id":"n2140006355","loc":[-85.6381949,41.9436009]},"n2140006357":{"id":"n2140006357","loc":[-85.6371904,41.9435918]},"n2140006359":{"id":"n2140006359","loc":[-85.6366966,41.9432727]},"n2140006361":{"id":"n2140006361","loc":[-85.6353755,41.9432744]},"n2140006365":{"id":"n2140006365","loc":[-85.6350906,41.9435472]},"n2140006366":{"id":"n2140006366","loc":[-85.6343461,41.9441573]},"n2140006395":{"id":"n2140006395","loc":[-85.6351171,41.9437175]},"n2140006397":{"id":"n2140006397","loc":[-85.635352,41.9450206]},"n2140006399":{"id":"n2140006399","loc":[-85.6358194,41.9454937]},"n2140006401":{"id":"n2140006401","loc":[-85.6348693,41.9445739]},"n2140006431":{"id":"n2140006431","loc":[-85.6376737,41.9438023]},"n2140006437":{"id":"n2140006437","loc":[-85.6382631,41.9442724]},"n2189123379":{"id":"n2189123379","loc":[-85.6342671,41.9352665]},"w203974076":{"id":"w203974076","tags":{"highway":"footway"},"nodes":["n2139870442","n2139870457","n2139870458","n2139870459","n2139870460","n2139870452"]},"w170989131":{"id":"w170989131","tags":{"name":"St Joseph River","waterway":"river"},"nodes":["n1820938225","n1820938712","n1820937596","n1820937574","n1820938515","n1820938330","n1820938678","n1820938240","n1820938950","n1820939226","n1820939575","n1820937913","n1820938223","n1820937668","n1820938545","n1820937584","n1820939742","n1820939727","n1820937578","n1820938149","n1820938124","n1820938888","n1820938898","n1820937922","n1820939543","n1820939370","n1820939401","n1820939647","n1820938345","n1820939644","n1820938333","n1820938370","n1820938624","n1820938493","n1820939559","n1820939763","n1820939237","n1820939416","n1820937810","n1820938317","n1820938324","n1820937558","n1820939556","n1820938298","n1820939348","n1820939125","n1820939081","n1820938859","n1820939126","n1820938881","n1820939439","n1820939324","n1820939128","n1820938101","n1820937706","n1820938382","n1820938776","n1820937815","n1820939177","n1820939688","n1820938952","n1820938216","n1820938387","n1820939333","n1820938243","n1820938248","n1820937666","n1820939051","n1820938332","n1820939438","n1820939407","n1820939361","n1820937517","n1820938770","n1820939591","n1820937857","n1820938491","n1820937993","n1820938125","n1820938166","n1820937746","n1820939028","n1820937638","n1820938676","n1820938843","n1820938844","n1820937978","n1820938730","n1820939544","n1820938304","n1820939123","n1820939494","n1820939450","n1820939555","n1820938133","n1820938129","n1820938871","n1820939408","n1820938669","n1820938260","n1820939740","n1820937625","n1820938631","n1820939651","n1820939613","n1820937850","n1820938325","n1820937736","n1820938804","n1820938837","n1820938014","n1820938991","n1820938722","n1820938935","n1820937870","n1820938432","n1820937986","n1820938756","n1820938966","n1820939159","n1820937744","n1820938334","n1820937645","n1820939394","n1820937656","n1820938392","n1820939703","n1820938385","n1820938947","n1820938854","n1820938428","n1820938488","n1820938269","n1820938668","n1820938268","n1820938707","n1820937732","n1820939144","n1820938481","n1820938771","n1820938686","n1820938948","n1820937997","n1820937769","n1820939003","n1820938083","n1820939011","n1820938803","n1820938700","n1820939723","n1820938808","n1820938262","n1820938081","n1820938926","n1820938326","n1820938102","n1820938508","n1820939590","n1820939199","n1820938084","n1820938870","n1820938895","n1820937611","n1820938918","n1820938514","n1820939610","n1820938910","n1820937523","n1820938127","n1820939108","n1820937981","n1820938938","n1820938715","n1820939016","n1820938237","n1820939623","n1820939602","n1820937734","n1820938977","n1820939633","n1820939156","n1820939406","n1820938279","n1820938301","n1820937678","n1820937671","n1820939163","n1820938356","n1820939372","n1820937568","n1820937626","n1820939710","n1820939004","n1820938253","n1820938571","n1820937513","n1820939412","n1820939701","n1820939509","n1820938839","n1820939731","n1820937798","n1820939676","n1820939724","n1820939243","n1820939704","n1820937814","n1820937599","n1820938199","n1820938995","n1820938445","n1820938069","n1820938470","n1820939074","n1820938193","n1820938740","n1820938047","n1820939507","n1820939441","n1820939160","n1820937849","n1820937840","n1820938052","n1820938988","n1820938796","n1820937724","n1820937620","n1820939304","n1820938343","n1820939649","n1820938875","n1820939686","n1820938476","n1820937801","n1820937737","n1820938264","n1820939609","n1820939496","n1820939593","n1820939566","n1820939661","n1820937782","n1820938912","n1820939173","n1820937733","n1820938953","n1820939603","n1820937607","n1820938468","n1820939601","n1820939694","n1820939133","n1820938897","n1820938893","n1820937831","n1820937730","n1820938820","n1820938046","n1820938426","n1820938347","n1820937582","n1820938954","n1820938033","n1820938104","n1820938680","n1820939563","n1820939404","n1820939714","n1820939000","n1820937992","n1820938168","n1820939510","n1820939500","n1820937509","n1820938865","n1820939773","n1820938138","n1820938905","n1820937623","n1820939418","n1820937946","n1820939577","n1820937615","n1820939687","n1820939119","n1820937988","n1820938337","n1820937750","n1820938703","n1820938339","n1820939044","n1820939770","n1820938913","n1820937672","n1820939722","n1820937768","n1820939597","n1820939612","n1820937699","n1820937682","n1820937669","n1820937657","n1820939363","n1820937800","n1820938265","n1820937760","n1820938207","n1820938115","n1820939130","n1820939716","n1820938338","n1820938239","n1820939040","n1820938064","n1820938855","n1820939015","n1820938258","n1820939042","n1820939043","n1820938443","n1820939725","n1820937675","n1820938568","n1820938280","n1820937705","n1820938775","n1820938636","n1820938626","n1820937859","n1820938096","n1820937852","n1820939039","n1820938247","n1820938585","n1820937707","n1820938117","n1820938909","n1820939115","n1820939335","n1820938805","n1820937935","n1820937876","n1820938699","n1820937869","n1820938603","n1820938100","n1820938500","n1820938283","n1820938275","n1820938923","n1820938365","n1820938349","n1820937804","n1820937903","n1820937608","n1820938688","n1820939671","n1820938092","n1820937820","n1820938753","n1820938922","n1820937990","n1820939682","n1820939738","n1820939600","n1820938167","n1820937726","n1820939702","n1820938209","n1820939456","n1820937837","n1820938222","n1820938902","n1820939162","n1820938965","n1820938461","n1820937681","n1820937514","n1820937764","n1820939719","n1820939697","n1820938899","n1820939093","n1820938702","n1820939595","n1820938749","n1820938348","n1820937606","n1820938675","n1820938830","n1820938737","n1820938758","n1820938716","n1820939107","n1820937863","n1820939033","n1820938163","n1820937867","n1820938819","n1820938034","n1820938252","n1820937563","n1820937868","n1820939032","n1820938632","n1820937982","n1820937943","n1820939568","n1820939541","n1820938215","n1820939097","n1820938812","n1820937518","n1820937952","n1820938711","n1820938736","n1820939066","n1820937591","n1820938082","n1820938108","n1820938496","n1820939410","n1820938949","n1820938327","n1820937708","n1820939023","n1820937772","n1820938256","n1820939083","n1820938378","n1820938961","n1820937610","n1820939717","n1820938695","n1820938590","n1820939655","n1820938341","n1820939054","n1820939157","n1820939674","n1820939684","n1820939511","n1820937631","n1820939458","n1820937830","n1820937709","n1820937779","n1820939749","n1820938880","n1820938856","n1820938557","n1820939557","n1820938249","n1820938818","n1820937594","n1820939114","n1820938416","n1820937508","n1820938990","n1820938201","n1820937759","n1820937987","n1820939164","n1820939753","n1820938187","n1820939067","n1820937586","n1820937941","n1820938121","n1820937807","n1820938521","n1820939726","n1820938244","n1820939014","n1820938741","n1820937629","n1820938664","n1820938747","n1820939082","n1820938709","n1820938320","n1820938270","n1820937619","n1820937777","n1820937718","n1820939138","n1820938056","n1820938155","n1820938596","n1820937775","n1820938437","n1820938128","n1820939581","n1820939145","n1820938546","n1820938184","n1820937601","n1820937794","n1820938539","n1820939645","n1820938438","n1820938436","n1820939025","n1820938915","n1820938534","n1820937605","n1820939607","n1820939101","n1820939580","n1820939268","n1820939134","n1820938849","n1820938754","n1820938079","n1820937842","n1820938781","n1820938873","n1820938495","n1820938381","n1820938503","n1820939436","n1820938502","n1820939087","n1820938996","n1820938449","n1820938907","n1820937979","n1820937780","n1820937546","n1820939699","n1820937677","n1820938957","n1820938946","n1820937776","n1820937717","n1820938718","n1820937637","n1820938510","n1820937663","n1820938941","n1820939151","n1820937603","n1820938250","n1820937951","n1820938630","n1820938821","n1820938779","n1820938497","n1820938159","n1820939536","n1820938409","n1820938386","n1820939116","n1820938340","n1820939117","n1820938291","n1820938435","n1820937819","n1820938242","n1820939078","n1820938877","n1820939104","n1820939445","n1820938367","n1820938903","n1820939420","n1820938517","n1820939508","n1820939542","n1820939326","n1820938210","n1820939020","n1820938815","n1820937832","n1820939513","n1820937818","n1820939005","n1820938717","n1820939135","n1820938384","n1820937587","n1820939024","n1820939504","n1820939120","n1820939026","n1820938015","n1820938998","n1820937648","n1820939137","n1820937761","n1820938195","n1820938535","n1820939550","n1820938725","n1820938282","n1820937781","n1820937792","n1820939705","n1820937788","n1820939707","n1820937882","n1820939632","n1820938427","n1820938276","n1820939617","n1820939013","n1820939035","n1820937543","n1820939365","n1820937752","n1820937802","n1820939183","n1820939670","n1820938450","n1820939375","n1820937813","n1820937673","n1820937783","n1820939029","n1820939768","n1820939377","n1820937974","n1820939244","n1820939642","n1820937864","n1820938255","n1820938528","n1820939666","n1820938120","n1820937812","n1820938928","n1820939750","n1820939099","n1820938073","n1820938714","n1820939140","n1820938192","n1820937844","n1820938635","n1820938742","n1820939583","n1820937887","n1820938318","n1820938816","n1820939698","n1820938273","n1820939181","n1820937652","n1820938748","n1820937651","n1820938519","n1820938019","n1820938752","n1820938235","n1820939118","n1820938562","n1820939314","n1820939570","n1820938190","n1820938342","n1820938533","n1820937977","n1820939089","n1820939146","n1820938622","n1820938297","n1820938524","n1820939283","n1820938874","n1820938832","n1820937550","n1820937843","n1820938638","n1820938116","n1820938206","n1820938319","n1820939053","n1820937845","n1820938093","n1820939217","n1820938997","n1820939355","n1820938861","n1820938726","n1820938057","n1820939373","n1820937862","n1820938518","n1820939072","n1820939680","n1820938444","n1820938217","n1820938506","n1820938393","n1820938492","n1820938852","n1820938221","n1820938773","n1820937684","n1820939060","n1820938224","n1820938203","n1820938840","n1820937525","n1820938147","n1820938433","n1820938188","n1820939359","n1820938750","n1820938016","n1820938768","n1820937621","n1820937799","n1820938951","n1820938721","n1820939037","n1820937866","n1820939715","n1820938063","n1820938446","n1820937627","n1820939624","n1820938431","n1820939721","n1820939622","n1820939239","n1820939263","n1820939648","n1820939640","n1820938867","n1820938757","n1820938439","n1820939352","n1820937740","n1820939329","n1820938229","n1820937583","n1820938180","n1820938366","n1820937767","n1820937758","n1820939374","n1820938869","n1820938292","n1820938400","n1820938399","n1820939734","n1820939289","n1820938944","n1820937755","n1820938759","n1820938434","n1820937600","n1820937825","n1820937670","n1820937793","n1820938011","n1820938246","n1820938956","n1820937770","n1820937757","n1820938059","n1820937860","n1820937569","n1820939266","n1820939685","n1820939672","n1820938606","n1820938772","n1820939038","n1820938211","n1820938359","n1820939619","n1820938708","n1820939512","n1820938065","n1820939233","n1820939739","n1820938786","n1820938879","n1820939147","n1820938563","n1820939148","n1820937839","n1820937659","n1820937786","n1820938419","n1820939565","n1820939402","n1820937710","n1820938254","n1820938271","n1820938390","n1820937680","n1820938140","n1820937817","n1820938218","n1820937985","n1820939235","n1820938441","n1820938401","n1820938719","n1820937795","n1820938971","n1820938460","n1820939759","n1820937972","n1820937841","n1820938462","n1820939320","n1820938978","n1820938360","n1820939713","n1820937676","n1820939712","n1820937939","n1820938080","n1820937754","n1820937753","n1820938530","n1820937886","n1820939689","n1820939124","n1820938697","n1820938789","n1820939105","n1820938860","n1820938853","n1820939400","n1820937561","n1820938404","n1820938774","n1820939316","n1820937696","n1820938782","n1820938975","n1820937564","n1820939730","n1820938257","n1820937853","n1820938487","n1820938848","n1820938906","n1820939230","n1820938424","n1820938051","n1820937771","n1820939587","n1820939149","n1820938792","n1820939041","n1820938934","n1820939777","n1820937515","n1820939058","n1820938312","n1820939264","n1820939631","n1820939109","n1820939403","n1820939664","n1820938724","n1820938929","n1820939399","n1820939776","n1820939369","n1820939185","n1820937701","n1820938126","n1820938336","n1820938219","n1820939080","n1820938642","n1820938043","n1820937725","n1820938548","n1820938552","n1820938035","n1820938684","n1820937778","n1820938764","n1820939021","n1820939346","n1820937712","n1820939761","n1820938397","n1820937747","n1820938566","n1820939161","n1820939090","n1820939752","n1820939271","n1820938878","n1820938110","n1820938346","n1820938499","n1820938151","n1820939538","n1820938281","n1820939153","n1820938551","n1820939285","n1820938197","n1820938408","n1820938482","n1820939036","n1820939579","n1820938489","n1820938483","n1820938189","n1820938123","n1820938087","n1820937741","n1820938485","n1820937590","n1820938972","n1820937773","n1820937520","n1820938872","n1820938131","n1820938452","n1820938328","n1820939620","n1820937641","n1820938353","n1820939693","n1820938705","n1820937640","n1820939189","n1820938144","n1820939774","n1820938694","n1820938238","n1820939397","n1820937917","n1820938454","n1820938567","n1820938979","n1820938060","n1820938204","n1820937828","n1820939232","n1820938806","n1820938857","n1820938078","n1820938105","n1820939228","n1820938604","n1820937763","n1820937854","n1820938289","n1820939736","n1820937937","n1820937714","n1820938278","n1820938058","n1820938706","n1820938989","n1820938313","n1820938520","n1820938288","n1820937689","n1820939537","n1820939531","n1820939019","n1820937527","n1820938455","n1820938814","n1820938045","n1820939627","n1820938213","n1820938161","n1820938331","n1820938024","n1820938220","n1820938062","n1820938178","n1820937796","n1820937644","n1820938490","n1820937589","n1820937879","n1820939614","n1820938882","n1820938039","n1820938538","n1820937667","n1820937719","n1820938561","n1820939658","n1820938783","n1820938601","n1820938198","n1820938388","n1820938969","n1820937687","n1820939086","n1820939665","n1820939187","n1820938498","n1820938261","n1820937983","n1820938068","n1820938136","n1820939061","n1820938137","n1820938186","n1820939071","n1820937592","n1820939669","n1820937553","n1820939357","n1820938727","n1820939371","n1820939112","n1820939079","n1820938743","n1820938467","n1820938834","n1820938022","n1820938537","n1820938122","n1820938516","n1820937614","n1820937612","n1820939469","n1820939636","n1820939050","n1820939552","n1820938157","n1820938663","n1820938955","n1820939091","n1820938430","n1820938471","n1820937809","n1820938074","n1820938208","n1820938914","n1820938858","n1820938417","n1820937531","n1820938107","n1820939100","n1820938751","n1820937711","n1820938824","n1820939745","n1820937572","n1820938602","n1820938212","n1820938097","n1820937921","n1820938090","n1820938511","n1820938876","n1820939762","n1820938234","n1820938048","n1820937774","n1820937856","n1820937749","n1820937765","n1820938286","n1820939095","n1820938480","n1820939229","n1820938277","n1820937617","n1820938311","n1820937622","n1820939196","n1820937690","n1820939006","n1820939287","n1820939131","n1820938106","n1820938784","n1820938335","n1820938095","n1820938182","n1820937715","n1820937683","n1820938070","n1820939605","n1820938527","n1820938763","n1820938398","n1820937686","n1820939621","n1820937664","n1820939277","n1820938565","n1820939539","n1820938099","n1820939646","n1820938556","n1820937548","n1820938729","n1820939336","n1820938259","n1820938728","n1820938361","n1820937643","n1820938644","n1820939007","n1820939690","n1820939227","n1820937635","n1820937950","n1820938682","n1820939150","n1820939012","n1820939261","n1820939111","n1820937805","n1820939691","n1820939677","n1820937628","n1820937811","n1820938790","n1820938251","n1820938226","n1820938942","n1820937633","n1820937984","n1820937751","n1820939673","n1820938970","n1820938415","n1820938597","n1820938309","n1820938111","n1820938472","n1820938894","n1820938402","n1820937593","n1820938570","n1820939102","n1820939775","n1820937948","n1820939121","n1820937511","n1820938787","n1820939720","n1820939075","n1820937880","n1820937742","n1820937721","n1820939535","n1820938486","n1820938354","n1820937632","n1820939010","n1820938885","n1820938089","n1820937613","n1820938442","n1820938245","n1820938272","n1820937566","n1820938295","n1820938532","n1820938883","n1820937713","n1820937674","n1820939635","n1820938448","n1820938355","n1820938587","n1820938559","n1820937787","n1820939301","n1820937723","n1820939056","n1820937560","n1820938323","n1820938230","n1820938453","n1820938377","n1820938357","n1820939637","n1820938017","n1820939540","n1820939376","n1820937639","n1820937642","n1820938075","n1820938351","n1820938766","n1820937897","n1820938973","n1820938066","n1820939547","n1820939652","n1820937944","n1820937748","n1820939234","n1820939193","n1820937891","n1820938785","n1820939132","n1820938523","n1820938884","n1820938411","n1820939554","n1820938791","n1820937655","n1820938368","n1820939152","n1820938030","n1820938447","n1820937580","n1820939628","n1820937588","n1820937894","n1820939201","n1820938086","n1820937650","n1820938379","n1820939008","n1820938999","n1820937524","n1820937872","n1820938389","n1820939197","n1820938422","n1820938936","n1820939262","n1820937634","n1820938583","n1820939589","n1820937901","n1820939034","n1820939065","n1820938290","n1820939195","n1820938228","n1820937884","n1820938797","n1820938191","n1820939191","n1820939198","n1820937892","n1820939679","n1820938507","n1820937647","n1820937909","n1820938542","n1820939598","n1820937851","n1820939084","n1820939728","n1820937688","n1820938263","n1820938670","n1820937762","n1820939310","n1820938925","n1820938862","n1820938822","n1820938547","n1820937731","n1820938594","n1820938592","n1820938214","n1820938284","n1820937835","n1820938599","n1820939437","n1820937834","n1820937576","n1820937692","n1820939586","n1820939546","n1820938403","n1820937970","n1820939561","n1820938098","n1820938851","n1820938477","n1820938892","n1820939045","n1820939758","n1820939350","n1820938321","n1820938440","n1820938595","n1820938364","n1820938962","n1820938118","n1820939678","n1820938406","n1820938549","n1820937555","n1820938823","n1820937521","n1820939471","n1820939487","n1820938799","n1820938605","n1820937928","n1820938373","n1820939747","n1820939629","n1820937557","n1820937526","n1820938958","n1820938833","n1820937636","n1820938967","n1820938760","n1820938842","n1820938067","n1820939077","n1820939224","n1820938185","n1820939110","n1820938372","n1820939757","n1820939063","n1820939660","n1820938813","n1820937528","n1820938369","n1820938896","n1820939551","n1820939683","n1820937660","n1820937873","n1820938810","n1820938478","n1820939662","n1820937595","n1820939052","n1820938113","n1820939070","n1820938733","n1820937878","n1820938300","n1820939760","n1820939718","n1820937646","n1820939057","n1820939443","n1914861306","n1820938013","n1820937529","n1820939764","n1820938826","n1820937885","n1820939588","n1820937865","n1820937833","n1914861112","n1820938761","n1914861007","n1820937905","n1820938541","n1820939092","n1914861057","n1820938153","n1820938267","n1820939265","n1820938085","n1820939018","n1820939755","n1820938474","n1820939027","n1820938593","n1820938202","n1820939599","n1820939695","n1820938077","n1820938012","n1820939545","n1820939596","n1820939337","n1820938227","n1820937698","n1820938475","n1820939465","n1820938165","n1820938698","n1820938525","n1820938529","n1820938553","n1820938940","n1820939498","n1820938501","n1820939533","n1820938924","n1820939634","n1820939220","n1820939657","n1820938887","n1820938838","n1820938114","n1820937823","n1820938778","n1820938801","n1820939096","n1820938981","n1820937953","n1820938732","n1820938980","n1820938960","n1820937949","n1820938026","n1820939273","n1841425201","n1820938629","n1820938864","n1820938554","n1820938088","n1820937685","n1841425222","n1820939729","n1820937665","n1820937838","n1820937739","n1820938780","n1820937821","n1820938825","n1820939055","n1820939485","n1820938041","n1820938746","n1820939562","n1820938459","n1820939489","n1820938050","n1820937980","n1820937695","n1820938413","n1820938555","n1820937703","n1820938536","n1820938196","n1820938287","n1820938169","n1820939279","n1820938531","n1820938959","n1820939741","n1820938665","n1820938963","n1820939611","n1820937653","n1820939618","n1820939492","n1820938600","n1820938628","n1820939312","n1820939616","n1820937738","n1820939001","n1820939062","n1820938794","n1820938558","n1820937822","n1820937532","n1820939073","n1820938200","n1820938241","n1820938968","n1820938927","n1820938306","n1820937630","n1820938456","n1820937694","n1820938908","n1820939076","n1820937522","n1820939659","n1820938522","n1820939318","n1820938932","n1820938841","n1820937579","n1820937540","n1820938560","n1821139530","n1820938964","n1820937662","n1820939281","n1821139533","n1820937797","n1821139532","n1820939751","n1821139531","n1820939291","n1820938420","n1820939696","n1820938904","n1820938484","n1820939448","n1820939009","n1820938735","n1820938986","n1820938937","n1820939030","n1820938734","n1820938745","n1820939106","n1820938987","n1820937858","n1820938673","n1820938620","n1820937808","n1820937700","n1820939573","n1820938540","n1820937661","n1820937570","n1820938396","n1820937875","n1820939048","n1820938233","n1820938793","n1820939584","n1820938412","n1820938394","n1820937846","n1820938800","n1820938690","n1820939331","n1820939630","n1820938762","n1820938710","n1820939322","n1820938992","n1821137608","n1821137607","n1820937924","n1820939139","n1820939463","n1820939574","n1820938294","n1820938071","n1820938307","n1820938061","n1820939260","n1820937899","n1820938310","n1820938983","n1820937530","n1820938993","n1820938890","n1820937915","n1820938231","n1820938040","n1820938920","n1820939585","n1820938135","n1820939700","n1820937824","n1820939667","n1820937930","n1820938134","n1820937551","n1820939405","n1820938232","n1820937716","n1820937848","n1820939765","n1820939068","n1820939766","n1820937933","n1820937720","n1820939222","n1820939772","n1820939022","n1820939732","n1820937702","n1820937691","n1820938945","n1820937756","n1820938451","n1820938410","n1820938798","n1820937945","n1820937654","n1820938598","n1820938836","n1820937571","n1820937556","n1820938994","n1820938919","n1820938863","n1820939064","n1820938018","n1820937658","n1820937537","n1820938142","n1820938666","n1820937535","n1820939571","n1820938465","n1820939638","n1820937533","n1820939656","n1820939422","n1820938109","n1820938405","n1820938028","n1820937649","n1820938829","n1820939031","n1820939155","n1820938350","n1820938463","n1820938425","n1820939047","n1820938831","n1820938494","n1820937697","n1820938504","n1820938900","n1820937784","n1820938414","n1820938076","n1820938723","n1820937722","n1820938739","n1820937791","n1820938985","n1820938352","n1820938293","n1820938274","n1820939692","n1820937871","n1820939059","n1820938868","n1820937877","n1820937743","n1820938429","n1820937545","n1820937575","n1820938302","n1820938505","n1820938916","n1820938374","n1820938329","n1820937790","n1820939735","n1820938930","n1820937995","n1820938512","n1820938130","n1820938194","n1820938671","n1820938802","n1820937542","n1820937602","n1820939069","n1820938901","n1820939654","n1820937727","n1820939569","n1820938375","n1820939306","n1820938479","n1820938376","n1820938667","n1820937766","n1820939467","n1820939567","n1820937806","n1820938943","n1820938931","n1820937745","n1820939452","n1820938738","n1820938053","n1820939653","n1820938640","n1820937604","n1820937536","n1820938701","n1820939625","n1820939744","n1820939572","n1820937577","n1820937541","n1820938891","n1820937597","n1820938469","n1820939194","n1820937539","n1820938911","n1820939017","n1820939650","n1820939103","n1820939578","n1820938132","n1820937549","n1820938634","n1820939743","n1820937544","n1820937826","n1820937598","n1820937547","n1820938032","n1820939142"]},"w17963021":{"id":"w17963021","tags":{"highway":"residential"},"nodes":["n185948706","n185948708","n185948710"]},"w203974069":{"id":"w203974069","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870431","n2139870432","n2139870433","n2139870434","n2139870431"]},"w209816575":{"id":"w209816575","tags":{"area":"yes","building":"yes"},"nodes":["n2199856288","n2199856289","n2199856290","n2199856291","n2199856292","n2199856293","n2199856294","n2199856295","n2199856296","n2199856297","n2199856298","n2199856299","n2199856300","n2199856301","n2199856302","n2199856303","n2199856288"]},"w203841838":{"id":"w203841838","tags":{"area":"yes","natural":"water"},"nodes":["n2138493826","n2138493827","n2138493828","n2138493829","n2138493830","n2138493831","n2138493833","n2138493832","n2138493826"]},"w203972937":{"id":"w203972937","tags":{"highway":"path","name":"Riverwalk Trail","surface":"asphalt","width":"3"},"nodes":["n2139858882","n2139858883","n2139858884","n2139858885","n2139858886","n2139858887","n2139858882","n2139858888","n2139858889","n2139858890","n2139858891","n2139858892","n2139858893","n2139858894","n2139858895","n2139858896","n2139858897","n2139858898","n2139858899","n2139858900","n2139858901","n2139858902","n2139858903","n2139858986","n2139858904","n2139858995","n2139858905","n2139858906","n2139858907","n2139858908","n2139858909","n2139858910","n2139858911","n2139858912","n2139858913","n2139858914","n2139858915","n2139858916","n2139858917","n2139858918","n2139858919","n2139858920","n2139858921","n2139858922","n2139858923","n2139858924","n2139858925","n2139858926","n2139858927","n2139858982","n2139858928","n2139858929","n2139858930","n2139858931","n2139858932","n2139858981","n2139858933","n2139858934","n2139858935","n2139858936","n2139858937","n2139858938","n2139858939","n2139858940","n2139858941","n2139858942","n2139858943","n2140006437","n2139858964","n2139858944","n2139858966","n2139858945","n2139858946","n2139858947","n2139858948","n2139858949","n2139858950","n2139858951"]},"w17964015":{"id":"w17964015","tags":{"highway":"residential"},"nodes":["n185954680","n185954683","n185954685","n185954687","n185954689","n185954690","n185954691","n2139870379","n2139870456","n185954692","n185954693","n185954695"]},"w17967315":{"id":"w17967315","tags":{"highway":"residential","name":"South Andrews Street"},"nodes":["n185981999","n185974477","n185964963"]},"w203974071":{"id":"w203974071","tags":{"highway":"footway"},"nodes":["n2139870439","n2139870440","n2139870441","n2139870442","n2139870443","n2139870444","n2139870445","n2139870446","n2139870447","n2139870448","n2139870449"]},"w170848824":{"id":"w170848824","tags":{"name":"Rocky River","waterway":"river"},"nodes":["n1819858503","n1819858531","n1819858526","n1819858518","n1819858505","n1819858508","n1819858512","n1819858514","n1819858528","n1819858509","n1819858511","n1819858507","n1819858521"]},"w203986458":{"id":"w203986458","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989357","n2139989359","n2139989360","n2139989362","n2139989357"]},"w170844917":{"id":"w170844917","tags":{"waterway":"riverbank"},"nodes":["n1819805911","n1819805690","n1819805812","n1819805766","n1819805802","n1819805885","n1819805626","n1819805842","n1819805715","n1819805694","n1819805618","n1819805629","n1819805731","n1819805636","n1819805878","n1819805718","n1819805798","n1819849057","n1819805666","n1819805852","n1819805805","n1819805789","n1819805868","n1819805680","n1819805918","n1819848888","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n1819858521","n1819805854","n1819805876","n1819805864","n1819805922","n2139859004","n1819805702","n2139859003","n1819805614","n1819805792","n1819805786","n1819805777","n1819805645","n1819805838","n1819805889","n1819805795","n1819805707","n1819805774","n1819805808","n1819805810","n1819805724","n1819805676","n1819805728","n1819805783","n1819805687","n1819805727","n2189123379","n1819805632","n1819805641","n1819805760","n1819805887","n1819805861","n1819805722","n1819805880","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n1819805698","n1819805647","n1819805870","n1819805683","n1819805622","n1819805639","n1819805858","n1819805643","n1819805673","n1819805925","n1819805849","n1819805711","n1819805846","n1819805669","n1819805883","n1819805814","n1819805873","n1819805911"]},"w17967326":{"id":"w17967326","tags":{"highway":"residential","name":"North Constantine Street"},"nodes":["n185985217","n185985219","n185985221","n185985222","n185985223","n185985225","n2140006431","n185985227","n185985229","n185985231","n185985233","n185985235","n185985238","n185985240","n2140018998","n185964965"]},"w134150789":{"id":"w134150789","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60"},"nodes":["n185964971","n2139870406","n185964972"]},"w17966400":{"id":"w17966400","tags":{"highway":"tertiary","name":"South Constantine Street"},"nodes":["n185958672","n185964965"]},"w203974066":{"id":"w203974066","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870417","n2139870418","n2139870420","n2139870419"]},"w17965998":{"id":"w17965998","tags":{"name":"Conrail Railroad","railway":"rail"},"nodes":["n185972775","n185972777","n185972779","n185972781","n185972783","n185972785","n185972787","n185972788","n185972789","n185972790","n185972791","n185972793","n185972795","n185972797","n185972798","n185972800","n185972802","n185972805","n185972807","n185972809","n185972811","n185972813","n185972814","n185972815","n185972816","n185972817","n185972819","n185972821","n185972824","n185972826","n185972830","n185972832","n185972834","n185972835","n185972836","n185972839","n185990434","n2114807572","n2114807568","n185972845","n2114807583","n185972847","n185972849","n185972851","n2114807578","n1475293254","n2114807593","n1475293226","n185972862","n2114807565","n185951869","n1475293234","n1475293252","n185972868","n1475293264","n1475293222","n185972878","n1475293261","n185972882","n185972885","n1475293260","n1475293240","n185972891","n185972895","n185972897","n185972899","n2130304159","n1475284023","n185972903"]},"w134150795":{"id":"w134150795","tags":{"bridge":"yes","highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60"},"nodes":["n185964970","n185964971"]},"w203974067":{"id":"w203974067","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870420","n2139870421"]},"w170995908":{"id":"w170995908","tags":{"highway":"residential","name":"Thomas Street"},"nodes":["n1821006702","n1821006700","n1821006698","n2139858990","n1821006716","n1821006725","n1821006712","n1821006704","n1821006708","n1821006710","n1821006706"]},"w17965834":{"id":"w17965834","tags":{"highway":"residential","name":"Spring Street"},"nodes":["n185971361","n185971364","n185971366","n185971368","n185954695","n185964968"]},"w203974070":{"id":"w203974070","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870435","n2139870436","n2139870437","n2139870438","n2139870435"]},"w203989879":{"id":"w203989879","tags":{"highway":"service"},"nodes":["n2140018998","n2140018999","n2140019000"]},"w203974062":{"id":"w203974062","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870387","n2139870388","n2139870389","n2139870390","n2139870391","n2139870392","n2139870397","n2139870393","n2139870396","n2139870395","n2139870394","n2139870387"]},"w203974061":{"id":"w203974061","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2139870382","n2139870383"]},"w203049587":{"id":"w203049587","tags":{"area":"yes","name":"Scidmore Park Petting Zoo","tourism":"zoo","zoo":"petting_zoo"},"nodes":["n2130304133","n2130304136","n2130304138","n2130304140","n2130304142","n2130304144","n2130304146","n2130304147","n2130304148","n2130304149","n2130304150","n2130304151","n2130304133"]},"w203972941":{"id":"w203972941","tags":{"highway":"path"},"nodes":["n2139858982","n2139858983","n2139858984","n2139858985","n2139858927"]},"w203974065":{"id":"w203974065","tags":{"highway":"service"},"nodes":["n2139870406","n2139870407","n2139870408","n2139870417","n2139870409","n2139870410","n2139870411","n2139870412","n2139870426","n2139870413","n2139870414","n2139870415","n2139870419","n2139870416","n2139870421","n2139870408"]},"w203972940":{"id":"w203972940","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858934","n2139858967","n2139858968","n2139858969","n2139858970","n2139858971","n2139858972","n2139858973","n2139858974","n2139858975","n2139858976","n2139858977","n2139858978","n2139858979","n2139858980","n2139858981"]},"w203974072":{"id":"w203974072","tags":{"highway":"footway"},"nodes":["n2139858925","n2139870450","n2139870453","n2139870451","n2139870452","n2139870441"]},"w203974074":{"id":"w203974074","tags":{"highway":"footway"},"nodes":["n2139870454","n2139870456","n2139870429"]},"w203974060":{"id":"w203974060","tags":{"highway":"footway"},"nodes":["n2139870383","n2139870384","n2139870422","n2139870385","n2139870386","n2139870388"]},"w203841837":{"id":"w203841837","tags":{"area":"yes","natural":"water"},"nodes":["n2138493807","n2138493808","n2138493809","n2138493810","n2138493811","n2138493812","n2138493813","n2138493814","n2138493815","n2138493816","n2138493825","n2138493817","n2138493824","n2138493818","n2138493819","n2138493820","n2138493821","n2138493822","n2138493823","n2138493807"]},"w134150845":{"id":"w134150845","tags":{"bridge":"yes","name":"Conrail Railroad","railway":"rail"},"nodes":["n185972903","n185972905"]},"w203974059":{"id":"w203974059","tags":{"highway":"footway"},"nodes":["n2139870430","n2139870439","n2139870429","n2139870428","n2139870379","n2139870455","n2139870380","n2139870381","n2139858925","n2139870382"]},"w203986457":{"id":"w203986457","tags":{"area":"yes","leisure":"park","name":"Scidmore Park"},"nodes":["n2139989333","n2139989335","n2139989337","n2139989339","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n2139989341","n2139989344","n2139989346","n2139989348","n2139989350","n2139989351","n2139989353","n2139989355","n2139989333"]},"w170848331":{"id":"w170848331","tags":{"name":"Rocky River","waterway":"river"},"nodes":["n1819848937","n1819849104","n1819849076","n1819849183","n1819848928","n1819848972","n1819848948","n1819848971","n1819848859","n1819849008","n1819848889","n1819849026","n1819849094","n1819849083","n1819849079","n1819849187","n1819848992","n1819849060","n1819849056","n1819849071","n1819849067","n1819849048","n1819849036","n1819849150","n1819849075","n1819849051","n1819849062","n1819848926","n1819849035","n1819848987","n1819849012","n1819848933","n1819848996","n1819848990","n1819849005","n1819849021","n1819848892","n1819849092","n1819848863","n1819848922","n1819848858","n1819848855","n1819848974","n1819848953","n1819849019","n1819849049","n1819848979","n1819849140","n1819849193","n1819849147","n1819849151","n1819849163","n1819849023","n1819848878","n1819849004","n1819848857","n1819848879","n1819849041","n1819849165","n1819849107","n1819849156","n1819848934","n1819848914","n1819848955","n1819848931","n1819848927","n1819849084","n1819849169","n1819849045","n1819848945","n1819849095","n1819848924","n1819849171","n1819849141","n1819849046","n1819849197","n1819849011","n1819849108","n1819849158","n1819849160","n1819848870","n1819849006","n1819849157","n1819848993","n1819848970","n1819849202","n1819848903","n1819848975","n1819848849","n1819849025","n1819849105","n1819849033","n1819849176","n1819849099","n1819849086","n1819848960","n1819848961","n1819849001","n1819848980","n1819849038","n1819848854","n1819849127","n1819849170","n1819849139","n1819848873","n1819848929","n1819849201","n1819849121","n1819849031","n1819849131","n1819848875","n1819849080","n1819849066","n1819849081","n1819849096","n1819849172","n1819849114","n1819849182","n1819848905","n1819849054","n1819848920","n1819848851","n1819848968","n1819848917","n1819849111","n1819849119","n1819849074","n1819848893","n1819849129","n1819848850","n1819848956","n1819849154","n1819848877","n1819848986","n1819849191","n1819848952","n1819848954","n1819848942","n1819849028","n1819849195","n1819848938","n1819848962","n1819849070","n1819849034","n1819849052","n1819849059","n1819848916","n1819849162","n1819849167","n1819849093","n1819849030","n1819849002","n1819849161","n1819848886","n1819848958","n1819849064","n1819849112","n1819849148","n1819848856","n1819848976","n1819848977","n1819849144","n1819848918","n1819849200","n1819848919","n1819849042","n1819849166","n1819849186","n1819849152","n1819849058","n1819849185","n1819849199","n1819849053","n1819849194","n1819849068","n1819849146","n1819849174","n1819848967","n1819848932","n1819849155","n1819849198","n1819848964","n1819848894","n1819848969","n1819849184","n1819849055","n1819849179","n1819848865","n1819848860","n1819849082","n1819848966","n1819849040","n1819849069","n1819849078","n1819849077","n1819848904","n1819848959","n1819849133","n1819849089","n1819849000","n1819849124","n1819849032","n1819849097","n1819848939","n1819849072","n1819848915","n1819849196","n1819848946","n1819849047","n1819849029","n1819849164","n1819848994","n1819849022","n1819858513","n1819849126","n1819849063","n1819848941","n1819849085","n1819848871","n1819848943","n1819849192","n1819858501","n1819849159","n1819858523","n1819848901","n1819849189","n1819858503","n1819849065","n2139877106","n1819848909","n1819848930","n1819848888"]},"w17967397":{"id":"w17967397","tags":{"highway":"residential","name":"North Andrews Street"},"nodes":["n185964963","n185985217"]},"w17964497":{"id":"w17964497","tags":{"highway":"tertiary","name":"Constantine St"},"nodes":["n185958643","n185958645","n2139795852","n185958647","n185958649","n185958651","n185958653","n185958656","n185958658","n185958660","n185958662","n185958664","n185958666","n185958668","n185958670","n185948710","n185958672"]},"w203974068":{"id":"w203974068","tags":{"highway":"footway"},"nodes":["n2139870422","n2139870423","n2139870424","n2139870425","n2139870426","n2139870427"]},"w203974063":{"id":"w203974063","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870398","n2139870399","n2139870400","n2139870401","n2139870398"]},"w203986459":{"id":"w203986459","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989364","n2139989366","n2139989368","n2139989370","n2139989364"]},"w203988286":{"id":"w203988286","tags":{"area":"yes","leisure":"park","name":"Memory Isle Park"},"nodes":["n2140006331","n2140006334","n2140006336","n2140006338","n2140006340","n2140006342","n2140006344","n2140006346","n2140006348","n2140006351","n2140006353","n2140006355","n2140006357","n2140006359","n2140006361","n2140006363","n2140006364","n2140006365","n2140006395","n2140006366","n2140006401","n2140006397","n2140006399","n2140006331"]},"w203974073":{"id":"w203974073","tags":{"highway":"footway"},"nodes":["n2139870453","n2139870454","n2139870455"]},"w203974064":{"id":"w203974064","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870402","n2139870403","n2139870404","n2139870405","n2139870402"]},"n185966959":{"id":"n185966959","loc":[-85.642185,41.946411]},"n1475283980":{"id":"n1475283980","loc":[-85.6398249,41.9451425]},"n1475284013":{"id":"n1475284013","loc":[-85.6396448,41.9451666]},"n1475284042":{"id":"n1475284042","loc":[-85.6386382,41.9454789]},"n185975925":{"id":"n185975925","loc":[-85.6393332,41.9452388]},"n185975919":{"id":"n185975919","loc":[-85.6391279,41.9453044]},"n185975917":{"id":"n185975917","loc":[-85.6389034,41.9453872]},"n2140006369":{"id":"n2140006369","loc":[-85.6386163,41.9451631]},"n2140006370":{"id":"n2140006370","loc":[-85.6385144,41.9449357]},"n2140006417":{"id":"n2140006417","loc":[-85.6385785,41.9450299]},"n2140006419":{"id":"n2140006419","loc":[-85.6385781,41.9452152]},"n2189123361":{"id":"n2189123361","loc":[-85.6404948,41.947015]},"n2189123363":{"id":"n2189123363","loc":[-85.6395765,41.946495]},"n2189123365":{"id":"n2189123365","loc":[-85.6389347,41.9460875]},"n185966962":{"id":"n185966962","loc":[-85.644417,41.946364]},"n185975911":{"id":"n185975911","loc":[-85.637532,41.9458276]},"n185975913":{"id":"n185975913","loc":[-85.6376323,41.9457936]},"n185975915":{"id":"n185975915","loc":[-85.6383596,41.9455425]},"n185975932":{"id":"n185975932","loc":[-85.644403,41.945088]},"n185975934":{"id":"n185975934","loc":[-85.645486,41.945084]},"n185979974":{"id":"n185979974","loc":[-85.644381,41.943831]},"n2139795809":{"id":"n2139795809","loc":[-85.6464756,41.9450813]},"n2139795810":{"id":"n2139795810","loc":[-85.6466646,41.945174]},"n2139858952":{"id":"n2139858952","loc":[-85.6383567,41.9454039]},"n2139858953":{"id":"n2139858953","loc":[-85.6380506,41.9455301]},"n2139858954":{"id":"n2139858954","loc":[-85.6377321,41.9455546]},"n2139858955":{"id":"n2139858955","loc":[-85.6376571,41.9455245]},"n2139858956":{"id":"n2139858956","loc":[-85.6375859,41.9454544]},"n2139858957":{"id":"n2139858957","loc":[-85.6376686,41.9453185]},"n2139858958":{"id":"n2139858958","loc":[-85.6378936,41.9451712]},"n2139858959":{"id":"n2139858959","loc":[-85.6379225,41.9450825]},"n2139858960":{"id":"n2139858960","loc":[-85.6379302,41.9447564]},"n2139858961":{"id":"n2139858961","loc":[-85.6379763,41.9446963]},"n2139858962":{"id":"n2139858962","loc":[-85.6380436,41.9446706]},"n2139858963":{"id":"n2139858963","loc":[-85.6381286,41.9445969]},"n2139858965":{"id":"n2139858965","loc":[-85.6382523,41.9444134]},"n2140006367":{"id":"n2140006367","loc":[-85.6380923,41.9454418]},"n2140006368":{"id":"n2140006368","loc":[-85.6384089,41.9453146]},"n2140006372":{"id":"n2140006372","loc":[-85.6383252,41.9447706]},"n2140006374":{"id":"n2140006374","loc":[-85.6381033,41.9447436]},"n2140006376":{"id":"n2140006376","loc":[-85.6379759,41.9447815]},"n2140006378":{"id":"n2140006378","loc":[-85.6379832,41.9448654]},"n2140006380":{"id":"n2140006380","loc":[-85.6380632,41.9450738]},"n2140006382":{"id":"n2140006382","loc":[-85.6380414,41.9452064]},"n2140006389":{"id":"n2140006389","loc":[-85.6379068,41.9453092]},"n2140006391":{"id":"n2140006391","loc":[-85.637925,41.9453904]},"n2140006393":{"id":"n2140006393","loc":[-85.6379977,41.94545]},"n2189123275":{"id":"n2189123275","loc":[-85.6371346,41.9462544]},"n2189123278":{"id":"n2189123278","loc":[-85.6368371,41.9466153]},"n2189123280":{"id":"n2189123280","loc":[-85.6379537,41.9489088]},"n2189123282":{"id":"n2189123282","loc":[-85.6383816,41.9497858]},"n2189123285":{"id":"n2189123285","loc":[-85.6393673,41.9512417]},"n2189123287":{"id":"n2189123287","loc":[-85.640554,41.9517766]},"n2189123289":{"id":"n2189123289","loc":[-85.6411,41.9522344]},"n2189123291":{"id":"n2189123291","loc":[-85.6417418,41.9526574]},"n2189123293":{"id":"n2189123293","loc":[-85.642321,41.9529407]},"n2189123295":{"id":"n2189123295","loc":[-85.6427697,41.9532278]},"n2189123297":{"id":"n2189123297","loc":[-85.6433332,41.9538254]},"n2189123300":{"id":"n2189123300","loc":[-85.6435785,41.9543648]},"n2189123301":{"id":"n2189123301","loc":[-85.6444394,41.9541048]},"n2189123303":{"id":"n2189123303","loc":[-85.6450603,41.954]},"n2189123312":{"id":"n2189123312","loc":[-85.6454829,41.9539108]},"n2189123314":{"id":"n2189123314","loc":[-85.6460464,41.9538526]},"n2189123315":{"id":"n2189123315","loc":[-85.6463178,41.9537167]},"n2189123316":{"id":"n2189123316","loc":[-85.646276,41.9534141]},"n2189123317":{"id":"n2189123317","loc":[-85.6459995,41.9531541]},"n2189123318":{"id":"n2189123318","loc":[-85.645222,41.9531929]},"n2189123319":{"id":"n2189123319","loc":[-85.6447316,41.9531813]},"n2189123320":{"id":"n2189123320","loc":[-85.6440637,41.9532977]},"n2189123321":{"id":"n2189123321","loc":[-85.6438185,41.9531774]},"n2189123322":{"id":"n2189123322","loc":[-85.6440011,41.9528398]},"n2189123323":{"id":"n2189123323","loc":[-85.6442672,41.9525914]},"n2189123324":{"id":"n2189123324","loc":[-85.6442881,41.9523276]},"n2189123326":{"id":"n2189123326","loc":[-85.644262,41.952153]},"n2189123328":{"id":"n2189123328","loc":[-85.6441681,41.9520404]},"n2189123330":{"id":"n2189123330","loc":[-85.6442098,41.9517494]},"n2189123333":{"id":"n2189123333","loc":[-85.6438498,41.9515864]},"n2189123336":{"id":"n2189123336","loc":[-85.6435889,41.9513225]},"n2189123339":{"id":"n2189123339","loc":[-85.6425349,41.9510315]},"n2189123342":{"id":"n2189123342","loc":[-85.6422688,41.9508802]},"n2189123345":{"id":"n2189123345","loc":[-85.6418775,41.9508142]},"n2189123348":{"id":"n2189123348","loc":[-85.6415488,41.9508064]},"n2189123351":{"id":"n2189123351","loc":[-85.6411027,41.9505488]},"n2189123353":{"id":"n2189123353","loc":[-85.6410374,41.9498208]},"n2189123355":{"id":"n2189123355","loc":[-85.6410061,41.9494327]},"n2189123357":{"id":"n2189123357","loc":[-85.6411522,41.9482569]},"n2189123359":{"id":"n2189123359","loc":[-85.6410548,41.9473036]},"n2189123368":{"id":"n2189123368","loc":[-85.6380216,41.9458974]},"n2189123370":{"id":"n2189123370","loc":[-85.6386721,41.9507782]},"w17968193":{"id":"w17968193","tags":{"highway":"residential","name":"French St"},"nodes":["n185970906","n185982877","n185967774","n185985823","n185979974"]},"w203972939":{"id":"w203972939","tags":{"highway":"path"},"nodes":["n2139858965","n2139858966"]},"w203988289":{"id":"w203988289","tags":{"area":"yes","natural":"water"},"nodes":["n2140006367","n2140006368","n2140006419","n2140006369","n2140006417","n2140006370","n2140006372","n2140006374","n2140006376","n2140006378","n2140006380","n2140006382","n2140006389","n2140006391","n2140006393","n2140006367"]},"w208640157":{"id":"w208640157","tags":{"area":"yes","natural":"wetland"},"nodes":["n1819849029","n2189123275","n2189123278","n2189123280","n2189123282","n2189123370","n2189123285","n2189123287","n2189123289","n2189123291","n2189123293","n2189123295","n2189123297","n2189123300","n2189123301","n2189123303","n2189123312","n2189123314","n2189123315","n2189123316","n2189123317","n2189123318","n2189123319","n2189123320","n2189123321","n2189123322","n2189123323","n2189123324","n2189123326","n2189123328","n2189123330","n2189123333","n2189123336","n2189123339","n2189123342","n2189123345","n2189123348","n2189123351","n2189123353","n2189123355","n2189123357","n2189123359","n2189123361","n2189123363","n2189123365","n2189123368","n1819849029"]},"w17966281":{"id":"w17966281","tags":{"highway":"residential","name":"Pealer St"},"nodes":["n185975911","n185975913","n185975915","n1475284042","n185975917","n185975919","n185975925","n185970909","n1475284013","n1475283980","n185975928","n185967775","n185975930","n185975932","n185975934","n2139795809","n2139795810"]},"w17965353":{"id":"w17965353","tags":{"highway":"residential","name":"Yauney St"},"nodes":["n185966958","n185966959","n185966960","n185966962"]},"w203972938":{"id":"w203972938","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858964","n2139858965","n2139858963","n2139858962","n2139858961","n2139858960","n2139858959","n2139858958","n2139858957","n2139858956","n2139858955","n2139858954","n2139858953","n2139858952","n2139858951"]},"n354002665":{"id":"n354002665","loc":[-85.6366599,41.9444923],"tags":{"name":"Memory Isle","place":"island"}},"n354031301":{"id":"n354031301","loc":[-85.635,41.9463889],"tags":{"amenity":"post_office","name":"Three Rivers Post Office"}},"n185963454":{"id":"n185963454","loc":[-85.633686,41.946072]},"n185963455":{"id":"n185963455","loc":[-85.633815,41.946131]},"n185963456":{"id":"n185963456","loc":[-85.633951,41.946174]},"n185978375":{"id":"n185978375","loc":[-85.634385,41.94559]},"n185978377":{"id":"n185978377","loc":[-85.634544,41.945725]},"n185978379":{"id":"n185978379","loc":[-85.634573,41.945764]},"n185978381":{"id":"n185978381","loc":[-85.634616,41.945849]},"n185978383":{"id":"n185978383","loc":[-85.634629,41.945893]},"n185984011":{"id":"n185984011","loc":[-85.636058,41.946201]},"n185984013":{"id":"n185984013","loc":[-85.636112,41.946366]},"n185984015":{"id":"n185984015","loc":[-85.636143,41.946551]},"n185988237":{"id":"n185988237","loc":[-85.6354162,41.946044]},"n185988969":{"id":"n185988969","loc":[-85.635374,41.945325]},"n185988971":{"id":"n185988971","loc":[-85.635643,41.945585]},"n185988972":{"id":"n185988972","loc":[-85.635853,41.94586]},"n1475283992":{"id":"n1475283992","loc":[-85.6372968,41.9459007]},"n1475284011":{"id":"n1475284011","loc":[-85.6359415,41.9459797]},"n1475284019":{"id":"n1475284019","loc":[-85.6364433,41.9460423]},"n185984009":{"id":"n185984009","loc":[-85.6360524,41.9460485]},"n185988239":{"id":"n185988239","loc":[-85.6358187,41.9460423]},"n185988243":{"id":"n185988243","loc":[-85.6366156,41.9460282]},"n185988244":{"id":"n185988244","loc":[-85.6368316,41.9460046]},"n185988245":{"id":"n185988245","loc":[-85.6370133,41.9459704]},"n185988241":{"id":"n185988241","loc":[-85.636291,41.9460461]},"n185964976":{"id":"n185964976","loc":[-85.633923,41.9434157]},"n185964980":{"id":"n185964980","loc":[-85.6333656,41.9437293]},"n185978388":{"id":"n185978388","loc":[-85.6346449,41.9460571]},"n1819858504":{"id":"n1819858504","loc":[-85.6365343,41.9447926]},"n1819858506":{"id":"n1819858506","loc":[-85.6370546,41.9451882]},"n1819858516":{"id":"n1819858516","loc":[-85.6358369,41.9444654]},"n1819858519":{"id":"n1819858519","loc":[-85.6361534,41.9446176]},"n1819858525":{"id":"n1819858525","loc":[-85.6368025,41.9449442]},"n1819858527":{"id":"n1819858527","loc":[-85.6334199,41.9457495]},"n185963452":{"id":"n185963452","loc":[-85.633564,41.9458519]},"n185963453":{"id":"n185963453","loc":[-85.6336152,41.9459804]},"n185963451":{"id":"n185963451","loc":[-85.6332888,41.9456871]},"n2130304152":{"id":"n2130304152","loc":[-85.6359466,41.9454599]},"n2130304153":{"id":"n2130304153","loc":[-85.6362773,41.9452683]},"n2130304154":{"id":"n2130304154","loc":[-85.6352028,41.9442868]},"n2130304155":{"id":"n2130304155","loc":[-85.6348756,41.9444769]},"n2130304156":{"id":"n2130304156","loc":[-85.6349723,41.9444207]},"n2130304157":{"id":"n2130304157","loc":[-85.6338698,41.9434443]},"n2130304158":{"id":"n2130304158","loc":[-85.635094,41.9451026]},"n2130304160":{"id":"n2130304160","loc":[-85.6353716,41.9449322]},"n2130304162":{"id":"n2130304162","loc":[-85.6365942,41.9459352]},"n2130304163":{"id":"n2130304163","loc":[-85.6369006,41.9457469]},"n2130304164":{"id":"n2130304164","loc":[-85.6363292,41.9452278]},"n2130304165":{"id":"n2130304165","loc":[-85.6360248,41.9454175]},"n2139824683":{"id":"n2139824683","loc":[-85.6339825,41.9446441]},"n2139824689":{"id":"n2139824689","loc":[-85.6340437,41.9446925]},"n2139824702":{"id":"n2139824702","loc":[-85.6340961,41.9447551]},"n2139824705":{"id":"n2139824705","loc":[-85.6337467,41.944809]},"n2139824707":{"id":"n2139824707","loc":[-85.6341598,41.9448129]},"n2139824710":{"id":"n2139824710","loc":[-85.6342771,41.9448223]},"n2139824712":{"id":"n2139824712","loc":[-85.6346058,41.944841]},"n2139824713":{"id":"n2139824713","loc":[-85.633808,41.9448574]},"n2139824714":{"id":"n2139824714","loc":[-85.6340889,41.9448589]},"n2139824716":{"id":"n2139824716","loc":[-85.6343335,41.944871]},"n2139824717":{"id":"n2139824717","loc":[-85.6343341,41.9448717]},"n2139824720":{"id":"n2139824720","loc":[-85.6338757,41.9449069]},"n2139824721":{"id":"n2139824721","loc":[-85.6341445,41.9449071]},"n2139824724":{"id":"n2139824724","loc":[-85.6334787,41.9449262]},"n2139824726":{"id":"n2139824726","loc":[-85.6347119,41.9449332]},"n2139824727":{"id":"n2139824727","loc":[-85.6347175,41.9449418]},"n2139824728":{"id":"n2139824728","loc":[-85.6344284,41.9449538]},"n2139824729":{"id":"n2139824729","loc":[-85.6339339,41.9449573]},"n2139824730":{"id":"n2139824730","loc":[-85.6339179,41.9449682]},"n2139824732":{"id":"n2139824732","loc":[-85.6335472,41.9449895]},"n2139824733":{"id":"n2139824733","loc":[-85.6339736,41.9450164]},"n2139824735":{"id":"n2139824735","loc":[-85.6336034,41.9450415]},"n2139824736":{"id":"n2139824736","loc":[-85.6348317,41.945043]},"n2139824737":{"id":"n2139824737","loc":[-85.63403,41.9450651]},"n2139824738":{"id":"n2139824738","loc":[-85.6336611,41.9450949]},"n2139824740":{"id":"n2139824740","loc":[-85.6336582,41.9450966]},"n2139824744":{"id":"n2139824744","loc":[-85.6331702,41.9451107]},"n2139824745":{"id":"n2139824745","loc":[-85.6333388,41.9451142]},"n2139824746":{"id":"n2139824746","loc":[-85.6337131,41.9451341]},"n2139824747":{"id":"n2139824747","loc":[-85.6337021,41.9451372]},"n2139824748":{"id":"n2139824748","loc":[-85.6341244,41.9451472]},"n2139824749":{"id":"n2139824749","loc":[-85.6333952,41.945166]},"n2139824750":{"id":"n2139824750","loc":[-85.633395,41.9451661]},"n2139824751":{"id":"n2139824751","loc":[-85.6346258,41.9451725]},"n2139824752":{"id":"n2139824752","loc":[-85.6332387,41.9451741]},"n2139824753":{"id":"n2139824753","loc":[-85.6346901,41.9451853]},"n2139824754":{"id":"n2139824754","loc":[-85.6346611,41.9452035]},"n2139824755":{"id":"n2139824755","loc":[-85.6346574,41.9452059]},"n2139824756":{"id":"n2139824756","loc":[-85.6345611,41.9452133]},"n2139824757":{"id":"n2139824757","loc":[-85.633453,41.9452194]},"n2139824758":{"id":"n2139824758","loc":[-85.6335508,41.9452283]},"n2139824759":{"id":"n2139824759","loc":[-85.6347424,41.9452312]},"n2139824760":{"id":"n2139824760","loc":[-85.6342305,41.9452395]},"n2139824761":{"id":"n2139824761","loc":[-85.6342319,41.9452449]},"n2139824762":{"id":"n2139824762","loc":[-85.6334969,41.94526]},"n2139824763":{"id":"n2139824763","loc":[-85.63468,41.9452706]},"n2139824764":{"id":"n2139824764","loc":[-85.6346772,41.9452724]},"n2139824765":{"id":"n2139824765","loc":[-85.6338611,41.9452763]},"n2139824766":{"id":"n2139824766","loc":[-85.6347811,41.9452939]},"n2139824767":{"id":"n2139824767","loc":[-85.6347375,41.9453211]},"n2139824768":{"id":"n2139824768","loc":[-85.6339171,41.9453301]},"n2139824769":{"id":"n2139824769","loc":[-85.6348307,41.9453377]},"n2139824770":{"id":"n2139824770","loc":[-85.6347067,41.9453405]},"n2139824771":{"id":"n2139824771","loc":[-85.6343461,41.9453461]},"n2139824772":{"id":"n2139824772","loc":[-85.6343481,41.9453475]},"n2139824773":{"id":"n2139824773","loc":[-85.634805,41.9453538]},"n2139824774":{"id":"n2139824774","loc":[-85.6336997,41.9453692]},"n2139824775":{"id":"n2139824775","loc":[-85.6339709,41.9453818]},"n2139824776":{"id":"n2139824776","loc":[-85.6336229,41.9454134]},"n2139824777":{"id":"n2139824777","loc":[-85.6349022,41.9454141]},"n2139824778":{"id":"n2139824778","loc":[-85.6348854,41.9454246]},"n2139824779":{"id":"n2139824779","loc":[-85.6340286,41.9454373]},"n2139824780":{"id":"n2139824780","loc":[-85.6336963,41.9454572]},"n2139824781":{"id":"n2139824781","loc":[-85.6336789,41.9454672]},"n2139824782":{"id":"n2139824782","loc":[-85.6344933,41.945475]},"n2139824783":{"id":"n2139824783","loc":[-85.6340854,41.9454918]},"n2139824784":{"id":"n2139824784","loc":[-85.6350036,41.9455034]},"n2139824785":{"id":"n2139824785","loc":[-85.6337501,41.9455089]},"n2139824786":{"id":"n2139824786","loc":[-85.6337497,41.9455091]},"n2139824787":{"id":"n2139824787","loc":[-85.6345425,41.9455186]},"n2139824788":{"id":"n2139824788","loc":[-85.6341459,41.9455372]},"n2139824789":{"id":"n2139824789","loc":[-85.6341376,41.945542]},"n2139824790":{"id":"n2139824790","loc":[-85.6338394,41.9455462]},"n2139824791":{"id":"n2139824791","loc":[-85.6349171,41.9455588]},"n2139824792":{"id":"n2139824792","loc":[-85.6338074,41.9455646]},"n2139824793":{"id":"n2139824793","loc":[-85.6346229,41.9455894]},"n2139824794":{"id":"n2139824794","loc":[-85.6338983,41.9455995]},"n2139824795":{"id":"n2139824795","loc":[-85.6338962,41.9456007]},"n2139824796":{"id":"n2139824796","loc":[-85.6342475,41.9456348]},"n2139824797":{"id":"n2139824797","loc":[-85.6339505,41.9456497]},"n2139824798":{"id":"n2139824798","loc":[-85.6347243,41.9456788]},"n2139824799":{"id":"n2139824799","loc":[-85.635057,41.9456831]},"n2139824800":{"id":"n2139824800","loc":[-85.635287,41.9457056]},"n2139824801":{"id":"n2139824801","loc":[-85.6350753,41.9457068]},"n2139824802":{"id":"n2139824802","loc":[-85.6347753,41.9457252]},"n2139824803":{"id":"n2139824803","loc":[-85.6340521,41.9457473]},"n2139824804":{"id":"n2139824804","loc":[-85.6352875,41.9457611]},"n2139824805":{"id":"n2139824805","loc":[-85.6352941,41.9457611]},"n2139824806":{"id":"n2139824806","loc":[-85.6350758,41.9457623]},"n2139824807":{"id":"n2139824807","loc":[-85.6348194,41.9457638]},"n2139824808":{"id":"n2139824808","loc":[-85.635296,41.9459428]},"n2139824809":{"id":"n2139824809","loc":[-85.6348212,41.9459455]},"n2139832635":{"id":"n2139832635","loc":[-85.6354612,41.9448791]},"n2139832636":{"id":"n2139832636","loc":[-85.6360241,41.9453844]},"n2139832637":{"id":"n2139832637","loc":[-85.6361452,41.9453121]},"n2139832639":{"id":"n2139832639","loc":[-85.6355997,41.944797]},"n2139832641":{"id":"n2139832641","loc":[-85.6351346,41.9443541]},"n2139832647":{"id":"n2139832647","loc":[-85.6329883,41.9453692]},"n2139832653":{"id":"n2139832653","loc":[-85.6333643,41.9456293]},"n2139832663":{"id":"n2139832663","loc":[-85.6335394,41.9455339]},"n2139832665":{"id":"n2139832665","loc":[-85.6332375,41.9452476]},"n2139832667":{"id":"n2139832667","loc":[-85.6331664,41.9452161]},"n2139832669":{"id":"n2139832669","loc":[-85.6331144,41.9451875]},"n2139832671":{"id":"n2139832671","loc":[-85.6330779,41.9451274]},"n2139832673":{"id":"n2139832673","loc":[-85.6330664,41.9450802]},"n2139832678":{"id":"n2139832678","loc":[-85.6332218,41.9453585]},"n2139832686":{"id":"n2139832686","loc":[-85.6334246,41.945541]},"n2139832691":{"id":"n2139832691","loc":[-85.6329898,41.9454997]},"n2139832693":{"id":"n2139832693","loc":[-85.6343554,41.9443274]},"n2139832694":{"id":"n2139832694","loc":[-85.6336339,41.9437089]},"n2139832696":{"id":"n2139832696","loc":[-85.633532,41.9437708]},"n2139832697":{"id":"n2139832697","loc":[-85.6338316,41.9440868]},"n2139832698":{"id":"n2139832698","loc":[-85.6342258,41.9444141]},"n2139832699":{"id":"n2139832699","loc":[-85.6339164,41.9442166]},"n2139832700":{"id":"n2139832700","loc":[-85.6341389,41.944384]},"n2139832701":{"id":"n2139832701","loc":[-85.634235,41.9443259]},"n2139832702":{"id":"n2139832702","loc":[-85.633613,41.9437875]},"n2139832703":{"id":"n2139832703","loc":[-85.633915,41.9436132]},"n2139832704":{"id":"n2139832704","loc":[-85.6340019,41.9435613]},"n2139832706":{"id":"n2139832706","loc":[-85.6343197,41.9438427]},"n2139832708":{"id":"n2139832708","loc":[-85.6342361,41.9438936]},"n2139832709":{"id":"n2139832709","loc":[-85.6353839,41.9460401]},"n2139832710":{"id":"n2139832710","loc":[-85.6354032,41.9456763]},"n2139832711":{"id":"n2139832711","loc":[-85.6356839,41.9459252]},"n2139832712":{"id":"n2139832712","loc":[-85.6356109,41.945735]},"n2139832713":{"id":"n2139832713","loc":[-85.6353997,41.9457421]},"n2139832714":{"id":"n2139832714","loc":[-85.6353895,41.9459347]},"n2139832715":{"id":"n2139832715","loc":[-85.6334777,41.9436628]},"n2139832716":{"id":"n2139832716","loc":[-85.6333137,41.9435382]},"n2139832717":{"id":"n2139832717","loc":[-85.6330938,41.9435406]},"n2139832721":{"id":"n2139832721","loc":[-85.6333023,41.9434922]},"n2139832722":{"id":"n2139832722","loc":[-85.6330466,41.943623]},"n2139832723":{"id":"n2139832723","loc":[-85.6332746,41.9435624]},"n2139832724":{"id":"n2139832724","loc":[-85.6333511,41.9435176]},"n2139832725":{"id":"n2139832725","loc":[-85.6332241,41.9434001]},"n2139832726":{"id":"n2139832726","loc":[-85.6332355,41.9433686]},"n2139870373":{"id":"n2139870373","loc":[-85.6351783,41.9439117]},"n2139870374":{"id":"n2139870374","loc":[-85.6351431,41.9439217]},"n2139870375":{"id":"n2139870375","loc":[-85.6348853,41.9439117]},"n2139870376":{"id":"n2139870376","loc":[-85.6348317,41.9439105]},"n2139870377":{"id":"n2139870377","loc":[-85.6346384,41.944007]},"n2139870378":{"id":"n2139870378","loc":[-85.6345563,41.9440523]},"n2140006403":{"id":"n2140006403","loc":[-85.6359942,41.9450097]},"n2140006405":{"id":"n2140006405","loc":[-85.6363884,41.9446079]},"n2140006407":{"id":"n2140006407","loc":[-85.6362148,41.9447874]},"n2140006409":{"id":"n2140006409","loc":[-85.6379476,41.9445869]},"n2140006411":{"id":"n2140006411","loc":[-85.6378485,41.9445674]},"n2140006413":{"id":"n2140006413","loc":[-85.6378952,41.9444547]},"n2140006415":{"id":"n2140006415","loc":[-85.6379962,41.944477]},"n2140006421":{"id":"n2140006421","loc":[-85.6355248,41.9433702]},"n2140006423":{"id":"n2140006423","loc":[-85.6378471,41.9439233]},"n2140006425":{"id":"n2140006425","loc":[-85.6378913,41.9441238]},"n2140006426":{"id":"n2140006426","loc":[-85.6381674,41.9442289]},"n2140006427":{"id":"n2140006427","loc":[-85.6382359,41.9440975]},"n2140006428":{"id":"n2140006428","loc":[-85.6382071,41.9440252]},"n2140006429":{"id":"n2140006429","loc":[-85.6381409,41.9439973]},"n2140006430":{"id":"n2140006430","loc":[-85.6380569,41.9440153]},"n2140006433":{"id":"n2140006433","loc":[-85.6379071,41.9442467]},"n2140006435":{"id":"n2140006435","loc":[-85.6381634,41.9443125]},"n2140006436":{"id":"n2140006436","loc":[-85.6382407,41.944301]},"n2140006438":{"id":"n2140006438","loc":[-85.6382761,41.9442188]},"n2140006439":{"id":"n2140006439","loc":[-85.6382429,41.9441761]},"n2140006440":{"id":"n2140006440","loc":[-85.6382016,41.9441632]},"n2140006441":{"id":"n2140006441","loc":[-85.6378185,41.9439835]},"n2166205688":{"id":"n2166205688","loc":[-85.6349963,41.9444392]},"n2168544780":{"id":"n2168544780","loc":[-85.633944,41.945807]},"n2168544781":{"id":"n2168544781","loc":[-85.6340783,41.9458621]},"n2168544782":{"id":"n2168544782","loc":[-85.6338184,41.9457548]},"n2168544783":{"id":"n2168544783","loc":[-85.6339925,41.9459777]},"n2168544784":{"id":"n2168544784","loc":[-85.6337317,41.9458698]},"n2168544785":{"id":"n2168544785","loc":[-85.6337297,41.9460042]},"n2168544786":{"id":"n2168544786","loc":[-85.633919,41.9460797]},"n2168544787":{"id":"n2168544787","loc":[-85.6338672,41.9459263]},"n2168544788":{"id":"n2168544788","loc":[-85.6338246,41.9459853]},"n2168544789":{"id":"n2168544789","loc":[-85.6337615,41.9459601]},"n2168544790":{"id":"n2168544790","loc":[-85.6342079,41.9460399]},"n2168544791":{"id":"n2168544791","loc":[-85.6343346,41.9458503]},"n2168544792":{"id":"n2168544792","loc":[-85.6343759,41.9458116]},"n2168544793":{"id":"n2168544793","loc":[-85.6344394,41.9458109]},"n2168544795":{"id":"n2168544795","loc":[-85.6344827,41.945851]},"n2168544797":{"id":"n2168544797","loc":[-85.6344807,41.945969]},"n2168544798":{"id":"n2168544798","loc":[-85.6344404,41.9459697]},"n2168544799":{"id":"n2168544799","loc":[-85.6344413,41.9460333]},"n2168544800":{"id":"n2168544800","loc":[-85.6342173,41.9460705]},"n2168544801":{"id":"n2168544801","loc":[-85.6342162,41.9460392]},"n2168544802":{"id":"n2168544802","loc":[-85.6344251,41.9460351]},"n2168544805":{"id":"n2168544805","loc":[-85.6344257,41.9460507]},"n2168544807":{"id":"n2168544807","loc":[-85.6344721,41.9460498]},"n2168544809":{"id":"n2168544809","loc":[-85.6344754,41.9461427]},"n2168544811":{"id":"n2168544811","loc":[-85.6344311,41.9461435]},"n2168544813":{"id":"n2168544813","loc":[-85.6344317,41.9461592]},"n2168544815":{"id":"n2168544815","loc":[-85.6343708,41.9461604]},"n2168544817":{"id":"n2168544817","loc":[-85.6343715,41.9461786]},"n2168544819":{"id":"n2168544819","loc":[-85.6343229,41.9461795]},"n2168544821":{"id":"n2168544821","loc":[-85.6343222,41.9461606]},"n2168544823":{"id":"n2168544823","loc":[-85.6342476,41.9461621]},"n2168544825":{"id":"n2168544825","loc":[-85.6342444,41.94607]},"n2168544827":{"id":"n2168544827","loc":[-85.634138,41.9461632]},"n2168544829":{"id":"n2168544829","loc":[-85.6342016,41.9460703]},"n2168544830":{"id":"n2168544830","loc":[-85.6332929,41.9463092]},"n2168544831":{"id":"n2168544831","loc":[-85.633122,41.946239]},"n2168544832":{"id":"n2168544832","loc":[-85.6332954,41.9460055]},"n2168544833":{"id":"n2168544833","loc":[-85.6333954,41.9460466]},"n2168544834":{"id":"n2168544834","loc":[-85.6334044,41.9460345]},"n2168544835":{"id":"n2168544835","loc":[-85.6334594,41.9460571]},"n2168544836":{"id":"n2168544836","loc":[-85.6333871,41.9461544]},"n2168544837":{"id":"n2168544837","loc":[-85.633403,41.9461609]},"n2168544838":{"id":"n2168544838","loc":[-85.6341683,41.9464167]},"n2168544839":{"id":"n2168544839","loc":[-85.6341711,41.9463411]},"n2168544840":{"id":"n2168544840","loc":[-85.6344471,41.9463469]},"n2168544841":{"id":"n2168544841","loc":[-85.6344441,41.9464243]},"n2168544842":{"id":"n2168544842","loc":[-85.6343622,41.9464226]},"n2168544843":{"id":"n2168544843","loc":[-85.6343593,41.9464989]},"n2168544844":{"id":"n2168544844","loc":[-85.6342812,41.9464973]},"n2168544845":{"id":"n2168544845","loc":[-85.634283,41.9464504]},"n2168544846":{"id":"n2168544846","loc":[-85.6342609,41.9464499]},"n2168544847":{"id":"n2168544847","loc":[-85.6342621,41.9464187]},"n2168544848":{"id":"n2168544848","loc":[-85.6348414,41.9463396]},"n2168544849":{"id":"n2168544849","loc":[-85.6348387,41.9461872]},"n2168544850":{"id":"n2168544850","loc":[-85.6351186,41.9461844]},"n2168544851":{"id":"n2168544851","loc":[-85.635119,41.9462112]},"n2168544852":{"id":"n2168544852","loc":[-85.6351918,41.9462104]},"n2168544853":{"id":"n2168544853","loc":[-85.6351944,41.9463515]},"n2168544854":{"id":"n2168544854","loc":[-85.6351049,41.9463524]},"n2168544855":{"id":"n2168544855","loc":[-85.6351046,41.946337]},"n2189153180":{"id":"n2189153180","loc":[-85.6340369,41.9469572]},"n2189153181":{"id":"n2189153181","loc":[-85.6342531,41.946953]},"n2189153183":{"id":"n2189153183","loc":[-85.6348115,41.9465468]},"n2189153184":{"id":"n2189153184","loc":[-85.6348105,41.9464569]},"n2189153185":{"id":"n2189153185","loc":[-85.6351431,41.9464549]},"n2189153186":{"id":"n2189153186","loc":[-85.6351441,41.9465448]},"n2189153187":{"id":"n2189153187","loc":[-85.6350077,41.9465456]},"n2189153188":{"id":"n2189153188","loc":[-85.635008,41.9465721]},"n2189153189":{"id":"n2189153189","loc":[-85.6348965,41.9465727]},"n2189153190":{"id":"n2189153190","loc":[-85.6348962,41.9465463]},"n2189153191":{"id":"n2189153191","loc":[-85.6348963,41.9471586]},"n2189153192":{"id":"n2189153192","loc":[-85.6348944,41.947032]},"n2189153193":{"id":"n2189153193","loc":[-85.6350241,41.947031]},"n2189153194":{"id":"n2189153194","loc":[-85.635026,41.9471575]},"n2189153195":{"id":"n2189153195","loc":[-85.6352328,41.9471053]},"n2189153196":{"id":"n2189153196","loc":[-85.6352359,41.9469906]},"n2189153197":{"id":"n2189153197","loc":[-85.6353694,41.9469925]},"n2189153198":{"id":"n2189153198","loc":[-85.6353664,41.9471072]},"n2189153199":{"id":"n2189153199","loc":[-85.6348241,41.9469287]},"n2189153200":{"id":"n2189153200","loc":[-85.6348248,41.9468185]},"n2189153201":{"id":"n2189153201","loc":[-85.6351199,41.9468195]},"n2189153202":{"id":"n2189153202","loc":[-85.6351192,41.9469298]},"n2189153203":{"id":"n2189153203","loc":[-85.6347965,41.9468057]},"n2189153204":{"id":"n2189153204","loc":[-85.634792,41.9466044]},"n2189153205":{"id":"n2189153205","loc":[-85.6349483,41.9466025]},"n2189153206":{"id":"n2189153206","loc":[-85.6349493,41.9466448]},"n2189153207":{"id":"n2189153207","loc":[-85.6349753,41.9466445]},"n2189153208":{"id":"n2189153208","loc":[-85.6349743,41.9465995]},"n2189153209":{"id":"n2189153209","loc":[-85.6351173,41.9465977]},"n2189153210":{"id":"n2189153210","loc":[-85.6351219,41.9468015]},"n2189153211":{"id":"n2189153211","loc":[-85.6349806,41.9468032]},"n2189153212":{"id":"n2189153212","loc":[-85.6349794,41.9467519]},"n2189153213":{"id":"n2189153213","loc":[-85.6349521,41.9467523]},"n2189153214":{"id":"n2189153214","loc":[-85.6349532,41.9468037]},"n2189153215":{"id":"n2189153215","loc":[-85.6346302,41.9468381]},"n2189153216":{"id":"n2189153216","loc":[-85.6343028,41.9468449]},"n2189153217":{"id":"n2189153217","loc":[-85.6342006,41.9468297]},"n2189153218":{"id":"n2189153218","loc":[-85.6336698,41.9465918]},"n2189153219":{"id":"n2189153219","loc":[-85.6344663,41.9466639]},"n2189153220":{"id":"n2189153220","loc":[-85.6344639,41.9466015]},"n2189153221":{"id":"n2189153221","loc":[-85.6342283,41.9466065]},"n2189153222":{"id":"n2189153222","loc":[-85.6342303,41.9466587]},"n2189153223":{"id":"n2189153223","loc":[-85.6342843,41.9466575]},"n2189153224":{"id":"n2189153224","loc":[-85.6342851,41.9466794]},"n2189153225":{"id":"n2189153225","loc":[-85.6343475,41.9466781]},"n2189153226":{"id":"n2189153226","loc":[-85.634347,41.9466664]},"n2189153227":{"id":"n2189153227","loc":[-85.6354428,41.9470148]},"n2189153228":{"id":"n2189153228","loc":[-85.6354432,41.9468005]},"n2189153229":{"id":"n2189153229","loc":[-85.6360277,41.9468011]},"n2189153230":{"id":"n2189153230","loc":[-85.6360273,41.9470154]},"n2189153231":{"id":"n2189153231","loc":[-85.6354565,41.9465823]},"n2189153232":{"id":"n2189153232","loc":[-85.6354496,41.946218]},"n2189153233":{"id":"n2189153233","loc":[-85.6356355,41.9465788]},"n2189153234":{"id":"n2189153234","loc":[-85.6357155,41.9468008]},"n2189153235":{"id":"n2189153235","loc":[-85.6359539,41.9467969]},"n2189153236":{"id":"n2189153236","loc":[-85.6359561,41.9463036]},"n2189153237":{"id":"n2189153237","loc":[-85.6360129,41.9464793]},"n2189153238":{"id":"n2189153238","loc":[-85.6360152,41.9463898]},"n2189153239":{"id":"n2189153239","loc":[-85.6359607,41.9464928]},"n2189153240":{"id":"n2189153240","loc":[-85.6356903,41.9462227]},"n2189153242":{"id":"n2189153242","loc":[-85.6354163,41.946142]},"n2189153243":{"id":"n2189153243","loc":[-85.6357546,41.9462214]},"n2189153244":{"id":"n2189153244","loc":[-85.6357937,41.9462542]},"n2189153245":{"id":"n2189153245","loc":[-85.6358723,41.9467048]},"n2189153246":{"id":"n2189153246","loc":[-85.6361494,41.946757]},"n2189153247":{"id":"n2189153247","loc":[-85.6354173,41.9469082]},"n2189153248":{"id":"n2189153248","loc":[-85.635443,41.9469079]},"n2189153249":{"id":"n2189153249","loc":[-85.6360275,41.9469093]},"n2189153250":{"id":"n2189153250","loc":[-85.6361542,41.946915]},"n2189153251":{"id":"n2189153251","loc":[-85.6358654,41.9464843]},"n2189153252":{"id":"n2189153252","loc":[-85.6359549,41.9467499]},"n2189153253":{"id":"n2189153253","loc":[-85.6357172,41.9466335]},"n2189153254":{"id":"n2189153254","loc":[-85.6355644,41.9461768]},"n2189153255":{"id":"n2189153255","loc":[-85.6355655,41.946528]},"n2189153256":{"id":"n2189153256","loc":[-85.6357055,41.9465971]},"n2189153257":{"id":"n2189153257","loc":[-85.635869,41.9465971]},"n2189153259":{"id":"n2189153259","loc":[-85.6354561,41.9470278]},"n2189153260":{"id":"n2189153260","loc":[-85.6357961,41.9470233]},"n2189153261":{"id":"n2189153261","loc":[-85.6357977,41.9470907]},"n2189153262":{"id":"n2189153262","loc":[-85.6357297,41.9470916]},"n2189153263":{"id":"n2189153263","loc":[-85.635733,41.947233]},"n2189153264":{"id":"n2189153264","loc":[-85.6362674,41.9468637]},"n2189153265":{"id":"n2189153265","loc":[-85.6362646,41.9467047]},"n2189153266":{"id":"n2189153266","loc":[-85.6363267,41.9467047]},"n2189153267":{"id":"n2189153267","loc":[-85.6362633,41.9465848]},"n2189153268":{"id":"n2189153268","loc":[-85.6363805,41.9465468]},"n2189153269":{"id":"n2189153269","loc":[-85.6364604,41.9466842]},"n2189153270":{"id":"n2189153270","loc":[-85.6364604,41.9468647]},"n2199109756":{"id":"n2199109756","loc":[-85.6337134,41.9471841]},"n2199109757":{"id":"n2199109757","loc":[-85.6336514,41.94716]},"n2199109758":{"id":"n2199109758","loc":[-85.6337043,41.9470847]},"n2199109759":{"id":"n2199109759","loc":[-85.6335997,41.9470441]},"n2199109760":{"id":"n2199109760","loc":[-85.6335064,41.9471771]},"n185960195":{"id":"n185960195","loc":[-85.6295992,41.9524346]},"n185960796":{"id":"n185960796","loc":[-85.634723,41.953681]},"n185961396":{"id":"n185961396","loc":[-85.634767,41.959009]},"n185962625":{"id":"n185962625","loc":[-85.635175,41.97201]},"n185964982":{"id":"n185964982","loc":[-85.632799,41.9440543]},"n185965289":{"id":"n185965289","loc":[-85.634621,41.947323]},"n185965291":{"id":"n185965291","loc":[-85.636166,41.947296]},"n185965399":{"id":"n185965399","loc":[-85.634776,41.959834]},"n185966937":{"id":"n185966937","loc":[-85.633183,41.947315]},"n185966948":{"id":"n185966948","loc":[-85.626406,41.957188]},"n185967422":{"id":"n185967422","loc":[-85.6320229,41.9490123]},"n185967917":{"id":"n185967917","loc":[-85.634763,41.958292]},"n185967918":{"id":"n185967918","loc":[-85.636271,41.958311]},"n185968100":{"id":"n185968100","loc":[-85.630835,41.950656]},"n185970515":{"id":"n185970515","loc":[-85.634832,41.963866]},"n185971578":{"id":"n185971578","loc":[-85.634641,41.948627]},"n185971580":{"id":"n185971580","loc":[-85.6361818,41.9486135]},"n185971631":{"id":"n185971631","loc":[-85.634729,41.954667]},"n185971632":{"id":"n185971632","loc":[-85.636236,41.954656]},"n185972155":{"id":"n185972155","loc":[-85.623333,41.961987]},"n185974583":{"id":"n185974583","loc":[-85.634686,41.951158]},"n185974585":{"id":"n185974585","loc":[-85.6362059,41.9511457]},"n185975064":{"id":"n185975064","loc":[-85.636218,41.953667]},"n185975735":{"id":"n185975735","loc":[-85.634923,41.969269]},"n185978390":{"id":"n185978390","loc":[-85.634668,41.949875]},"n185978392":{"id":"n185978392","loc":[-85.634686,41.952415]},"n185978394":{"id":"n185978394","loc":[-85.634726,41.955921]},"n185978399":{"id":"n185978399","loc":[-85.6347861,41.9606613]},"n185978402":{"id":"n185978402","loc":[-85.634806,41.961485]},"n185978406":{"id":"n185978406","loc":[-85.6348298,41.964783]},"n185978410":{"id":"n185978410","loc":[-85.6348766,41.9677088]},"n185978414":{"id":"n185978414","loc":[-85.634938,41.971566]},"n185978415":{"id":"n185978415","loc":[-85.634942,41.971611]},"n185978417":{"id":"n185978417","loc":[-85.634952,41.971655]},"n185978419":{"id":"n185978419","loc":[-85.634989,41.971741]},"n185978420":{"id":"n185978420","loc":[-85.635063,41.971864]},"n185978787":{"id":"n185978787","loc":[-85.627936,41.954693]},"n185978790":{"id":"n185978790","loc":[-85.626832,41.954677]},"n185978967":{"id":"n185978967","loc":[-85.632278,41.948613]},"n185980735":{"id":"n185980735","loc":[-85.628639,41.953725]},"n185982163":{"id":"n185982163","loc":[-85.636233,41.952398]},"n185982193":{"id":"n185982193","loc":[-85.6313855,41.9499125]},"n185982195":{"id":"n185982195","loc":[-85.6304857,41.9511945]},"n185982196":{"id":"n185982196","loc":[-85.626336,41.957291]},"n185982197":{"id":"n185982197","loc":[-85.625578,41.958664]},"n185982198":{"id":"n185982198","loc":[-85.624619,41.960145]},"n185982200":{"id":"n185982200","loc":[-85.624494,41.960338]},"n185984017":{"id":"n185984017","loc":[-85.636163,41.947382]},"n185984020":{"id":"n185984020","loc":[-85.636188,41.9498803]},"n185984022":{"id":"n185984022","loc":[-85.636276,41.955919]},"n185984024":{"id":"n185984024","loc":[-85.636279,41.956901]},"n185988036":{"id":"n185988036","loc":[-85.631422,41.948294]},"n185988867":{"id":"n185988867","loc":[-85.63102,41.948805]},"n185988869":{"id":"n185988869","loc":[-85.630773,41.949209]},"n185988871":{"id":"n185988871","loc":[-85.63005,41.95016]},"n185988872":{"id":"n185988872","loc":[-85.629423,41.951016]},"n185988873":{"id":"n185988873","loc":[-85.629252,41.951256]},"n185988875":{"id":"n185988875","loc":[-85.629126,41.951489]},"n185988877":{"id":"n185988877","loc":[-85.628991,41.951704]},"n185988878":{"id":"n185988878","loc":[-85.628689,41.952112]},"n185988879":{"id":"n185988879","loc":[-85.628313,41.952666]},"n185988880":{"id":"n185988880","loc":[-85.627687,41.953529]},"n185988882":{"id":"n185988882","loc":[-85.627394,41.953947]},"n185988884":{"id":"n185988884","loc":[-85.627287,41.954128]},"n1819858502":{"id":"n1819858502","loc":[-85.6328435,41.9455473]},"n1819858510":{"id":"n1819858510","loc":[-85.6324841,41.9453438]},"n1819858515":{"id":"n1819858515","loc":[-85.6318511,41.9446409]},"n1819858520":{"id":"n1819858520","loc":[-85.6326558,41.9454708]},"n1819858522":{"id":"n1819858522","loc":[-85.6319048,41.9447407]},"n1819858524":{"id":"n1819858524","loc":[-85.6317718,41.9443666]},"n1819858530":{"id":"n1819858530","loc":[-85.632055,41.9449128]},"n2139795768":{"id":"n2139795768","loc":[-85.6243023,41.9606102]},"n2139832645":{"id":"n2139832645","loc":[-85.6324455,41.9448607]},"n2139832649":{"id":"n2139832649","loc":[-85.6328043,41.9454773]},"n2139832651":{"id":"n2139832651","loc":[-85.6322547,41.9449621]},"n2139832675":{"id":"n2139832675","loc":[-85.6327356,41.944757]},"n2139832677":{"id":"n2139832677","loc":[-85.6325433,41.9448599]},"n2139832680":{"id":"n2139832680","loc":[-85.6328885,41.9455614]},"n2139832682":{"id":"n2139832682","loc":[-85.6320913,41.9449492]},"n2139832684":{"id":"n2139832684","loc":[-85.6325366,41.9447133]},"n2139832688":{"id":"n2139832688","loc":[-85.6322786,41.94485]},"n2139832718":{"id":"n2139832718","loc":[-85.6327486,41.9432475]},"n2139832719":{"id":"n2139832719","loc":[-85.6327926,41.9431773]},"n2139832720":{"id":"n2139832720","loc":[-85.6329033,41.943153]},"n2139832727":{"id":"n2139832727","loc":[-85.6328975,41.9430783]},"n2139844839":{"id":"n2139844839","loc":[-85.6326261,41.9432308]},"n2189015992":{"id":"n2189015992","loc":[-85.6347706,41.9593383]},"n2189153179":{"id":"n2189153179","loc":[-85.6340476,41.9472565]},"n2189153182":{"id":"n2189153182","loc":[-85.6342638,41.9472522]},"n2189153241":{"id":"n2189153241","loc":[-85.6354184,41.9473091]},"n2189153258":{"id":"n2189153258","loc":[-85.6354611,41.9472366]},"n2189153277":{"id":"n2189153277","loc":[-85.6328948,41.9462374]},"n2199109755":{"id":"n2199109755","loc":[-85.6336729,41.9472417]},"w203970139":{"id":"w203970139","tags":{"building":"yes"},"nodes":["n2139824793","n2139824787","n2139824773","n2139824778","n2139824793"]},"w203970098":{"id":"w203970098","tags":{"building":"yes"},"nodes":["n2139824748","n2139824712","n2139824726","n2139824760","n2139824748"]},"w208643132":{"id":"w208643132","tags":{"area":"yes","building":"yes"},"nodes":["n2189153195","n2189153196","n2189153197","n2189153198","n2189153195"]},"w203970094":{"id":"w203970094","tags":{"building":"yes"},"nodes":["n2139824755","n2139824753","n2139824759","n2139824764","n2139824763","n2139824767","n2139824770","n2139824782","n2139824772","n2139824756","n2139824751","n2139824754","n2139824755"]},"w208643138":{"id":"w208643138","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153231","n2189153232","n2189153240","n2189153244","n2189153236","n2189153238","n2189153237","n2189153239","n2189153252","n2189153235","n2189153234","n2189153253","n2189153233","n2189153231"]},"w203970125":{"id":"w203970125","tags":{"building":"yes"},"nodes":["n2139824735","n2139824738","n2139824757","n2139824749","n2139824735"]},"w170848823":{"id":"w170848823","tags":{"name":"Rocky River","waterway":"river"},"nodes":["n1819849189","n1819858516","n1819858519","n1819858504","n1819858525","n1819858506","n1819858513"]},"w203970898":{"id":"w203970898","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832645","n2139832647","n2139832649","n2139832651","n2139832645"]},"w203970134":{"id":"w203970134","tags":{"building":"yes"},"nodes":["n2139824796","n2139824803","n2139824797","n2139824788","n2139824796"]},"w203970104":{"id":"w203970104","tags":{"building":"yes"},"nodes":["n2139824733","n2139824730","n2139824714","n2139824721","n2139824733"]},"w206805245":{"id":"w206805245","tags":{"area":"yes","building":"yes"},"nodes":["n2168544780","n2168544781","n2139824796","n2139824803","n2168544780"]},"w206805252":{"id":"w206805252","tags":{"area":"yes","building":"yes"},"nodes":["n2168544838","n2168544839","n2168544840","n2168544841","n2168544842","n2168544843","n2168544844","n2168544845","n2168544846","n2168544847","n2168544838"]},"w203970099":{"id":"w203970099","tags":{"building":"yes"},"nodes":["n2139824783","n2139824795","n2139824790","n2139824779","n2139824783"]},"w17967730":{"id":"w17967730","tags":{"highway":"residential","name":"Water St"},"nodes":["n185963451","n2189153277","n185988036","n185988867","n185988869","n185988871","n185988872","n185988873","n185988875","n185988877","n185988878","n185988879","n185988880","n185988882","n185988884","n185978790"]},"w208643133":{"id":"w208643133","tags":{"area":"yes","building":"yes"},"nodes":["n2189153199","n2189153200","n2189153201","n2189153202","n2189153199"]},"w203970127":{"id":"w203970127","tags":{"building":"yes"},"nodes":["n2139824794","n2139824783","n2139824789","n2139824797","n2139824794"]},"w208643139":{"id":"w208643139","tags":{"highway":"service"},"nodes":["n185988237","n2189153242","n2189153247","n2189153241"]},"w203988297":{"id":"w203988297","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140006423","n2140006441","n2140006425","n2140006426","n2140006440","n2140006427","n2140006428","n2140006429","n2140006430","n2140006423"]},"w206805250":{"id":"w206805250","tags":{"area":"yes","building":"yes"},"nodes":["n2168544827","n2168544823","n2168544825","n2168544800","n2168544829","n2168544827"]},"w208643140":{"id":"w208643140","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153242","n2189153254","n2189153243","n2189153244","n2189153251","n2189153257","n2189153245","n2189153252","n2189153246"]},"w203974055":{"id":"w203974055","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870376","n2139870377"]},"w206805247":{"id":"w206805247","tags":{"area":"yes","building":"yes"},"nodes":["n2168544785","n2168544786","n2168544783","n2168544787","n2168544788","n2168544789","n2168544785"]},"w17964996":{"id":"w17964996","tags":{"highway":"residential","name":"Foster St"},"nodes":["n1819858524","n1819858515","n1819858522","n1819858530","n2139832682","n1819858510","n1819858520","n1819858502","n2139832680","n185963451","n1819858527","n185963452","n185963453","n185963454","n185963455","n185963456"]},"w208643144":{"id":"w208643144","tags":{"area":"yes","building":"yes"},"nodes":["n2189153264","n2189153265","n2189153266","n2189153267","n2189153268","n2189153269","n2189153270","n2189153264"]},"w203970914":{"id":"w203970914","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832722","n2139832723","n2139832724","n2139832725","n2139832726","n2139832727","n2139844839","n2139832722"]},"w208643143":{"id":"w208643143","tags":{"area":"yes","building":"yes"},"nodes":["n2189153258","n2189153259","n2189153260","n2189153261","n2189153262","n2189153263","n2189153258"]},"w203049590":{"id":"w203049590","tags":{"amenity":"parking","area":"yes"},"nodes":["n2130304152","n2130304153","n2140006403","n2130304154","n2130304156","n2130304155","n2130304160","n2130304152"]},"w203974054":{"id":"w203974054","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858971","n2139870373","n2139870374"]},"w203049595":{"id":"w203049595","tags":{"highway":"service"},"nodes":["n2130304158","n2130304159","n2130304160","n2139832635","n2139832639"]},"w203970913":{"id":"w203970913","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832715","n2139832716","n2139832717","n2139832718","n2139832719","n2139832720","n2139832721","n2139832716"]},"w208643134":{"id":"w208643134","tags":{"area":"yes","building":"yes"},"nodes":["n2189153203","n2189153204","n2189153205","n2189153206","n2189153207","n2189153208","n2189153209","n2189153210","n2189153211","n2189153212","n2189153213","n2189153214","n2189153203"]},"w134150808":{"id":"w134150808","tags":{"bridge":"yes","highway":"residential","name":"Moore St"},"nodes":["n185988239","n185984009","n185988241","n1475284019"]},"w203970115":{"id":"w203970115","tags":{"building":"yes"},"nodes":["n2139824761","n2139824727","n2139824736","n2139824771","n2139824761"]},"w208643130":{"id":"w208643130","tags":{"area":"yes","building":"yes"},"nodes":["n2189153183","n2189153184","n2189153185","n2189153186","n2189153187","n2189153188","n2189153189","n2189153190","n2189153183"]},"w206805246":{"id":"w206805246","tags":{"area":"yes","building":"yes"},"nodes":["n2168544782","n2168544780","n2168544781","n2168544783","n2168544787","n2168544784","n2168544782"]},"w203970138":{"id":"w203970138","tags":{"building":"yes"},"nodes":["n2139824729","n2139824720","n2139824702","n2139824707","n2139824729"]},"w203970133":{"id":"w203970133","tags":{"building":"yes"},"nodes":["n2139824748","n2139824737","n2139824717","n2139824728","n2139824748"]},"w203970907":{"id":"w203970907","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832700","n2139832701","n2139832702"]},"w203974056":{"id":"w203974056","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870377","n2139870378"]},"w203970897":{"id":"w203970897","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2130304156","n2166205688","n2139832635","n2139832636","n2139832637","n2139832639","n2139832641","n2166205688"]},"w203974057":{"id":"w203974057","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870375","n2139870376"]},"w203049594":{"id":"w203049594","tags":{"highway":"service"},"nodes":["n2130304156","n2139870378","n2139832706","n2139832704","n2130304157"]},"w203970122":{"id":"w203970122","tags":{"building":"yes"},"nodes":["n2139824757","n2139824740","n2139824747","n2139824762","n2139824757"]},"w208643136":{"id":"w208643136","tags":{"area":"yes","building":"yes"},"nodes":["n2189153219","n2189153220","n2189153221","n2189153222","n2189153223","n2189153224","n2189153225","n2189153226","n2189153219"]},"w203970128":{"id":"w203970128","tags":{"building":"yes"},"nodes":["n2139824732","n2139824752","n2139824744","n2139824724","n2139824732"]},"w203970097":{"id":"w203970097","tags":{"building":"yes"},"nodes":["n2139824737","n2139824733","n2139824710","n2139824716","n2139824737"]},"w203970137":{"id":"w203970137","tags":{"building":"yes"},"nodes":["n2139824765","n2139824774","n2139824758","n2139824746","n2139824765"]},"w134150840":{"id":"w134150840","tags":{"highway":"residential","name":"Moore St"},"nodes":["n1475284019","n185988243","n185988244","n185988245"]},"w17967628":{"id":"w17967628","tags":{"highway":"residential","name":"Moore St"},"nodes":["n185978388","n2139832709","n185988237","n185988239"]},"w203988292":{"id":"w203988292","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2140006407","n2140006405"]},"w203970118":{"id":"w203970118","tags":{"building":"yes"},"nodes":["n2139824775","n2139824785","n2139824780","n2139824768","n2139824775"]},"w203970121":{"id":"w203970121","tags":{"building":"yes"},"nodes":["n2139824768","n2139824781","n2139824776","n2139824765","n2139824768"]},"w17967752":{"id":"w17967752","tags":{"highway":"residential","name":"Railroad Drive"},"nodes":["n185964980","n2139832699","n2139832700","n2130304158","n185988969","n185988971","n185988972","n1475284011"]},"w203970136":{"id":"w203970136","tags":{"building":"yes"},"nodes":["n2139824798","n2139824793","n2139824777","n2139824784","n2139824798"]},"w203970142":{"id":"w203970142","tags":{"building":"yes"},"nodes":["n2139824808","n2139824809","n2139824807","n2139824806","n2139824801","n2139824800","n2139824804","n2139824805","n2139824808"]},"w208643137":{"id":"w208643137","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153227","n2189153248","n2189153228","n2189153234","n2189153235","n2189153229","n2189153249","n2189153230","n2189153227"]},"w208643129":{"id":"w208643129","tags":{"area":"yes","building":"yes"},"nodes":["n2189153179","n2189153180","n2189153181","n2189153182","n2189153179"]},"w203970909":{"id":"w203970909","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832703","n2139832704","n2139832706","n2139832708","n2139832703"]},"w203970905":{"id":"w203970905","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832688","n2139832691"]},"w203988298":{"id":"w203988298","tags":{"highway":"service"},"nodes":["n2140006431","n2140006433","n2140006435","n2140006436","n2140006437","n2140006438","n2140006439","n2140006440"]},"w203970106":{"id":"w203970106","tags":{"building":"yes"},"nodes":["n2139824798","n2139824791","n2139824799","n2139824802","n2139824798"]},"w203970129":{"id":"w203970129","tags":{"building":"yes"},"nodes":["n2139824787","n2139824782","n2139824766","n2139824769","n2139824787"]},"w208643131":{"id":"w208643131","tags":{"area":"yes","building":"yes"},"nodes":["n2189153191","n2189153192","n2189153193","n2189153194","n2189153191"]},"w206805249":{"id":"w206805249","tags":{"area":"yes","building":"yes"},"nodes":["n2168544800","n2168544801","n2168544802","n2168544805","n2168544807","n2168544809","n2168544811","n2168544813","n2168544815","n2168544817","n2168544819","n2168544821","n2168544823","n2168544825","n2168544800"]},"w134150800":{"id":"w134150800","tags":{"bridge":"yes","highway":"primary","name":"W Michigan Ave","old_ref":"US 131","ref":"US 131 Business;M 60"},"nodes":["n185964972","n185964976"]},"w17966984":{"id":"w17966984","tags":{"highway":"residential","name":"Portage Avenue"},"nodes":["n185978375","n185963456","n2189153218","n185966937","n185978967","n185967422","n185982193","n185968100","n185982195","n185960195","n185980735","n185978787","n185966948","n185982196","n185982197","n185982198","n185982200","n2139795768","n185972155"]},"w203988294":{"id":"w203988294","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2140006409","n2140006411","n2140006413","n2140006415","n2140006409"]},"w203970912":{"id":"w203970912","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832711","n2139832712","n2139832713","n2139832714","n2139832711"]},"w203970119":{"id":"w203970119","tags":{"building":"yes"},"nodes":["n2139824713","n2139824705","n2139824683","n2139824689","n2139824713"]},"w203970114":{"id":"w203970114","tags":{"building":"yes"},"nodes":["n2139824735","n2139824750","n2139824745","n2139824732","n2139824735"]},"w208643142":{"id":"w208643142","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153254","n2189153255","n2189153256","n2189153257"]},"w206805253":{"id":"w206805253","tags":{"area":"yes","building":"yes"},"nodes":["n2168544848","n2168544849","n2168544850","n2168544851","n2168544852","n2168544853","n2168544854","n2168544855","n2168544848"]},"w143497377":{"id":"w143497377","tags":{"highway":"primary","name":"North Main Street","old_ref":"US 131","ref":"US 131 Business"},"nodes":["n185962625","n185978420","n185978419","n185978417","n185978415","n185978414","n185975735","n1475293254","n185978410","n185978406","n185970515","n185978402","n185978399","n185965399","n2189015992","n185961396","n185967917","n185978394","n185971631","n185960796","n185978392","n185974583","n185978390","n185971578","n185965289","n2189153215","n185978388","n185978383","n185978381","n185978379","n185978377","n185978375","n185964982"]},"w134150811":{"id":"w134150811","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60"},"nodes":["n185964976","n2130304157","n1475284023","n2139832715","n185964980","n185964982"]},"w208643135":{"id":"w208643135","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153215","n2189153216","n2189153217","n2189153218"]},"w17967183":{"id":"w17967183","tags":{"highway":"residential","name":"West Street"},"nodes":["n1475284011","n185984011","n185984013","n185984015","n2189153246","n2189153250","n185965291","n185984017","n185971580","n185984020","n185974585","n185982163","n185975064","n185971632","n185984022","n185984024","n185967918"]},"w134150778":{"id":"w134150778","tags":{"bridge":"yes","highway":"residential","name":"Moore St"},"nodes":["n185988245","n1475283992","n185975911"]},"w206805248":{"id":"w206805248","tags":{"area":"yes","building":"yes"},"nodes":["n2168544790","n2168544791","n2168544792","n2168544793","n2168544795","n2168544797","n2168544798","n2168544799","n2168544802","n2168544801","n2168544790"]},"w203974058":{"id":"w203974058","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870374","n2139870375"]},"w203970902":{"id":"w203970902","tags":{"highway":"service"},"nodes":["n2139832678","n2139832691","n2139832680"]},"w203988296":{"id":"w203988296","tags":{"highway":"path"},"nodes":["n2139858967","n2140006421","n2139858935"]},"w206805251":{"id":"w206805251","tags":{"area":"yes","building":"yes"},"nodes":["n2168544830","n2168544831","n2168544832","n2168544833","n2168544834","n2168544835","n2168544836","n2168544837","n2168544830"]},"w203970906":{"id":"w203970906","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832693","n2139832694","n2139832696","n2139832697","n2139832698","n2139832693"]},"w203049598":{"id":"w203049598","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2130304162","n2130304163","n2130304164","n2130304165","n2130304162"]},"w203970911":{"id":"w203970911","tags":{"highway":"service"},"nodes":["n2139832709","n2139832714","n2139832713","n2139832710","n185988971"]},"w203970105":{"id":"w203970105","tags":{"building":"yes"},"nodes":["n2139824779","n2139824792","n2139824786","n2139824775","n2139824779"]},"w203988290":{"id":"w203988290","tags":{"highway":"footway"},"nodes":["n2140006403","n2140006407"]},"w203970900":{"id":"w203970900","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832653","n2139832663","n2139832665","n2139832667","n2139832669","n2139832671","n2139832673","n2139832675","n2139832677","n2139832653"]},"w209717048":{"id":"w209717048","tags":{"area":"yes","building":"yes"},"nodes":["n2199109755","n2199109756","n2199109757","n2199109758","n2199109759","n2199109760","n2199109755"]},"w208643141":{"id":"w208643141","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153247","n2189153248","n2189153249","n2189153250"]},"w203970903":{"id":"w203970903","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832682","n2139832688","n2139832684","n2139832678","n2139832686"]},"n354002527":{"id":"n354002527","loc":[-85.6236039,41.9458813],"tags":{"amenity":"school","name":"Barrows School"}},"n185963396":{"id":"n185963396","loc":[-85.627401,41.943496]},"n185963397":{"id":"n185963397","loc":[-85.627403,41.943625]},"n185965101":{"id":"n185965101","loc":[-85.626409,41.943215]},"n185971474":{"id":"n185971474","loc":[-85.624884,41.943508]},"n185971475":{"id":"n185971475","loc":[-85.625191,41.943509]},"n185971482":{"id":"n185971482","loc":[-85.624882,41.94382]},"n185983135":{"id":"n185983135","loc":[-85.624893,41.945616]},"n185983137":{"id":"n185983137","loc":[-85.624912,41.946524]},"n185988027":{"id":"n185988027","loc":[-85.622721,41.946535]},"n185963398":{"id":"n185963398","loc":[-85.6273993,41.9446899]},"n185983238":{"id":"n185983238","loc":[-85.6227157,41.9456321]},"n185980374":{"id":"n185980374","loc":[-85.6248856,41.9447242]},"n185980373":{"id":"n185980373","loc":[-85.6226744,41.9447371]},"n2196831342":{"id":"n2196831342","loc":[-85.6250924,41.945063]},"n2196831343":{"id":"n2196831343","loc":[-85.6252335,41.9450636]},"n2196831344":{"id":"n2196831344","loc":[-85.6252286,41.9448707]},"n2196831345":{"id":"n2196831345","loc":[-85.6250661,41.9448707]},"n2196831346":{"id":"n2196831346","loc":[-85.6250243,41.9449012]},"n2196831347":{"id":"n2196831347","loc":[-85.6250251,41.9449244]},"n2196831348":{"id":"n2196831348","loc":[-85.6250867,41.9449257]},"n2196831349":{"id":"n2196831349","loc":[-85.625349,41.9445058]},"n2196831350":{"id":"n2196831350","loc":[-85.6253471,41.9443882]},"n2196831351":{"id":"n2196831351","loc":[-85.6251516,41.94439]},"n2196831352":{"id":"n2196831352","loc":[-85.6251522,41.9444308]},"n2196831353":{"id":"n2196831353","loc":[-85.6251344,41.9444309]},"n2196831354":{"id":"n2196831354","loc":[-85.6251356,41.9445077]},"n2196831355":{"id":"n2196831355","loc":[-85.6232357,41.9463406]},"n2196831356":{"id":"n2196831356","loc":[-85.6232409,41.9460668]},"n2196831357":{"id":"n2196831357","loc":[-85.6232072,41.9460665]},"n2196831358":{"id":"n2196831358","loc":[-85.6232117,41.9458272]},"n2196831359":{"id":"n2196831359","loc":[-85.6229808,41.9458248]},"n2196831360":{"id":"n2196831360","loc":[-85.6229763,41.9460627]},"n2196831361":{"id":"n2196831361","loc":[-85.623006,41.946063]},"n2196831362":{"id":"n2196831362","loc":[-85.6230023,41.9462557]},"n2196831363":{"id":"n2196831363","loc":[-85.6230755,41.9462565]},"n2196831364":{"id":"n2196831364","loc":[-85.6230739,41.9463389]},"n185947349":{"id":"n185947349","loc":[-85.618327,41.945607]},"n185947359":{"id":"n185947359","loc":[-85.615453,41.945597]},"n185947378":{"id":"n185947378","loc":[-85.617231,41.945603]},"n185947474":{"id":"n185947474","loc":[-85.616136,41.945602]},"n185948972":{"id":"n185948972","loc":[-85.615273,41.945637]},"n185955019":{"id":"n185955019","loc":[-85.620172,41.945627]},"n185960682":{"id":"n185960682","loc":[-85.622759,41.951845]},"n185961369":{"id":"n185961369","loc":[-85.622758,41.947444]},"n185961371":{"id":"n185961371","loc":[-85.624908,41.947416]},"n185963392":{"id":"n185963392","loc":[-85.6270462,41.9409953]},"n185963393":{"id":"n185963393","loc":[-85.627295,41.941304]},"n185963394":{"id":"n185963394","loc":[-85.627352,41.94148]},"n185963395":{"id":"n185963395","loc":[-85.62737,41.942261]},"n185965099":{"id":"n185965099","loc":[-85.6264,41.942263]},"n185965108":{"id":"n185965108","loc":[-85.622769,41.949224]},"n185965110":{"id":"n185965110","loc":[-85.624937,41.949237]},"n185966295":{"id":"n185966295","loc":[-85.6299942,41.9446689]},"n185966342":{"id":"n185966342","loc":[-85.624873,41.942022]},"n185970222":{"id":"n185970222","loc":[-85.622761,41.948357]},"n185970224":{"id":"n185970224","loc":[-85.624924,41.9483338]},"n185971477":{"id":"n185971477","loc":[-85.620051,41.94383]},"n185971478":{"id":"n185971478","loc":[-85.621219,41.943801]},"n185971481":{"id":"n185971481","loc":[-85.621812,41.943807]},"n185973866":{"id":"n185973866","loc":[-85.627629,41.946498]},"n185974699":{"id":"n185974699","loc":[-85.6227688,41.950119]},"n185978800":{"id":"n185978800","loc":[-85.623953,41.954684]},"n185980372":{"id":"n185980372","loc":[-85.621459,41.944756]},"n185980378":{"id":"n185980378","loc":[-85.6286375,41.9446764]},"n185980380":{"id":"n185980380","loc":[-85.630139,41.944661]},"n185980382":{"id":"n185980382","loc":[-85.630298,41.944635]},"n185980384":{"id":"n185980384","loc":[-85.630759,41.94454]},"n185980386":{"id":"n185980386","loc":[-85.6312369,41.9444548]},"n185983133":{"id":"n185983133","loc":[-85.6248672,41.9415903]},"n185983139":{"id":"n185983139","loc":[-85.624951,41.950239]},"n185983140":{"id":"n185983140","loc":[-85.624934,41.950681]},"n185983141":{"id":"n185983141","loc":[-85.624813,41.950983]},"n185983143":{"id":"n185983143","loc":[-85.6246225,41.951591]},"n185983144":{"id":"n185983144","loc":[-85.623908,41.9539165]},"n185983145":{"id":"n185983145","loc":[-85.6238903,41.9540956]},"n185983146":{"id":"n185983146","loc":[-85.623898,41.95431]},"n185983236":{"id":"n185983236","loc":[-85.628481,41.945611]},"n185985914":{"id":"n185985914","loc":[-85.620072,41.946538]},"n185986812":{"id":"n185986812","loc":[-85.6227785,41.9510005]},"n185988028":{"id":"n185988028","loc":[-85.6281401,41.9469632]},"n185988030":{"id":"n185988030","loc":[-85.6282451,41.9470314]},"n185988032":{"id":"n185988032","loc":[-85.6283312,41.9470656]},"w17964989":{"id":"w17964989","tags":{"highway":"residential","name":"Middle St"},"nodes":["n185963392","n185963393","n185963394","n185963395","n185963396","n185963397","n185963398"]},"w17965158":{"id":"w17965158","tags":{"access":"private","highway":"service","name":"Battle St"},"nodes":["n185965099","n185965101"]},"w41074896":{"id":"w41074896","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60"},"nodes":["n185980372","n185980373","n185980374","n185963398","n185980378","n185966295","n185980380","n185980382","n185980384","n185980386"]},"w17965846":{"id":"w17965846","tags":{"highway":"residential","name":"2nd Ave"},"nodes":["n185971477","n185971478","n185971481","n185971482"]},"w209470306":{"id":"w209470306","tags":{"area":"yes","building":"yes"},"nodes":["n2196831349","n2196831350","n2196831351","n2196831352","n2196831353","n2196831354","n2196831349"]},"w17965845":{"id":"w17965845","tags":{"highway":"residential","name":"2nd Ave"},"nodes":["n185971474","n185971475","n185963396"]},"w209470307":{"id":"w209470307","tags":{"area":"yes","building":"yes"},"nodes":["n2196831355","n2196831356","n2196831357","n2196831358","n2196831359","n2196831360","n2196831361","n2196831362","n2196831363","n2196831364","n2196831355"]},"w17968192":{"id":"w17968192","tags":{"highway":"residential","name":"Washington St"},"nodes":["n185980373","n185983238","n185988027","n185961369","n185970222","n185965108","n185974699","n185986812","n185960682"]},"w17967603":{"id":"w17967603","tags":{"highway":"residential","name":"5th Ave"},"nodes":["n185985914","n185988027","n185983137","n185973866","n185988028","n185988030","n185988032"]},"w209470305":{"id":"w209470305","tags":{"area":"yes","building":"yes"},"nodes":["n2196831342","n2196831343","n2196831344","n2196831345","n2196831346","n2196831347","n2196831348","n2196831342"]},"w17967092":{"id":"w17967092","tags":{"highway":"residential","name":"Wood St"},"nodes":["n185983133","n185966342","n185971474","n185971482","n185980374","n185983135","n185983137","n185961371","n185970224","n185965110","n185983139","n185983140","n185983141","n185983143","n185983144","n185983145","n185983146","n185978800"]},"w17967107":{"id":"w17967107","tags":{"highway":"residential","name":"4th Ave"},"nodes":["n185983236","n185983135","n185983238","n185955019","n185947349","n185947378","n185947474","n185947359","n185948972"]},"n354030330":{"id":"n354030330","loc":[-85.6297222,41.9444444],"tags":{"leisure":"park","name":"Scouter Park"}},"n185966296":{"id":"n185966296","loc":[-85.629998,41.944078]},"n185966298":{"id":"n185966298","loc":[-85.629972,41.943927]},"n185966300":{"id":"n185966300","loc":[-85.629948,41.943783]},"n185980391":{"id":"n185980391","loc":[-85.6322992,41.9442766]},"n185980393":{"id":"n185980393","loc":[-85.6324925,41.9442136]},"n185980389":{"id":"n185980389","loc":[-85.6320272,41.9443281]},"n185980388":{"id":"n185980388","loc":[-85.6315778,41.9443959]},"n354031320":{"id":"n354031320","loc":[-85.6280556,41.9447222],"tags":{"amenity":"place_of_worship","name":"Riverside Church","religion":"christian"}},"n185987309":{"id":"n185987309","loc":[-85.6286497,41.9453531]},"n185987311":{"id":"n185987311","loc":[-85.6285942,41.9454805]},"n185988034":{"id":"n185988034","loc":[-85.6285815,41.9471692]},"n185988896":{"id":"n185988896","loc":[-85.6318433,41.9437929]},"n185977764":{"id":"n185977764","loc":[-85.6322988,41.943472]},"n1819848852":{"id":"n1819848852","loc":[-85.6315188,41.9448808]},"n1819848912":{"id":"n1819848912","loc":[-85.6284289,41.9472189]},"n1819848925":{"id":"n1819848925","loc":[-85.6314501,41.9451617]},"n1819848949":{"id":"n1819848949","loc":[-85.6309394,41.9455192]},"n1819848951":{"id":"n1819848951","loc":[-85.6290297,41.9457187]},"n1819848963":{"id":"n1819848963","loc":[-85.630521,41.9455591]},"n1819848981":{"id":"n1819848981","loc":[-85.6292936,41.9455846]},"n1819848989":{"id":"n1819848989","loc":[-85.6298451,41.9455431]},"n1819848998":{"id":"n1819848998","loc":[-85.6314973,41.9446254]},"n1819849018":{"id":"n1819849018","loc":[-85.6302807,41.9455527]},"n1819849043":{"id":"n1819849043","loc":[-85.6285533,41.9469731]},"n1819849087":{"id":"n1819849087","loc":[-85.6314501,41.9453532]},"n1819849090":{"id":"n1819849090","loc":[-85.628843,41.9461033]},"n1819849109":{"id":"n1819849109","loc":[-85.6311926,41.9454729]},"n1819849116":{"id":"n1819849116","loc":[-85.6288967,41.9459437]},"n1819849177":{"id":"n1819849177","loc":[-85.6287894,41.9464544]},"n1819858529":{"id":"n1819858529","loc":[-85.6325485,41.9445625]},"n2189112797":{"id":"n2189112797","loc":[-85.6275271,41.944555]},"n2189112798":{"id":"n2189112798","loc":[-85.6275196,41.9437258]},"n2189112799":{"id":"n2189112799","loc":[-85.6278937,41.943723]},"n2189112800":{"id":"n2189112800","loc":[-85.6278969,41.9439191]},"n2189112801":{"id":"n2189112801","loc":[-85.6279907,41.9439345]},"n2189112802":{"id":"n2189112802","loc":[-85.6280817,41.9439663]},"n2189112803":{"id":"n2189112803","loc":[-85.6281768,41.9440145]},"n2189112804":{"id":"n2189112804","loc":[-85.6281933,41.9440483]},"n2189112805":{"id":"n2189112805","loc":[-85.6281671,41.9440535]},"n2189112806":{"id":"n2189112806","loc":[-85.6281933,41.9440935]},"n2189112807":{"id":"n2189112807","loc":[-85.6282126,41.9441437]},"n2189112808":{"id":"n2189112808","loc":[-85.628214,41.9441991]},"n2189112809":{"id":"n2189112809","loc":[-85.6283298,41.944196]},"n2189112810":{"id":"n2189112810","loc":[-85.6283285,41.9442616]},"n2189112811":{"id":"n2189112811","loc":[-85.6281727,41.9442616]},"n2189112812":{"id":"n2189112812","loc":[-85.6281713,41.9442934]},"n2189112813":{"id":"n2189112813","loc":[-85.6280386,41.9442963]},"n2189112814":{"id":"n2189112814","loc":[-85.6280405,41.9443292]},"n2189112815":{"id":"n2189112815","loc":[-85.627829,41.9443349]},"n2189112816":{"id":"n2189112816","loc":[-85.6278347,41.9445495]},"n2189153271":{"id":"n2189153271","loc":[-85.6321053,41.9460342]},"n2189153272":{"id":"n2189153272","loc":[-85.632278,41.9457841]},"n2189153273":{"id":"n2189153273","loc":[-85.632823,41.9459936]},"n2189153274":{"id":"n2189153274","loc":[-85.6326845,41.9461963]},"n2189153275":{"id":"n2189153275","loc":[-85.6325664,41.9461507]},"n2189153276":{"id":"n2189153276","loc":[-85.6325323,41.946198]},"n2189153278":{"id":"n2189153278","loc":[-85.6321916,41.9459733]},"n2189153279":{"id":"n2189153279","loc":[-85.6322598,41.9458703]},"n2189153280":{"id":"n2189153280","loc":[-85.6327208,41.9460358]},"n2189153281":{"id":"n2189153281","loc":[-85.6326413,41.9461422]},"n185959079":{"id":"n185959079","loc":[-85.6293702,41.9474668]},"n185966301":{"id":"n185966301","loc":[-85.629692,41.943136]},"n185966304":{"id":"n185966304","loc":[-85.629565,41.942916]},"n185966308":{"id":"n185966308","loc":[-85.629501,41.942751]},"n185966315":{"id":"n185966315","loc":[-85.629472,41.942578]},"n185966319":{"id":"n185966319","loc":[-85.629444,41.942414]},"n185966321":{"id":"n185966321","loc":[-85.629391,41.94205]},"n185966323":{"id":"n185966323","loc":[-85.629369,41.941858]},"n185966327":{"id":"n185966327","loc":[-85.629297,41.941604]},"n185966331":{"id":"n185966331","loc":[-85.629233,41.941549]},"n185966336":{"id":"n185966336","loc":[-85.628504,41.941364]},"n185966338":{"id":"n185966338","loc":[-85.628275,41.941303]},"n185966340":{"id":"n185966340","loc":[-85.6269038,41.9410983]},"n185973867":{"id":"n185973867","loc":[-85.626843,41.947333]},"n185977762":{"id":"n185977762","loc":[-85.6318441,41.9429453]},"n1819848853":{"id":"n1819848853","loc":[-85.625854,41.9492218]},"n1819848861":{"id":"n1819848861","loc":[-85.6251459,41.9552376]},"n1819848874":{"id":"n1819848874","loc":[-85.6267445,41.9482961]},"n1819848882":{"id":"n1819848882","loc":[-85.6257209,41.9552396]},"n1819848883":{"id":"n1819848883","loc":[-85.624706,41.9523173]},"n1819848907":{"id":"n1819848907","loc":[-85.62609,41.9561471]},"n1819848908":{"id":"n1819848908","loc":[-85.6244013,41.9549284]},"n1819848911":{"id":"n1819848911","loc":[-85.6265578,41.9553672]},"n1819848923":{"id":"n1819848923","loc":[-85.6246802,41.9550959]},"n1819848936":{"id":"n1819848936","loc":[-85.6241588,41.9539291]},"n1819848940":{"id":"n1819848940","loc":[-85.62506,41.9511129]},"n1819848944":{"id":"n1819848944","loc":[-85.624942,41.9515912]},"n1819848950":{"id":"n1819848950","loc":[-85.6273989,41.9475461]},"n1819848957":{"id":"n1819848957","loc":[-85.627695,41.947404]},"n1819849009":{"id":"n1819849009","loc":[-85.6259248,41.94896]},"n1819849037":{"id":"n1819849037","loc":[-85.6257252,41.9502112]},"n1819849061":{"id":"n1819849061","loc":[-85.6270084,41.9479626]},"n1819849073":{"id":"n1819849073","loc":[-85.6243734,41.9534583]},"n1819849091":{"id":"n1819849091","loc":[-85.6241373,41.9543918]},"n1819849130":{"id":"n1819849130","loc":[-85.6282572,41.9473067]},"n1819849143":{"id":"n1819849143","loc":[-85.625281,41.9506596]},"n1819849153":{"id":"n1819849153","loc":[-85.6258647,41.9498043]},"n1819849168":{"id":"n1819849168","loc":[-85.6265084,41.9559317]},"n1819849173":{"id":"n1819849173","loc":[-85.6263325,41.9552156]},"n1819849175":{"id":"n1819849175","loc":[-85.6266372,41.9556764]},"n1819849178":{"id":"n1819849178","loc":[-85.6242232,41.9545993]},"n1819849181":{"id":"n1819849181","loc":[-85.6262187,41.9486712]},"n1819849188":{"id":"n1819849188","loc":[-85.6245558,41.9530434]},"n1819849190":{"id":"n1819849190","loc":[-85.6255982,41.9563017]},"n2168544738":{"id":"n2168544738","loc":[-85.6245707,41.9529711]},"w208643145":{"id":"w208643145","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153271","n2189153272","n2189153273","n2189153274","n2189153275","n2189153276","n2189153271"]},"w17967561":{"id":"w17967561","tags":{"highway":"residential","name":"Garden St"},"nodes":["n185980378","n185987309","n185987311","n185983236","n185973866"]},"w134150802":{"id":"w134150802","tags":{"bridge":"yes","highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60"},"nodes":["n185980386","n185980388"]},"w208639462":{"id":"w208639462","tags":{"area":"yes","building":"yes"},"nodes":["n2189112797","n2189112798","n2189112799","n2189112800","n2189112801","n2189112802","n2189112803","n2189112804","n2189112805","n2189112806","n2189112807","n2189112808","n2189112809","n2189112810","n2189112811","n2189112812","n2189112813","n2189112814","n2189112815","n2189112816","n2189112797"]},"w134150830":{"id":"w134150830","tags":{"bridge":"yes","highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86"},"nodes":["n185977762","n185977764"]},"w134150801":{"id":"w134150801","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86"},"nodes":["n185977764","n185964982"]},"w208643146":{"id":"w208643146","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153277","n2189153281","n2189153278","n2189153279","n2189153280","n2189153281"]},"w17966061":{"id":"w17966061","tags":{"highway":"residential","name":"John Glenn Ct"},"nodes":["n185973866","n185973867"]},"w134150772":{"id":"w134150772","tags":{"highway":"residential","name":"5th Ave"},"nodes":["n185988034","n185959079","n185988036","n185978967"]},"w134150836":{"id":"w134150836","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60"},"nodes":["n185980388","n1819858524","n185980389","n185980391","n185980393","n185964982"]},"w17967734":{"id":"w17967734","tags":{"highway":"residential","name":"Water Street"},"nodes":["n185988896","n185980391","n1819858529"]},"w17965305":{"id":"w17965305","tags":{"highway":"residential","name":"River Dr"},"nodes":["n185966295","n185966296","n185966298","n185966300","n185966301","n185966304","n185966308","n185966315","n185966319","n185966321","n185966323","n185966327","n185966331","n185966336","n185966338","n185963392","n185966340","n185966342"]},"w134150826":{"id":"w134150826","tags":{"bridge":"yes","highway":"residential","name":"5th Ave"},"nodes":["n185988032","n185988034"]},"w170848330":{"id":"w170848330","tags":{"name":"Portage River","waterway":"river"},"nodes":["n1819849190","n1819848907","n1819849168","n1819849175","n1819848911","n1819849173","n1819848882","n1819848861","n1819848923","n1819848908","n1819849178","n1819849091","n1819848936","n1819849073","n1819849188","n2168544738","n1819848883","n1819848944","n1819848940","n1819849143","n1819849037","n1819849153","n1819848853","n1819849009","n1819849181","n1819848874","n1819849061","n1819848950","n1819848957","n1819849130","n1819848912","n1819849043","n1819849177","n1819849090","n1819849116","n1819848951","n1819848981","n1819848989","n1819849018","n1819848963","n1819848949","n1819849109","n1819849087","n1819848925","n1819848852","n1819848998","n1819849057"]},"r270264":{"id":"r270264","tags":{"network":"US:MI","ref":"86","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-86_%28Michigan_highway%29"},"members":[{"id":"w17737723","type":"way","role":""},{"id":"w17735949","type":"way","role":""},{"id":"w17740404","type":"way","role":""},{"id":"w17966273","type":"way","role":""},{"id":"w17964745","type":"way","role":""},{"id":"w151538068","type":"way","role":""},{"id":"w151538067","type":"way","role":""},{"id":"w17964960","type":"way","role":""},{"id":"w17966099","type":"way","role":""},{"id":"w17968009","type":"way","role":""},{"id":"w41259499","type":"way","role":""},{"id":"w151540401","type":"way","role":""},{"id":"w151540418","type":"way","role":""},{"id":"w17967997","type":"way","role":""},{"id":"w17966029","type":"way","role":""},{"id":"w17964801","type":"way","role":""},{"id":"w41259496","type":"way","role":""},{"id":"w151540399","type":"way","role":""},{"id":"w17968004","type":"way","role":""},{"id":"w17966462","type":"way","role":""},{"id":"w134150830","type":"way","role":""},{"id":"w134150801","type":"way","role":""},{"id":"w17732295","type":"way","role":""}]},"n185980093":{"id":"n185980093","loc":[-85.6271414,41.9407274]},"n185964330":{"id":"n185964330","loc":[-85.6235688,41.9399111]},"n185964328":{"id":"n185964328","loc":[-85.6235609,41.9391301]},"n185958034":{"id":"n185958034","loc":[-85.627102,41.939125]},"n185964331":{"id":"n185964331","loc":[-85.623571,41.940124]},"n185964329":{"id":"n185964329","loc":[-85.623562,41.9392411]},"n185972756":{"id":"n185972756","loc":[-85.623802,41.939102]},"n185972757":{"id":"n185972757","loc":[-85.623584,41.93913]},"n185975325":{"id":"n185975325","loc":[-85.624835,41.939318]},"n185975326":{"id":"n185975326","loc":[-85.624811,41.939435]},"n185975327":{"id":"n185975327","loc":[-85.624635,41.939703]},"n185975328":{"id":"n185975328","loc":[-85.624366,41.940055]},"n185975330":{"id":"n185975330","loc":[-85.624287,41.940113]},"n185975332":{"id":"n185975332","loc":[-85.624215,41.940134]},"n185980088":{"id":"n185980088","loc":[-85.627127,41.940086]},"n185988943":{"id":"n185988943","loc":[-85.622643,41.940128]},"n185988961":{"id":"n185988961","loc":[-85.627263,41.940082]},"n185990192":{"id":"n185990192","loc":[-85.622933,41.939224]},"n185990194":{"id":"n185990194","loc":[-85.621976,41.939203]},"n185991378":{"id":"n185991378","loc":[-85.622643,41.940635]},"n1475283999":{"id":"n1475283999","loc":[-85.6271165,41.9408429]},"n185980090":{"id":"n185980090","loc":[-85.6271315,41.9402001]},"n185958036":{"id":"n185958036","loc":[-85.6248366,41.9391615]},"n1819800188":{"id":"n1819800188","loc":[-85.6246947,41.9401644]},"n1819800199":{"id":"n1819800199","loc":[-85.6233686,41.9430896]},"n1819800204":{"id":"n1819800204","loc":[-85.6223236,41.9408587]},"n1819800213":{"id":"n1819800213","loc":[-85.6247526,41.9414138]},"n1819800216":{"id":"n1819800216","loc":[-85.6230961,41.9407151]},"n1819800218":{"id":"n1819800218","loc":[-85.621991,41.9429336]},"n1819800221":{"id":"n1819800221","loc":[-85.6246088,41.9424708]},"n1819800227":{"id":"n1819800227","loc":[-85.6241368,41.9403081]},"n1819800230":{"id":"n1819800230","loc":[-85.6226776,41.9431012]},"n1819800231":{"id":"n1819800231","loc":[-85.6243728,41.9401644]},"n1819800232":{"id":"n1819800232","loc":[-85.6249629,41.9408907]},"n1819800248":{"id":"n1819800248","loc":[-85.6238685,41.9405555]},"n1819800266":{"id":"n1819800266","loc":[-85.6246882,41.9418367]},"n1819800271":{"id":"n1819800271","loc":[-85.62492,41.9413695]},"n1819800294":{"id":"n1819800294","loc":[-85.6243556,41.9427465]},"n1819800304":{"id":"n1819800304","loc":[-85.6251453,41.94117]},"n1819800325":{"id":"n1819800325","loc":[-85.6248234,41.9405714]},"n1819800362":{"id":"n1819800362","loc":[-85.6239544,41.9429416]},"n1819800368":{"id":"n1819800368","loc":[-85.6243406,41.9402283]},"n1819800375":{"id":"n1819800375","loc":[-85.6226562,41.940755]},"n1819800377":{"id":"n1819800377","loc":[-85.6232033,41.9406512]},"n185945133":{"id":"n185945133","loc":[-85.623501,41.933232]},"n185945135":{"id":"n185945135","loc":[-85.624776,41.933205]},"n185945395":{"id":"n185945395","loc":[-85.624741,41.93019]},"n185952239":{"id":"n185952239","loc":[-85.615166,41.9382]},"n185954490":{"id":"n185954490","loc":[-85.624721,41.929278]},"n185957831":{"id":"n185957831","loc":[-85.625041,41.938662]},"n185958030":{"id":"n185958030","loc":[-85.629033,41.93913]},"n185958032":{"id":"n185958032","loc":[-85.628429,41.939143]},"n185958498":{"id":"n185958498","loc":[-85.621605,41.940143]},"n185961186":{"id":"n185961186","loc":[-85.624792,41.935214]},"n185963099":{"id":"n185963099","loc":[-85.6204461,41.9401485]},"n185963698":{"id":"n185963698","loc":[-85.6297342,41.9400783]},"n185964320":{"id":"n185964320","loc":[-85.623511,41.934216]},"n185964322":{"id":"n185964322","loc":[-85.6235312,41.9362084]},"n185964324":{"id":"n185964324","loc":[-85.6235488,41.9371726]},"n185964326":{"id":"n185964326","loc":[-85.6235512,41.9381718]},"n185967077":{"id":"n185967077","loc":[-85.617359,41.940161]},"n185967634":{"id":"n185967634","loc":[-85.6248039,41.9362012]},"n185970833":{"id":"n185970833","loc":[-85.6248019,41.9381684]},"n185972752":{"id":"n185972752","loc":[-85.624582,41.938848]},"n185972754":{"id":"n185972754","loc":[-85.6242,41.939008]},"n185973251":{"id":"n185973251","loc":[-85.602727,41.936012]},"n185974509":{"id":"n185974509","loc":[-85.62478,41.93217]},"n185975315":{"id":"n185975315","loc":[-85.624703,41.925597]},"n185975316":{"id":"n185975316","loc":[-85.624716,41.927359]},"n185975317":{"id":"n185975317","loc":[-85.62475,41.93119]},"n185975318":{"id":"n185975318","loc":[-85.624782,41.934218]},"n185975320":{"id":"n185975320","loc":[-85.6247949,41.9371708]},"n185977754":{"id":"n185977754","loc":[-85.6276,41.937412]},"n185980075":{"id":"n185980075","loc":[-85.627451,41.937549]},"n185980077":{"id":"n185980077","loc":[-85.627375,41.937618]},"n185980078":{"id":"n185980078","loc":[-85.627278,41.937728]},"n185980079":{"id":"n185980079","loc":[-85.627199,41.937842]},"n185980081":{"id":"n185980081","loc":[-85.627141,41.937981]},"n185980083":{"id":"n185980083","loc":[-85.627109,41.938153]},"n185980085":{"id":"n185980085","loc":[-85.627101,41.938699]},"n185981173":{"id":"n185981173","loc":[-85.61433,41.940167]},"n185987021":{"id":"n185987021","loc":[-85.628311,41.942261]},"n185988963":{"id":"n185988963","loc":[-85.628439,41.940086]},"n185990195":{"id":"n185990195","loc":[-85.621225,41.939143]},"n185990196":{"id":"n185990196","loc":[-85.620576,41.939033]},"n185990198":{"id":"n185990198","loc":[-85.619081,41.938804]},"n185990200":{"id":"n185990200","loc":[-85.617593,41.938552]},"n185990202":{"id":"n185990202","loc":[-85.617372,41.938535]},"n185990204":{"id":"n185990204","loc":[-85.616087,41.93832]},"n185990206":{"id":"n185990206","loc":[-85.615754,41.938289]},"n185990209":{"id":"n185990209","loc":[-85.615438,41.938251]},"n185990211":{"id":"n185990211","loc":[-85.613469,41.937867]},"n185990212":{"id":"n185990212","loc":[-85.610172,41.937298]},"n185990213":{"id":"n185990213","loc":[-85.605537,41.936497]},"n185990214":{"id":"n185990214","loc":[-85.604014,41.936234]},"n1819800180":{"id":"n1819800180","loc":[-85.588775,41.9455032]},"n1819800181":{"id":"n1819800181","loc":[-85.6074212,41.9408827]},"n1819800182":{"id":"n1819800182","loc":[-85.6131397,41.9427022]},"n1819800183":{"id":"n1819800183","loc":[-85.6171523,41.9416807]},"n1819800184":{"id":"n1819800184","loc":[-85.602465,41.9397415]},"n1819800185":{"id":"n1819800185","loc":[-85.6109296,41.9410583]},"n1819800186":{"id":"n1819800186","loc":[-85.6165729,41.9418004]},"n1819800189":{"id":"n1819800189","loc":[-85.5866293,41.9458224]},"n1819800191":{"id":"n1819800191","loc":[-85.5853311,41.9466603]},"n1819800201":{"id":"n1819800201","loc":[-85.6101142,41.9433406]},"n1819800202":{"id":"n1819800202","loc":[-85.600963,41.9428618]},"n1819800206":{"id":"n1819800206","loc":[-85.6154357,41.9427501]},"n1819800207":{"id":"n1819800207","loc":[-85.6040309,41.9414094]},"n1819800209":{"id":"n1819800209","loc":[-85.6113694,41.943189]},"n1819800211":{"id":"n1819800211","loc":[-85.618032,41.9416408]},"n1819800214":{"id":"n1819800214","loc":[-85.5959419,41.9402602]},"n1819800219":{"id":"n1819800219","loc":[-85.5972117,41.9420043]},"n1819800223":{"id":"n1819800223","loc":[-85.6117171,41.9430019]},"n1819800224":{"id":"n1819800224","loc":[-85.5977873,41.9395579]},"n1819800226":{"id":"n1819800226","loc":[-85.5917362,41.9432209]},"n1819800228":{"id":"n1819800228","loc":[-85.6055759,41.9419122]},"n1819800229":{"id":"n1819800229","loc":[-85.6203395,41.9425595]},"n1819800233":{"id":"n1819800233","loc":[-85.6107579,41.9433007]},"n1819800234":{"id":"n1819800234","loc":[-85.6039773,41.9412498]},"n1819800235":{"id":"n1819800235","loc":[-85.6000977,41.9412861]},"n1819800236":{"id":"n1819800236","loc":[-85.6026689,41.9407231]},"n1819800237":{"id":"n1819800237","loc":[-85.615161,41.9428662]},"n1819800238":{"id":"n1819800238","loc":[-85.5878953,41.9454314]},"n1819800239":{"id":"n1819800239","loc":[-85.6035267,41.941569]},"n1819800240":{"id":"n1819800240","loc":[-85.5929738,41.9450208]},"n1819800241":{"id":"n1819800241","loc":[-85.6186329,41.9416488]},"n1819800242":{"id":"n1819800242","loc":[-85.5881136,41.9483963]},"n1819800243":{"id":"n1819800243","loc":[-85.5909208,41.9466922]},"n1819800244":{"id":"n1819800244","loc":[-85.5997721,41.9394941]},"n1819800245":{"id":"n1819800245","loc":[-85.6202064,41.9425712]},"n1819800246":{"id":"n1819800246","loc":[-85.591071,41.9448808]},"n1819800247":{"id":"n1819800247","loc":[-85.5866078,41.9490622]},"n1819800250":{"id":"n1819800250","loc":[-85.602383,41.9420841]},"n1819800251":{"id":"n1819800251","loc":[-85.5957418,41.9426906]},"n1819800255":{"id":"n1819800255","loc":[-85.6157039,41.9416727]},"n1819800256":{"id":"n1819800256","loc":[-85.6080328,41.9410982]},"n1819800258":{"id":"n1819800258","loc":[-85.6192551,41.9414892]},"n1819800260":{"id":"n1819800260","loc":[-85.6104253,41.94117]},"n1819800261":{"id":"n1819800261","loc":[-85.6204503,41.9425709]},"n1819800263":{"id":"n1819800263","loc":[-85.5872194,41.9455431]},"n1819800264":{"id":"n1819800264","loc":[-85.616176,41.9418244]},"n1819800268":{"id":"n1819800268","loc":[-85.6120883,41.9426703]},"n1819800269":{"id":"n1819800269","loc":[-85.5894547,41.9474946]},"n1819800272":{"id":"n1819800272","loc":[-85.6209181,41.9425027]},"n1819800274":{"id":"n1819800274","loc":[-85.6122814,41.9412817]},"n1819800276":{"id":"n1819800276","loc":[-85.5895153,41.9452798]},"n1819800277":{"id":"n1819800277","loc":[-85.5884317,41.9455272]},"n1819800279":{"id":"n1819800279","loc":[-85.5884103,41.9480966]},"n1819800287":{"id":"n1819800287","loc":[-85.5904917,41.9453915]},"n1819800288":{"id":"n1819800288","loc":[-85.6212292,41.9412977]},"n1819800289":{"id":"n1819800289","loc":[-85.5954377,41.9406832]},"n1819800290":{"id":"n1819800290","loc":[-85.593721,41.9420957]},"n1819800291":{"id":"n1819800291","loc":[-85.6162832,41.9427102]},"n1819800292":{"id":"n1819800292","loc":[-85.605018,41.9401804]},"n1819800293":{"id":"n1819800293","loc":[-85.6086443,41.941146]},"n1819800296":{"id":"n1819800296","loc":[-85.6204675,41.9413775]},"n1819800297":{"id":"n1819800297","loc":[-85.612496,41.9424947]},"n1819800299":{"id":"n1819800299","loc":[-85.6065629,41.9423431]},"n1819800301":{"id":"n1819800301","loc":[-85.6036125,41.9398452]},"n1819800303":{"id":"n1819800303","loc":[-85.6114767,41.94117]},"n1819800306":{"id":"n1819800306","loc":[-85.592616,41.9428139]},"n1819800308":{"id":"n1819800308","loc":[-85.6023041,41.9419521]},"n1819800310":{"id":"n1819800310","loc":[-85.6218944,41.9411061]},"n1819800311":{"id":"n1819800311","loc":[-85.6097816,41.941162]},"n1819800312":{"id":"n1819800312","loc":[-85.5922549,41.9457869]},"n1819800313":{"id":"n1819800313","loc":[-85.5986027,41.9417206]},"n1819800314":{"id":"n1819800314","loc":[-85.5918687,41.946138]},"n1819800315":{"id":"n1819800315","loc":[-85.5872875,41.948883]},"n1819800316":{"id":"n1819800316","loc":[-85.594272,41.9436642]},"n1819800317":{"id":"n1819800317","loc":[-85.6176351,41.941577]},"n1819800318":{"id":"n1819800318","loc":[-85.6137834,41.9430853]},"n1819800319":{"id":"n1819800319","loc":[-85.6195383,41.942622],"tags":{"leisure":"slipway"}},"n1819800320":{"id":"n1819800320","loc":[-85.5971006,41.9398053]},"n1819800321":{"id":"n1819800321","loc":[-85.601714,41.9406752]},"n1819800322":{"id":"n1819800322","loc":[-85.5908028,41.9453117]},"n1819800323":{"id":"n1819800323","loc":[-85.6062732,41.9404597]},"n1819800324":{"id":"n1819800324","loc":[-85.62124,41.9425905]},"n1819800327":{"id":"n1819800327","loc":[-85.6008664,41.942766]},"n1819800328":{"id":"n1819800328","loc":[-85.6179355,41.9428538]},"n1819800330":{"id":"n1819800330","loc":[-85.6045566,41.9415131]},"n1819800331":{"id":"n1819800331","loc":[-85.5944935,41.9414653]},"n1819800333":{"id":"n1819800333","loc":[-85.6088911,41.943181]},"n1819800334":{"id":"n1819800334","loc":[-85.5946367,41.943369]},"n1819800336":{"id":"n1819800336","loc":[-85.6150494,41.9429656]},"n1819800343":{"id":"n1819800343","loc":[-85.6096099,41.9433326]},"n1819800345":{"id":"n1819800345","loc":[-85.5915216,41.9435401]},"n1819800347":{"id":"n1819800347","loc":[-85.607786,41.9428698]},"n1819800349":{"id":"n1819800349","loc":[-85.6187616,41.9426623]},"n1819800350":{"id":"n1819800350","loc":[-85.6012527,41.9426064]},"n1819800352":{"id":"n1819800352","loc":[-85.6214867,41.9428379]},"n1819800354":{"id":"n1819800354","loc":[-85.61338,41.94293]},"n1819800355":{"id":"n1819800355","loc":[-85.5923156,41.9428139]},"n1819800357":{"id":"n1819800357","loc":[-85.5901591,41.9453197]},"n1819800359":{"id":"n1819800359","loc":[-85.6033979,41.9408827]},"n1819800360":{"id":"n1819800360","loc":[-85.6186543,41.9414653]},"n1819800363":{"id":"n1819800363","loc":[-85.6128607,41.9425665]},"n1819800365":{"id":"n1819800365","loc":[-85.614234,41.9412977]},"n1819800367":{"id":"n1819800367","loc":[-85.6089662,41.9410902]},"n1819800369":{"id":"n1819800369","loc":[-85.6197379,41.9413695]},"n1819800370":{"id":"n1819800370","loc":[-85.6037348,41.941733]},"n1819800371":{"id":"n1819800371","loc":[-85.5993467,41.9415654]},"n1819800372":{"id":"n1819800372","loc":[-85.598077,41.94196]},"n1819800373":{"id":"n1819800373","loc":[-85.5984203,41.9394781]},"n1819800374":{"id":"n1819800374","loc":[-85.6013315,41.9427066]},"n1819800376":{"id":"n1819800376","loc":[-85.5934673,41.944167]},"n1819800378":{"id":"n1819800378","loc":[-85.6011062,41.9407753]},"n1819800379":{"id":"n1819800379","loc":[-85.6150602,41.9415131]},"n1819800380":{"id":"n1819800380","loc":[-85.6132148,41.9412338]},"n1819800381":{"id":"n1819800381","loc":[-85.5889038,41.9453835]},"n2139966621":{"id":"n2139966621","loc":[-85.6198719,41.9426184]},"n2139966622":{"id":"n2139966622","loc":[-85.6197551,41.9426123]},"n2139966623":{"id":"n2139966623","loc":[-85.6196467,41.9426279]},"n2139966624":{"id":"n2139966624","loc":[-85.6191519,41.9426221]},"n2139966625":{"id":"n2139966625","loc":[-85.6194153,41.9426256]},"n2139966626":{"id":"n2139966626","loc":[-85.6200497,41.9425812]},"n2139966629":{"id":"n2139966629","loc":[-85.6192123,41.9426229]},"n2203933101":{"id":"n2203933101","loc":[-85.6030009,41.9360592]},"w17967539":{"id":"w17967539","tags":{"highway":"residential","name":"1st Ave"},"nodes":["n185965099","n185963395","n185987021"]},"w17967751":{"id":"w17967751","tags":{"highway":"residential","name":"River St"},"nodes":["n185980088","n185988961","n185988963","n185963698"]},"w17965088":{"id":"w17965088","tags":{"highway":"residential","name":"9th St"},"nodes":["n185945133","n185964320","n185964322","n185964324","n185964326","n185964328","n185964329","n185964330","n185964331"]},"w17964467":{"id":"w17964467","tags":{"highway":"residential","name":"Mechanic St"},"nodes":["n185958030","n185958032","n185958034","n185958036"]},"w134150842":{"id":"w134150842","tags":{"bridge":"yes","highway":"residential","name":"6th St"},"nodes":["n185980090","n185980093"]},"w17966740":{"id":"w17966740","tags":{"highway":"residential","name":"6th St"},"nodes":["n185977754","n185980075","n185980077","n185980078","n185980079","n185980081","n185980083","n185980085","n185958034","n185980088","n185980090"]},"w170844765":{"id":"w170844765","tags":{"waterway":"dam"},"nodes":["n1819800304","n1819800232","n1819800325","n1819800188"]},"w17967745":{"id":"w17967745","tags":{"highway":"residential","name":"River St"},"nodes":["n185981173","n185967077","n185963099","n185958498","n185988943","n185964331","n185975332"]},"w17968113":{"id":"w17968113","tags":{"highway":"residential","name":"Green St"},"nodes":["n185988943","n185991378"]},"w134150833":{"id":"w134150833","tags":{"highway":"residential","name":"6th St"},"nodes":["n185980093","n1475283999","n185963392"]},"w17967935":{"id":"w17967935","tags":{"name":"Michigan Central Railroad","railway":"abandoned"},"nodes":["n185972757","n185990192","n185990194","n185990195","n185990196","n185990198","n185990200","n185990202","n185990204","n185990206","n185990209","n185952239","n185990211","n185990212","n185990213","n185990214","n2203933101","n185973251"]},"w17965993":{"id":"w17965993","tags":{"name":"Conrail Railroad","railway":"abandoned"},"nodes":["n185957831","n185972752","n185972754","n185972756","n185972757"]},"w17966211":{"id":"w17966211","tags":{"highway":"residential","name":"8th St"},"nodes":["n185975315","n185975316","n185954490","n185945395","n185975317","n185974509","n185945135","n185975318","n185961186","n185967634","n185975320","n185970833","n185958036","n185975325","n185975326","n185975327","n185975328","n185975330","n185975332"]},"w170844766":{"id":"w170844766","tags":{"waterway":"riverbank"},"nodes":["n1819800229","n1819800245","n2139966626","n2139966621","n2139966622","n2139966623","n1819800319","n2139966625","n2139966629","n2139966624","n1819800349","n1819800328","n1819800291","n1819800206","n1819800237","n1819800336","n1819800318","n1819800354","n1819800182","n1819800363","n1819800297","n1819800268","n1819800223","n1819800209","n1819800233","n1819800201","n1819800343","n1819800333","n1819800347","n1819800299","n1819800228","n1819800330","n1819800370","n1819800250","n1819800374","n1819800202","n1819800327","n1819800350","n1819800308","n1819800239","n1819800207","n1819800234","n1819800359","n1819800236","n1819800321","n1819800378","n1819800235","n1819800371","n1819800313","n1819800372","n1819800219","n1819800251","n1819800334","n1819800316","n1819800376","n1819800240","n1819800312","n1819800314","n1819800243","n1819800269","n1819800279","n1819800242","n1819800315","n1819800247","n1819800191","n1819800189","n1819800263","n1819800238","n1819800277","n1819800180","n1819800381","n1819800276","n1819800357","n1819800287","n1819800322","n1819800246","n1819800345","n1819800226","n1819800355","n1819800306","n1819800290","n1819800331","n1819800289","n1819800214","n1819800320","n1819800224","n1819800373","n1819800244","n1819800184","n1819800301","n1819800292","n1819800323","n1819800181","n1819800256","n1819800293","n1819800367","n1819800311","n1819800260","n1819800185","n1819800303","n1819800274","n1819800380","n1819800365","n1819800379","n1819800255","n1819800264","n1819800186","n1819800183","n1819800317","n1819800211","n1819800241","n1819800360","n1819800258","n1819800369","n1819800296","n1819800288","n1819800310","n1819800204","n1819800375","n1819800216","n1819800377","n1819800248","n1819800227","n1819800368","n1819800231","n1819800188","n1819800325","n1819800232","n1819800304","n1819800271","n1819800213","n1819800266","n1819800221","n1819800294","n1819800362","n1819800199","n1819800230","n1819800218","n1819800352","n1819800324","n1819800272","n1819800261","n1819800229"]},"n1875654132":{"id":"n1875654132","loc":[-85.6297439,41.939808]},"n1475293263":{"id":"n1475293263","loc":[-85.6296235,41.939922]},"n185947850":{"id":"n185947850","loc":[-85.631594,41.942613]},"n185952745":{"id":"n185952745","loc":[-85.630986,41.941786]},"n185972907":{"id":"n185972907","loc":[-85.631797,41.9420055]},"n185972911":{"id":"n185972911","loc":[-85.6309723,41.9411623]},"n185972915":{"id":"n185972915","loc":[-85.6295971,41.939267]},"n1475293223":{"id":"n1475293223","loc":[-85.6313962,41.9416114],"tags":{"railway":"level_crossing"}},"n1475293231":{"id":"n1475293231","loc":[-85.6318779,41.9415447]},"n1475293241":{"id":"n1475293241","loc":[-85.6304613,41.9405499]},"n1475293246":{"id":"n1475293246","loc":[-85.6297512,41.9395393],"tags":{"railway":"level_crossing"}},"n1475293251":{"id":"n1475293251","loc":[-85.6316633,41.9415128]},"n2139982404":{"id":"n2139982404","loc":[-85.6313283,41.9413748]},"n2139982407":{"id":"n2139982407","loc":[-85.6325545,41.9417787]},"n2139982408":{"id":"n2139982408","loc":[-85.6324499,41.9417693]},"n2139982409":{"id":"n2139982409","loc":[-85.6324753,41.9416444]},"n2139982410":{"id":"n2139982410","loc":[-85.6325814,41.9416538]},"n2139982411":{"id":"n2139982411","loc":[-85.6319572,41.9413515]},"n2139982412":{"id":"n2139982412","loc":[-85.6322925,41.941139]},"n2139982413":{"id":"n2139982413","loc":[-85.6323153,41.941153]},"n2139982414":{"id":"n2139982414","loc":[-85.6323019,41.9412617]},"n2139982415":{"id":"n2139982415","loc":[-85.6323703,41.9412667]},"n2139982416":{"id":"n2139982416","loc":[-85.6323555,41.941538]},"n2139982417":{"id":"n2139982417","loc":[-85.6321343,41.9416777]},"n2139982418":{"id":"n2139982418","loc":[-85.6319425,41.9416866]},"n2139982419":{"id":"n2139982419","loc":[-85.6320303,41.9416941]},"n2139982420":{"id":"n2139982420","loc":[-85.6321665,41.9415554]},"n2139982421":{"id":"n2139982421","loc":[-85.632412,41.9414164]},"n2139982422":{"id":"n2139982422","loc":[-85.6324801,41.9413421]},"n2139982423":{"id":"n2139982423","loc":[-85.6325023,41.9412585]},"n2139982424":{"id":"n2139982424","loc":[-85.6324532,41.9411607]},"n2139982425":{"id":"n2139982425","loc":[-85.6323502,41.941103]},"n2139982426":{"id":"n2139982426","loc":[-85.6322362,41.9411183]},"n2139982427":{"id":"n2139982427","loc":[-85.6318941,41.9413551]},"n2139982428":{"id":"n2139982428","loc":[-85.6318592,41.9414105]},"n2139982429":{"id":"n2139982429","loc":[-85.6320111,41.9415866]},"n2139982430":{"id":"n2139982430","loc":[-85.632446,41.9413792]},"n2139982431":{"id":"n2139982431","loc":[-85.6325112,41.941416]},"n2139982432":{"id":"n2139982432","loc":[-85.6325449,41.9416345]},"n2139982433":{"id":"n2139982433","loc":[-85.6326122,41.94164]},"n2139982434":{"id":"n2139982434","loc":[-85.6325954,41.9421966]},"n2139982435":{"id":"n2139982435","loc":[-85.6325655,41.9422411]},"n2139982436":{"id":"n2139982436","loc":[-85.632515,41.9422564]},"n2139982437":{"id":"n2139982437","loc":[-85.6324495,41.94223]},"n2139982438":{"id":"n2139982438","loc":[-85.6324009,41.9421743]},"n2139982439":{"id":"n2139982439","loc":[-85.6323915,41.9421145]},"n2139982440":{"id":"n2139982440","loc":[-85.6320287,41.9418585]},"n2139982441":{"id":"n2139982441","loc":[-85.6318285,41.9416387]},"n1475293258":{"id":"n1475293258","loc":[-85.6318289,41.9415077]},"n2168544754":{"id":"n2168544754","loc":[-85.6312814,41.9431198]},"n2168544755":{"id":"n2168544755","loc":[-85.6314212,41.9430646]},"n2168544756":{"id":"n2168544756","loc":[-85.6313387,41.942949]},"n2168544757":{"id":"n2168544757","loc":[-85.6311989,41.9430041]},"n2168544758":{"id":"n2168544758","loc":[-85.6311024,41.9429313]},"n2168544759":{"id":"n2168544759","loc":[-85.6310087,41.9428087]},"n2168544760":{"id":"n2168544760","loc":[-85.6313831,41.9426504]},"n2168544761":{"id":"n2168544761","loc":[-85.6314768,41.9427729]},"n2168544762":{"id":"n2168544762","loc":[-85.6306376,41.942809]},"n2168544763":{"id":"n2168544763","loc":[-85.6307378,41.9429427]},"n2168544764":{"id":"n2168544764","loc":[-85.630841,41.9428998]},"n2168544765":{"id":"n2168544765","loc":[-85.6307408,41.9427662]},"n2168544766":{"id":"n2168544766","loc":[-85.6305404,41.9426029]},"n2168544767":{"id":"n2168544767","loc":[-85.6304976,41.9426194]},"n2168544768":{"id":"n2168544768","loc":[-85.6305673,41.9427184]},"n2168544769":{"id":"n2168544769","loc":[-85.6306164,41.9426984]},"n2168544770":{"id":"n2168544770","loc":[-85.6306418,41.9427302]},"n2168544771":{"id":"n2168544771","loc":[-85.6306861,41.9427137]},"n2168544772":{"id":"n2168544772","loc":[-85.6307146,41.9427537]},"n2168544773":{"id":"n2168544773","loc":[-85.6308999,41.9426807]},"n2168544774":{"id":"n2168544774","loc":[-85.6308429,41.9426053]},"n2168544775":{"id":"n2168544775","loc":[-85.6308999,41.9425806]},"n2168544776":{"id":"n2168544776","loc":[-85.6308318,41.9424875]},"n2168544777":{"id":"n2168544777","loc":[-85.6307732,41.9425087]},"n2168544778":{"id":"n2168544778","loc":[-85.6307178,41.9424357]},"n2168544779":{"id":"n2168544779","loc":[-85.630485,41.942524]},"n2189099387":{"id":"n2189099387","loc":[-85.631203,41.9393371]},"n2189099404":{"id":"n2189099404","loc":[-85.6301963,41.9391363]},"n2189099405":{"id":"n2189099405","loc":[-85.6304447,41.9391352]},"n2189099406":{"id":"n2189099406","loc":[-85.6304463,41.9393391]},"n2189099407":{"id":"n2189099407","loc":[-85.6308435,41.9393373]},"n2189099408":{"id":"n2189099408","loc":[-85.6308418,41.9391251]},"n2189099409":{"id":"n2189099409","loc":[-85.6310929,41.939124]},"n2189099410":{"id":"n2189099410","loc":[-85.6310946,41.9393376]},"n2189112720":{"id":"n2189112720","loc":[-85.6314677,41.9412327]},"n2189112721":{"id":"n2189112721","loc":[-85.6313337,41.9411397]},"n2189112722":{"id":"n2189112722","loc":[-85.6320521,41.9405678]},"n2189112723":{"id":"n2189112723","loc":[-85.6321899,41.9406633]},"n2189112724":{"id":"n2189112724","loc":[-85.6313229,41.9408344]},"n2189112725":{"id":"n2189112725","loc":[-85.6311223,41.9410018]},"n2189112726":{"id":"n2189112726","loc":[-85.6313205,41.9411333]},"n2189112727":{"id":"n2189112727","loc":[-85.6315211,41.9409659]},"n2189112728":{"id":"n2189112728","loc":[-85.6311035,41.9402529]},"n2189112729":{"id":"n2189112729","loc":[-85.631226,41.9402107]},"n2189112730":{"id":"n2189112730","loc":[-85.6315966,41.9408051]},"n2189112731":{"id":"n2189112731","loc":[-85.6314741,41.9408473]},"n2189112732":{"id":"n2189112732","loc":[-85.6318114,41.940534]},"n2189112733":{"id":"n2189112733","loc":[-85.631588,41.94061]},"n2189112734":{"id":"n2189112734","loc":[-85.6314379,41.940366]},"n2189112735":{"id":"n2189112735","loc":[-85.6316613,41.94029]},"n2189112736":{"id":"n2189112736","loc":[-85.6306214,41.9400415]},"n2189112737":{"id":"n2189112737","loc":[-85.6304362,41.9397728]},"n2189112738":{"id":"n2189112738","loc":[-85.6305899,41.9397142]},"n2189112739":{"id":"n2189112739","loc":[-85.6307751,41.9399828]},"n2189112740":{"id":"n2189112740","loc":[-85.6304695,41.9401673]},"n2189112741":{"id":"n2189112741","loc":[-85.6301298,41.9396855]},"n2189112742":{"id":"n2189112742","loc":[-85.6303016,41.9396184]},"n2189112743":{"id":"n2189112743","loc":[-85.6306413,41.9401003]},"n2189112744":{"id":"n2189112744","loc":[-85.6309656,41.9406189]},"n2189112745":{"id":"n2189112745","loc":[-85.6308738,41.940493]},"n2189112746":{"id":"n2189112746","loc":[-85.6309333,41.940469]},"n2189112747":{"id":"n2189112747","loc":[-85.6307634,41.9402358]},"n2189112748":{"id":"n2189112748","loc":[-85.6308798,41.9401889]},"n2189112749":{"id":"n2189112749","loc":[-85.6311416,41.940548]},"n2189112750":{"id":"n2189112750","loc":[-85.6309577,41.9408708]},"n2189112751":{"id":"n2189112751","loc":[-85.630874,41.9407777]},"n2189112752":{"id":"n2189112752","loc":[-85.6310622,41.9406841]},"n2189112753":{"id":"n2189112753","loc":[-85.6311459,41.9407772]},"n2189112754":{"id":"n2189112754","loc":[-85.6320308,41.9405747]},"n2189112755":{"id":"n2189112755","loc":[-85.6317769,41.9401857]},"n2189112756":{"id":"n2189112756","loc":[-85.6313462,41.9401785]},"n2189112757":{"id":"n2189112757","loc":[-85.6313423,41.9401199]},"n2189112758":{"id":"n2189112758","loc":[-85.6318308,41.9401184]},"n2189112759":{"id":"n2189112759","loc":[-85.6321154,41.9405433]},"n2189112760":{"id":"n2189112760","loc":[-85.6310307,41.941683]},"n2189112761":{"id":"n2189112761","loc":[-85.6309808,41.9416078]},"n2189112762":{"id":"n2189112762","loc":[-85.6312094,41.9415156]},"n2189112763":{"id":"n2189112763","loc":[-85.6312636,41.9415865]},"n2189112764":{"id":"n2189112764","loc":[-85.6309384,41.94155]},"n2189112765":{"id":"n2189112765","loc":[-85.631156,41.9414619]},"n2189112766":{"id":"n2189112766","loc":[-85.6311968,41.94152]},"n2189112767":{"id":"n2189112767","loc":[-85.6308946,41.9414851]},"n2189112768":{"id":"n2189112768","loc":[-85.6308237,41.9413888]},"n2189112769":{"id":"n2189112769","loc":[-85.6309858,41.9413228]},"n2189112770":{"id":"n2189112770","loc":[-85.6310567,41.9414192]},"n2189112771":{"id":"n2189112771","loc":[-85.6307774,41.9413276]},"n2189112772":{"id":"n2189112772","loc":[-85.6309068,41.9412735]},"n2189112773":{"id":"n2189112773","loc":[-85.6309531,41.9413347]},"n2189112774":{"id":"n2189112774","loc":[-85.6307975,41.9412466]},"n2189112775":{"id":"n2189112775","loc":[-85.6307006,41.9411699]},"n2189112776":{"id":"n2189112776","loc":[-85.6308289,41.941113]},"n2189112777":{"id":"n2189112777","loc":[-85.6308997,41.9412012]},"n2189112778":{"id":"n2189112778","loc":[-85.630765,41.9412062]},"n2189112779":{"id":"n2189112779","loc":[-85.630739,41.9412177]},"n2189112780":{"id":"n2189112780","loc":[-85.6305822,41.9410391]},"n2189112781":{"id":"n2189112781","loc":[-85.6304117,41.9408177]},"n2189112782":{"id":"n2189112782","loc":[-85.6305086,41.9407769]},"n2189112783":{"id":"n2189112783","loc":[-85.6306779,41.9410044]},"n2189112784":{"id":"n2189112784","loc":[-85.6307734,41.9421663]},"n2189112785":{"id":"n2189112785","loc":[-85.630708,41.9420741]},"n2189112786":{"id":"n2189112786","loc":[-85.630863,41.9420133]},"n2189112787":{"id":"n2189112787","loc":[-85.6309285,41.9421055]},"n2189112788":{"id":"n2189112788","loc":[-85.6307014,41.9420263]},"n2189112789":{"id":"n2189112789","loc":[-85.6306648,41.941971]},"n2189112790":{"id":"n2189112790","loc":[-85.6307927,41.9419178]},"n2189112791":{"id":"n2189112791","loc":[-85.6308366,41.9419696]},"n2189112792":{"id":"n2189112792","loc":[-85.6307574,41.9418708]},"n2189112793":{"id":"n2189112793","loc":[-85.6306288,41.9419231]},"n2189112794":{"id":"n2189112794","loc":[-85.6306943,41.9417835]},"n2189112795":{"id":"n2189112795","loc":[-85.6305344,41.9418474]},"n2189112796":{"id":"n2189112796","loc":[-85.6305981,41.9419355]},"n2189123410":{"id":"n2189123410","loc":[-85.6315476,41.9393801]},"n2189123412":{"id":"n2189123412","loc":[-85.6315247,41.9399188]},"n2189123415":{"id":"n2189123415","loc":[-85.6316484,41.9400433]},"n185945138":{"id":"n185945138","loc":[-85.627073,41.93319]},"n185945142":{"id":"n185945142","loc":[-85.6296891,41.9331674]},"n185945401":{"id":"n185945401","loc":[-85.6269,41.930199]},"n185945405":{"id":"n185945405","loc":[-85.6296598,41.9301676]},"n185956891":{"id":"n185956891","loc":[-85.6251617,41.9255049]},"n185959979":{"id":"n185959979","loc":[-85.626333,41.928347]},"n185959983":{"id":"n185959983","loc":[-85.6296419,41.9283288]},"n185961192":{"id":"n185961192","loc":[-85.627053,41.9352031]},"n185961200":{"id":"n185961200","loc":[-85.6297088,41.9351902]},"n185963655":{"id":"n185963655","loc":[-85.6296112,41.9273948]},"n185963665":{"id":"n185963665","loc":[-85.626047,41.92737]},"n185963688":{"id":"n185963688","loc":[-85.6296503,41.9292199]},"n185963689":{"id":"n185963689","loc":[-85.6296694,41.931157]},"n185963690":{"id":"n185963690","loc":[-85.6296791,41.9321485]},"n185963691":{"id":"n185963691","loc":[-85.6296991,41.9341973]},"n185967638":{"id":"n185967638","loc":[-85.627089,41.9361884]},"n185972917":{"id":"n185972917","loc":[-85.6293759,41.9388605]},"n185972919":{"id":"n185972919","loc":[-85.6290337,41.9380234]},"n185972921":{"id":"n185972921","loc":[-85.628424,41.936212]},"n185972923":{"id":"n185972923","loc":[-85.628367,41.936029]},"n185974511":{"id":"n185974511","loc":[-85.627064,41.932169]},"n185977728":{"id":"n185977728","loc":[-85.625605,41.925842]},"n185977729":{"id":"n185977729","loc":[-85.625685,41.926163]},"n185977731":{"id":"n185977731","loc":[-85.6257845,41.9264872]},"n185977733":{"id":"n185977733","loc":[-85.62663,41.929251]},"n185977734":{"id":"n185977734","loc":[-85.627008,41.930642]},"n185977736":{"id":"n185977736","loc":[-85.627029,41.930775]},"n185977738":{"id":"n185977738","loc":[-85.627041,41.930946]},"n185977739":{"id":"n185977739","loc":[-85.6270379,41.9311746]},"n185977742":{"id":"n185977742","loc":[-85.627055,41.934206]},"n185977744":{"id":"n185977744","loc":[-85.627084,41.936804]},"n185977746":{"id":"n185977746","loc":[-85.627104,41.936914]},"n185977748":{"id":"n185977748","loc":[-85.627156,41.937026]},"n185977750":{"id":"n185977750","loc":[-85.6272406,41.9371672]},"n185977752":{"id":"n185977752","loc":[-85.627317,41.93723]},"n185977753":{"id":"n185977753","loc":[-85.627422,41.937312]},"n185977755":{"id":"n185977755","loc":[-85.627754,41.937504]},"n185977757":{"id":"n185977757","loc":[-85.627883,41.937623]},"n185977761":{"id":"n185977761","loc":[-85.627984,41.93773]},"n1475283996":{"id":"n1475283996","loc":[-85.6270514,41.9317122],"tags":{"railway":"level_crossing"}},"n1475284004":{"id":"n1475284004","loc":[-85.6278177,41.9342117],"tags":{"railway":"level_crossing"}},"n1475284014":{"id":"n1475284014","loc":[-85.6251877,41.9255913],"tags":{"railway":"level_crossing"}},"n1475284017":{"id":"n1475284017","loc":[-85.6274992,41.9331816],"tags":{"railway":"level_crossing"}},"n1475284021":{"id":"n1475284021","loc":[-85.6297108,41.9353939],"tags":{"railway":"level_crossing"}},"n1475284027":{"id":"n1475284027","loc":[-85.62811,41.935198],"tags":{"railway":"level_crossing"}},"n1475284035":{"id":"n1475284035","loc":[-85.626888,41.9311757],"tags":{"railway":"level_crossing"}},"n1475293245":{"id":"n1475293245","loc":[-85.6286047,41.9367881]},"n1875654302":{"id":"n1875654302","loc":[-85.6296367,41.927491]},"n2189099388":{"id":"n2189099388","loc":[-85.6312007,41.9389988]},"n2189099389":{"id":"n2189099389","loc":[-85.6311003,41.9389992]},"n2189099390":{"id":"n2189099390","loc":[-85.6310988,41.9387847]},"n2189099391":{"id":"n2189099391","loc":[-85.6312165,41.9387843]},"n2189099392":{"id":"n2189099392","loc":[-85.6312152,41.9385857]},"n2189099393":{"id":"n2189099393","loc":[-85.6310877,41.9385862]},"n2189099394":{"id":"n2189099394","loc":[-85.6310858,41.9383161]},"n2189099395":{"id":"n2189099395","loc":[-85.6302002,41.9383196]},"n2189099396":{"id":"n2189099396","loc":[-85.6302011,41.9384472]},"n2189099397":{"id":"n2189099397","loc":[-85.6301018,41.9384476]},"n2189099398":{"id":"n2189099398","loc":[-85.6301025,41.9385419]},"n2189099399":{"id":"n2189099399","loc":[-85.6299275,41.9385427]},"n2189099400":{"id":"n2189099400","loc":[-85.62993,41.9388653]},"n2189099401":{"id":"n2189099401","loc":[-85.630107,41.9388645]},"n2189099402":{"id":"n2189099402","loc":[-85.6301079,41.9389908]},"n2189099403":{"id":"n2189099403","loc":[-85.6301951,41.9389904]},"n2189123382":{"id":"n2189123382","loc":[-85.6336279,41.9354365]},"n2189123384":{"id":"n2189123384","loc":[-85.6328492,41.9355177]},"n2189123387":{"id":"n2189123387","loc":[-85.6323762,41.9357396]},"n2189123388":{"id":"n2189123388","loc":[-85.6315174,41.9358966]},"n2189123389":{"id":"n2189123389","loc":[-85.6304331,41.936124]},"n2189123390":{"id":"n2189123390","loc":[-85.6302075,41.9364271]},"n2189123391":{"id":"n2189123391","loc":[-85.6303458,41.9367953]},"n2189123392":{"id":"n2189123392","loc":[-85.6299601,41.9369739]},"n2189123393":{"id":"n2189123393","loc":[-85.6299164,41.9374882]},"n2189123394":{"id":"n2189123394","loc":[-85.6299455,41.9378022]},"n2189123395":{"id":"n2189123395","loc":[-85.6299771,41.9379053]},"n2189123396":{"id":"n2189123396","loc":[-85.6301597,41.9379091]},"n2189123397":{"id":"n2189123397","loc":[-85.6308042,41.9377913]},"n2189123398":{"id":"n2189123398","loc":[-85.6316885,41.9378082]},"n2189123399":{"id":"n2189123399","loc":[-85.6316848,41.9380079]},"n2189123400":{"id":"n2189123400","loc":[-85.6318449,41.9381161]},"n2189123401":{"id":"n2189123401","loc":[-85.6320705,41.9381811]},"n2189123402":{"id":"n2189123402","loc":[-85.6321433,41.9383706]},"n2189123404":{"id":"n2189123404","loc":[-85.632056,41.9384355]},"n2189123406":{"id":"n2189123406","loc":[-85.6317867,41.9384572]},"n2189123409":{"id":"n2189123409","loc":[-85.6316572,41.9387281]},"n2189123417":{"id":"n2189123417","loc":[-85.6315946,41.93775]},"n2189123419":{"id":"n2189123419","loc":[-85.6302641,41.9378393]},"w208640158":{"id":"w208640158","tags":{"area":"yes","natural":"wetland"},"nodes":["n2189123379","n2189123382","n2189123384","n2189123387","n2189123388","n2189123389","n2189123390","n2189123391","n2189123392","n2189123393","n2189123394","n2189123395","n2189123396","n2189123419","n2189123397","n2189123417","n2189123398","n2189123399","n2189123400","n2189123401","n2189123402","n2189123404","n2189123406","n2189123409","n2189123410","n2189123412","n2189123415","n1819805722","n1819805861","n1819805887","n1819805760","n1819805641","n1819805632","n2189123379"]},"w134150787":{"id":"w134150787","tags":{"name":"Conrail Railroad","railway":"rail"},"nodes":["n185972905","n185972907","n1475293223","n185972911","n1475293241","n1475293246","n185972915","n185972917","n185972919","n1475293245","n185972921","n185972923","n1475284027","n1475284004","n1475284017","n1475283996","n1475284035","n1475284014","n185956891"]},"w208639443":{"id":"w208639443","tags":{"area":"yes","building":"yes"},"nodes":["n2189112720","n2189112721","n2189112722","n2189112723","n2189112720"]},"w17966462":{"id":"w17966462","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86"},"nodes":["n185977728","n185977729","n185977731","n185963665","n185959979","n185977733","n185945401","n185977734","n185977736","n185977738","n185977739","n1475283996","n185974511","n185945138","n185977742","n185961192","n185967638","n185977744","n185977746","n185977748","n185977750","n185977752","n185977753","n185977754","n185977755","n185977757","n185977761","n185958030","n1475293263","n185963698","n185952745","n185947850","n185977762"]},"w203985741":{"id":"w203985741","tags":{"area":"yes","leisure":"park","name":"Conservation Park"},"nodes":["n2139982404","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n2139982404"]},"w17963676":{"id":"w17963676","tags":{"highway":"service"},"nodes":["n1475293258","n2139982428","n2139982427","n2139982426","n2139982425","n2139982424","n2139982423","n2139982422","n2139982430","n2139982421","n2139982420","n2139982429","n1475293231","n1475293258","n1475293251","n1475293223","n185952745"]},"w203985745":{"id":"w203985745","tags":{"highway":"footway"},"nodes":["n2139982430","n2139982431","n2139982432","n2139982433","n2139982434","n2139982435","n2139982436","n2139982437","n2139982438","n2139982439","n2139982440","n2139982441","n1475293231"]},"w208639451":{"id":"w208639451","tags":{"area":"yes","building":"yes"},"nodes":["n2189112754","n2189112755","n2189112756","n2189112757","n2189112758","n2189112759","n2189112754"]},"w208639452":{"id":"w208639452","tags":{"area":"yes","building":"yes"},"nodes":["n2189112760","n2189112761","n2189112766","n2189112762","n2189112763","n2189112760"]},"w206805244":{"id":"w206805244","tags":{"area":"yes","building":"yes"},"nodes":["n2168544766","n2168544767","n2168544768","n2168544769","n2168544770","n2168544771","n2168544772","n2168544773","n2168544774","n2168544775","n2168544776","n2168544777","n2168544778","n2168544779","n2168544766"]},"w208639444":{"id":"w208639444","tags":{"area":"yes","building":"yes"},"nodes":["n2189112724","n2189112725","n2189112726","n2189112727","n2189112724"]},"w208639450":{"id":"w208639450","tags":{"area":"yes","building":"yes"},"nodes":["n2189112750","n2189112751","n2189112752","n2189112753","n2189112750"]},"w208639448":{"id":"w208639448","tags":{"area":"yes","building":"yes"},"nodes":["n2189112740","n2189112741","n2189112742","n2189112743","n2189112740"]},"w208637859":{"id":"w208637859","tags":{"area":"yes","building":"yes"},"nodes":["n2189099387","n2189099388","n2189099389","n2189099390","n2189099391","n2189099392","n2189099393","n2189099394","n2189099395","n2189099396","n2189099397","n2189099398","n2189099399","n2189099400","n2189099401","n2189099402","n2189099403","n2189099404","n2189099405","n2189099406","n2189099407","n2189099408","n2189099409","n2189099410","n2189099387"]},"w208639453":{"id":"w208639453","tags":{"area":"yes","building":"yes"},"nodes":["n2189112764","n2189112765","n2189112766","n2189112761","n2189112764"]},"w208639456":{"id":"w208639456","tags":{"area":"yes","building":"yes"},"nodes":["n2189112774","n2189112778","n2189112779","n2189112775","n2189112776","n2189112777","n2189112774"]},"w208639445":{"id":"w208639445","tags":{"area":"yes","building":"yes"},"nodes":["n2189112728","n2189112729","n2189112730","n2189112731","n2189112728"]},"w17967776":{"id":"w17967776","tags":{"highway":"residential","name":"5th St"},"nodes":["n185958032","n185988963"]},"w208639461":{"id":"w208639461","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112794","n2189112795","n2189112796","n2189112793","n2189112792"]},"w206805241":{"id":"w206805241","tags":{"area":"yes","building":"yes"},"nodes":["n2168544754","n2168544755","n2168544756","n2168544757","n2168544754"]},"w208639449":{"id":"w208639449","tags":{"area":"yes","building":"yes"},"nodes":["n2189112744","n2189112745","n2189112746","n2189112747","n2189112748","n2189112749","n2189112744"]},"w208639455":{"id":"w208639455","tags":{"area":"yes","building":"yes"},"nodes":["n2189112771","n2189112772","n2189112773","n2189112768","n2189112771"]},"w208639457":{"id":"w208639457","tags":{"area":"yes","building":"yes"},"nodes":["n2189112780","n2189112781","n2189112782","n2189112783","n2189112780"]},"w208639446":{"id":"w208639446","tags":{"area":"yes","building":"yes"},"nodes":["n2189112732","n2189112733","n2189112734","n2189112735","n2189112732"]},"w208639454":{"id":"w208639454","tags":{"area":"yes","building":"yes"},"nodes":["n2189112767","n2189112768","n2189112773","n2189112769","n2189112770","n2189112767"]},"w203985743":{"id":"w203985743","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139982411","n2139982412","n2139982413","n2139982414","n2139982415","n2139982416","n2139982417","n2139982419","n2139982418","n2139982411"]},"w17965023":{"id":"w17965023","tags":{"highway":"residential","name":"4th St"},"nodes":["n185963655","n1875654302","n185959983","n185963688","n185945405","n185963689","n185963690","n185945142","n185963691","n185961200","n1475284021","n1475293246","n1875654132","n1475293263"]},"w206805242":{"id":"w206805242","tags":{"area":"yes","building":"yes"},"nodes":["n2168544758","n2168544759","n2168544760","n2168544761","n2168544758"]},"w208639460":{"id":"w208639460","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112793","n2189112789","n2189112790","n2189112792"]},"w208639447":{"id":"w208639447","tags":{"area":"yes","building":"yes"},"nodes":["n2189112736","n2189112737","n2189112738","n2189112739","n2189112736"]},"w208639458":{"id":"w208639458","tags":{"area":"yes","building":"yes"},"nodes":["n2189112784","n2189112785","n2189112786","n2189112787","n2189112784"]},"w203985744":{"id":"w203985744","tags":{"highway":"service"},"nodes":["n2139982425","n2139982400"]},"w208639459":{"id":"w208639459","tags":{"area":"yes","building":"yes"},"nodes":["n2189112788","n2189112789","n2189112790","n2189112791","n2189112788"]},"w203985742":{"id":"w203985742","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139982407","n2139982408","n2139982409","n2139982410","n2139982407"]},"w206805243":{"id":"w206805243","tags":{"area":"yes","building":"yes"},"nodes":["n2168544762","n2168544763","n2168544764","n2168544765","n2168544762"]},"n185959081":{"id":"n185959081","loc":[-85.628469,41.948674]},"n185967427":{"id":"n185967427","loc":[-85.632054,41.951174]},"n185967424":{"id":"n185967424","loc":[-85.6320391,41.9499109]},"n185968101":{"id":"n185968101","loc":[-85.6308395,41.9511969]},"n185960792":{"id":"n185960792","loc":[-85.632074,41.953707]},"n185961389":{"id":"n185961389","loc":[-85.630935,41.959037]},"n185961391":{"id":"n185961391","loc":[-85.632169,41.959025]},"n185965395":{"id":"n185965395","loc":[-85.63216,41.959859]},"n185966953":{"id":"n185966953","loc":[-85.630894,41.957428]},"n185966955":{"id":"n185966955","loc":[-85.632122,41.957427]},"n185967430":{"id":"n185967430","loc":[-85.632077,41.952453]},"n185967432":{"id":"n185967432","loc":[-85.632095,41.954685]},"n185967434":{"id":"n185967434","loc":[-85.632121,41.955914]},"n185967436":{"id":"n185967436","loc":[-85.632128,41.9583]},"n185967438":{"id":"n185967438","loc":[-85.632187,41.960681]},"n185967440":{"id":"n185967440","loc":[-85.632182,41.961493]},"n185968102":{"id":"n185968102","loc":[-85.630855,41.952452]},"n185968104":{"id":"n185968104","loc":[-85.630887,41.953714]},"n185968106":{"id":"n185968106","loc":[-85.630883,41.954692]},"n185968108":{"id":"n185968108","loc":[-85.630904,41.955913]},"n185968110":{"id":"n185968110","loc":[-85.630904,41.958058]},"n185968112":{"id":"n185968112","loc":[-85.630952,41.960667]},"n185968114":{"id":"n185968114","loc":[-85.630972,41.961495]},"n185968116":{"id":"n185968116","loc":[-85.630962,41.961967]},"n185978969":{"id":"n185978969","loc":[-85.633214,41.948618]},"n185985812":{"id":"n185985812","loc":[-85.633274,41.951159]},"n185986155":{"id":"n185986155","loc":[-85.633258,41.949893]},"n2208608826":{"id":"n2208608826","loc":[-85.6339222,41.9486225]},"w17964531":{"id":"w17964531","tags":{"highway":"residential","name":"Willow Dr"},"nodes":["n185959079","n185959081"]},"w17967386":{"id":"w17967386","tags":{"highway":"residential","name":"East Armitage Street"},"nodes":["n185982195","n185968101","n185967427","n185985812","n185974583"]},"w17965502":{"id":"w17965502","tags":{"highway":"residential","name":"Elm Street"},"nodes":["n185968100","n185968101","n185968102","n185968104","n185968106","n185968108","n185966953","n185968110","n185961389","n185968112","n185968114","n185968116"]},"w17967844":{"id":"w17967844","tags":{"highway":"residential","name":"East Bennett Street"},"nodes":["n185982193","n185967424","n185986155","n185978390"]},"w17966581":{"id":"w17966581","tags":{"highway":"residential","name":"E Kelsey St"},"nodes":["n185978967","n185978969","n2208608826","n185971578"]},"w17965402":{"id":"w17965402","tags":{"highway":"residential","name":"Walnut Street"},"nodes":["n185967422","n185967424","n185967427","n185967430","n185960792","n185967432","n185967434","n185966955","n185967436","n185961391","n185965395","n185967438","n185967440"]},"n2199093506":{"id":"n2199093506","loc":[-85.6251879,41.9478322]},"n2199093505":{"id":"n2199093505","loc":[-85.6252076,41.9477749]},"n2199093504":{"id":"n2199093504","loc":[-85.6252289,41.9477602]},"n2199093503":{"id":"n2199093503","loc":[-85.625201,41.9477492]},"n2199093502":{"id":"n2199093502","loc":[-85.6251682,41.9477066]},"n2199093501":{"id":"n2199093501","loc":[-85.6251715,41.947609]},"n2199093500":{"id":"n2199093500","loc":[-85.6252125,41.9475639]},"n2199093499":{"id":"n2199093499","loc":[-85.6252896,41.9475602]},"n2199093498":{"id":"n2199093498","loc":[-85.6253027,41.9475334]},"n2199093497":{"id":"n2199093497","loc":[-85.6253437,41.9474822]},"n2199093496":{"id":"n2199093496","loc":[-85.6254421,41.9474675]},"n2199093495":{"id":"n2199093495","loc":[-85.6256503,41.9474944]},"n2199093494":{"id":"n2199093494","loc":[-85.6257257,41.9476127]},"n2199093493":{"id":"n2199093493","loc":[-85.6257028,41.9477285]},"n2199093492":{"id":"n2199093492","loc":[-85.6255339,41.9478102]},"n2199093491":{"id":"n2199093491","loc":[-85.6253912,41.9478224]},"n2199093490":{"id":"n2199093490","loc":[-85.6253043,41.947859]},"n2199093489":{"id":"n2199093489","loc":[-85.6252027,41.9478846]},"n2199093458":{"id":"n2199093458","loc":[-85.6246876,41.9486617]},"n2199093457":{"id":"n2199093457","loc":[-85.6243127,41.9486583]},"n2199093456":{"id":"n2199093456","loc":[-85.624306,41.9490569]},"n2199093455":{"id":"n2199093455","loc":[-85.624681,41.9490603]},"n2199093514":{"id":"n2199093514","loc":[-85.6236228,41.9496059]},"n2199093513":{"id":"n2199093513","loc":[-85.6236231,41.9496997]},"n2199093512":{"id":"n2199093512","loc":[-85.623357,41.9497002]},"n2199093511":{"id":"n2199093511","loc":[-85.6233567,41.9496136]},"n2199093508":{"id":"n2199093508","loc":[-85.6239735,41.9494287]},"n2199093507":{"id":"n2199093507","loc":[-85.6239741,41.9496052]},"n2199093488":{"id":"n2199093488","loc":[-85.624497,41.9512286]},"n2199093487":{"id":"n2199093487","loc":[-85.6244966,41.9511259]},"n2199093486":{"id":"n2199093486","loc":[-85.6243151,41.9511263]},"n2199093485":{"id":"n2199093485","loc":[-85.6243154,41.951229]},"n2199093484":{"id":"n2199093484","loc":[-85.6241205,41.9508665]},"n2199093483":{"id":"n2199093483","loc":[-85.624115,41.9505249]},"n2199093482":{"id":"n2199093482","loc":[-85.6243149,41.9505231]},"n2199093481":{"id":"n2199093481","loc":[-85.6243203,41.9508648]},"n2199093480":{"id":"n2199093480","loc":[-85.624393,41.9508668]},"n2199093479":{"id":"n2199093479","loc":[-85.6243904,41.9505956]},"n2199093478":{"id":"n2199093478","loc":[-85.6246727,41.950594]},"n2199093477":{"id":"n2199093477","loc":[-85.624675,41.9508203]},"n2199093476":{"id":"n2199093476","loc":[-85.6245097,41.9508212]},"n2199093475":{"id":"n2199093475","loc":[-85.6245101,41.9508662]},"n2199093474":{"id":"n2199093474","loc":[-85.6241008,41.9493459]},"n2199093473":{"id":"n2199093473","loc":[-85.6242442,41.9493459]},"n2199093472":{"id":"n2199093472","loc":[-85.6242442,41.9493681]},"n2199093471":{"id":"n2199093471","loc":[-85.6243397,41.9493681]},"n2199093470":{"id":"n2199093470","loc":[-85.6243417,41.9493511]},"n2199093469":{"id":"n2199093469","loc":[-85.6247251,41.9493485]},"n2199093468":{"id":"n2199093468","loc":[-85.6247548,41.9504949]},"n2199093467":{"id":"n2199093467","loc":[-85.6241214,41.9505017]},"n2199093466":{"id":"n2199093466","loc":[-85.6254398,41.950174]},"n2199093465":{"id":"n2199093465","loc":[-85.6254412,41.9499872]},"n2199093464":{"id":"n2199093464","loc":[-85.6255363,41.9499876]},"n2199093463":{"id":"n2199093463","loc":[-85.6255374,41.9498439]},"n2199093462":{"id":"n2199093462","loc":[-85.6255638,41.949844]},"n2199093461":{"id":"n2199093461","loc":[-85.6255652,41.9496672]},"n2199093460":{"id":"n2199093460","loc":[-85.6251823,41.9496656]},"n2199093459":{"id":"n2199093459","loc":[-85.6251785,41.9501729]},"n2199093510":{"id":"n2199093510","loc":[-85.6229922,41.9496143]},"n2199093509":{"id":"n2199093509","loc":[-85.6229915,41.9494306]},"n185948903":{"id":"n185948903","loc":[-85.616514,41.947449]},"n185955120":{"id":"n185955120","loc":[-85.620103,41.951]},"n185955143":{"id":"n185955143","loc":[-85.619784,41.94746]},"n185960124":{"id":"n185960124","loc":[-85.615238,41.947468]},"n185961362":{"id":"n185961362","loc":[-85.617437,41.947451]},"n185961364":{"id":"n185961364","loc":[-85.61861,41.947456]},"n185961367":{"id":"n185961367","loc":[-85.620088,41.947458]},"n185965105":{"id":"n185965105","loc":[-85.620087,41.94924]},"n185970220":{"id":"n185970220","loc":[-85.62156,41.948333]},"n185974697":{"id":"n185974697","loc":[-85.6201059,41.950132]},"n2138420778":{"id":"n2138420778","loc":[-85.616948,41.9474499]},"w17967535":{"id":"w17967535","tags":{"highway":"residential","name":"10th Ave"},"nodes":["n185955120","n185986812","n185983141"]},"w209716130":{"id":"w209716130","tags":{"area":"yes","building":"yes"},"nodes":["n2199093485","n2199093486","n2199093487","n2199093488","n2199093485"]},"w17964788":{"id":"w17964788","tags":{"highway":"residential","name":"6th Ave"},"nodes":["n185960124","n185948903","n2138420778","n185961362","n185961364","n185955143","n185961367","n185961369","n185961371"]},"w17965159":{"id":"w17965159","tags":{"highway":"residential","name":"8th Ave"},"nodes":["n185965105","n185965108","n185965110"]},"w209716125":{"id":"w209716125","tags":{"area":"yes","building":"yes"},"nodes":["n2199093459","n2199093460","n2199093461","n2199093462","n2199093463","n2199093464","n2199093465","n2199093466","n2199093459"]},"w17965699":{"id":"w17965699","tags":{"highway":"residential","name":"7th Ave"},"nodes":["n185970220","n185970222","n185970224"]},"w209716132":{"id":"w209716132","tags":{"area":"yes","building":"yes"},"nodes":["n2199093507","n2199093508","n2199093509","n2199093510","n2199093511","n2199093512","n2199093513","n2199093514","n2199093507"]},"w17966129":{"id":"w17966129","tags":{"highway":"residential","name":"9th Ave"},"nodes":["n185974697","n185974699"]},"w209716127":{"id":"w209716127","tags":{"area":"yes","building":"yes"},"nodes":["n2199093475","n2199093476","n2199093477","n2199093478","n2199093479","n2199093480","n2199093475"]},"w209716131":{"id":"w209716131","tags":{"area":"yes","natural":"water","water":"pond"},"nodes":["n2199093489","n2199093490","n2199093491","n2199093492","n2199093493","n2199093494","n2199093495","n2199093496","n2199093497","n2199093498","n2199093499","n2199093500","n2199093501","n2199093502","n2199093503","n2199093504","n2199093505","n2199093506","n2199093489"]},"w209716126":{"id":"w209716126","tags":{"area":"yes","building":"yes"},"nodes":["n2199093467","n2199093468","n2199093469","n2199093470","n2199093471","n2199093472","n2199093473","n2199093474","n2199093467"]},"w209716124":{"id":"w209716124","tags":{"area":"yes","building":"yes"},"nodes":["n2199093455","n2199093456","n2199093457","n2199093458","n2199093455"]},"w209716128":{"id":"w209716128","tags":{"area":"yes","building":"yes"},"nodes":["n2199093481","n2199093482","n2199093483","n2199093484","n2199093481"]},"n185949872":{"id":"n185949872","loc":[-85.643009,41.949264]},"n185949875":{"id":"n185949875","loc":[-85.642598,41.94929]},"n185949877":{"id":"n185949877","loc":[-85.642127,41.949382]},"n185949881":{"id":"n185949881","loc":[-85.64169,41.949936]},"n185988165":{"id":"n185988165","loc":[-85.642167,41.947657]},"n185988167":{"id":"n185988167","loc":[-85.642347,41.947662]},"n185988169":{"id":"n185988169","loc":[-85.642621,41.947659]},"n185965019":{"id":"n185965019","loc":[-85.6385084,41.951127]},"n1475293248":{"id":"n1475293248","loc":[-85.6386095,41.9512214]},"n185962639":{"id":"n185962639","loc":[-85.649669,41.949161]},"n185962810":{"id":"n185962810","loc":[-85.649907,41.949157]},"n185964355":{"id":"n185964355","loc":[-85.637412,41.9511359]},"n185965021":{"id":"n185965021","loc":[-85.638661,41.952386]},"n185965023":{"id":"n185965023","loc":[-85.638654,41.953665]},"n185965025":{"id":"n185965025","loc":[-85.638694,41.954649]},"n185965027":{"id":"n185965027","loc":[-85.638724,41.955913]},"n185971415":{"id":"n185971415","loc":[-85.644466,41.949246]},"n185971417":{"id":"n185971417","loc":[-85.647021,41.949193]},"n185971420":{"id":"n185971420","loc":[-85.648476,41.949169]},"n185979975":{"id":"n185979975","loc":[-85.644429,41.947633]},"n185988171":{"id":"n185988171","loc":[-85.645377,41.947622]},"w17963211":{"id":"w17963211","tags":{"highway":"residential"},"nodes":["n185949870","n185949872","n185949875","n185949877","n185949881"]},"w17965839":{"id":"w17965839","tags":{"highway":"residential","name":"Arnold St"},"nodes":["n185949870","n185971415","n185971417","n185971420","n185962639","n185962810"]},"w17967618":{"id":"w17967618","tags":{"highway":"residential","name":"Pierson St"},"nodes":["n185967777","n185988165","n185988167","n185988169","n185985824","n185979975","n185988171"]},"w17965149":{"id":"w17965149","tags":{"highway":"residential","name":"Oak St"},"nodes":["n185965019","n1475293248","n185965021","n185965023","n185965025","n185965027"]},"w17966118":{"id":"w17966118","tags":{"highway":"residential","name":"West Armitage Street"},"nodes":["n185974583","n185974585","n185964355","n185965019"]},"n2208608800":{"id":"n2208608800","loc":[-85.6354294,41.9486201]},"n2199109806":{"id":"n2199109806","loc":[-85.6350474,41.9477884]},"n2199109804":{"id":"n2199109804","loc":[-85.6350476,41.9477962]},"n2199109802":{"id":"n2199109802","loc":[-85.635002,41.9477969]},"n2199109799":{"id":"n2199109799","loc":[-85.6350018,41.9477883]},"n2199109797":{"id":"n2199109797","loc":[-85.6349141,41.9477897]},"n2199109795":{"id":"n2199109795","loc":[-85.6349131,41.9477535]},"n2199109793":{"id":"n2199109793","loc":[-85.6349395,41.9477531]},"n2199109791":{"id":"n2199109791","loc":[-85.6349382,41.9477077]},"n2199109789":{"id":"n2199109789","loc":[-85.6351236,41.9477049]},"n2199109787":{"id":"n2199109787","loc":[-85.6351259,41.9477872]},"n2199109785":{"id":"n2199109785","loc":[-85.634972,41.9475992]},"n2199109783":{"id":"n2199109783","loc":[-85.6349206,41.9475997]},"n2199109770":{"id":"n2199109770","loc":[-85.6348499,41.9475461]},"n2199109768":{"id":"n2199109768","loc":[-85.6348499,41.9475084]},"n2199109765":{"id":"n2199109765","loc":[-85.6349241,41.9474569]},"n2199109763":{"id":"n2199109763","loc":[-85.634967,41.9474564]},"n2199109762":{"id":"n2199109762","loc":[-85.6350405,41.9475121]},"n2199109761":{"id":"n2199109761","loc":[-85.6350405,41.9475419]},"n2199109753":{"id":"n2199109753","loc":[-85.6342443,41.9478391]},"n2199109751":{"id":"n2199109751","loc":[-85.6342427,41.9477927]},"n2199109745":{"id":"n2199109745","loc":[-85.6342439,41.9476859]},"n2199109743":{"id":"n2199109743","loc":[-85.6342429,41.9476575]},"n2199109741":{"id":"n2199109741","loc":[-85.6344615,41.9476533]},"n2199109739":{"id":"n2199109739","loc":[-85.6344678,41.9478348]},"n2199109737":{"id":"n2199109737","loc":[-85.634416,41.9480059]},"n2199109735":{"id":"n2199109735","loc":[-85.6344145,41.9478983]},"n2199109733":{"id":"n2199109733","loc":[-85.6342749,41.9478993]},"n2199109731":{"id":"n2199109731","loc":[-85.6342753,41.9479272]},"n2199109729":{"id":"n2199109729","loc":[-85.6342498,41.9479274]},"n2199109727":{"id":"n2199109727","loc":[-85.6342505,41.9479762]},"n2199109725":{"id":"n2199109725","loc":[-85.6342743,41.947976]},"n2199109723":{"id":"n2199109723","loc":[-85.6342747,41.948007]},"n2199109721":{"id":"n2199109721","loc":[-85.6343415,41.9476355]},"n2199109719":{"id":"n2199109719","loc":[-85.6343391,41.9474973]},"n2199109717":{"id":"n2199109717","loc":[-85.6343133,41.9474798]},"n2199109715":{"id":"n2199109715","loc":[-85.6342874,41.9474737]},"n2199109709":{"id":"n2199109709","loc":[-85.6349804,41.94815]},"n2199109707":{"id":"n2199109707","loc":[-85.6348915,41.9481505]},"n2199109705":{"id":"n2199109705","loc":[-85.6348917,41.9481692]},"n2199109702":{"id":"n2199109702","loc":[-85.6348522,41.9481694]},"n2199109700":{"id":"n2199109700","loc":[-85.6348532,41.9482679]},"n2199109698":{"id":"n2199109698","loc":[-85.6348315,41.948268]},"n2199109696":{"id":"n2199109696","loc":[-85.6348318,41.9482955]},"n2199109694":{"id":"n2199109694","loc":[-85.6349653,41.9482946]},"n2199109692":{"id":"n2199109692","loc":[-85.6349656,41.9483211]},"n2199109690":{"id":"n2199109690","loc":[-85.634999,41.9483209]},"n2199109688":{"id":"n2199109688","loc":[-85.6349987,41.9482947]},"n2199109686":{"id":"n2199109686","loc":[-85.6351753,41.9482935]},"n2199109684":{"id":"n2199109684","loc":[-85.6351749,41.9482617]},"n2199109682":{"id":"n2199109682","loc":[-85.6351588,41.9482618]},"n2199109680":{"id":"n2199109680","loc":[-85.6351575,41.9481518]},"n2199109678":{"id":"n2199109678","loc":[-85.6350671,41.9481524]},"n2199109676":{"id":"n2199109676","loc":[-85.6350649,41.9479659]},"n2199109674":{"id":"n2199109674","loc":[-85.6349785,41.9479665]},"n2199109671":{"id":"n2199109671","loc":[-85.6343069,41.9483263]},"n2199109669":{"id":"n2199109669","loc":[-85.6343052,41.9482981]},"n2199109658":{"id":"n2199109658","loc":[-85.6343314,41.9480549]},"n2199109656":{"id":"n2199109656","loc":[-85.6343305,41.9480461]},"n2199109654":{"id":"n2199109654","loc":[-85.634435,41.9480468]},"n2199109652":{"id":"n2199109652","loc":[-85.6344342,41.9483746]},"n2199109650":{"id":"n2199109650","loc":[-85.6344629,41.9483727]},"n2199109648":{"id":"n2199109648","loc":[-85.6344637,41.9484561]},"n2199109645":{"id":"n2199109645","loc":[-85.63443,41.9484567]},"n2199109642":{"id":"n2199109642","loc":[-85.6344317,41.948505]},"n185964352":{"id":"n185964352","loc":[-85.6373958,41.9489943]},"n185964351":{"id":"n185964351","loc":[-85.637113,41.9486]},"n2208608825":{"id":"n2208608825","loc":[-85.6354483,41.9494241]},"n2208608823":{"id":"n2208608823","loc":[-85.6360418,41.949416]},"n2208608821":{"id":"n2208608821","loc":[-85.6360458,41.9495802]},"n2208608811":{"id":"n2208608811","loc":[-85.6357458,41.9495843]},"n2208608808":{"id":"n2208608808","loc":[-85.6357508,41.9497835]},"n2208608806":{"id":"n2208608806","loc":[-85.6354573,41.9497875]},"n2208608795":{"id":"n2208608795","loc":[-85.6354595,41.9498778]},"n2199109638":{"id":"n2199109638","loc":[-85.6349605,41.949749]},"n2199109636":{"id":"n2199109636","loc":[-85.6349605,41.9497639]},"n2199109634":{"id":"n2199109634","loc":[-85.6349061,41.94971]},"n2199109632":{"id":"n2199109632","loc":[-85.6349048,41.9496569]},"n2199109630":{"id":"n2199109630","loc":[-85.6348835,41.9496571]},"n2199109628":{"id":"n2199109628","loc":[-85.6348829,41.9497103]},"n2199109626":{"id":"n2199109626","loc":[-85.635227,41.9497738]},"n2199109624":{"id":"n2199109624","loc":[-85.6352184,41.9497787]},"n2199109622":{"id":"n2199109622","loc":[-85.6351181,41.9497806]},"n2199109620":{"id":"n2199109620","loc":[-85.6351181,41.9497456]},"n2199109618":{"id":"n2199109618","loc":[-85.6348842,41.9497651]},"n2199109616":{"id":"n2199109616","loc":[-85.6348827,41.9496238]},"n2199109615":{"id":"n2199109615","loc":[-85.6351268,41.9496206]},"n2199109614":{"id":"n2199109614","loc":[-85.6351261,41.9495891]},"n2199109613":{"id":"n2199109613","loc":[-85.6351957,41.9495881]},"n2199109612":{"id":"n2199109612","loc":[-85.6351924,41.9494515]},"n2199109611":{"id":"n2199109611","loc":[-85.6353997,41.9494488]},"n2199109610":{"id":"n2199109610","loc":[-85.6354074,41.9497715]},"n2189015681":{"id":"n2189015681","loc":[-85.6344229,41.9509639]},"n2189015677":{"id":"n2189015677","loc":[-85.634424,41.9507396]},"n2138493843":{"id":"n2138493843","loc":[-85.6343935,41.9502836]},"n2138493840":{"id":"n2138493840","loc":[-85.634398,41.9506264]},"n354002838":{"id":"n354002838","loc":[-85.6345197,41.9510631]},"n2114807590":{"id":"n2114807590","loc":[-85.634511,41.9499767]},"n185964353":{"id":"n185964353","loc":[-85.6374092,41.9498755]},"n1819849180":{"id":"n1819849180","loc":[-85.6348236,41.94996]},"n1819849115":{"id":"n1819849115","loc":[-85.6354372,41.9499538]},"n1819848921":{"id":"n1819848921","loc":[-85.6348439,41.951064]},"n1819848885":{"id":"n1819848885","loc":[-85.6354575,41.9510578]},"n185984281":{"id":"n185984281","loc":[-85.638075,41.949872]},"n2208608827":{"id":"n2208608827","loc":[-85.6339169,41.9473191]},"n2199109749":{"id":"n2199109749","loc":[-85.6342082,41.9477934]},"n2199109747":{"id":"n2199109747","loc":[-85.6342045,41.9476867]},"n2199109713":{"id":"n2199109713","loc":[-85.6342404,41.9474746]},"n2199109711":{"id":"n2199109711","loc":[-85.6342404,41.9476355]},"n2199109673":{"id":"n2199109673","loc":[-85.6340886,41.9483282]},"n2199109667":{"id":"n2199109667","loc":[-85.6342403,41.9482988]},"n2199109665":{"id":"n2199109665","loc":[-85.6342386,41.9482116]},"n2199109662":{"id":"n2199109662","loc":[-85.6340861,41.9482135]},"n2199109660":{"id":"n2199109660","loc":[-85.6340802,41.9480562]},"n2199109640":{"id":"n2199109640","loc":[-85.6340928,41.9485063]},"n354031366":{"id":"n354031366","loc":[-85.6341667,41.9477778],"tags":{"amenity":"place_of_worship","name":"Faith Tabernacle Church","religion":"christian"}},"n2189015686":{"id":"n2189015686","loc":[-85.6337798,41.95099]},"n2189015684":{"id":"n2189015684","loc":[-85.6337794,41.9509674]},"n2189015673":{"id":"n2189015673","loc":[-85.6337501,41.9507457]},"n2189015669":{"id":"n2189015669","loc":[-85.6337501,41.9506974]},"n2189015665":{"id":"n2189015665","loc":[-85.6339034,41.9506959]},"n2189015662":{"id":"n2189015662","loc":[-85.6339015,41.950436]},"n2189015658":{"id":"n2189015658","loc":[-85.6334916,41.9504376]},"n2189015655":{"id":"n2189015655","loc":[-85.6334939,41.9507558]},"n2189015650":{"id":"n2189015650","loc":[-85.6334543,41.950756]},"n2189015649":{"id":"n2189015649","loc":[-85.633456,41.9509915]},"n2138493842":{"id":"n2138493842","loc":[-85.6339937,41.9502836]},"n2138493841":{"id":"n2138493841","loc":[-85.6339983,41.9506281]},"n2114807579":{"id":"n2114807579","loc":[-85.6333644,41.9510682]},"n2114807573":{"id":"n2114807573","loc":[-85.6333557,41.9499819]},"n354031330":{"id":"n354031330","loc":[-85.6341667,41.9497222],"tags":{"amenity":"place_of_worship","name":"Trinity Episcopal Church","religion":"christian"}},"n185960794":{"id":"n185960794","loc":[-85.633307,41.9537]},"n185964357":{"id":"n185964357","loc":[-85.637432,41.952399]},"n185964358":{"id":"n185964358","loc":[-85.637452,41.953665]},"n185964359":{"id":"n185964359","loc":[-85.63746,41.954658]},"n185964360":{"id":"n185964360","loc":[-85.637473,41.95592]},"n185964361":{"id":"n185964361","loc":[-85.637468,41.956906]},"n185964362":{"id":"n185964362","loc":[-85.637483,41.958313]},"n185966957":{"id":"n185966957","loc":[-85.633361,41.957422]},"n185975351":{"id":"n185975351","loc":[-85.63334,41.9559]},"n185978784":{"id":"n185978784","loc":[-85.633311,41.954679]},"n185986157":{"id":"n185986157","loc":[-85.633287,41.952426]},"n185986158":{"id":"n185986158","loc":[-85.6333607,41.9582301],"tags":{"highway":"turning_circle"}},"w17965182":{"id":"w17965182","tags":{"highway":"residential","name":"W Prutzman St"},"nodes":["n185965289","n2189153241","n185965291"]},"w208627205":{"id":"w208627205","tags":{"area":"yes","building":"yes"},"nodes":["n2189015649","n2189015650","n2189015655","n2189015658","n2189015662","n2189015665","n2189015669","n2189015673","n2189015677","n2189015681","n2189015684","n2189015686","n2189015649"]},"w209717042":{"id":"w209717042","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"presbyterian","name":"First Presbyterian Church","religion":"christian"},"nodes":["n2199109610","n2199109611","n2199109612","n2199109613","n2199109614","n2199109615","n2199109616","n2199109630","n2199109632","n2199109634","n2199109628","n2199109618","n2199109636","n2199109638","n2199109620","n2199109622","n2199109624","n2199109626","n2199109610"]},"w209717045":{"id":"w209717045","tags":{"area":"yes","building":"yes"},"nodes":["n2199109711","n2199109713","n2199109715","n2199109717","n2199109719","n2199109721","n2199109711"]},"w209717047":{"id":"w209717047","tags":{"area":"yes","building":"yes"},"nodes":["n2199109739","n2199109741","n2199109743","n2199109745","n2199109747","n2199109749","n2199109751","n2199109753","n2199109739"]},"w209717044":{"id":"w209717044","tags":{"area":"yes","building":"yes"},"nodes":["n2199109674","n2199109676","n2199109678","n2199109680","n2199109682","n2199109684","n2199109686","n2199109688","n2199109690","n2199109692","n2199109694","n2199109696","n2199109698","n2199109700","n2199109702","n2199109705","n2199109707","n2199109709","n2199109674"]},"w210822776":{"id":"w210822776","tags":{"highway":"service","service":"alley","surface":"unpaved"},"nodes":["n2208608795","n2208608806","n2208608825","n2208608800","n2189153241"]},"w210822778":{"id":"w210822778","tags":{"highway":"service","service":"alley"},"nodes":["n2208608826","n2208608827"]},"w209717050":{"id":"w209717050","tags":{"area":"yes","building":"yes"},"nodes":["n2199109787","n2199109789","n2199109791","n2199109793","n2199109795","n2199109797","n2199109799","n2199109802","n2199109804","n2199109806","n2199109787"]},"w17965097":{"id":"w17965097","tags":{"highway":"residential","name":"Maple Street"},"nodes":["n185964351","n185964352","n185964353","n185964355","n185964357","n185964358","n185964359","n185964360","n185964361","n185964362"]},"w17965856":{"id":"w17965856","tags":{"highway":"residential","name":"W Kelsey St"},"nodes":["n185971578","n2208608800","n185971580","n185964351"]},"w17967444":{"id":"w17967444","tags":{"highway":"residential","name":"East Street"},"nodes":["n185966937","n185978969","n185986155","n185985812","n185986157","n185960794","n185978784","n185975351","n185966957","n185986158"]},"w17967764":{"id":"w17967764","tags":{"highway":"residential","name":"Rock River Ave"},"nodes":["n185984017","n185964351"]},"w170848329":{"id":"w170848329","tags":{"leisure":"park","name":"LaFayette Park"},"nodes":["n1819849180","n1819849115","n1819848885","n1819848921","n1819849180"]},"w17967208":{"id":"w17967208","tags":{"highway":"residential","name":"West Bennett Street"},"nodes":["n185978390","n2208608795","n185984020","n185964353","n185984281"]},"w17965349":{"id":"w17965349","tags":{"highway":"residential","name":"E Prutzman St"},"nodes":["n185966937","n2208608827","n185965289"]},"w209717049":{"id":"w209717049","tags":{"area":"yes","building":"yes"},"nodes":["n2199109761","n2199109762","n2199109763","n2199109765","n2199109768","n2199109770","n2199109783","n2199109785","n2199109761"]},"w203841840":{"id":"w203841840","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493840","n2138493841","n2138493842","n2138493843","n2138493840"]},"w209717043":{"id":"w209717043","tags":{"amenity":"place_of_worship","area":"yes","building":"church","denomination":"methodist","name":"First United Methodist Church","religion":"christian"},"nodes":["n2199109640","n2199109642","n2199109645","n2199109648","n2199109650","n2199109652","n2199109654","n2199109656","n2199109658","n2199109660","n2199109662","n2199109665","n2199109667","n2199109669","n2199109671","n2199109673","n2199109640"]},"w201484341":{"id":"w201484341","tags":{"amenity":"school","name":"Hoppin School"},"nodes":["n354002838","n2114807579","n2114807573","n2114807590","n354002838"]},"w209717046":{"id":"w209717046","tags":{"area":"yes","building":"yes"},"nodes":["n2199109723","n2199109725","n2199109727","n2199109729","n2199109731","n2199109733","n2199109735","n2199109737","n2199109723"]},"w210822777":{"id":"w210822777","tags":{"amenity":"parking","area":"yes"},"nodes":["n2208608806","n2208608808","n2208608811","n2208608821","n2208608823","n2208608825","n2208608806"]},"n185954965":{"id":"n185954965","loc":[-85.6191189,41.9441922]},"n185954968":{"id":"n185954968","loc":[-85.6194384,41.9442405]},"n185954970":{"id":"n185954970","loc":[-85.6196543,41.9443252]},"n185954972":{"id":"n185954972","loc":[-85.6197862,41.9444539]},"n354002931":{"id":"n354002931","loc":[-85.6198991,41.9455269]},"n354030853":{"id":"n354030853","loc":[-85.6219444,41.9455556],"tags":{"amenity":"place_of_worship","name":"Grant Chapel","religion":"christian"}},"n367815963":{"id":"n367815963","loc":[-85.6202778,41.9461111],"tags":{"building":"yes","name":"George Washington Carver Community Center"}},"n185947331":{"id":"n185947331","loc":[-85.618779,41.943269]},"n185947333":{"id":"n185947333","loc":[-85.618795,41.943511]},"n185947336":{"id":"n185947336","loc":[-85.618711,41.94413]},"n185947338":{"id":"n185947338","loc":[-85.618704,41.944189]},"n185947339":{"id":"n185947339","loc":[-85.618597,41.944337]},"n185947340":{"id":"n185947340","loc":[-85.618485,41.944528]},"n185947343":{"id":"n185947343","loc":[-85.618442,41.944716]},"n185947345":{"id":"n185947345","loc":[-85.618457,41.945107]},"n185947347":{"id":"n185947347","loc":[-85.618296,41.945338]},"n185947374":{"id":"n185947374","loc":[-85.616748,41.944453]},"n185947375":{"id":"n185947375","loc":[-85.616813,41.944646]},"n185947376":{"id":"n185947376","loc":[-85.616859,41.945196]},"n185947377":{"id":"n185947377","loc":[-85.616941,41.945352]},"n185947406":{"id":"n185947406","loc":[-85.618184,41.944227]},"n185947409":{"id":"n185947409","loc":[-85.617911,41.943875]},"n185947410":{"id":"n185947410","loc":[-85.617579,41.943682]},"n185947411":{"id":"n185947411","loc":[-85.61713,41.943589]},"n185947412":{"id":"n185947412","loc":[-85.616549,41.943559]},"n185947414":{"id":"n185947414","loc":[-85.616482,41.943556]},"n185947464":{"id":"n185947464","loc":[-85.616526,41.943788]},"n185947466":{"id":"n185947466","loc":[-85.616504,41.944002]},"n185948863":{"id":"n185948863","loc":[-85.619017,41.943391]},"n185948865":{"id":"n185948865","loc":[-85.619059,41.943368]},"n185955022":{"id":"n185955022","loc":[-85.620088,41.945571]},"n185955025":{"id":"n185955025","loc":[-85.620051,41.945505]},"n185955028":{"id":"n185955028","loc":[-85.62001,41.94541]},"n185980371":{"id":"n185980371","loc":[-85.620982,41.944742]},"n185980398":{"id":"n185980398","loc":[-85.621305,41.944782]},"n185980401":{"id":"n185980401","loc":[-85.621174,41.944819]},"n185980403":{"id":"n185980403","loc":[-85.621029,41.944871]},"n185980405":{"id":"n185980405","loc":[-85.620741,41.945011]},"n185980407":{"id":"n185980407","loc":[-85.620616,41.945085]},"n185980409":{"id":"n185980409","loc":[-85.620506,41.945172]},"n185980411":{"id":"n185980411","loc":[-85.620394,41.945273]},"n185980413":{"id":"n185980413","loc":[-85.620316,41.94536]},"n185980415":{"id":"n185980415","loc":[-85.620257,41.945452]},"n185980417":{"id":"n185980417","loc":[-85.620212,41.945535]},"n185985910":{"id":"n185985910","loc":[-85.620101,41.945811]},"n185985912":{"id":"n185985912","loc":[-85.620081,41.945937]},"n1475283972":{"id":"n1475283972","loc":[-85.6198991,41.9437179]},"n1475283982":{"id":"n1475283982","loc":[-85.6195022,41.9433463]},"n1475284007":{"id":"n1475284007","loc":[-85.6193037,41.9433383]},"n1475284040":{"id":"n1475284040","loc":[-85.6197329,41.9434121]},"n1475284044":{"id":"n1475284044","loc":[-85.6198756,41.9435363]},"n1475284050":{"id":"n1475284050","loc":[-85.6199689,41.9432106]},"n1475284053":{"id":"n1475284053","loc":[-85.6198943,41.9432921]},"n185954974":{"id":"n185954974","loc":[-85.6198296,41.94473]},"n185954977":{"id":"n185954977","loc":[-85.6200474,41.9447384]},"n2196831365":{"id":"n2196831365","loc":[-85.6202259,41.9460883]},"n2196831366":{"id":"n2196831366","loc":[-85.6202245,41.9458642]},"n2196831367":{"id":"n2196831367","loc":[-85.6205184,41.9458631]},"n2196831368":{"id":"n2196831368","loc":[-85.6205189,41.9459437]},"n2196831369":{"id":"n2196831369","loc":[-85.6203879,41.9459441]},"n2196831370":{"id":"n2196831370","loc":[-85.6203888,41.9460878]},"n2196831371":{"id":"n2196831371","loc":[-85.6184046,41.9465663]},"n2196831372":{"id":"n2196831372","loc":[-85.6191563,41.9465618]},"n2196831373":{"id":"n2196831373","loc":[-85.6191536,41.946319]},"n2196831374":{"id":"n2196831374","loc":[-85.6187356,41.9463216]},"n2196831375":{"id":"n2196831375","loc":[-85.6187334,41.9461197]},"n2196831376":{"id":"n2196831376","loc":[-85.6193167,41.9461162]},"n2196831377":{"id":"n2196831377","loc":[-85.6193156,41.9460229]},"n2196831378":{"id":"n2196831378","loc":[-85.619622,41.946021]},"n2196831379":{"id":"n2196831379","loc":[-85.6196237,41.9461712]},"n2196831380":{"id":"n2196831380","loc":[-85.6197702,41.9461703]},"n2196831381":{"id":"n2196831381","loc":[-85.6197685,41.9460202]},"n2196831382":{"id":"n2196831382","loc":[-85.6197323,41.9460204]},"n2196831383":{"id":"n2196831383","loc":[-85.6197305,41.9458563]},"n2196831384":{"id":"n2196831384","loc":[-85.6196165,41.945857]},"n2196831385":{"id":"n2196831385","loc":[-85.6196156,41.9457764]},"n2196831386":{"id":"n2196831386","loc":[-85.6194472,41.9457775]},"n2196831387":{"id":"n2196831387","loc":[-85.6194151,41.9457777]},"n2196831388":{"id":"n2196831388","loc":[-85.6183779,41.9457883]},"n2196831389":{"id":"n2196831389","loc":[-85.6183842,41.9461317]},"n2196831390":{"id":"n2196831390","loc":[-85.6185026,41.9461304]},"n2196831391":{"id":"n2196831391","loc":[-85.6185061,41.9463194]},"n2196831392":{"id":"n2196831392","loc":[-85.6184001,41.9463205]},"n2196831393":{"id":"n2196831393","loc":[-85.6182482,41.9464163]},"n2196831394":{"id":"n2196831394","loc":[-85.6182467,41.9463193]},"n2196831395":{"id":"n2196831395","loc":[-85.6180389,41.946321]},"n2196831397":{"id":"n2196831397","loc":[-85.6180404,41.946418]},"n185947303":{"id":"n185947303","loc":[-85.611074,41.943389]},"n185947304":{"id":"n185947304","loc":[-85.611332,41.943267]},"n185947305":{"id":"n185947305","loc":[-85.611635,41.943218]},"n185947306":{"id":"n185947306","loc":[-85.612762,41.943311]},"n185947308":{"id":"n185947308","loc":[-85.613027,41.943327]},"n185947310":{"id":"n185947310","loc":[-85.615377,41.942996]},"n185947312":{"id":"n185947312","loc":[-85.615701,41.943007]},"n185947314":{"id":"n185947314","loc":[-85.61604,41.943067]},"n185947315":{"id":"n185947315","loc":[-85.61626,41.943083]},"n185947316":{"id":"n185947316","loc":[-85.616507,41.943048]},"n185947319":{"id":"n185947319","loc":[-85.616702,41.94299]},"n185947321":{"id":"n185947321","loc":[-85.617078,41.942918]},"n185947322":{"id":"n185947322","loc":[-85.617366,41.942973]},"n185947323":{"id":"n185947323","loc":[-85.617601,41.943033]},"n185947325":{"id":"n185947325","loc":[-85.617799,41.943027]},"n185947327":{"id":"n185947327","loc":[-85.618264,41.942961]},"n185947328":{"id":"n185947328","loc":[-85.618508,41.942972]},"n185947329":{"id":"n185947329","loc":[-85.618707,41.943076]},"n185947361":{"id":"n185947361","loc":[-85.615356,41.944922]},"n185947363":{"id":"n185947363","loc":[-85.61536,41.944893]},"n185947365":{"id":"n185947365","loc":[-85.615406,41.944547]},"n185947367":{"id":"n185947367","loc":[-85.61548,41.944351]},"n185947369":{"id":"n185947369","loc":[-85.615805,41.94419]},"n185947371":{"id":"n185947371","loc":[-85.616166,41.944156]},"n185947373":{"id":"n185947373","loc":[-85.616411,41.944197]},"n185947416":{"id":"n185947416","loc":[-85.616335,41.94343]},"n185947417":{"id":"n185947417","loc":[-85.616069,41.943293]},"n185947419":{"id":"n185947419","loc":[-85.615803,41.943249]},"n185947420":{"id":"n185947420","loc":[-85.615524,41.943342]},"n185947421":{"id":"n185947421","loc":[-85.615311,41.94353]},"n185947422":{"id":"n185947422","loc":[-85.614338,41.943558]},"n185947423":{"id":"n185947423","loc":[-85.61422,41.94369]},"n185947425":{"id":"n185947425","loc":[-85.614221,41.944224]},"n185947427":{"id":"n185947427","loc":[-85.614198,41.944888]},"n185947429":{"id":"n185947429","loc":[-85.614221,41.945439]},"n185947468":{"id":"n185947468","loc":[-85.615908,41.944756]},"n185947470":{"id":"n185947470","loc":[-85.615871,41.944888]},"n185947472":{"id":"n185947472","loc":[-85.615878,41.94507]},"n185955153":{"id":"n185955153","loc":[-85.620087,41.947701]},"n185960690":{"id":"n185960690","loc":[-85.620141,41.951901]},"n185978817":{"id":"n185978817","loc":[-85.617193,41.954706]},"n185985916":{"id":"n185985916","loc":[-85.620088,41.94758]},"n185985918":{"id":"n185985918","loc":[-85.620133,41.951538]},"n185985919":{"id":"n185985919","loc":[-85.62013,41.952104]},"n185985920":{"id":"n185985920","loc":[-85.620104,41.952305]},"n185985921":{"id":"n185985921","loc":[-85.620062,41.952499]},"n185985922":{"id":"n185985922","loc":[-85.619993,41.952702]},"n185985925":{"id":"n185985925","loc":[-85.619879,41.952986]},"n185985927":{"id":"n185985927","loc":[-85.619689,41.95329]},"n185985928":{"id":"n185985928","loc":[-85.619508,41.953521]},"n185985929":{"id":"n185985929","loc":[-85.619286,41.953728]},"n185985930":{"id":"n185985930","loc":[-85.618925,41.954007]},"n185985931":{"id":"n185985931","loc":[-85.618638,41.954189]},"n185985932":{"id":"n185985932","loc":[-85.61831,41.954358]},"n185985934":{"id":"n185985934","loc":[-85.618015,41.954485]},"n185985936":{"id":"n185985936","loc":[-85.617606,41.954611]},"n1475283975":{"id":"n1475283975","loc":[-85.6150935,41.9434118]},"n1475283979":{"id":"n1475283979","loc":[-85.6193367,41.9430252]},"n1475283989":{"id":"n1475283989","loc":[-85.6104771,41.9455269]},"n1475283990":{"id":"n1475283990","loc":[-85.6104771,41.9437179]},"n1475283994":{"id":"n1475283994","loc":[-85.6198042,41.9429763]},"n1475283998":{"id":"n1475283998","loc":[-85.6192101,41.9426716]},"n1475284000":{"id":"n1475284000","loc":[-85.6198622,41.942836]},"n1475284002":{"id":"n1475284002","loc":[-85.6163262,41.9427688]},"n1475284006":{"id":"n1475284006","loc":[-85.6179527,41.9429168]},"n1475284029":{"id":"n1475284029","loc":[-85.6197195,41.9427278]},"n1475284038":{"id":"n1475284038","loc":[-85.6194405,41.9427837]},"n1475284052":{"id":"n1475284052","loc":[-85.6153225,41.942841]},"n1475284055":{"id":"n1475284055","loc":[-85.6129233,41.9437179]},"n2139966627":{"id":"n2139966627","loc":[-85.61958,41.9427558]},"w17966773":{"id":"w17966773","tags":{"highway":"secondary","name":"E Michigan Ave","ref":"M 60"},"nodes":["n185980372","n185980398","n185980401","n185980403","n185980405","n185980407","n185980409","n185980411","n185980413","n185980415","n185980417","n185955019"]},"w17964043":{"id":"w17964043","tags":{"highway":"residential"},"nodes":["n185955019","n185955022","n185955025","n185955028","n185954977","n185971477","n1475284050","n1475284000","n1475284029","n2139966627","n1475284038"]},"w17962834":{"id":"w17962834","tags":{"highway":"service"},"nodes":["n185947316","n185947414","n185947464","n185947466","n185947373","n185947468","n185947470","n185947472","n185947474"]},"w209470310":{"id":"w209470310","tags":{"area":"yes","building":"yes"},"nodes":["n2196831393","n2196831394","n2196831395","n2196831397","n2196831393"]},"w17963058":{"id":"w17963058","tags":{"highway":"service"},"nodes":["n185947333","n185948863","n185948865","n1475284007","n1475283982","n1475284040","n1475284044"]},"w17962823":{"id":"w17962823","tags":{"highway":"service"},"nodes":["n185947359","n185947361","n185947363","n185947365","n185947367","n185947369","n185947371","n185947373","n185947374","n185947375","n185947376","n185947377","n185947378"]},"w17962821":{"id":"w17962821","tags":{"highway":"service"},"nodes":["n185947303","n185947304","n185947305","n185947306","n185947308","n185947310","n185947312","n185947314","n185947315","n185947316","n185947319","n185947321","n185947322","n185947323","n185947325","n185947327","n185947328","n185947329","n185947331","n185947333","n185947336","n185947338","n185947339","n185947340","n185947343","n185947345","n185947347","n185947349"]},"w134150798":{"id":"w134150798","tags":{"amenity":"grave_yard","name":"Riverside Cemetery"},"nodes":["n354002931","n1475283972","n1475284053","n1475283994","n1475283979","n1475283998","n1475284006","n1475284002","n1475284052","n1475283975","n1475284055","n1475283990","n1475283989","n354002931"]},"w17964040":{"id":"w17964040","tags":{"highway":"service"},"nodes":["n185947336","n185954965","n185954968","n185954970","n185954972","n185954974","n185954977"]},"w209470308":{"id":"w209470308","tags":{"area":"yes","building":"yes"},"nodes":["n2196831365","n2196831366","n2196831367","n2196831368","n2196831369","n2196831370","n2196831365"]},"w17962828":{"id":"w17962828","tags":{"highway":"service"},"nodes":["n185947340","n185947406","n185947409","n185947410","n185947411","n185947412","n185947414","n185947416","n185947417","n185947419","n185947420","n185947421","n185947422","n185947423","n185947425","n185947427","n185947429"]},"w209470309":{"id":"w209470309","tags":{"area":"yes","building":"yes"},"nodes":["n2196831371","n2196831372","n2196831373","n2196831374","n2196831375","n2196831376","n2196831377","n2196831378","n2196831379","n2196831380","n2196831381","n2196831382","n2196831383","n2196831384","n2196831385","n2196831386","n2196831387","n2196831388","n2196831389","n2196831390","n2196831391","n2196831392","n2196831371"]},"w17967415":{"id":"w17967415","tags":{"highway":"secondary","name":"Jefferson St","name_1":"State Highway 60","ref":"M 60"},"nodes":["n185955019","n185985910","n185985912","n185985914","n185961367","n185985916","n185955153","n185965105","n185974697","n185955120","n185985918","n185960690","n185985919","n185985920","n185985921","n185985922","n185985925","n185985927","n185985928","n185985929","n185985930","n185985931","n185985932","n185985934","n185985936","n185978817"]},"w17966772":{"id":"w17966772","tags":{"highway":"unclassified","name":"E Michigan Ave","name_1":"State Highway 60"},"nodes":["n185954977","n185980371","n185980372"]},"n185958500":{"id":"n185958500","loc":[-85.621591,41.941075]},"n185963110":{"id":"n185963110","loc":[-85.6204416,41.9408882]},"n2139966628":{"id":"n2139966628","loc":[-85.6196431,41.9426467],"tags":{"leisure":"fishing"}},"n2139966630":{"id":"n2139966630","loc":[-85.6199354,41.9429616]},"n2199127051":{"id":"n2199127051","loc":[-85.6170556,41.939696]},"n2199127052":{"id":"n2199127052","loc":[-85.6170536,41.9392909]},"n2199127053":{"id":"n2199127053","loc":[-85.6172067,41.9392905]},"n2199127054":{"id":"n2199127054","loc":[-85.6172061,41.9391853]},"n2199127055":{"id":"n2199127055","loc":[-85.6171481,41.9391854]},"n2199127060":{"id":"n2199127060","loc":[-85.6167389,41.9392896]},"n2199127061":{"id":"n2199127061","loc":[-85.6168728,41.9392892]},"n2199127062":{"id":"n2199127062","loc":[-85.6168747,41.9396965]},"n2199127071":{"id":"n2199127071","loc":[-85.620196,41.9399446]},"n2199127072":{"id":"n2199127072","loc":[-85.620193,41.9397316]},"n2199127073":{"id":"n2199127073","loc":[-85.6200381,41.9397328]},"n2199127074":{"id":"n2199127074","loc":[-85.6200412,41.9399458]},"n2199127075":{"id":"n2199127075","loc":[-85.6203606,41.9399939]},"n2199127076":{"id":"n2199127076","loc":[-85.6205527,41.9399922]},"n2199127077":{"id":"n2199127077","loc":[-85.6205482,41.9397115]},"n2199127078":{"id":"n2199127078","loc":[-85.6204132,41.9397124]},"n2199127079":{"id":"n2199127079","loc":[-85.6204144,41.9396341]},"n2199127080":{"id":"n2199127080","loc":[-85.6205699,41.9396324]},"n2199127081":{"id":"n2199127081","loc":[-85.6205722,41.939498]},"n2199127082":{"id":"n2199127082","loc":[-85.6204064,41.9394997]},"n2199127083":{"id":"n2199127083","loc":[-85.6204087,41.939561]},"n2199127084":{"id":"n2199127084","loc":[-85.6203103,41.9395618]},"n2199127085":{"id":"n2199127085","loc":[-85.620308,41.9396069]},"n2199127086":{"id":"n2199127086","loc":[-85.6200347,41.9396086]},"n2199127087":{"id":"n2199127087","loc":[-85.6200382,41.9397141]},"n2199127088":{"id":"n2199127088","loc":[-85.6202257,41.9397149]},"n2199127089":{"id":"n2199127089","loc":[-85.6202269,41.9399182]},"n2199127090":{"id":"n2199127090","loc":[-85.6203595,41.9399199]},"n2199127091":{"id":"n2199127091","loc":[-85.6212335,41.939688]},"n2199127092":{"id":"n2199127092","loc":[-85.6212328,41.939595]},"n2199127093":{"id":"n2199127093","loc":[-85.6208807,41.9395966]},"n2199127094":{"id":"n2199127094","loc":[-85.6208815,41.9396896]},"n2199127095":{"id":"n2199127095","loc":[-85.6208676,41.9396872]},"n2199127096":{"id":"n2199127096","loc":[-85.6208583,41.9393539]},"n2199127097":{"id":"n2199127097","loc":[-85.6207006,41.9393563]},"n2199127098":{"id":"n2199127098","loc":[-85.6207099,41.9396896]},"n185967054":{"id":"n185967054","loc":[-85.6173384,41.9356126]},"n185967063":{"id":"n185967063","loc":[-85.617371,41.936243]},"n185967065":{"id":"n185967065","loc":[-85.617337,41.936299]},"n185967068":{"id":"n185967068","loc":[-85.617321,41.936373]},"n185967070":{"id":"n185967070","loc":[-85.6173562,41.9366969]},"n185967074":{"id":"n185967074","loc":[-85.6173635,41.9377414]},"n185967075":{"id":"n185967075","loc":[-85.6173696,41.9381886]},"n185967076":{"id":"n185967076","loc":[-85.617372,41.938535]},"n2199127056":{"id":"n2199127056","loc":[-85.617147,41.9389616]},"n2199127057":{"id":"n2199127057","loc":[-85.6172136,41.9389614]},"n2199127058":{"id":"n2199127058","loc":[-85.6172123,41.9386909]},"n2199127059":{"id":"n2199127059","loc":[-85.616736,41.9386922]},"n2203921041":{"id":"n2203921041","loc":[-85.6173018,41.9346369]},"w203983952":{"id":"w203983952","tags":{"highway":"service"},"nodes":["n2139966627","n1819800319"]},"w209718301":{"id":"w209718301","tags":{"area":"yes","building":"yes"},"nodes":["n2199127051","n2199127052","n2199127053","n2199127054","n2199127055","n2199127056","n2199127057","n2199127058","n2199127059","n2199127060","n2199127061","n2199127062","n2199127051"]},"w209718304":{"id":"w209718304","tags":{"area":"yes","building":"yes"},"nodes":["n2199127071","n2199127072","n2199127073","n2199127074","n2199127071"]},"w17964961":{"id":"w17964961","tags":{"highway":"residential","name":"Whipple St"},"nodes":["n185963099","n185963110"]},"w17964489":{"id":"w17964489","tags":{"highway":"residential","name":"Jackson St"},"nodes":["n185958498","n185958500"]},"w203983953":{"id":"w203983953","tags":{"area":"yes","leisure":"park","name":"Marina Park"},"nodes":["n1475283994","n1475283979","n1475283998","n2139966629","n2139966625","n1819800319","n2139966623","n2139966622","n2139966621","n2139966630","n1475283994"]},"w17965366":{"id":"w17965366","tags":{"highway":"residential","name":"14th St"},"nodes":["n2203921041","n185967054","n185967063","n185967065","n185967068","n185967070","n185967074","n185967075","n185967076","n185967077"]},"w209718306":{"id":"w209718306","tags":{"area":"yes","building":"yes"},"nodes":["n2199127091","n2199127092","n2199127093","n2199127094","n2199127091"]},"w209718307":{"id":"w209718307","tags":{"area":"yes","building":"yes"},"nodes":["n2199127095","n2199127096","n2199127097","n2199127098","n2199127095"]},"w209718305":{"id":"w209718305","tags":{"area":"yes","building":"yes"},"nodes":["n2199127075","n2199127076","n2199127077","n2199127078","n2199127079","n2199127080","n2199127081","n2199127082","n2199127083","n2199127084","n2199127085","n2199127086","n2199127087","n2199127088","n2199127089","n2199127090","n2199127075"]},"n185960199":{"id":"n185960199","loc":[-85.62965,41.95469]},"n185980737":{"id":"n185980737","loc":[-85.629083,41.953725]},"n2114807561":{"id":"n2114807561","loc":[-85.6297681,41.9524688]},"n2114807597":{"id":"n2114807597","loc":[-85.6296517,41.952563]},"n185960197":{"id":"n185960197","loc":[-85.629676,41.9537314]},"n185978791":{"id":"n185978791","loc":[-85.6244542,41.9547066]},"w17967573":{"id":"w17967573","tags":{"highway":"residential","name":"E Wheeler St"},"nodes":["n185960195","n2114807561","n185968102","n185967430","n185986157","n185978392"]},"w17966553":{"id":"w17966553","tags":{"highway":"residential","name":"East Hoffman Street"},"nodes":["n185971631","n185978784","n185967432","n185968106","n185960199","n185978787","n185978790","n185978791"]},"w17966787":{"id":"w17966787","tags":{"highway":"residential","name":"East Cushman Street"},"nodes":["n185980735","n185980737","n185960197","n185968104","n185960792"]},"w17964723":{"id":"w17964723","tags":{"highway":"residential","name":"Cushman Street"},"nodes":["n185960792","n185960794","n185960796"]},"w17964654":{"id":"w17964654","tags":{"highway":"residential","name":"Pine Street"},"nodes":["n185960195","n2114807597","n185960197","n185960199"]},"n1819848862":{"id":"n1819848862","loc":[-85.6346087,41.9545845]},"n1819848935":{"id":"n1819848935","loc":[-85.6345948,41.9537717]},"n1819848973":{"id":"n1819848973","loc":[-85.6334247,41.9537827]},"n1819848997":{"id":"n1819848997","loc":[-85.6334386,41.9545956]},"n2189015861":{"id":"n2189015861","loc":[-85.6375906,41.954836]},"n2189015865":{"id":"n2189015865","loc":[-85.6383307,41.9548291]},"n2189015867":{"id":"n2189015867","loc":[-85.6383337,41.9550072]},"n2189015868":{"id":"n2189015868","loc":[-85.6380986,41.9550094]},"n2189015869":{"id":"n2189015869","loc":[-85.6381005,41.9551226]},"n2199109808":{"id":"n2199109808","loc":[-85.6372702,41.9522894]},"n2199109810":{"id":"n2199109810","loc":[-85.6372677,41.9521583]},"n2199109812":{"id":"n2199109812","loc":[-85.6369505,41.9521617]},"n2199109814":{"id":"n2199109814","loc":[-85.636953,41.9522927]},"n185952156":{"id":"n185952156","loc":[-85.640983,41.9546557]},"n185953423":{"id":"n185953423","loc":[-85.641871,41.954652]},"n185971637":{"id":"n185971637","loc":[-85.641583,41.95465]},"n185971639":{"id":"n185971639","loc":[-85.6421344,41.9546444]},"n185971642":{"id":"n185971642","loc":[-85.6428264,41.9545612]},"n185971648":{"id":"n185971648","loc":[-85.6436023,41.9544262]},"n185975066":{"id":"n185975066","loc":[-85.640532,41.953638]},"n185975067":{"id":"n185975067","loc":[-85.64079,41.953638]},"n185982166":{"id":"n185982166","loc":[-85.6399012,41.9523817]},"n2189015858":{"id":"n2189015858","loc":[-85.6376104,41.9560138]},"n2189015870":{"id":"n2189015870","loc":[-85.6386794,41.9551172]},"n2189015871":{"id":"n2189015871","loc":[-85.6386817,41.955256]},"n2189015873":{"id":"n2189015873","loc":[-85.6385437,41.9552573]},"n2189015876":{"id":"n2189015876","loc":[-85.638555,41.9559278]},"n2189015879":{"id":"n2189015879","loc":[-85.6384954,41.9559283]},"n2189015882":{"id":"n2189015882","loc":[-85.6384965,41.9559935]},"n2189015885":{"id":"n2189015885","loc":[-85.6383533,41.9559949]},"n2189015888":{"id":"n2189015888","loc":[-85.638351,41.9558607]},"n2189015891":{"id":"n2189015891","loc":[-85.6382178,41.9558619]},"n2189015894":{"id":"n2189015894","loc":[-85.6382203,41.956008]},"w208627223":{"id":"w208627223","tags":{"area":"yes","building":"yes"},"nodes":["n2189015858","n2189015861","n2189015865","n2189015867","n2189015868","n2189015869","n2189015870","n2189015871","n2189015873","n2189015876","n2189015879","n2189015882","n2189015885","n2189015888","n2189015891","n2189015894","n2189015858"]},"w170848328":{"id":"w170848328","tags":{"leisure":"park","name":"Bowman Park"},"nodes":["n1819848935","n1819848973","n1819848997","n1819848862","n1819848935"]},"w17965866":{"id":"w17965866","tags":{"highway":"residential","name":"West Hoffman Street"},"nodes":["n185971631","n185971632","n185964359","n185965025","n1475293264","n185952156","n185971637","n185953423","n185971639","n185971642","n185971648"]},"w209717051":{"id":"w209717051","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"baptist","name":"Calvary Missionary Baptist Church","religion":"christian"},"nodes":["n2199109808","n2199109810","n2199109812","n2199109814","n2199109808"]},"w17966172":{"id":"w17966172","tags":{"highway":"residential","name":"West Cushman Street"},"nodes":["n185960796","n185975064","n185964358","n185965023","n1475293222","n185975066","n185975067"]},"w17966975":{"id":"w17966975","tags":{"highway":"residential","name":"W Wheeler St"},"nodes":["n185978392","n185982163","n185964357","n185965021","n1475293261","n185982166"]},"n185960684":{"id":"n185960684","loc":[-85.622687,41.951885]},"n185960686":{"id":"n185960686","loc":[-85.622492,41.951901]},"n185978795":{"id":"n185978795","loc":[-85.6240991,41.954708]},"n185978803":{"id":"n185978803","loc":[-85.623348,41.954547]},"n185978806":{"id":"n185978806","loc":[-85.623123,41.954502]},"n185978808":{"id":"n185978808","loc":[-85.622923,41.954469]},"n185978810":{"id":"n185978810","loc":[-85.622787,41.954457]},"n185978811":{"id":"n185978811","loc":[-85.622612,41.954458]},"n185978813":{"id":"n185978813","loc":[-85.622368,41.954472]},"n1819790545":{"id":"n1819790545","loc":[-85.6240295,41.9548949]},"n1819790621":{"id":"n1819790621","loc":[-85.6235789,41.954855]},"n1819790664":{"id":"n1819790664","loc":[-85.6238363,41.9549507]},"n1819790683":{"id":"n1819790683","loc":[-85.6224727,41.9545921]},"n1819790730":{"id":"n1819790730","loc":[-85.6227527,41.9545795]},"n1819790740":{"id":"n1819790740","loc":[-85.6240402,41.9550784]},"n1819790831":{"id":"n1819790831","loc":[-85.624126,41.9549986]},"n1819790861":{"id":"n1819790861","loc":[-85.6231712,41.9546872]},"n1819790887":{"id":"n1819790887","loc":[-85.6242762,41.955206]},"n2168544739":{"id":"n2168544739","loc":[-85.6249102,41.952801]},"n2168544740":{"id":"n2168544740","loc":[-85.6251859,41.9527564]},"n2168544741":{"id":"n2168544741","loc":[-85.6255515,41.9527921]},"n2168544742":{"id":"n2168544742","loc":[-85.626001,41.9529481]},"n2168544743":{"id":"n2168544743","loc":[-85.6265284,41.9529838]},"n2168544744":{"id":"n2168544744","loc":[-85.626942,41.9528857]},"n2168544745":{"id":"n2168544745","loc":[-85.6270918,41.9526851]},"n2168544746":{"id":"n2168544746","loc":[-85.6272117,41.95244]},"n2168544747":{"id":"n2168544747","loc":[-85.6271578,41.952226]},"n2168544748":{"id":"n2168544748","loc":[-85.6270019,41.9519719]},"n2168544749":{"id":"n2168544749","loc":[-85.6268221,41.9518382]},"n2168544750":{"id":"n2168544750","loc":[-85.6265284,41.951807]},"n2168544751":{"id":"n2168544751","loc":[-85.6256534,41.9518516]},"n2168544752":{"id":"n2168544752","loc":[-85.6253477,41.9518338]},"n2168544753":{"id":"n2168544753","loc":[-85.6251139,41.9517669]},"n185955747":{"id":"n185955747","loc":[-85.620674,41.954709]},"n185960688":{"id":"n185960688","loc":[-85.621032,41.951913]},"n185972054":{"id":"n185972054","loc":[-85.6186728,41.9547335]},"n185978814":{"id":"n185978814","loc":[-85.6201708,41.9547403]},"n1819790532":{"id":"n1819790532","loc":[-85.6244908,41.9555731]},"n1819790536":{"id":"n1819790536","loc":[-85.6217925,41.9583135]},"n1819790538":{"id":"n1819790538","loc":[-85.6233954,41.9600014]},"n1819790539":{"id":"n1819790539","loc":[-85.6204611,41.9562117]},"n1819790546":{"id":"n1819790546","loc":[-85.6210898,41.9567657]},"n1819790548":{"id":"n1819790548","loc":[-85.6202465,41.9562237]},"n1819790550":{"id":"n1819790550","loc":[-85.6250165,41.9560677]},"n1819790551":{"id":"n1819790551","loc":[-85.6227946,41.9597023]},"n1819790553":{"id":"n1819790553","loc":[-85.6215726,41.9584571]},"n1819790556":{"id":"n1819790556","loc":[-85.6196306,41.9573002]},"n1819790557":{"id":"n1819790557","loc":[-85.6209503,41.9563109]},"n1819790558":{"id":"n1819790558","loc":[-85.6196939,41.9574085]},"n1819790561":{"id":"n1819790561","loc":[-85.621079,41.957751]},"n1819790562":{"id":"n1819790562","loc":[-85.6224255,41.9611417]},"n1819790565":{"id":"n1819790565","loc":[-85.6232506,41.9604841]},"n1819790566":{"id":"n1819790566","loc":[-85.6190835,41.9562909]},"n1819790567":{"id":"n1819790567","loc":[-85.622227,41.9593028]},"n1819790569":{"id":"n1819790569","loc":[-85.620976,41.9591039]},"n1819790571":{"id":"n1819790571","loc":[-85.6212078,41.9565303]},"n1819790572":{"id":"n1819790572","loc":[-85.6235306,41.9595102]},"n1819790581":{"id":"n1819790581","loc":[-85.6235563,41.9579351]},"n1819790584":{"id":"n1819790584","loc":[-85.6230371,41.9574598]},"n1819790586":{"id":"n1819790586","loc":[-85.6211748,41.9564272]},"n1819790588":{"id":"n1819790588","loc":[-85.6226508,41.9601086]},"n1819790591":{"id":"n1819790591","loc":[-85.6218032,41.9607468]},"n1819790593":{"id":"n1819790593","loc":[-85.6207915,41.9618735]},"n1819790596":{"id":"n1819790596","loc":[-85.6252955,41.9567858]},"n1819790598":{"id":"n1819790598","loc":[-85.6196618,41.9568939]},"n1819790600":{"id":"n1819790600","loc":[-85.6224416,41.9587084]},"n1819790602":{"id":"n1819790602","loc":[-85.6217442,41.9558641]},"n1819790603":{"id":"n1819790603","loc":[-85.6213355,41.9592116]},"n1819790604":{"id":"n1819790604","loc":[-85.622801,41.9573042]},"n1819790608":{"id":"n1819790608","loc":[-85.6199729,41.9574325]},"n1819790610":{"id":"n1819790610","loc":[-85.6195555,41.9557165]},"n1819790611":{"id":"n1819790611","loc":[-85.622978,41.9586007]},"n1819790613":{"id":"n1819790613","loc":[-85.6253963,41.9562636]},"n1819790614":{"id":"n1819790614","loc":[-85.6235252,41.9580342]},"n1819790616":{"id":"n1819790616","loc":[-85.6232988,41.9596305]},"n1819790617":{"id":"n1819790617","loc":[-85.6226776,41.9598732]},"n1819790619":{"id":"n1819790619","loc":[-85.625553,41.9561794]},"n1819790620":{"id":"n1819790620","loc":[-85.6235574,41.959231]},"n1819790624":{"id":"n1819790624","loc":[-85.6228429,41.9573726]},"n1819790626":{"id":"n1819790626","loc":[-85.6193785,41.9556766]},"n1819790628":{"id":"n1819790628","loc":[-85.620092,41.9554253]},"n1819790630":{"id":"n1819790630","loc":[-85.6226658,41.9604402]},"n1819790638":{"id":"n1819790638","loc":[-85.6219964,41.9602561]},"n1819790640":{"id":"n1819790640","loc":[-85.6232731,41.9599969]},"n1819790643":{"id":"n1819790643","loc":[-85.6247698,41.9568895]},"n1819790650":{"id":"n1819790650","loc":[-85.6216412,41.9550149]},"n1819790652":{"id":"n1819790652","loc":[-85.6224952,41.9603918]},"n1819790656":{"id":"n1819790656","loc":[-85.61918,41.9555649]},"n1819790661":{"id":"n1819790661","loc":[-85.6200169,41.955505]},"n1819790662":{"id":"n1819790662","loc":[-85.6217389,41.9563149]},"n1819790666":{"id":"n1819790666","loc":[-85.6229566,41.9598373]},"n1819790667":{"id":"n1819790667","loc":[-85.6209117,41.9609189]},"n1819790669":{"id":"n1819790669","loc":[-85.6252311,41.9562353]},"n1819790670":{"id":"n1819790670","loc":[-85.6209758,41.961868]},"n1819790672":{"id":"n1819790672","loc":[-85.6209557,41.9589078]},"n1819790673":{"id":"n1819790673","loc":[-85.6190352,41.9561393]},"n1819790675":{"id":"n1819790675","loc":[-85.6236432,41.9586685]},"n1819790676":{"id":"n1819790676","loc":[-85.6194901,41.9565389]},"n1819790678":{"id":"n1819790678","loc":[-85.6219266,41.9582417]},"n1819790680":{"id":"n1819790680","loc":[-85.6208258,41.9557211]},"n1819790681":{"id":"n1819790681","loc":[-85.6212024,41.9613212]},"n1819790682":{"id":"n1819790682","loc":[-85.624877,41.9559401]},"n1819790684":{"id":"n1819790684","loc":[-85.6206499,41.9583693]},"n1819790699":{"id":"n1819790699","loc":[-85.6215243,41.956279]},"n1819790701":{"id":"n1819790701","loc":[-85.6246625,41.9559321]},"n1819790703":{"id":"n1819790703","loc":[-85.6230478,41.9585089]},"n1819790708":{"id":"n1819790708","loc":[-85.6211102,41.9575402]},"n1819790710":{"id":"n1819790710","loc":[-85.6215082,41.9548468]},"n1819790711":{"id":"n1819790711","loc":[-85.6206552,41.9586007]},"n1819790713":{"id":"n1819790713","loc":[-85.6215404,41.9549705]},"n1819790715":{"id":"n1819790715","loc":[-85.6216906,41.955521]},"n1819790717":{"id":"n1819790717","loc":[-85.6215404,41.9547391]},"n1819790722":{"id":"n1819790722","loc":[-85.6219964,41.9599131]},"n1819790723":{"id":"n1819790723","loc":[-85.622286,41.9606989]},"n1819790725":{"id":"n1819790725","loc":[-85.6228439,41.9572005]},"n1819790727":{"id":"n1819790727","loc":[-85.6202518,41.9554458]},"n1819790728":{"id":"n1819790728","loc":[-85.623434,41.9575276]},"n1819790729":{"id":"n1819790729","loc":[-85.6234287,41.9568576]},"n1819790732":{"id":"n1819790732","loc":[-85.6229566,41.9571369]},"n1819790733":{"id":"n1819790733","loc":[-85.6225543,41.9590275]},"n1819790734":{"id":"n1819790734","loc":[-85.6232892,41.9583135]},"n1819790736":{"id":"n1819790736","loc":[-85.622977,41.9608551]},"n1819790737":{"id":"n1819790737","loc":[-85.624008,41.9569533]},"n1819790741":{"id":"n1819790741","loc":[-85.6212775,41.9608545]},"n1819790742":{"id":"n1819790742","loc":[-85.6231282,41.9569932]},"n1819790743":{"id":"n1819790743","loc":[-85.6224523,41.9591831]},"n1819790744":{"id":"n1819790744","loc":[-85.6210951,41.9610819]},"n1819790745":{"id":"n1819790745","loc":[-85.6220114,41.960544]},"n1819790755":{"id":"n1819790755","loc":[-85.6216369,41.9553854]},"n1819790757":{"id":"n1819790757","loc":[-85.6209986,41.9592709]},"n1819790758":{"id":"n1819790758","loc":[-85.6200437,41.9563468]},"n1819790764":{"id":"n1819790764","loc":[-85.6219363,41.9596823]},"n1819790765":{"id":"n1819790765","loc":[-85.6237612,41.9568496]},"n1819790769":{"id":"n1819790769","loc":[-85.6212389,41.9593433]},"n1819790771":{"id":"n1819790771","loc":[-85.6210726,41.9560123]},"n1819790772":{"id":"n1819790772","loc":[-85.6212711,41.9561838]},"n1819790776":{"id":"n1819790776","loc":[-85.6234437,41.9577795]},"n1819790777":{"id":"n1819790777","loc":[-85.6212502,41.9618599]},"n1819790783":{"id":"n1819790783","loc":[-85.6216895,41.9610585]},"n1819790784":{"id":"n1819790784","loc":[-85.6200115,41.9556367]},"n1819790785":{"id":"n1819790785","loc":[-85.6210576,41.9573002]},"n1819790786":{"id":"n1819790786","loc":[-85.621138,41.9576632]},"n1819790788":{"id":"n1819790788","loc":[-85.6207733,41.9578946]},"n1819790789":{"id":"n1819790789","loc":[-85.6200705,41.9571566]},"n1819790790":{"id":"n1819790790","loc":[-85.6245337,41.9558443]},"n1819790792":{"id":"n1819790792","loc":[-85.621932,41.9608066]},"n1819790793":{"id":"n1819790793","loc":[-85.6233578,41.9581385]},"n1819790794":{"id":"n1819790794","loc":[-85.6204557,41.9555136]},"n1819790797":{"id":"n1819790797","loc":[-85.6235038,41.9576074]},"n1819790800":{"id":"n1819790800","loc":[-85.6214438,41.9607508]},"n1819790801":{"id":"n1819790801","loc":[-85.623492,41.9602129]},"n1819790802":{"id":"n1819790802","loc":[-85.6216691,41.9546553]},"n1819790803":{"id":"n1819790803","loc":[-85.6231057,41.9586851]},"n1819790804":{"id":"n1819790804","loc":[-85.6209224,41.9578673]},"n1819790813":{"id":"n1819790813","loc":[-85.620092,41.9572962]},"n1819790814":{"id":"n1819790814","loc":[-85.6216691,41.9552218]},"n1819790816":{"id":"n1819790816","loc":[-85.6216144,41.9609668]},"n1819790818":{"id":"n1819790818","loc":[-85.6216906,41.9557324]},"n1819790820":{"id":"n1819790820","loc":[-85.6192069,41.9564186]},"n1819790823":{"id":"n1819790823","loc":[-85.6211155,41.9566027]},"n1819790825":{"id":"n1819790825","loc":[-85.6233106,41.9569294]},"n1819790839":{"id":"n1819790839","loc":[-85.625671,41.9564986]},"n1819790842":{"id":"n1819790842","loc":[-85.6235252,41.9567379]},"n1819790844":{"id":"n1819790844","loc":[-85.6253813,41.9566342]},"n1819790847":{"id":"n1819790847","loc":[-85.6200963,41.9567702]},"n1819790849":{"id":"n1819790849","loc":[-85.6238031,41.9587449]},"n1819790851":{"id":"n1819790851","loc":[-85.6234984,41.9584571]},"n1819790856":{"id":"n1819790856","loc":[-85.6242226,41.9570092]},"n1819790865":{"id":"n1819790865","loc":[-85.6200265,41.9569458]},"n1819790869":{"id":"n1819790869","loc":[-85.6230049,41.9601245]},"n1819790871":{"id":"n1819790871","loc":[-85.6190727,41.9558322]},"n1819790873":{"id":"n1819790873","loc":[-85.6217442,41.9550104]},"n1819790875":{"id":"n1819790875","loc":[-85.6208044,41.9587808]},"n1819790879":{"id":"n1819790879","loc":[-85.6198444,41.9574484]},"n1819790883":{"id":"n1819790883","loc":[-85.623713,41.9588719]},"n1819790885":{"id":"n1819790885","loc":[-85.6223289,41.9605075]},"n1819790889":{"id":"n1819790889","loc":[-85.6208044,41.9562437]},"n1819790893":{"id":"n1819790893","loc":[-85.6218183,41.9559684]},"n1819790906":{"id":"n1819790906","loc":[-85.6214052,41.958697]},"n1819790913":{"id":"n1819790913","loc":[-85.6209981,41.9609957]},"n1819790917":{"id":"n1819790917","loc":[-85.6216208,41.9604436]},"n1819790919":{"id":"n1819790919","loc":[-85.6209406,41.9616373]},"n1819790920":{"id":"n1819790920","loc":[-85.6221948,41.9583334]},"n1819790922":{"id":"n1819790922","loc":[-85.6216681,41.9615292]},"n1819790924":{"id":"n1819790924","loc":[-85.6210147,41.9570489]},"n1819790929":{"id":"n1819790929","loc":[-85.6193678,41.955521]},"w17964707":{"id":"w17964707","tags":{"highway":"residential","name":"11th Ave"},"nodes":["n185960682","n185960684","n185960686","n185960688","n185960690"]},"w201484345":{"id":"w201484345","tags":{"bridge":"yes","highway":"residential","name":"E Hoffman St"},"nodes":["n185978791","n185978795"]},"w201484348":{"id":"w201484348","tags":{"highway":"residential","name":"E Hoffman St"},"nodes":["n185978795","n185978800","n185978803","n185978806","n185978808","n185978810","n185978811","n185978813","n185955747","n185978814","n185972054","n185978817"]},"w170843845":{"id":"w170843845","tags":{"landuse":"reservoir","name":"Hoffman Pond","natural":"water"},"nodes":["n1819790732","n1819790742","n1819790825","n1819790729","n1819790842","n1819790765","n1819790737","n1819790856","n1819790643","n1819790596","n1819790844","n1819790839","n1819849190","n1819790619","n1819790613","n1819790669","n1819790550","n1819790682","n1819790701","n1819790790","n1819790532","n1819790887","n1819790740","n1819790831","n1819790545","n1819790664","n1819790621","n1819790861","n1819790730","n1819790683","n1819790802","n1819790717","n1819790710","n1819790713","n1819790650","n1819790873","n1819790814","n1819790755","n1819790715","n1819790818","n1819790602","n1819790893","n1819790662","n1819790699","n1819790772","n1819790771","n1819790680","n1819790794","n1819790727","n1819790628","n1819790661","n1819790784","n1819790610","n1819790626","n1819790929","n1819790656","n1819790871","n1819790673","n1819790566","n1819790820","n1819790676","n1819790598","n1819790556","n1819790558","n1819790879","n1819790608","n1819790813","n1819790789","n1819790865","n1819790847","n1819790758","n1819790548","n1819790539","n1819790889","n1819790557","n1819790586","n1819790571","n1819790823","n1819790546","n1819790924","n1819790785","n1819790708","n1819790786","n1819790561","n1819790804","n1819790788","n1819790684","n1819790711","n1819790875","n1819790672","n1819790569","n1819790757","n1819790769","n1819790603","n1819790906","n1819790553","n1819790536","n1819790678","n1819790920","n1819790600","n1819790733","n1819790743","n1819790567","n1819790764","n1819790722","n1819790638","n1819790917","n1819790800","n1819790741","n1819790667","n1819790913","n1819790744","n1819790816","n1819790591","n1819790745","n1819790885","n1819790652","n1819790588","n1819790617","n1819790551","n1819790666","n1819790869","n1819790630","n1819790723","n1819790792","n1819790783","n1819790681","n1819790919","n1819790593","n1819790670","n1819790777","n1819790922","n1819790562","n1819790736","n1819790565","n1819790801","n1819790538","n1819790640","n1819790616","n1819790572","n1819790620","n1819790883","n1819790849","n1819790675","n1819790851","n1819790803","n1819790611","n1819790703","n1819790734","n1819790793","n1819790614","n1819790581","n1819790776","n1819790797","n1819790728","n1819790584","n1819790624","n1819790604","n1819790725","n1819790732"]},"w206805240":{"id":"w206805240","tags":{"waterway":"river"},"nodes":["n2168544738","n2168544739","n2168544740","n2168544741","n2168544742","n2168544743","n2168544744","n2168544745","n2168544746","n2168544747","n2168544748","n2168544749","n2168544750","n2168544751","n2168544752","n2168544753","n1819848944"]},"n394490429":{"id":"n394490429","loc":[-85.643883,41.954365]},"n185953421":{"id":"n185953421","loc":[-85.641876,41.954946]},"n185953417":{"id":"n185953417","loc":[-85.6418306,41.9551597]},"n185977233":{"id":"n185977233","loc":[-85.642987,41.95486]},"n185977232":{"id":"n185977232","loc":[-85.642894,41.9547842]},"n1475293244":{"id":"n1475293244","loc":[-85.63974,41.9521543]},"n1819848890":{"id":"n1819848890","loc":[-85.6410004,41.9552822]},"n1819848965":{"id":"n1819848965","loc":[-85.6409795,41.9553892]},"n2189015846":{"id":"n2189015846","loc":[-85.6420457,41.9549528]},"n2189015849":{"id":"n2189015849","loc":[-85.6425867,41.9551392]},"n2189015852":{"id":"n2189015852","loc":[-85.6426877,41.9549771]},"n2199109816":{"id":"n2199109816","loc":[-85.6399215,41.9540925]},"n2199109818":{"id":"n2199109818","loc":[-85.6399182,41.9538236]},"n2199109820":{"id":"n2199109820","loc":[-85.6402201,41.9538216]},"n2199109822":{"id":"n2199109822","loc":[-85.640222,41.9539771]},"n2199109825":{"id":"n2199109825","loc":[-85.6402904,41.9539766]},"n2199109827":{"id":"n2199109827","loc":[-85.6402918,41.95409]},"n2199109829":{"id":"n2199109829","loc":[-85.6395845,41.9544626]},"n2199109831":{"id":"n2199109831","loc":[-85.6395792,41.9540671]},"n2199109833":{"id":"n2199109833","loc":[-85.6397173,41.9540661]},"n2199109835":{"id":"n2199109835","loc":[-85.6397226,41.9544616]},"n2199109837":{"id":"n2199109837","loc":[-85.6399641,41.9545058]},"n2199109839":{"id":"n2199109839","loc":[-85.6399637,41.9541859]},"n2199109841":{"id":"n2199109841","loc":[-85.6401098,41.9541858]},"n2199109843":{"id":"n2199109843","loc":[-85.64011,41.9543272]},"n2199109845":{"id":"n2199109845","loc":[-85.6400783,41.9543273]},"n2199109847":{"id":"n2199109847","loc":[-85.6400785,41.9545058]},"n2199109853":{"id":"n2199109853","loc":[-85.6396184,41.9554049]},"n2199109855":{"id":"n2199109855","loc":[-85.6396825,41.9553713]},"n185949745":{"id":"n185949745","loc":[-85.6442727,41.9553112]},"n185949748":{"id":"n185949748","loc":[-85.6448804,41.9555238]},"n185949755":{"id":"n185949755","loc":[-85.6420011,41.9603536]},"n185949763":{"id":"n185949763","loc":[-85.6408843,41.9555822]},"n185949765":{"id":"n185949765","loc":[-85.6414548,41.9557751]},"n185952158":{"id":"n185952158","loc":[-85.640066,41.956854]},"n185952160":{"id":"n185952160","loc":[-85.639848,41.957229]},"n185952161":{"id":"n185952161","loc":[-85.6396089,41.9576192]},"n185952163":{"id":"n185952163","loc":[-85.63892,41.957957]},"n185953413":{"id":"n185953413","loc":[-85.64162,41.955475]},"n185971651":{"id":"n185971651","loc":[-85.6440766,41.9543462]},"n185977234":{"id":"n185977234","loc":[-85.645044,41.955581]},"n394490395":{"id":"n394490395","loc":[-85.657336,41.936762]},"n394490396":{"id":"n394490396","loc":[-85.653896,41.936978]},"n394490397":{"id":"n394490397","loc":[-85.653732,41.937386]},"n394490398":{"id":"n394490398","loc":[-85.65182,41.937378]},"n394490399":{"id":"n394490399","loc":[-85.651843,41.938445]},"n394490400":{"id":"n394490400","loc":[-85.652536,41.938447]},"n394490401":{"id":"n394490401","loc":[-85.652533,41.938901]},"n394490402":{"id":"n394490402","loc":[-85.652084,41.9389]},"n394490403":{"id":"n394490403","loc":[-85.6521,41.939627]},"n394490404":{"id":"n394490404","loc":[-85.652301,41.939628]},"n394490405":{"id":"n394490405","loc":[-85.652302,41.939755]},"n394490406":{"id":"n394490406","loc":[-85.652783,41.939747]},"n394490407":{"id":"n394490407","loc":[-85.652835,41.94112]},"n394490408":{"id":"n394490408","loc":[-85.651968,41.941123]},"n394490409":{"id":"n394490409","loc":[-85.651983,41.941969]},"n394490410":{"id":"n394490410","loc":[-85.652908,41.941961]},"n394490411":{"id":"n394490411","loc":[-85.65292,41.94278]},"n394490412":{"id":"n394490412","loc":[-85.651698,41.942816]},"n394490413":{"id":"n394490413","loc":[-85.651509,41.942823]},"n394490414":{"id":"n394490414","loc":[-85.651272,41.942837]},"n394490415":{"id":"n394490415","loc":[-85.651272,41.943325]},"n394490416":{"id":"n394490416","loc":[-85.65122,41.944053]},"n394490417":{"id":"n394490417","loc":[-85.651193,41.944449]},"n394490418":{"id":"n394490418","loc":[-85.651088,41.944969]},"n394490419":{"id":"n394490419","loc":[-85.650949,41.945554]},"n394490420":{"id":"n394490420","loc":[-85.650907,41.945719]},"n394490421":{"id":"n394490421","loc":[-85.650808,41.946016]},"n394490422":{"id":"n394490422","loc":[-85.650712,41.946516]},"n394490423":{"id":"n394490423","loc":[-85.650493,41.947166]},"n394490424":{"id":"n394490424","loc":[-85.650626,41.947213]},"n394490425":{"id":"n394490425","loc":[-85.650201,41.948109]},"n394490426":{"id":"n394490426","loc":[-85.649868,41.948797]},"n394490427":{"id":"n394490427","loc":[-85.649669,41.949161]},"n394490428":{"id":"n394490428","loc":[-85.64659,41.954067]},"n394490430":{"id":"n394490430","loc":[-85.644034,41.95444]},"n394490431":{"id":"n394490431","loc":[-85.644248,41.954507]},"n394490432":{"id":"n394490432","loc":[-85.64491,41.954481]},"n394490433":{"id":"n394490433","loc":[-85.645213,41.954433]},"n394490434":{"id":"n394490434","loc":[-85.645426,41.954477]},"n394490435":{"id":"n394490435","loc":[-85.6458,41.954704]},"n394490436":{"id":"n394490436","loc":[-85.64605,41.954804]},"n394490437":{"id":"n394490437","loc":[-85.646125,41.954817]},"n394490438":{"id":"n394490438","loc":[-85.646002,41.954997]},"n394490439":{"id":"n394490439","loc":[-85.645764,41.955366]},"n394490440":{"id":"n394490440","loc":[-85.645525,41.955734]},"n394490441":{"id":"n394490441","loc":[-85.64443,41.957424]},"n394490442":{"id":"n394490442","loc":[-85.641712,41.961723]},"n394490443":{"id":"n394490443","loc":[-85.640747,41.963246]},"n394490444":{"id":"n394490444","loc":[-85.637803,41.967894]},"n394490445":{"id":"n394490445","loc":[-85.637673,41.967861]},"n394490446":{"id":"n394490446","loc":[-85.636637,41.969275]},"n394490447":{"id":"n394490447","loc":[-85.634923,41.969269]},"n394490448":{"id":"n394490448","loc":[-85.634893,41.968537]},"n394490449":{"id":"n394490449","loc":[-85.634544,41.96927]},"n394490450":{"id":"n394490450","loc":[-85.630835,41.969274]},"n394490451":{"id":"n394490451","loc":[-85.630834,41.968348]},"n394490452":{"id":"n394490452","loc":[-85.630857,41.968179]},"n394490453":{"id":"n394490453","loc":[-85.630924,41.968044]},"n394490454":{"id":"n394490454","loc":[-85.631004,41.967925]},"n394490455":{"id":"n394490455","loc":[-85.631143,41.967811]},"n394490456":{"id":"n394490456","loc":[-85.631311,41.967736]},"n394490457":{"id":"n394490457","loc":[-85.631595,41.967693]},"n394490458":{"id":"n394490458","loc":[-85.63325,41.967702]},"n394490459":{"id":"n394490459","loc":[-85.633247,41.967021]},"n394490460":{"id":"n394490460","loc":[-85.634858,41.967021]},"n394490461":{"id":"n394490461","loc":[-85.634865,41.967711]},"n394490462":{"id":"n394490462","loc":[-85.634884,41.968231]},"n394490463":{"id":"n394490463","loc":[-85.636559,41.963867]},"n394490464":{"id":"n394490464","loc":[-85.634832,41.963866]},"n394490465":{"id":"n394490465","loc":[-85.63481,41.961899]},"n394490466":{"id":"n394490466","loc":[-85.637219,41.961842]},"n394490467":{"id":"n394490467","loc":[-85.637837,41.960019]},"n394490468":{"id":"n394490468","loc":[-85.637459,41.960022]},"n394490469":{"id":"n394490469","loc":[-85.635295,41.959987]},"n394490470":{"id":"n394490470","loc":[-85.634783,41.959979]},"n394490471":{"id":"n394490471","loc":[-85.634776,41.959834]},"n394490472":{"id":"n394490472","loc":[-85.634767,41.959009]},"n394490473":{"id":"n394490473","loc":[-85.634763,41.958292]},"n394490474":{"id":"n394490474","loc":[-85.633346,41.958287]},"n394490475":{"id":"n394490475","loc":[-85.632128,41.9583]},"n394490476":{"id":"n394490476","loc":[-85.631414,41.958318]},"n394490477":{"id":"n394490477","loc":[-85.63137,41.959033]},"n394490478":{"id":"n394490478","loc":[-85.631325,41.959753]},"n394490479":{"id":"n394490479","loc":[-85.631494,41.95977]},"n394490480":{"id":"n394490480","loc":[-85.631456,41.960673]},"n394490481":{"id":"n394490481","loc":[-85.631421,41.961494]},"n394490482":{"id":"n394490482","loc":[-85.631404,41.961887]},"n394490483":{"id":"n394490483","loc":[-85.631401,41.961968]},"n394490484":{"id":"n394490484","loc":[-85.630962,41.961967]},"n394490485":{"id":"n394490485","loc":[-85.6299,41.961973]},"n394490486":{"id":"n394490486","loc":[-85.624929,41.962002]},"n394490487":{"id":"n394490487","loc":[-85.623333,41.961987]},"n394490488":{"id":"n394490488","loc":[-85.621894,41.963956]},"n394490489":{"id":"n394490489","loc":[-85.62131,41.963727]},"n394490490":{"id":"n394490490","loc":[-85.621216,41.963868]},"n394490491":{"id":"n394490491","loc":[-85.620356,41.965119]},"n394490492":{"id":"n394490492","loc":[-85.620848,41.965341]},"n394490493":{"id":"n394490493","loc":[-85.620684,41.965558]},"n394490494":{"id":"n394490494","loc":[-85.620621,41.965658]},"n394490495":{"id":"n394490495","loc":[-85.618165,41.965759]},"n394490496":{"id":"n394490496","loc":[-85.618071,41.965759]},"n394490497":{"id":"n394490497","loc":[-85.617986,41.965759]},"n394490498":{"id":"n394490498","loc":[-85.605673,41.965764]},"n394490499":{"id":"n394490499","loc":[-85.605668,41.963548]},"n394490500":{"id":"n394490500","loc":[-85.605664,41.962094]},"n394490501":{"id":"n394490501","loc":[-85.595828,41.962159]},"n394490502":{"id":"n394490502","loc":[-85.587869,41.962169]},"n394490503":{"id":"n394490503","loc":[-85.586289,41.962179]},"n394490504":{"id":"n394490504","loc":[-85.583774,41.962178]},"n394490505":{"id":"n394490505","loc":[-85.583774,41.961789]},"n394490506":{"id":"n394490506","loc":[-85.581303,41.961783]},"n394490507":{"id":"n394490507","loc":[-85.581304,41.961616]},"n394490508":{"id":"n394490508","loc":[-85.581292,41.961616]},"n394490509":{"id":"n394490509","loc":[-85.581247,41.959244]},"n394490510":{"id":"n394490510","loc":[-85.581245,41.958394]},"n394490511":{"id":"n394490511","loc":[-85.581276,41.958372]},"n394490512":{"id":"n394490512","loc":[-85.581302,41.958353]},"n394490513":{"id":"n394490513","loc":[-85.581376,41.9583]},"n394490514":{"id":"n394490514","loc":[-85.582256,41.957663]},"n394490515":{"id":"n394490515","loc":[-85.585299,41.955483]},"n394490516":{"id":"n394490516","loc":[-85.585588,41.955331]},"n394490517":{"id":"n394490517","loc":[-85.586053,41.955163]},"n394490518":{"id":"n394490518","loc":[-85.58632,41.955076]},"n394490519":{"id":"n394490519","loc":[-85.586478,41.955025]},"n394490520":{"id":"n394490520","loc":[-85.58692,41.954947]},"n394490521":{"id":"n394490521","loc":[-85.587327,41.954914]},"n394490522":{"id":"n394490522","loc":[-85.587345,41.954913]},"n394490523":{"id":"n394490523","loc":[-85.587358,41.954913]},"n394490524":{"id":"n394490524","loc":[-85.58963,41.954877]},"n394490525":{"id":"n394490525","loc":[-85.591077,41.954865]},"n394490526":{"id":"n394490526","loc":[-85.594824,41.954843]},"n394490527":{"id":"n394490527","loc":[-85.594804,41.95331]},"n394490528":{"id":"n394490528","loc":[-85.599336,41.95331]},"n394490529":{"id":"n394490529","loc":[-85.599336,41.954825]},"n394490530":{"id":"n394490530","loc":[-85.597828,41.954839]},"n394490531":{"id":"n394490531","loc":[-85.597833,41.95614]},"n394490532":{"id":"n394490532","loc":[-85.596586,41.956151]},"n394490533":{"id":"n394490533","loc":[-85.596586,41.956394]},"n394490534":{"id":"n394490534","loc":[-85.595933,41.956394]},"n394490535":{"id":"n394490535","loc":[-85.595933,41.958176]},"n394490536":{"id":"n394490536","loc":[-85.597635,41.958179]},"n394490537":{"id":"n394490537","loc":[-85.597717,41.958177]},"n394490538":{"id":"n394490538","loc":[-85.601671,41.958194]},"n394490539":{"id":"n394490539","loc":[-85.605619,41.958194]},"n394490540":{"id":"n394490540","loc":[-85.608054,41.958187]},"n394490542":{"id":"n394490542","loc":[-85.6080762,41.9547864]},"n394490545":{"id":"n394490545","loc":[-85.6104354,41.9548263]},"n394490546":{"id":"n394490546","loc":[-85.610274,41.951106]},"n394490547":{"id":"n394490547","loc":[-85.610278,41.950829]},"n394490548":{"id":"n394490548","loc":[-85.610309,41.948377]},"n394490549":{"id":"n394490549","loc":[-85.610314,41.947986]},"n394490550":{"id":"n394490550","loc":[-85.610464,41.947985]},"n394490551":{"id":"n394490551","loc":[-85.610447,41.947468]},"n394490552":{"id":"n394490552","loc":[-85.612469,41.947471]},"n394490553":{"id":"n394490553","loc":[-85.612494,41.945576]},"n394490554":{"id":"n394490554","loc":[-85.610292,41.94558]},"n394490555":{"id":"n394490555","loc":[-85.608412,41.945625]},"n394490556":{"id":"n394490556","loc":[-85.608412,41.943036]},"n394490557":{"id":"n394490557","loc":[-85.608702,41.943087]},"n394490558":{"id":"n394490558","loc":[-85.609196,41.943224]},"n394490559":{"id":"n394490559","loc":[-85.609571,41.943263]},"n394490560":{"id":"n394490560","loc":[-85.610116,41.943295]},"n394490561":{"id":"n394490561","loc":[-85.610273,41.943275]},"n394490562":{"id":"n394490562","loc":[-85.611339,41.943075]},"n394490563":{"id":"n394490563","loc":[-85.611575,41.942997]},"n394490564":{"id":"n394490564","loc":[-85.611847,41.942849]},"n394490565":{"id":"n394490565","loc":[-85.612164,41.942568]},"n394490566":{"id":"n394490566","loc":[-85.612341,41.942529]},"n394490567":{"id":"n394490567","loc":[-85.612562,41.942524]},"n394490568":{"id":"n394490568","loc":[-85.612768,41.942546]},"n394490569":{"id":"n394490569","loc":[-85.612938,41.942633]},"n394490570":{"id":"n394490570","loc":[-85.6131,41.942782]},"n394490571":{"id":"n394490571","loc":[-85.613299,41.942919]},"n394490572":{"id":"n394490572","loc":[-85.613498,41.942996]},"n394490573":{"id":"n394490573","loc":[-85.614698,41.942842]},"n394490574":{"id":"n394490574","loc":[-85.615288,41.942698]},"n394490575":{"id":"n394490575","loc":[-85.616054,41.942693]},"n394490576":{"id":"n394490576","loc":[-85.61603,41.942175]},"n394490577":{"id":"n394490577","loc":[-85.616004,41.941741]},"n394490578":{"id":"n394490578","loc":[-85.615994,41.940156]},"n394490579":{"id":"n394490579","loc":[-85.615144,41.940159]},"n394490580":{"id":"n394490580","loc":[-85.614915,41.940161]},"n394490582":{"id":"n394490582","loc":[-85.614875,41.938532]},"n394490583":{"id":"n394490583","loc":[-85.616167,41.938787]},"n394490585":{"id":"n394490585","loc":[-85.616176,41.938589]},"n394490586":{"id":"n394490586","loc":[-85.614537,41.938282]},"n394490588":{"id":"n394490588","loc":[-85.610141,41.937459]},"n394490589":{"id":"n394490589","loc":[-85.610172,41.937298]},"n394490590":{"id":"n394490590","loc":[-85.609918,41.935495]},"n394490592":{"id":"n394490592","loc":[-85.610092,41.935451]},"n394490594":{"id":"n394490594","loc":[-85.610681,41.935247]},"n394490595":{"id":"n394490595","loc":[-85.611446,41.934955]},"n394490596":{"id":"n394490596","loc":[-85.612057,41.934696]},"n394490598":{"id":"n394490598","loc":[-85.613256,41.934084]},"n394490599":{"id":"n394490599","loc":[-85.613948,41.933682]},"n394490601":{"id":"n394490601","loc":[-85.61436,41.933417]},"n394490602":{"id":"n394490602","loc":[-85.614638,41.933212]},"n394490604":{"id":"n394490604","loc":[-85.615249,41.9332]},"n394490605":{"id":"n394490605","loc":[-85.618218,41.933223]},"n394490607":{"id":"n394490607","loc":[-85.618241,41.933479]},"n394490608":{"id":"n394490608","loc":[-85.618257,41.93365]},"n394490609":{"id":"n394490609","loc":[-85.618298,41.935067]},"n394490611":{"id":"n394490611","loc":[-85.619791,41.935067]},"n394490612":{"id":"n394490612","loc":[-85.619794,41.933301]},"n394490613":{"id":"n394490613","loc":[-85.619795,41.932692]},"n394490614":{"id":"n394490614","loc":[-85.619729,41.929517]},"n394490615":{"id":"n394490615","loc":[-85.619801,41.929305]},"n394490616":{"id":"n394490616","loc":[-85.619809,41.927391]},"n394490617":{"id":"n394490617","loc":[-85.620883,41.927378]},"n394490618":{"id":"n394490618","loc":[-85.620988,41.927368]},"n394490619":{"id":"n394490619","loc":[-85.621076,41.927368]},"n394490620":{"id":"n394490620","loc":[-85.621156,41.927376]},"n394490621":{"id":"n394490621","loc":[-85.621685,41.92737]},"n394490622":{"id":"n394490622","loc":[-85.624716,41.927359]},"n394490623":{"id":"n394490623","loc":[-85.625308,41.92737]},"n394490624":{"id":"n394490624","loc":[-85.625655,41.927377]},"n394490625":{"id":"n394490625","loc":[-85.625093,41.925591]},"n394490626":{"id":"n394490626","loc":[-85.625174,41.92559]},"n394490627":{"id":"n394490627","loc":[-85.625249,41.925597]},"n394490628":{"id":"n394490628","loc":[-85.625532,41.925604]},"n394490629":{"id":"n394490629","loc":[-85.625761,41.925597]},"n394490630":{"id":"n394490630","loc":[-85.625955,41.926153]},"n394490631":{"id":"n394490631","loc":[-85.626209,41.926155]},"n394490632":{"id":"n394490632","loc":[-85.627757,41.926151]},"n394490633":{"id":"n394490633","loc":[-85.627825,41.926298]},"n394490634":{"id":"n394490634","loc":[-85.627994,41.926315]},"n394490635":{"id":"n394490635","loc":[-85.628049,41.927196]},"n394490636":{"id":"n394490636","loc":[-85.62949,41.927221]},"n394490637":{"id":"n394490637","loc":[-85.629602,41.927277]},"n394490638":{"id":"n394490638","loc":[-85.6297102,41.9273279]},"n394490639":{"id":"n394490639","loc":[-85.630958,41.927398]},"n394490699":{"id":"n394490699","loc":[-85.632741,41.927388]},"n394490700":{"id":"n394490700","loc":[-85.632997,41.927391]},"n394490701":{"id":"n394490701","loc":[-85.633149,41.927393]},"n394490702":{"id":"n394490702","loc":[-85.633334,41.927393]},"n394490703":{"id":"n394490703","loc":[-85.633468,41.927561]},"n394490704":{"id":"n394490704","loc":[-85.633563,41.927755]},"n394490705":{"id":"n394490705","loc":[-85.633662,41.928192]},"n394490706":{"id":"n394490706","loc":[-85.633679,41.928807]},"n394490707":{"id":"n394490707","loc":[-85.633687,41.929107]},"n394490708":{"id":"n394490708","loc":[-85.633927,41.929109]},"n394490709":{"id":"n394490709","loc":[-85.634126,41.929111]},"n394490710":{"id":"n394490710","loc":[-85.634207,41.92911]},"n394490711":{"id":"n394490711","loc":[-85.634323,41.929111]},"n394490712":{"id":"n394490712","loc":[-85.636712,41.929128]},"n394490713":{"id":"n394490713","loc":[-85.63808,41.9291]},"n394490714":{"id":"n394490714","loc":[-85.639213,41.929088]},"n394490715":{"id":"n394490715","loc":[-85.639189,41.92852]},"n394490716":{"id":"n394490716","loc":[-85.639204,41.925488]},"n394490717":{"id":"n394490717","loc":[-85.644204,41.925452]},"n394490718":{"id":"n394490718","loc":[-85.651425,41.925406]},"n394490719":{"id":"n394490719","loc":[-85.651449,41.926321]},"n394490720":{"id":"n394490720","loc":[-85.651451,41.926969]},"n394490721":{"id":"n394490721","loc":[-85.651458,41.928052]},"n394490722":{"id":"n394490722","loc":[-85.651446,41.928892]},"n394490723":{"id":"n394490723","loc":[-85.651456,41.929447]},"n394490724":{"id":"n394490724","loc":[-85.651707,41.929454]},"n394490725":{"id":"n394490725","loc":[-85.652369,41.929473]},"n394490726":{"id":"n394490726","loc":[-85.6525,41.929452]},"n394490727":{"id":"n394490727","loc":[-85.654066,41.92946]},"n394490728":{"id":"n394490728","loc":[-85.654816,41.92946]},"n394490729":{"id":"n394490729","loc":[-85.654816,41.930337]},"n394490730":{"id":"n394490730","loc":[-85.654587,41.930337]},"n394490731":{"id":"n394490731","loc":[-85.654548,41.931072]},"n394490732":{"id":"n394490732","loc":[-85.654538,41.931701]},"n394490733":{"id":"n394490733","loc":[-85.654898,41.931689]},"n394490734":{"id":"n394490734","loc":[-85.654898,41.932505]},"n394490735":{"id":"n394490735","loc":[-85.654854,41.932514]},"n394490736":{"id":"n394490736","loc":[-85.655497,41.932499]},"n394490737":{"id":"n394490737","loc":[-85.656405,41.932493]},"n394490738":{"id":"n394490738","loc":[-85.656422,41.933416]},"n394490739":{"id":"n394490739","loc":[-85.657322,41.933438]},"n1475293233":{"id":"n1475293233","loc":[-85.6385522,41.9585167]},"n1475293242":{"id":"n1475293242","loc":[-85.64609,41.9540815]},"n1475293249":{"id":"n1475293249","loc":[-85.6358079,41.9692721]},"n1475293256":{"id":"n1475293256","loc":[-85.6387369,41.9581583]},"n1475293259":{"id":"n1475293259","loc":[-85.6455882,41.9541138]},"n1475293266":{"id":"n1475293266","loc":[-85.6451008,41.9541821]},"n1819800253":{"id":"n1819800253","loc":[-85.6134286,41.9429692]},"n2114807558":{"id":"n2114807558","loc":[-85.6365609,41.963866],"tags":{"railway":"level_crossing"}},"n2189015728":{"id":"n2189015728","loc":[-85.6383956,41.9590576]},"n2189015838":{"id":"n2189015838","loc":[-85.6435144,41.9563705]},"n2189015842":{"id":"n2189015842","loc":[-85.6415782,41.9557035]},"n2189015855":{"id":"n2189015855","loc":[-85.6440829,41.9554577]},"n2199109849":{"id":"n2199109849","loc":[-85.6393434,41.9565591]},"n2199109851":{"id":"n2199109851","loc":[-85.6393208,41.9565002]},"n2199109857":{"id":"n2199109857","loc":[-85.6401986,41.955545]},"n2199109859":{"id":"n2199109859","loc":[-85.6402362,41.955587]},"n2199109861":{"id":"n2199109861","loc":[-85.6395958,41.9565675]},"n2199109863":{"id":"n2199109863","loc":[-85.639528,41.9566011]},"w209717053":{"id":"w209717053","tags":{"area":"yes","building":"yes"},"nodes":["n2199109829","n2199109831","n2199109833","n2199109835","n2199109829"]},"w17966415":{"id":"w17966415","tags":{"access":"private","highway":"service","name":"Manufacturing Way"},"nodes":["n185971642","n185977232","n185977233","n185949745","n185949748","n185977234"]},"w209717054":{"id":"w209717054","tags":{"area":"yes","building":"yes"},"nodes":["n2199109837","n2199109839","n2199109841","n2199109843","n2199109845","n2199109847","n2199109837"]},"w208627214":{"id":"w208627214","tags":{"highway":"service"},"nodes":["n185949755","n2189015728","n1475293233","n1475293256","n185952163","n185952161","n185952160","n185952158","n185949763","n1819848965","n1819848890","n185952156"]},"w17963817":{"id":"w17963817","tags":{"access":"private","highway":"service"},"nodes":["n185949765","n185953413","n185953417","n185953421","n185953423"]},"w34369809":{"id":"w34369809","tags":{"admin_level":"8","boundary":"administrative","landuse":"residential"},"nodes":["n394490395","n394490396","n394490397","n394490398","n394490399","n394490400","n394490401","n394490402","n394490403","n394490404","n394490405","n394490406","n394490407","n394490408","n394490409","n394490410","n394490411","n394490412","n394490413","n394490414","n394490415","n394490416","n394490417","n394490418","n394490419","n394490420","n394490421","n394490422","n394490423","n394490424","n394490425","n394490426","n394490427","n394490428","n1475293242","n1475293259","n1475293266","n394490429","n394490430","n394490431","n394490432","n394490433","n394490434","n394490435","n394490436","n394490437","n394490438","n394490439","n394490440","n394490441","n394490442","n394490443","n394490444","n394490445","n394490446","n1475293249","n394490447","n394490448","n394490449","n394490450","n394490451","n394490452","n394490453","n394490454","n394490455","n394490456","n394490457","n394490458","n394490459","n394490460","n394490461","n394490462","n2114807558","n394490463","n1475293226","n394490464","n394490465","n394490466","n394490467","n394490468","n394490469","n394490470","n394490471","n394490472","n394490473","n394490474","n394490475","n394490476","n394490477","n394490478","n394490479","n394490480","n394490481","n394490482","n394490483","n394490484","n394490485","n394490486","n394490487","n394490488","n394490489","n394490490","n394490491","n394490492","n394490493","n394490494","n394490495","n394490496","n394490497","n394490498","n394490499","n394490500","n394490501","n394490502","n394490503","n394490504","n394490505","n394490506","n394490507","n394490508","n394490509","n394490510","n394490511","n394490512","n394490513","n394490514","n394490515","n394490516","n394490517","n394490518","n394490519","n394490520","n394490521","n394490522","n394490523","n394490524","n394490525","n394490526","n394490527","n394490528","n394490529","n394490530","n394490531","n394490532","n394490533","n394490534","n394490535","n394490536","n394490537","n394490538","n394490539","n394490540","n394490542","n394490545","n394490546","n394490547","n394490548","n394490549","n394490550","n394490551","n394490552","n394490553","n394490554","n394490555","n394490556","n394490557","n394490558","n394490559","n394490560","n394490561","n394490562","n394490563","n394490564","n394490565","n394490566","n394490567","n394490568","n394490569","n394490570","n394490571","n1819800253","n394490572","n394490573","n394490574","n394490575","n394490576","n394490577","n394490578","n394490579","n394490580","n394490582","n394490583","n394490585","n394490586","n394490588","n394490589","n394490590","n394490592","n394490594","n394490595","n394490596","n394490598","n394490599","n394490601","n394490602","n394490604","n394490605","n394490607","n394490608","n394490609","n394490611","n394490612","n394490613","n394490614","n394490615","n394490616","n394490617","n394490618","n394490619","n394490620","n394490621","n394490622","n394490623","n394490624","n394490625","n394490626","n394490627","n394490628","n394490629","n394490630","n394490631","n394490632","n394490633","n394490634","n394490635","n394490636","n394490637","n394490638","n394490639","n394490699","n394490700","n394490701","n394490702","n394490703","n394490704","n394490705","n394490706","n394490707","n394490708","n394490709","n394490710","n394490711","n394490712","n394490713","n394490714","n394490715","n394490716","n394490717","n394490718","n394490719","n394490720","n394490721","n394490722","n394490723","n394490724","n394490725","n394490726","n394490727","n394490728","n394490729","n394490730","n394490731","n394490732","n394490733","n394490734","n394490735","n394490736","n394490737","n394490738","n394490739","n394490395"]},"w208627221":{"id":"w208627221","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015838","n2189015842","n2189015846","n2189015849","n2189015852","n2189015855","n2189015838"]},"w209717052":{"id":"w209717052","tags":{"area":"yes","building":"yes"},"nodes":["n2199109816","n2199109818","n2199109820","n2199109822","n2199109825","n2199109827","n2199109816"]},"w134151784":{"id":"w134151784","tags":{"bridge":"yes","highway":"residential","name":"W Hoffman St"},"nodes":["n185971648","n185971651"]},"w209717055":{"id":"w209717055","tags":{"area":"yes","landuse":"basin"},"nodes":["n2199109849","n2199109851","n2199109853","n2199109855","n2199109857","n2199109859","n2199109861","n2199109863","n2199109849"]},"w17967763":{"id":"w17967763","tags":{"highway":"residential","name":"Rock River Ave"},"nodes":["n1475293244","n185982166","n185975067","n185971637"]},"r134949":{"id":"r134949","tags":{"admin_level":"8","border_type":"city","boundary":"administrative","name":"Three Rivers","place":"city","type":"boundary"},"members":[{"id":"w34369809","type":"way","role":"outer"},{"id":"w34369821","type":"way","role":"outer"},{"id":"w34369822","type":"way","role":"outer"},{"id":"w34369823","type":"way","role":"outer"},{"id":"w34369824","type":"way","role":"outer"},{"id":"w34369825","type":"way","role":"outer"},{"id":"w34369826","type":"way","role":"outer"},{"id":"w34369810","type":"way","role":"inner"},{"id":"w34369811","type":"way","role":"inner"},{"id":"w34369812","type":"way","role":"inner"},{"id":"w34367079","type":"way","role":"inner"},{"id":"w34369814","type":"way","role":"inner"},{"id":"w34367080","type":"way","role":"inner"},{"id":"w34369815","type":"way","role":"inner"},{"id":"w34369820","type":"way","role":"inner"}]},"n1819848881":{"id":"n1819848881","loc":[-85.638562,41.9569965]},"n1819848947":{"id":"n1819848947","loc":[-85.6384348,41.9576565]},"n1819849044":{"id":"n1819849044","loc":[-85.6385749,41.9573345]},"n2114807547":{"id":"n2114807547","loc":[-85.6384626,41.9583756]},"n2114807564":{"id":"n2114807564","loc":[-85.638535,41.9581283]},"n2189015691":{"id":"n2189015691","loc":[-85.6435584,41.9565243]},"n2189015696":{"id":"n2189015696","loc":[-85.6435805,41.9566049]},"n2189015722":{"id":"n2189015722","loc":[-85.6435035,41.9567438]},"n2189015744":{"id":"n2189015744","loc":[-85.6437991,41.9569582]},"n2189015747":{"id":"n2189015747","loc":[-85.6433042,41.9567742]},"n2189015750":{"id":"n2189015750","loc":[-85.6433827,41.9566844]},"n2189015753":{"id":"n2189015753","loc":[-85.6430447,41.9565588]},"n2189015756":{"id":"n2189015756","loc":[-85.6431111,41.956451]},"n2189015759":{"id":"n2189015759","loc":[-85.6420247,41.956083]},"n2189015760":{"id":"n2189015760","loc":[-85.6419945,41.9561369]},"n2189015764":{"id":"n2189015764","loc":[-85.6413729,41.9558945]},"n2189015766":{"id":"n2189015766","loc":[-85.6412884,41.9560606]},"n2189015770":{"id":"n2189015770","loc":[-85.6411798,41.9560112]},"n2189015771":{"id":"n2189015771","loc":[-85.6410651,41.9562132]},"n2189015774":{"id":"n2189015774","loc":[-85.6409504,41.9561728]},"n2189015778":{"id":"n2189015778","loc":[-85.6407996,41.9564241]},"n2189015781":{"id":"n2189015781","loc":[-85.6406889,41.9563892]},"n2189015785":{"id":"n2189015785","loc":[-85.6404857,41.9567024]},"n2189015789":{"id":"n2189015789","loc":[-85.6406909,41.9567877]},"n2189015793":{"id":"n2189015793","loc":[-85.6405642,41.9570165]},"n2189015796":{"id":"n2189015796","loc":[-85.6415359,41.9573711]},"n2189015800":{"id":"n2189015800","loc":[-85.6411738,41.9579501]},"n2189015804":{"id":"n2189015804","loc":[-85.6411119,41.957921]},"n2189015808":{"id":"n2189015808","loc":[-85.6403186,41.9591751]},"n2189015909":{"id":"n2189015909","loc":[-85.6389293,41.9564636]},"n2189015926":{"id":"n2189015926","loc":[-85.6385431,41.9564617]},"n2189015929":{"id":"n2189015929","loc":[-85.6385457,41.9561823]},"n2189015932":{"id":"n2189015932","loc":[-85.6389319,41.9561843]},"n2199109865":{"id":"n2199109865","loc":[-85.6400768,41.956776]},"n2199109867":{"id":"n2199109867","loc":[-85.639902,41.9567153]},"n2199109869":{"id":"n2199109869","loc":[-85.640004,41.956553]},"n2199109871":{"id":"n2199109871","loc":[-85.6401788,41.9566137]},"n2199109873":{"id":"n2199109873","loc":[-85.6399316,41.9564506],"tags":{"man_made":"water_tower"}},"n2199109876":{"id":"n2199109876","loc":[-85.6397689,41.9572354]},"n2199109878":{"id":"n2199109878","loc":[-85.6399229,41.9569826]},"n2199109880":{"id":"n2199109880","loc":[-85.639706,41.9569095]},"n2199109882":{"id":"n2199109882","loc":[-85.639552,41.9571623]},"n2199109884":{"id":"n2199109884","loc":[-85.6391028,41.9569517]},"n2199109886":{"id":"n2199109886","loc":[-85.6392876,41.956646]},"n2199109888":{"id":"n2199109888","loc":[-85.639484,41.9567117]},"n2199109889":{"id":"n2199109889","loc":[-85.6394322,41.9567973]},"n2199109890":{"id":"n2199109890","loc":[-85.6393718,41.9567771]},"n2199109891":{"id":"n2199109891","loc":[-85.6392387,41.9569972]},"n1819848900":{"id":"n1819848900","loc":[-85.638281,41.9576578]},"n1819848978":{"id":"n1819848978","loc":[-85.6377186,41.9580867]},"n1819849039":{"id":"n1819849039","loc":[-85.6384217,41.9573405]},"n1819849050":{"id":"n1819849050","loc":[-85.6377011,41.9570042]},"n1819849088":{"id":"n1819849088","loc":[-85.6382879,41.9580817]},"n2114807549":{"id":"n2114807549","loc":[-85.6362551,41.96473]},"n2114807587":{"id":"n2114807587","loc":[-85.6368694,41.9629829]},"n2189015725":{"id":"n2189015725","loc":[-85.644156,41.9569753]},"n2189015741":{"id":"n2189015741","loc":[-85.6419825,41.9597632]},"w208627217":{"id":"w208627217","tags":{"area":"yes","building":"yes"},"nodes":["n2189015741","n2189015744","n2189015747","n2189015750","n2189015753","n2189015756","n2189015759","n2189015760","n2189015764","n2189015766","n2189015770","n2189015771","n2189015774","n2189015778","n2189015781","n2189015785","n2189015789","n2189015793","n2189015796","n2189015800","n2189015804","n2189015808","n2189015741"]},"w208627212":{"id":"w208627212","tags":{"highway":"service"},"nodes":["n2189015691","n2189015696","n2189015722","n2189015725"]},"w209717057":{"id":"w209717057","tags":{"area":"yes","building":"yes"},"nodes":["n2199109876","n2199109878","n2199109880","n2199109882","n2199109876"]},"w209717056":{"id":"w209717056","tags":{"area":"yes","building":"yes"},"nodes":["n2199109865","n2199109867","n2199109869","n2199109871","n2199109865"]},"w208627231":{"id":"w208627231","tags":{"area":"yes","building":"yes"},"nodes":["n2189015909","n2189015926","n2189015929","n2189015932","n2189015909"]},"w170848326":{"id":"w170848326","tags":{"building":"yes"},"nodes":["n1819848881","n1819849050","n1819848978","n1819849088","n1819848900","n1819848947","n1819849039","n1819849044","n1819848881"]},"w17963182":{"id":"w17963182","tags":{"highway":"service"},"nodes":["n185949763","n185949765","n2189015691","n185949745"]},"w201484340":{"id":"w201484340","tags":{"railway":"rail","service":"siding"},"nodes":["n2114807565","n2114807564","n2114807547","n2114807587","n2114807558","n2114807549","n2114807593"]},"w209717058":{"id":"w209717058","tags":{"area":"yes","building":"yes"},"nodes":["n2199109884","n2199109886","n2199109888","n2199109889","n2199109890","n2199109891","n2199109884"]},"n185954650":{"id":"n185954650","loc":[-85.627331,41.957439]},"n185966949":{"id":"n185966949","loc":[-85.626868,41.957314]},"n185989335":{"id":"n185989335","loc":[-85.62529,41.958568]},"n185989337":{"id":"n185989337","loc":[-85.624962,41.958453]},"n185989339":{"id":"n185989339","loc":[-85.624832,41.958399]},"n185989340":{"id":"n185989340","loc":[-85.624707,41.958325]},"n185989342":{"id":"n185989342","loc":[-85.624636,41.958251]},"n185989345":{"id":"n185989345","loc":[-85.624578,41.95818]},"n185989347":{"id":"n185989347","loc":[-85.624533,41.958099]},"n185989349":{"id":"n185989349","loc":[-85.624507,41.957985]},"n185989351":{"id":"n185989351","loc":[-85.624495,41.957807]},"n185989353":{"id":"n185989353","loc":[-85.624514,41.957663]},"n185989354":{"id":"n185989354","loc":[-85.624577,41.957593]},"n185989356":{"id":"n185989356","loc":[-85.624685,41.95754]},"n185989357":{"id":"n185989357","loc":[-85.624802,41.957523]},"n185989359":{"id":"n185989359","loc":[-85.624996,41.957524]},"n185989361":{"id":"n185989361","loc":[-85.625409,41.957515]},"n185989364":{"id":"n185989364","loc":[-85.625634,41.957496]},"n185989367":{"id":"n185989367","loc":[-85.625832,41.957453]},"n185989368":{"id":"n185989368","loc":[-85.626044,41.957394]},"n354031352":{"id":"n354031352","loc":[-85.6252778,41.9586111],"tags":{"amenity":"place_of_worship","denomination":"baptist","name":"First Baptist Church","religion":"christian"}},"n2199109892":{"id":"n2199109892","loc":[-85.6261578,41.9589963]},"n2199109893":{"id":"n2199109893","loc":[-85.6263191,41.9586865]},"n2199109894":{"id":"n2199109894","loc":[-85.6261186,41.9586288]},"n2199109895":{"id":"n2199109895","loc":[-85.6260644,41.9587329]},"n2199109896":{"id":"n2199109896","loc":[-85.6261547,41.9587589]},"n2199109898":{"id":"n2199109898","loc":[-85.6260476,41.9589646]},"n185966951":{"id":"n185966951","loc":[-85.628404,41.957438]},"w17965351":{"id":"w17965351","tags":{"highway":"residential","name":"Flower Street"},"nodes":["n185966948","n185966949","n185954650","n185966951","n185966953","n185966955","n185966957"]},"w17967809":{"id":"w17967809","tags":{"highway":"residential","name":"Azaleamum Drive"},"nodes":["n185982197","n185989335","n185989337","n185989339","n185989340","n185989342","n185989345","n185989347","n185989349","n185989351","n185989353","n185989354","n185989356","n185989357","n185989359","n185989361","n185989364","n185989367","n185989368","n185982196"]},"w209717059":{"id":"w209717059","tags":{"area":"yes","building":"yes"},"nodes":["n2199109892","n2199109893","n2199109894","n2199109895","n2199109896","n2199109898","n2199109892"]},"n185961390":{"id":"n185961390","loc":[-85.63137,41.959033]},"n185961393":{"id":"n185961393","loc":[-85.634315,41.959017]},"w17966214":{"id":"w17966214","tags":{"highway":"residential","name":"East Adams Street"},"nodes":["n185975351","n185967434","n185968108"]},"w17964793":{"id":"w17964793","tags":{"highway":"residential","name":"Morris Ave"},"nodes":["n185961389","n185961390","n185961391","n185961393","n185961396"]},"n185952166":{"id":"n185952166","loc":[-85.638174,41.95831]},"n2114807552":{"id":"n2114807552","loc":[-85.6383526,41.9593788]},"n2114807591":{"id":"n2114807591","loc":[-85.6383741,41.9593968]},"n2189015731":{"id":"n2189015731","loc":[-85.6368404,41.9592785]},"n2189015734":{"id":"n2189015734","loc":[-85.6368404,41.9585918]},"n2189015737":{"id":"n2189015737","loc":[-85.6376009,41.9585918]},"n2189015738":{"id":"n2189015738","loc":[-85.6376009,41.9592785]},"n2189015897":{"id":"n2189015897","loc":[-85.6376839,41.9566137]},"n2189015900":{"id":"n2189015900","loc":[-85.6376831,41.9564865]},"n2189015903":{"id":"n2189015903","loc":[-85.6381161,41.9564851]},"n2189015906":{"id":"n2189015906","loc":[-85.6381168,41.9566122]},"n2189015937":{"id":"n2189015937","loc":[-85.6364789,41.9590634]},"n2189015940":{"id":"n2189015940","loc":[-85.6361137,41.9590672]},"n2189015943":{"id":"n2189015943","loc":[-85.6361169,41.9594033]},"n2189015945":{"id":"n2189015945","loc":[-85.6363456,41.9594021]},"n2189015952":{"id":"n2189015952","loc":[-85.636112,41.958892]},"n2189015955":{"id":"n2189015955","loc":[-85.6364757,41.9588894]},"n2189015957":{"id":"n2189015957","loc":[-85.6364729,41.9586747]},"n2189015958":{"id":"n2189015958","loc":[-85.6361103,41.9586765]},"n2189015959":{"id":"n2189015959","loc":[-85.6364719,41.9585562]},"n2189015960":{"id":"n2189015960","loc":[-85.6361093,41.958558]},"n2189015961":{"id":"n2189015961","loc":[-85.6355494,41.9586403]},"n2189015962":{"id":"n2189015962","loc":[-85.635549,41.9584711]},"n2189015963":{"id":"n2189015963","loc":[-85.6351831,41.9584715]},"n2189015964":{"id":"n2189015964","loc":[-85.6351834,41.9586408]},"n2189015966":{"id":"n2189015966","loc":[-85.6359579,41.9586359]},"n2189015968":{"id":"n2189015968","loc":[-85.6359561,41.9585465]},"n2189015971":{"id":"n2189015971","loc":[-85.6355476,41.9585509]},"n2189015974":{"id":"n2189015974","loc":[-85.6359516,41.9592934]},"n2189015977":{"id":"n2189015977","loc":[-85.635949,41.9586697]},"n2189015980":{"id":"n2189015980","loc":[-85.6351329,41.9586716]},"n2189015983":{"id":"n2189015983","loc":[-85.6351318,41.9583949]},"n2189015986":{"id":"n2189015986","loc":[-85.6349148,41.9583954]},"n2189015989":{"id":"n2189015989","loc":[-85.6349186,41.9592958]},"n2189015995":{"id":"n2189015995","loc":[-85.6360173,41.9593286]},"n2189015998":{"id":"n2189015998","loc":[-85.6360278,41.9583079]},"n2114807550":{"id":"n2114807550","loc":[-85.6383392,41.9595404]},"n2114807551":{"id":"n2114807551","loc":[-85.6375855,41.9616107]},"n2114807559":{"id":"n2114807559","loc":[-85.6373978,41.9621273]},"n2114807562":{"id":"n2114807562","loc":[-85.6373361,41.9622609]},"n2114807563":{"id":"n2114807563","loc":[-85.6376472,41.9613953]},"n2114807574":{"id":"n2114807574","loc":[-85.636974,41.9627695]},"n2114807589":{"id":"n2114807589","loc":[-85.6383017,41.9595005]},"n2114807592":{"id":"n2114807592","loc":[-85.6377169,41.9613494]},"n2114807595":{"id":"n2114807595","loc":[-85.6371081,41.962574]},"n2189015934":{"id":"n2189015934","loc":[-85.6364855,41.9595098]},"n2189015949":{"id":"n2189015949","loc":[-85.6363466,41.9595105]},"w208627244":{"id":"w208627244","tags":{"highway":"service"},"nodes":["n2189015992","n2189015995","n2189015998"]},"w208627240":{"id":"w208627240","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015971","n2189015962","n2189015963","n2189015964","n2189015961"]},"w17967437":{"id":"w17967437","tags":{"highway":"residential","name":"Lyman St"},"nodes":["n185964361","n185984024"]},"w208627237":{"id":"w208627237","tags":{"area":"yes","building":"yes"},"nodes":["n2189015955","n2189015957","n2189015958","n2189015952","n2189015955"]},"w17967465":{"id":"w17967465","tags":{"highway":"residential","name":"W Adams St"},"nodes":["n185978394","n185984022","n185964360"]},"w208627228":{"id":"w208627228","tags":{"area":"yes","building":"yes"},"nodes":["n2189015897","n2189015900","n2189015903","n2189015906","n2189015897"]},"w201484351":{"id":"w201484351","tags":{"railway":"rail","service":"siding"},"nodes":["n2114807587","n2114807574","n2114807595","n2114807562","n2114807559","n2114807551","n2114807563","n2114807589","n2114807552"]},"w208627239":{"id":"w208627239","tags":{"area":"yes","building":"yes"},"nodes":["n2189015957","n2189015959","n2189015960","n2189015958","n2189015957"]},"w208627233":{"id":"w208627233","tags":{"area":"yes","building":"yes"},"nodes":["n2189015934","n2189015937","n2189015940","n2189015943","n2189015945","n2189015949","n2189015934"]},"w208627241":{"id":"w208627241","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015966","n2189015968","n2189015971","n2189015961"]},"w17967970":{"id":"w17967970","tags":{"highway":"residential","name":"Adams St"},"nodes":["n185975351","n185978394"]},"w208627235":{"id":"w208627235","tags":{"area":"yes","building":"yes"},"nodes":["n2189015940","n2189015952","n2189015955","n2189015937","n2189015940"]},"w17965468":{"id":"w17965468","tags":{"highway":"residential","name":"Armstrong Blvd"},"nodes":["n185967917","n2189015998","n185967918","n185964362","n185952166"]},"w201484346":{"id":"w201484346","tags":{"railway":"rail","service":"siding"},"nodes":["n2114807551","n2114807592","n2114807550","n2114807591"]},"w208627242":{"id":"w208627242","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015974","n2189015977","n2189015980","n2189015983","n2189015986","n2189015989","n2189015974"]},"w208627216":{"id":"w208627216","tags":{"area":"yes","building":"yes"},"nodes":["n2189015731","n2189015734","n2189015737","n2189015738","n2189015731"]},"n185984309":{"id":"n185984309","loc":[-85.631421,41.961494]},"n185987987":{"id":"n185987987","loc":[-85.631456,41.960673]},"n185965397":{"id":"n185965397","loc":[-85.634603,41.959838]},"w17965196":{"id":"w17965196","tags":{"highway":"residential","name":"Burke Ave"},"nodes":["n185965395","n185965397","n185965399"]},"w17967215":{"id":"w17967215","tags":{"highway":"residential","name":"Kellogg Ave"},"nodes":["n185968114","n185984309","n185967440","n185978402"]},"w17967597":{"id":"w17967597","tags":{"highway":"residential","name":"Barnard Ave"},"nodes":["n185968112","n185987987","n185967438","n185978399"]},"n394490857":{"id":"n394490857","loc":[-85.633952,41.960664]},"n394490858":{"id":"n394490858","loc":[-85.633938,41.960227]},"n394490859":{"id":"n394490859","loc":[-85.634794,41.960212]},"n394490860":{"id":"n394490860","loc":[-85.634815,41.960662]},"n394490861":{"id":"n394490861","loc":[-85.634103,41.961268]},"n394490862":{"id":"n394490862","loc":[-85.634103,41.961001]},"n394490863":{"id":"n394490863","loc":[-85.634504,41.961003]},"n394490864":{"id":"n394490864","loc":[-85.634561,41.961269]},"n1057629869":{"id":"n1057629869","loc":[-85.6382599,41.9612134]},"n1057629937":{"id":"n1057629937","loc":[-85.6380035,41.9616137]},"n2189016014":{"id":"n2189016014","loc":[-85.6360365,41.9626496]},"n2189016017":{"id":"n2189016017","loc":[-85.6360374,41.9623228]},"n2189016020":{"id":"n2189016020","loc":[-85.6367557,41.9623239]},"n2189016022":{"id":"n2189016022","loc":[-85.6367566,41.9619919]},"n2189016025":{"id":"n2189016025","loc":[-85.6351794,41.9619893]},"n2189016028":{"id":"n2189016028","loc":[-85.6351788,41.9622011]},"n2189016031":{"id":"n2189016031","loc":[-85.6350855,41.9622009]},"n2189016034":{"id":"n2189016034","loc":[-85.6350845,41.962527]},"n2189016037":{"id":"n2189016037","loc":[-85.6352732,41.9625273]},"n2189016039":{"id":"n2189016039","loc":[-85.6352738,41.9623178]},"n2189016042":{"id":"n2189016042","loc":[-85.6357712,41.9623186]},"n2189016044":{"id":"n2189016044","loc":[-85.6357702,41.9626492]},"n1057629880":{"id":"n1057629880","loc":[-85.638817,41.9619017]},"n1057629923":{"id":"n1057629923","loc":[-85.6390733,41.9615014]},"w91092312":{"id":"w91092312","tags":{"power":"station"},"nodes":["n1057629923","n1057629869","n1057629937","n1057629880","n1057629923"]},"w34369826":{"id":"w34369826","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394490861","n394490862","n394490863","n394490864","n394490861"]},"w34369825":{"id":"w34369825","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394490857","n394490858","n394490859","n394490860","n394490857"]},"w208627248":{"id":"w208627248","tags":{"area":"yes","building":"yes"},"nodes":["n2189016014","n2189016017","n2189016020","n2189016022","n2189016025","n2189016028","n2189016031","n2189016034","n2189016037","n2189016039","n2189016042","n2189016044","n2189016014"]},"n394490766":{"id":"n394490766","loc":[-85.616777,41.955642]},"n394490768":{"id":"n394490768","loc":[-85.617239,41.955644]},"n394490792":{"id":"n394490792","loc":[-85.619034,41.95543]},"n185972055":{"id":"n185972055","loc":[-85.6185905,41.9568211]},"n185972057":{"id":"n185972057","loc":[-85.6186688,41.9570086]},"n185972059":{"id":"n185972059","loc":[-85.6186924,41.9581453]},"n185972060":{"id":"n185972060","loc":[-85.6187082,41.9588211],"tags":{"highway":"turning_circle"}},"n1819790724":{"id":"n1819790724","loc":[-85.6182155,41.9555703]},"n1819790735":{"id":"n1819790735","loc":[-85.6184059,41.9566188]},"n1819790799":{"id":"n1819790799","loc":[-85.6182372,41.9563771]},"n1819790896":{"id":"n1819790896","loc":[-85.6181431,41.9557227]},"n185971405":{"id":"n185971405","loc":[-85.6186766,41.9577468]},"n185971565":{"id":"n185971565","loc":[-85.6181613,41.9560879]},"n185967985":{"id":"n185967985","loc":[-85.6186798,41.9585791]},"n185955753":{"id":"n185955753","loc":[-85.620773,41.9555854]},"n185955755":{"id":"n185955755","loc":[-85.6212652,41.9559891]},"n185955748":{"id":"n185955748","loc":[-85.620722,41.954858]},"n185955751":{"id":"n185955751","loc":[-85.6206912,41.955367]},"n185967987":{"id":"n185967987","loc":[-85.6159351,41.9585809]},"n185971407":{"id":"n185971407","loc":[-85.6159142,41.9577578]},"n185971570":{"id":"n185971570","loc":[-85.6162248,41.95603]},"n185971572":{"id":"n185971572","loc":[-85.6160402,41.9560749]},"n185971574":{"id":"n185971574","loc":[-85.61593,41.956201]},"n185981301":{"id":"n185981301","loc":[-85.6158973,41.9581601]},"n394490762":{"id":"n394490762","loc":[-85.617193,41.954706]},"n394490764":{"id":"n394490764","loc":[-85.616773,41.954737]},"n394490787":{"id":"n394490787","loc":[-85.618972,41.954737]},"n394490790":{"id":"n394490790","loc":[-85.619046,41.954929]},"n394490794":{"id":"n394490794","loc":[-85.619922,41.955296]},"n394490796":{"id":"n394490796","loc":[-85.61991,41.95501]},"n394490798":{"id":"n394490798","loc":[-85.619974,41.954751]},"n1819790677":{"id":"n1819790677","loc":[-85.6187031,41.9550522]},"n1819790787":{"id":"n1819790787","loc":[-85.6186436,41.9552022]},"n1819790828":{"id":"n1819790828","loc":[-85.6185127,41.9553393]},"w17966857":{"id":"w17966857","tags":{"access":"private","highway":"service","name":"Sable River Rd"},"nodes":["n185972059","n185981301"]},"w34369814":{"id":"w34369814","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394490787","n394490790","n394490792","n394490794","n394490796","n394490798","n394490787"]},"w17964176":{"id":"w17964176","tags":{"highway":"residential"},"nodes":["n185955747","n185955748","n185955751","n185955753","n185955755"]},"w17965838":{"id":"w17965838","tags":{"access":"private","highway":"service","name":"Pine River Rd"},"nodes":["n185971405","n185971407"]},"w17965476":{"id":"w17965476","tags":{"access":"private","highway":"service","name":"Raisin River Rd"},"nodes":["n185967985","n185967987"]},"w17965913":{"id":"w17965913","tags":{"access":"private","highway":"service","name":"Shiawassee River Rd"},"nodes":["n185972054","n1819790677","n1819790787","n1819790828","n1819790724","n1819790896","n185971565","n1819790799","n1819790735","n185972055","n185972057","n185971405","n185972059","n185967985","n185972060"]},"w34369811":{"id":"w34369811","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394490762","n394490764","n394490766","n394490768","n394490762"]},"w17965854":{"id":"w17965854","tags":{"access":"private","highway":"service","name":"Sturgeon River Rd"},"nodes":["n185971565","n185971570","n185971572","n185971574"]},"n2139795769":{"id":"n2139795769","loc":[-85.6250804,41.9608796]},"n2139795770":{"id":"n2139795770","loc":[-85.6250315,41.9613684]},"n2139795771":{"id":"n2139795771","loc":[-85.6249671,41.9614362]},"n2139795772":{"id":"n2139795772","loc":[-85.6249698,41.961522]},"n2139795773":{"id":"n2139795773","loc":[-85.6250798,41.9615838]},"n2139795774":{"id":"n2139795774","loc":[-85.6252273,41.9615639]},"n2139795775":{"id":"n2139795775","loc":[-85.6252863,41.9614622]},"n2139795776":{"id":"n2139795776","loc":[-85.6252273,41.9613764]},"n2139795777":{"id":"n2139795777","loc":[-85.6251227,41.9613525]},"n2139795778":{"id":"n2139795778","loc":[-85.6249564,41.9612527]},"n2139795779":{"id":"n2139795779","loc":[-85.6249846,41.9610254]},"n2139795780":{"id":"n2139795780","loc":[-85.6266725,41.9599647]},"n2139795781":{"id":"n2139795781","loc":[-85.6259162,41.9599711]},"n2139795782":{"id":"n2139795782","loc":[-85.6257185,41.960019]},"n2139795783":{"id":"n2139795783","loc":[-85.6255509,41.9601213]},"n185963539":{"id":"n185963539","loc":[-85.615718,41.983893]},"n185964418":{"id":"n185964418","loc":[-85.616626,42.049512]},"n185966614":{"id":"n185966614","loc":[-85.615514,41.976603]},"n185966635":{"id":"n185966635","loc":[-85.616118,42.013017]},"n185969040":{"id":"n185969040","loc":[-85.615632,41.972357]},"n185969070":{"id":"n185969070","loc":[-85.619145,41.967648]},"n185972156":{"id":"n185972156","loc":[-85.621894,41.963956]},"n185972157":{"id":"n185972157","loc":[-85.621806,41.964077]},"n185972158":{"id":"n185972158","loc":[-85.620848,41.965341]},"n185972159":{"id":"n185972159","loc":[-85.620684,41.965558]},"n185972160":{"id":"n185972160","loc":[-85.620621,41.965658]},"n185972161":{"id":"n185972161","loc":[-85.617844,41.969359]},"n185972162":{"id":"n185972162","loc":[-85.616843,41.97068]},"n185972164":{"id":"n185972164","loc":[-85.616714,41.970839]},"n185972166":{"id":"n185972166","loc":[-85.615879,41.971969]},"n185972168":{"id":"n185972168","loc":[-85.615748,41.972159]},"n185972170":{"id":"n185972170","loc":[-85.615589,41.972502]},"n185972172":{"id":"n185972172","loc":[-85.615542,41.972733]},"n185972175":{"id":"n185972175","loc":[-85.615524,41.972947]},"n185972177":{"id":"n185972177","loc":[-85.615512,41.973715]},"n185972179":{"id":"n185972179","loc":[-85.615513,41.976496]},"n185972180":{"id":"n185972180","loc":[-85.615538,41.977246]},"n185972181":{"id":"n185972181","loc":[-85.61558,41.982139]},"n185972184":{"id":"n185972184","loc":[-85.61557,41.983317]},"n185972186":{"id":"n185972186","loc":[-85.615591,41.983463]},"n185972188":{"id":"n185972188","loc":[-85.615763,41.984146]},"n185972190":{"id":"n185972190","loc":[-85.615814,41.98435]},"n185972192":{"id":"n185972192","loc":[-85.615965,41.998453]},"n185972194":{"id":"n185972194","loc":[-85.615982,42.001237]},"n185972195":{"id":"n185972195","loc":[-85.616055,42.00555]},"n185972197":{"id":"n185972197","loc":[-85.616134,42.014887]},"n185972199":{"id":"n185972199","loc":[-85.616177,42.018465]},"n185972201":{"id":"n185972201","loc":[-85.616298,42.027627]},"n185972203":{"id":"n185972203","loc":[-85.616513,42.042212]},"w203968015":{"id":"w203968015","tags":{"highway":"residential"},"nodes":["n2139795768","n2139795769"]},"w17965932":{"id":"w17965932","tags":{"highway":"residential","name":"Buckhorn Road","name_1":"County Highway 122"},"nodes":["n185972155","n185972156","n185972157","n185972158","n185972159","n185972160","n185969070","n185972161","n185972162","n185972164","n185972166","n185972168","n185969040","n185972170","n185972172","n185972175","n185972177","n185972179","n185966614","n185972180","n185972181","n185972184","n185972186","n185963539","n185972188","n185972190","n185972192","n185972194","n185972195","n185966635","n185972197","n185972199","n185972201","n185972203","n185964418"]},"w203968016":{"id":"w203968016","tags":{"highway":"residential","name":"New Jersey Court"},"nodes":["n2139795770","n2139795771","n2139795772","n2139795773","n2139795774","n2139795775","n2139795776","n2139795777","n2139795770","n2139795778","n2139795779","n2139795769"]},"w203968017":{"id":"w203968017","tags":{"highway":"residential","name":"Oklahoma Drive"},"nodes":["n2139795780","n2139795781","n2139795782","n2139795783","n2139795769"]},"n1819790528":{"id":"n1819790528","loc":[-85.6184827,41.960025]},"n1819790530":{"id":"n1819790530","loc":[-85.6168626,41.9605834]},"n1819790534":{"id":"n1819790534","loc":[-85.6197379,41.9617163]},"n1819790541":{"id":"n1819790541","loc":[-85.6198881,41.9620833]},"n1819790543":{"id":"n1819790543","loc":[-85.619695,41.9619397]},"n1819790547":{"id":"n1819790547","loc":[-85.6190298,41.9609504]},"n1819790555":{"id":"n1819790555","loc":[-85.6180471,41.9609788]},"n1819790559":{"id":"n1819790559","loc":[-85.6203817,41.9605436]},"n1819790583":{"id":"n1819790583","loc":[-85.6201564,41.9603282]},"n1819790590":{"id":"n1819790590","loc":[-85.617045,41.9598894]},"n1819790609":{"id":"n1819790609","loc":[-85.6177638,41.9598495]},"n1819790618":{"id":"n1819790618","loc":[-85.6195234,41.9610143]},"n1819790642":{"id":"n1819790642","loc":[-85.6181179,41.9627933]},"n1819790659":{"id":"n1819790659","loc":[-85.6174634,41.962897]},"n1819790665":{"id":"n1819790665","loc":[-85.6170343,41.9630885]},"n1819790674":{"id":"n1819790674","loc":[-85.6194697,41.9601925]},"n1819790685":{"id":"n1819790685","loc":[-85.6207722,41.9610665]},"n1819790687":{"id":"n1819790687","loc":[-85.6202315,41.9622109]},"n1819790697":{"id":"n1819790697","loc":[-85.6184505,41.9624662]},"n1819790726":{"id":"n1819790726","loc":[-85.6178926,41.9628492]},"n1819790738":{"id":"n1819790738","loc":[-85.6173347,41.9598016]},"n1819790762":{"id":"n1819790762","loc":[-85.6186221,41.9609105]},"n1819790774":{"id":"n1819790774","loc":[-85.6175922,41.9608308]},"n1819790781":{"id":"n1819790781","loc":[-85.6167768,41.9633198]},"n1819790796":{"id":"n1819790796","loc":[-85.619856,41.961461]},"n1819790811":{"id":"n1819790811","loc":[-85.6208215,41.9620195]},"n1819790833":{"id":"n1819790833","loc":[-85.618311,41.9612536]},"n1819790854":{"id":"n1819790854","loc":[-85.6183646,41.9626417]},"n1819790863":{"id":"n1819790863","loc":[-85.6204997,41.9608547]},"n1819790867":{"id":"n1819790867","loc":[-85.6184934,41.9621391]},"n1819790877":{"id":"n1819790877","loc":[-85.6206928,41.9621152]},"n1819790881":{"id":"n1819790881","loc":[-85.6170879,41.960735]},"n1819790891":{"id":"n1819790891","loc":[-85.6168304,41.9601207]},"n1819790898":{"id":"n1819790898","loc":[-85.619813,41.9612297]},"n1819790909":{"id":"n1819790909","loc":[-85.6167982,41.960376]},"n1819790912":{"id":"n1819790912","loc":[-85.6205855,41.9610462]},"n1819790544":{"id":"n1819790544","loc":[-85.612968,41.9707781]},"n1819790549":{"id":"n1819790549","loc":[-85.614395,41.9697172]},"n1819790552":{"id":"n1819790552","loc":[-85.6180535,41.9655536]},"n1819790554":{"id":"n1819790554","loc":[-85.6111227,41.9703713]},"n1819790560":{"id":"n1819790560","loc":[-85.6112729,41.9701958]},"n1819790563":{"id":"n1819790563","loc":[-85.6137512,41.9689917]},"n1819790564":{"id":"n1819790564","loc":[-85.6181072,41.9659205]},"n1819790595":{"id":"n1819790595","loc":[-85.6170021,41.9666863]},"n1819790605":{"id":"n1819790605","loc":[-85.6168948,41.9644527]},"n1819790606":{"id":"n1819790606","loc":[-85.6128071,41.9701081]},"n1819790607":{"id":"n1819790607","loc":[-85.6129251,41.9704032]},"n1819790612":{"id":"n1819790612","loc":[-85.6177638,41.9663912]},"n1819790615":{"id":"n1819790615","loc":[-85.6152533,41.9670373]},"n1819790622":{"id":"n1819790622","loc":[-85.6146739,41.9673804]},"n1819790623":{"id":"n1819790623","loc":[-85.6180428,41.9661838]},"n1819790625":{"id":"n1819790625","loc":[-85.6172918,41.9646202]},"n1819790645":{"id":"n1819790645","loc":[-85.6178067,41.965043]},"n1819790647":{"id":"n1819790647","loc":[-85.6143306,41.9712488]},"n1819790649":{"id":"n1819790649","loc":[-85.6147383,41.9707702]},"n1819790654":{"id":"n1819790654","loc":[-85.6157361,41.9668459]},"n1819790657":{"id":"n1819790657","loc":[-85.6145666,41.9710733]},"n1819790668":{"id":"n1819790668","loc":[-85.6166909,41.9642692]},"n1819790671":{"id":"n1819790671","loc":[-85.6141482,41.9696538]},"n1819790679":{"id":"n1819790679","loc":[-85.6148349,41.9705388]},"n1819790686":{"id":"n1819790686","loc":[-85.6139551,41.9695501]},"n1819790696":{"id":"n1819790696","loc":[-85.6119703,41.9699087]},"n1819790704":{"id":"n1819790704","loc":[-85.6140731,41.9684174]},"n1819790706":{"id":"n1819790706","loc":[-85.6124745,41.9699246]},"n1819790718":{"id":"n1819790718","loc":[-85.6165407,41.9636868]},"n1819790720":{"id":"n1819790720","loc":[-85.61388,41.9687365]},"n1819790731":{"id":"n1819790731","loc":[-85.6165193,41.9639421]},"n1819790739":{"id":"n1819790739","loc":[-85.6146739,41.9699964]},"n1819790753":{"id":"n1819790753","loc":[-85.6173883,41.9665747]},"n1819790760":{"id":"n1819790760","loc":[-85.6133221,41.9712089]},"n1819790767":{"id":"n1819790767","loc":[-85.6116698,41.9699246]},"n1819790779":{"id":"n1819790779","loc":[-85.6130753,41.9710573]},"n1819790791":{"id":"n1819790791","loc":[-85.6137083,41.9692869]},"n1819790795":{"id":"n1819790795","loc":[-85.6141482,41.9679627]},"n1819790798":{"id":"n1819790798","loc":[-85.6137727,41.9694305]},"n1819790836":{"id":"n1819790836","loc":[-85.6143842,41.9676037]},"n1819790915":{"id":"n1819790915","loc":[-85.6148456,41.9702756]},"n1819790926":{"id":"n1819790926","loc":[-85.6138371,41.9713525]},"n1819790927":{"id":"n1819790927","loc":[-85.6141053,41.9713525]},"n1819790931":{"id":"n1819790931","loc":[-85.6162832,41.966814]},"n1821014625":{"id":"n1821014625","loc":[-85.5960611,41.9808498]},"n1821014627":{"id":"n1821014627","loc":[-85.5565843,42.010982]},"n1821014629":{"id":"n1821014629","loc":[-85.5971541,41.9805808]},"n1821014632":{"id":"n1821014632","loc":[-85.6061837,41.9725907]},"n1821014633":{"id":"n1821014633","loc":[-85.5247773,42.025766]},"n1821014635":{"id":"n1821014635","loc":[-85.5908938,41.9902384]},"n1821014636":{"id":"n1821014636","loc":[-85.5917682,41.9860637]},"n1821014637":{"id":"n1821014637","loc":[-85.5456556,42.0166797]},"n1821014638":{"id":"n1821014638","loc":[-85.5795749,42.0032352]},"n1821014639":{"id":"n1821014639","loc":[-85.6103988,41.9723456]},"n1821014642":{"id":"n1821014642","loc":[-85.5818816,42.0022466]},"n1821014643":{"id":"n1821014643","loc":[-85.5570604,42.0091586]},"n1821014644":{"id":"n1821014644","loc":[-85.5952886,41.9803792]},"n1821014645":{"id":"n1821014645","loc":[-85.5780366,42.0040343]},"n1821014646":{"id":"n1821014646","loc":[-85.6050505,41.9751971]},"n1821014647":{"id":"n1821014647","loc":[-85.5854435,41.9946162]},"n1821014648":{"id":"n1821014648","loc":[-85.5452278,42.0168768]},"n1821014649":{"id":"n1821014649","loc":[-85.6023254,41.9780166]},"n1821014651":{"id":"n1821014651","loc":[-85.5761899,42.0046783]},"n1821014653":{"id":"n1821014653","loc":[-85.5897351,41.9876707]},"n1821014657":{"id":"n1821014657","loc":[-85.5963601,41.9808998]},"n1821014658":{"id":"n1821014658","loc":[-85.5892952,41.9951983]},"n1821014660":{"id":"n1821014660","loc":[-85.5778328,42.0037194]},"n1821014661":{"id":"n1821014661","loc":[-85.5541475,42.0125705]},"n1821014663":{"id":"n1821014663","loc":[-85.5914047,41.9856469]},"n1821014664":{"id":"n1821014664","loc":[-85.6101681,41.9727723]},"n1821014665":{"id":"n1821014665","loc":[-85.5910172,41.9854696]},"n1821014666":{"id":"n1821014666","loc":[-85.5398688,42.0187699]},"n1821014667":{"id":"n1821014667","loc":[-85.5218752,42.0282884]},"n1821014668":{"id":"n1821014668","loc":[-85.5159582,42.0329384]},"n1821014669":{"id":"n1821014669","loc":[-85.5898102,41.9847319]},"n1821014670":{"id":"n1821014670","loc":[-85.5734809,42.0066235]},"n1821014671":{"id":"n1821014671","loc":[-85.5922939,41.980852]},"n1821014672":{"id":"n1821014672","loc":[-85.6023629,41.9781163]},"n1821014674":{"id":"n1821014674","loc":[-85.5409953,42.0191724]},"n1821014676":{"id":"n1821014676","loc":[-85.584435,41.9949909]},"n1821014677":{"id":"n1821014677","loc":[-85.5972399,41.9783835]},"n1821014678":{"id":"n1821014678","loc":[-85.5616738,42.0071337]},"n1821014681":{"id":"n1821014681","loc":[-85.5202994,42.0310755]},"n1821014682":{"id":"n1821014682","loc":[-85.5915912,41.9857767]},"n1821014684":{"id":"n1821014684","loc":[-85.6022288,41.977897]},"n1821014687":{"id":"n1821014687","loc":[-85.5933024,41.9846362]},"n1821014688":{"id":"n1821014688","loc":[-85.5846871,41.9956169]},"n1821014689":{"id":"n1821014689","loc":[-85.5898209,41.99037]},"n1821014691":{"id":"n1821014691","loc":[-85.5448939,42.0149261]},"n1821014692":{"id":"n1821014692","loc":[-85.5977763,41.9786348]},"n1821014694":{"id":"n1821014694","loc":[-85.5767706,42.0034523]},"n1821014695":{"id":"n1821014695","loc":[-85.6103559,41.9726766]},"n1821014697":{"id":"n1821014697","loc":[-85.5922134,41.9809876]},"n1821014698":{"id":"n1821014698","loc":[-85.5935277,41.9831728]},"n1821014700":{"id":"n1821014700","loc":[-85.5674674,42.0078273]},"n1821014703":{"id":"n1821014703","loc":[-85.6021,41.9778053]},"n1821014704":{"id":"n1821014704","loc":[-85.5756763,42.0053737]},"n1821014705":{"id":"n1821014705","loc":[-85.5887695,41.9895207]},"n1821014707":{"id":"n1821014707","loc":[-85.6061073,41.9746866]},"n1821014708":{"id":"n1821014708","loc":[-85.6033446,41.9751692]},"n1821014710":{"id":"n1821014710","loc":[-85.5180986,42.0322332]},"n1821014711":{"id":"n1821014711","loc":[-85.543365,42.0163569]},"n1821014712":{"id":"n1821014712","loc":[-85.6030656,41.9753646]},"n1821014713":{"id":"n1821014713","loc":[-85.6104417,41.9704792]},"n1821014714":{"id":"n1821014714","loc":[-85.5205716,42.030998]},"n1821014716":{"id":"n1821014716","loc":[-85.516382,42.032536]},"n1821014717":{"id":"n1821014717","loc":[-85.5932863,41.9820882]},"n1821014718":{"id":"n1821014718","loc":[-85.5361928,42.0194974]},"n1821014720":{"id":"n1821014720","loc":[-85.6011613,41.9773586]},"n1821014721":{"id":"n1821014721","loc":[-85.554287,42.0109124]},"n1821014722":{"id":"n1821014722","loc":[-85.5577524,42.0103425]},"n1821014725":{"id":"n1821014725","loc":[-85.5867256,41.9921004]},"n1821014726":{"id":"n1821014726","loc":[-85.5856045,41.9968807]},"n1821014727":{"id":"n1821014727","loc":[-85.5545445,42.0106454]},"n1821014728":{"id":"n1821014728","loc":[-85.5923797,41.9842534]},"n1821014729":{"id":"n1821014729","loc":[-85.5696346,42.0081462]},"n1821014730":{"id":"n1821014730","loc":[-85.5998322,41.9786884]},"n1821014735":{"id":"n1821014735","loc":[-85.5337426,42.0218266]},"n1821014736":{"id":"n1821014736","loc":[-85.5847944,41.994672]},"n1821014740":{"id":"n1821014740","loc":[-85.5315271,42.0238669]},"n1821014741":{"id":"n1821014741","loc":[-85.5248846,42.027085]},"n1821014742":{"id":"n1821014742","loc":[-85.5853376,41.997018]},"n1821014743":{"id":"n1821014743","loc":[-85.5894883,41.988811]},"n1821014745":{"id":"n1821014745","loc":[-85.6095311,41.9726226]},"n1821014746":{"id":"n1821014746","loc":[-85.5531511,42.0133416]},"n1821014747":{"id":"n1821014747","loc":[-85.5735882,42.007058]},"n1821014749":{"id":"n1821014749","loc":[-85.5428554,42.0164366]},"n1821014751":{"id":"n1821014751","loc":[-85.5395255,42.0186304]},"n1821014752":{"id":"n1821014752","loc":[-85.571378,42.0083176]},"n1821014754":{"id":"n1821014754","loc":[-85.5541918,42.0113925]},"n1821014755":{"id":"n1821014755","loc":[-85.5278029,42.0250806]},"n1821014756":{"id":"n1821014756","loc":[-85.5936725,41.9827102]},"n1821014757":{"id":"n1821014757","loc":[-85.5176266,42.0346677]},"n1821014758":{"id":"n1821014758","loc":[-85.6096692,41.9714245]},"n1821014759":{"id":"n1821014759","loc":[-85.5770321,42.0034266]},"n1821014761":{"id":"n1821014761","loc":[-85.5988921,41.9779369]},"n1821014762":{"id":"n1821014762","loc":[-85.5811788,42.0024499]},"n1821014763":{"id":"n1821014763","loc":[-85.5154003,42.0381101]},"n1821014764":{"id":"n1821014764","loc":[-85.5155827,42.0374089]},"n1821014765":{"id":"n1821014765","loc":[-85.5891249,41.9884978]},"n1821014766":{"id":"n1821014766","loc":[-85.5313863,42.0238293]},"n1821014768":{"id":"n1821014768","loc":[-85.593297,41.9833363]},"n1821014769":{"id":"n1821014769","loc":[-85.5849446,41.9957245]},"n1821014770":{"id":"n1821014770","loc":[-85.5537774,42.0130847]},"n1821014771":{"id":"n1821014771","loc":[-85.6111766,41.9706069]},"n1821014772":{"id":"n1821014772","loc":[-85.5585477,42.008989]},"n1821014774":{"id":"n1821014774","loc":[-85.5928142,41.9852623]},"n1821014777":{"id":"n1821014777","loc":[-85.5891933,41.9882608]},"n1821014778":{"id":"n1821014778","loc":[-85.5926909,41.9817532]},"n1821014779":{"id":"n1821014779","loc":[-85.5260272,42.0252201]},"n1821014781":{"id":"n1821014781","loc":[-85.5894615,41.9950468]},"n1821014782":{"id":"n1821014782","loc":[-85.5461063,42.0143242]},"n1821014783":{"id":"n1821014783","loc":[-85.5711527,42.0085886]},"n1821014784":{"id":"n1821014784","loc":[-85.5329379,42.0218624]},"n1821014786":{"id":"n1821014786","loc":[-85.583047,42.0020252]},"n1821014787":{"id":"n1821014787","loc":[-85.5758962,42.0054095]},"n1821014788":{"id":"n1821014788","loc":[-85.5626354,42.0077733]},"n1821014789":{"id":"n1821014789","loc":[-85.6029852,41.9755999]},"n1821014790":{"id":"n1821014790","loc":[-85.5892362,41.9886755]},"n1821014791":{"id":"n1821014791","loc":[-85.5157597,42.0372017]},"n1821014793":{"id":"n1821014793","loc":[-85.6054582,41.9751094]},"n1821014794":{"id":"n1821014794","loc":[-85.5986936,41.9778412]},"n1821014795":{"id":"n1821014795","loc":[-85.5880775,41.98976]},"n1821014796":{"id":"n1821014796","loc":[-85.5858727,41.9963624]},"n1821014798":{"id":"n1821014798","loc":[-85.5792543,42.0035958]},"n1821014799":{"id":"n1821014799","loc":[-85.5921665,41.9838326]},"n1821014801":{"id":"n1821014801","loc":[-85.599214,41.9782599]},"n1821014802":{"id":"n1821014802","loc":[-85.5571905,42.0090967]},"n1821014803":{"id":"n1821014803","loc":[-85.5426891,42.0173612]},"n1821014804":{"id":"n1821014804","loc":[-85.5889626,41.9896404]},"n1821014805":{"id":"n1821014805","loc":[-85.5491264,42.0141648]},"n1821014806":{"id":"n1821014806","loc":[-85.5618897,42.0072631]},"n1821014808":{"id":"n1821014808","loc":[-85.5573501,42.0109802]},"n1821014809":{"id":"n1821014809","loc":[-85.5983463,41.9778031]},"n1821014810":{"id":"n1821014810","loc":[-85.5885173,41.9895128]},"n1821014811":{"id":"n1821014811","loc":[-85.6084998,41.9721143]},"n1821014812":{"id":"n1821014812","loc":[-85.5737598,42.0056389]},"n1821014814":{"id":"n1821014814","loc":[-85.5542173,42.0118132]},"n1821014816":{"id":"n1821014816","loc":[-85.5277868,42.024451]},"n1821014817":{"id":"n1821014817","loc":[-85.5403999,42.0191724]},"n1821014819":{"id":"n1821014819","loc":[-85.5983879,41.9791452]},"n1821014820":{"id":"n1821014820","loc":[-85.5891302,41.9897578]},"n1821014822":{"id":"n1821014822","loc":[-85.5930731,41.9805108]},"n1821014824":{"id":"n1821014824","loc":[-85.515395,42.0378471]},"n1821014825":{"id":"n1821014825","loc":[-85.5352755,42.0205136]},"n1821014826":{"id":"n1821014826","loc":[-85.5502744,42.0133398]},"n1821014828":{"id":"n1821014828","loc":[-85.5701295,42.0088256]},"n1821014830":{"id":"n1821014830","loc":[-85.5888929,41.9953099]},"n1821014832":{"id":"n1821014832","loc":[-85.5880077,41.9901547]},"n1821014833":{"id":"n1821014833","loc":[-85.5451192,42.0157072]},"n1821014834":{"id":"n1821014834","loc":[-85.6096478,41.9711932]},"n1821014835":{"id":"n1821014835","loc":[-85.5806424,42.0026532]},"n1821014836":{"id":"n1821014836","loc":[-85.5911674,41.9868732]},"n1821014838":{"id":"n1821014838","loc":[-85.5930302,41.9836571]},"n1821014839":{"id":"n1821014839","loc":[-85.588925,41.9938148]},"n1821014840":{"id":"n1821014840","loc":[-85.6111874,41.9705311]},"n1821014841":{"id":"n1821014841","loc":[-85.5680843,42.0075842]},"n1821014842":{"id":"n1821014842","loc":[-85.6012793,41.9775062]},"n1821014843":{"id":"n1821014843","loc":[-85.5855562,41.9989777]},"n1821014844":{"id":"n1821014844","loc":[-85.5506137,42.0131662]},"n1821014845":{"id":"n1821014845","loc":[-85.5270049,42.025457]},"n1821014846":{"id":"n1821014846","loc":[-85.5257054,42.025244]},"n1821014847":{"id":"n1821014847","loc":[-85.6011184,41.9771832]},"n1821014848":{"id":"n1821014848","loc":[-85.515534,42.0389234]},"n1821014850":{"id":"n1821014850","loc":[-85.5847032,42.0010347]},"n1821014853":{"id":"n1821014853","loc":[-85.5361499,42.019063]},"n1821014854":{"id":"n1821014854","loc":[-85.5439176,42.0165721]},"n1821014855":{"id":"n1821014855","loc":[-85.5838825,42.0017284]},"n1821014857":{"id":"n1821014857","loc":[-85.5542173,42.0122317]},"n1821014859":{"id":"n1821014859","loc":[-85.5708201,42.0089195]},"n1821014860":{"id":"n1821014860","loc":[-85.5844833,41.9954415]},"n1821014862":{"id":"n1821014862","loc":[-85.5223204,42.0295396]},"n1821014863":{"id":"n1821014863","loc":[-85.5777898,42.0035918]},"n1821014864":{"id":"n1821014864","loc":[-85.591044,41.9898078]},"n1821014865":{"id":"n1821014865","loc":[-85.5973204,41.980182]},"n1821014866":{"id":"n1821014866","loc":[-85.5699578,42.0085825]},"n1821014867":{"id":"n1821014867","loc":[-85.5210598,42.0305278]},"n1821014868":{"id":"n1821014868","loc":[-85.5929108,41.9819008]},"n1821014869":{"id":"n1821014869","loc":[-85.5279799,42.0242995]},"n1821014870":{"id":"n1821014870","loc":[-85.5196114,42.0320539]},"n1821014871":{"id":"n1821014871","loc":[-85.5785449,42.0040883]},"n1821014872":{"id":"n1821014872","loc":[-85.588292,41.9895766]},"n1821014873":{"id":"n1821014873","loc":[-85.5160172,42.0331775]},"n1821014874":{"id":"n1821014874","loc":[-85.5688849,42.0077016]},"n1821014876":{"id":"n1821014876","loc":[-85.5857976,41.9996036]},"n1821014879":{"id":"n1821014879","loc":[-85.5990906,41.9780765]},"n1821014881":{"id":"n1821014881","loc":[-85.5483647,42.0144279]},"n1821014883":{"id":"n1821014883","loc":[-85.5691209,42.0077972]},"n1821014885":{"id":"n1821014885","loc":[-85.6076844,41.9721103]},"n1821014886":{"id":"n1821014886","loc":[-85.6015489,41.9766147]},"n1821014887":{"id":"n1821014887","loc":[-85.574822,42.0052802]},"n1821014888":{"id":"n1821014888","loc":[-85.5880024,41.9899593]},"n1821014890":{"id":"n1821014890","loc":[-85.5909421,41.9893772]},"n1821014892":{"id":"n1821014892","loc":[-85.5497326,42.0138141]},"n1821014893":{"id":"n1821014893","loc":[-85.5167106,42.0357811]},"n1821014895":{"id":"n1821014895","loc":[-85.5844404,41.9952501]},"n1821014896":{"id":"n1821014896","loc":[-85.5362465,42.0192662]},"n1821014898":{"id":"n1821014898","loc":[-85.5906095,41.9889147]},"n1821014899":{"id":"n1821014899","loc":[-85.5590667,42.0089354]},"n1821014900":{"id":"n1821014900","loc":[-85.5921598,41.9844209]},"n1821014902":{"id":"n1821014902","loc":[-85.5778971,42.0039266]},"n1821014903":{"id":"n1821014903","loc":[-85.603012,41.9761981]},"n1821014904":{"id":"n1821014904","loc":[-85.6108977,41.9706787]},"n1821014905":{"id":"n1821014905","loc":[-85.5685738,42.0076139]},"n1821014906":{"id":"n1821014906","loc":[-85.5392787,42.0186304]},"n1821014907":{"id":"n1821014907","loc":[-85.5227885,42.0274972]},"n1821014908":{"id":"n1821014908","loc":[-85.5857547,41.9961431]},"n1821014910":{"id":"n1821014910","loc":[-85.5610354,42.0072812]},"n1821014911":{"id":"n1821014911","loc":[-85.5209632,42.0308705]},"n1821014912":{"id":"n1821014912","loc":[-85.5709757,42.0087959]},"n1821014913":{"id":"n1821014913","loc":[-85.59231,41.9839344]},"n1821014914":{"id":"n1821014914","loc":[-85.5375245,42.0185865]},"n1821014916":{"id":"n1821014916","loc":[-85.5901548,41.9839841]},"n1821014917":{"id":"n1821014917","loc":[-85.5611213,42.0086405]},"n1821014918":{"id":"n1821014918","loc":[-85.5360426,42.0198122]},"n1821014919":{"id":"n1821014919","loc":[-85.5862817,41.9948691]},"n1821014921":{"id":"n1821014921","loc":[-85.5469807,42.0144438]},"n1821014922":{"id":"n1821014922","loc":[-85.5761309,42.0053838]},"n1821014924":{"id":"n1821014924","loc":[-85.516264,42.0332971]},"n1821014925":{"id":"n1821014925","loc":[-85.5277224,42.0246661]},"n1821014926":{"id":"n1821014926","loc":[-85.5980016,41.9798231]},"n1821014928":{"id":"n1821014928","loc":[-85.5924548,41.9806965]},"n1821014930":{"id":"n1821014930","loc":[-85.5899121,41.985023]},"n1821014931":{"id":"n1821014931","loc":[-85.5706015,42.0089492]},"n1821014932":{"id":"n1821014932","loc":[-85.515926,42.033046]},"n1821014933":{"id":"n1821014933","loc":[-85.5982377,41.9796796]},"n1821014936":{"id":"n1821014936","loc":[-85.5475721,42.0145253]},"n1821014938":{"id":"n1821014938","loc":[-85.5895701,41.9902323]},"n1821014939":{"id":"n1821014939","loc":[-85.6030495,41.9759947]},"n1821014942":{"id":"n1821014942","loc":[-85.6094721,41.9724989]},"n1821014944":{"id":"n1821014944","loc":[-85.5921973,41.9811112]},"n1821014945":{"id":"n1821014945","loc":[-85.5223526,42.0291332]},"n1821014946":{"id":"n1821014946","loc":[-85.5965103,41.9808998]},"n1821014948":{"id":"n1821014948","loc":[-85.517766,42.0349227]},"n1821014950":{"id":"n1821014950","loc":[-85.5889894,41.990996]},"n1821014951":{"id":"n1821014951","loc":[-85.5601932,42.0092902]},"n1821014954":{"id":"n1821014954","loc":[-85.6028135,41.9764055]},"n1821014955":{"id":"n1821014955","loc":[-85.5520621,42.0130666]},"n1821014956":{"id":"n1821014956","loc":[-85.593002,41.9839344]},"n1821014957":{"id":"n1821014957","loc":[-85.515926,42.0369666]},"n1821014960":{"id":"n1821014960","loc":[-85.5761255,42.003877]},"n1821014961":{"id":"n1821014961","loc":[-85.5716355,42.007911]},"n1821014962":{"id":"n1821014962","loc":[-85.5575378,42.0109045]},"n1821014963":{"id":"n1821014963","loc":[-85.5735667,42.0068188]},"n1821014964":{"id":"n1821014964","loc":[-85.5915214,41.9865861]},"n1821014965":{"id":"n1821014965","loc":[-85.5866344,41.9923157]},"n1821014967":{"id":"n1821014967","loc":[-85.5283138,42.0242256]},"n1821014968":{"id":"n1821014968","loc":[-85.5177875,42.0355801]},"n1821014969":{"id":"n1821014969","loc":[-85.548071,42.0144934]},"n1821014972":{"id":"n1821014972","loc":[-85.5611159,42.0088557]},"n1821014973":{"id":"n1821014973","loc":[-85.541686,42.0188757]},"n1821014974":{"id":"n1821014974","loc":[-85.5917628,41.9862631]},"n1821014975":{"id":"n1821014975","loc":[-85.5854864,41.9959478]},"n1821014977":{"id":"n1821014977","loc":[-85.609102,41.9722317]},"n1821014980":{"id":"n1821014980","loc":[-85.5761202,42.0042438]},"n1821014982":{"id":"n1821014982","loc":[-85.5465944,42.0143601]},"n1821014983":{"id":"n1821014983","loc":[-85.5173261,42.0342732]},"n1821014984":{"id":"n1821014984","loc":[-85.5897297,41.9888509]},"n1821014985":{"id":"n1821014985","loc":[-85.5856688,41.999181]},"n1821014986":{"id":"n1821014986","loc":[-85.5344011,42.0217251]},"n1821014987":{"id":"n1821014987","loc":[-85.601467,41.9768203]},"n1821014988":{"id":"n1821014988","loc":[-85.5457254,42.0165123]},"n1821014989":{"id":"n1821014989","loc":[-85.6023482,41.9784332]},"n1821014991":{"id":"n1821014991","loc":[-85.5361606,42.01823]},"n1821014992":{"id":"n1821014992","loc":[-85.5178465,42.0351139]},"n1821014995":{"id":"n1821014995","loc":[-85.5634293,42.0078092]},"n1821014996":{"id":"n1821014996","loc":[-85.573497,42.0072015]},"n1821014997":{"id":"n1821014997","loc":[-85.5976328,41.9799725]},"n1821014998":{"id":"n1821014998","loc":[-85.5210651,42.0303166]},"n1821015003":{"id":"n1821015003","loc":[-85.5222131,42.0288064]},"n1821015004":{"id":"n1821015004","loc":[-85.5897941,41.984405]},"n1821015005":{"id":"n1821015005","loc":[-85.5975725,41.9776099]},"n1821015006":{"id":"n1821015006","loc":[-85.5765708,42.0034903]},"n1821015007":{"id":"n1821015007","loc":[-85.5250187,42.026559]},"n1821015009":{"id":"n1821015009","loc":[-85.5426998,42.0166279]},"n1821015010":{"id":"n1821015010","loc":[-85.5957606,41.9806584]},"n1821015011":{"id":"n1821015011","loc":[-85.5262753,42.0252497]},"n1821015012":{"id":"n1821015012","loc":[-85.5266455,42.0253374]},"n1821015014":{"id":"n1821015014","loc":[-85.5515632,42.0130187]},"n1821015015":{"id":"n1821015015","loc":[-85.6024058,41.9765212]},"n1821015017":{"id":"n1821015017","loc":[-85.5175032,42.0357156]},"n1821015018":{"id":"n1821015018","loc":[-85.5302718,42.0236039]},"n1821015019":{"id":"n1821015019","loc":[-85.6024005,41.9782759]},"n1821015020":{"id":"n1821015020","loc":[-85.5907758,41.9890821]},"n1821015021":{"id":"n1821015021","loc":[-85.6019445,41.9777215]},"n1821015022":{"id":"n1821015022","loc":[-85.5942854,41.9800881]},"n1821015024":{"id":"n1821015024","loc":[-85.5325826,42.0222711]},"n1821015029":{"id":"n1821015029","loc":[-85.555093,42.0105316]},"n1821015033":{"id":"n1821015033","loc":[-85.5249704,42.0270372]},"n1821015034":{"id":"n1821015034","loc":[-85.5243965,42.0272205]},"n1821015038":{"id":"n1821015038","loc":[-85.5413426,42.0190749]},"n1821015039":{"id":"n1821015039","loc":[-85.5920431,41.9848175]},"n1821015041":{"id":"n1821015041","loc":[-85.5577685,42.0106015]},"n1821015042":{"id":"n1821015042","loc":[-85.5453606,42.0158866]},"n1821015045":{"id":"n1821015045","loc":[-85.5333228,42.0217889]},"n1821015046":{"id":"n1821015046","loc":[-85.5426891,42.0175924]},"n1821015048":{"id":"n1821015048","loc":[-85.5886836,41.9936474]},"n1821015050":{"id":"n1821015050","loc":[-85.6001152,41.9786467]},"n1821015051":{"id":"n1821015051","loc":[-85.6094064,41.9723655]},"n1821015053":{"id":"n1821015053","loc":[-85.605721,41.9749738]},"n1821015055":{"id":"n1821015055","loc":[-85.6106791,41.9705048]},"n1821015057":{"id":"n1821015057","loc":[-85.5210437,42.0307071]},"n1821015059":{"id":"n1821015059","loc":[-85.5995694,41.9786725]},"n1821015060":{"id":"n1821015060","loc":[-85.5371638,42.0182938]},"n1821015062":{"id":"n1821015062","loc":[-85.6111766,41.9704593]},"n1821015065":{"id":"n1821015065","loc":[-85.577704,42.0034921]},"n1821015067":{"id":"n1821015067","loc":[-85.5570067,42.0093699]},"n1821015068":{"id":"n1821015068","loc":[-85.5920364,41.9845525]},"n1821015069":{"id":"n1821015069","loc":[-85.5252065,42.0253954]},"n1821015072":{"id":"n1821015072","loc":[-85.5664159,42.0088517]},"n1821015073":{"id":"n1821015073","loc":[-85.5880399,41.991905]},"n1821015075":{"id":"n1821015075","loc":[-85.6099871,41.9727861]},"n1821015076":{"id":"n1821015076","loc":[-85.5319603,42.0231478]},"n1821015078":{"id":"n1821015078","loc":[-85.6036088,41.9751112]},"n1821015080":{"id":"n1821015080","loc":[-85.5983128,41.9789179]},"n1821015082":{"id":"n1821015082","loc":[-85.5614069,42.0071395]},"n1821015083":{"id":"n1821015083","loc":[-85.60968,41.9709738]},"n1821015086":{"id":"n1821015086","loc":[-85.5914195,41.9837351]},"n1821015087":{"id":"n1821015087","loc":[-85.5895473,41.9948036]},"n1821015090":{"id":"n1821015090","loc":[-85.5929913,41.9851905]},"n1821015093":{"id":"n1821015093","loc":[-85.5907396,41.9838485]},"n1821015095":{"id":"n1821015095","loc":[-85.5893864,41.9880176]},"n1821015096":{"id":"n1821015096","loc":[-85.5788024,42.0039807]},"n1821015097":{"id":"n1821015097","loc":[-85.5630592,42.0078411]},"n1821015098":{"id":"n1821015098","loc":[-85.5350609,42.0211274]},"n1821015099":{"id":"n1821015099","loc":[-85.5967195,41.9808679]},"n1821015100":{"id":"n1821015100","loc":[-85.5666734,42.0088119]},"n1821015101":{"id":"n1821015101","loc":[-85.564694,42.0077675]},"n1821015103":{"id":"n1821015103","loc":[-85.6066544,41.9726527]},"n1821015104":{"id":"n1821015104","loc":[-85.6011827,41.9769838]},"n1821015105":{"id":"n1821015105","loc":[-85.5972131,41.9776697]},"n1821015106":{"id":"n1821015106","loc":[-85.5880828,41.9903341]},"n1821015107":{"id":"n1821015107","loc":[-85.5510268,42.0130626]},"n1821015108":{"id":"n1821015108","loc":[-85.6102164,41.970543]},"n1821015109":{"id":"n1821015109","loc":[-85.5905344,41.9853899]},"n1821015111":{"id":"n1821015111","loc":[-85.5888821,41.9913429]},"n1821015112":{"id":"n1821015112","loc":[-85.606295,41.9741921]},"n1821015114":{"id":"n1821015114","loc":[-85.5969556,41.9807443]},"n1821015115":{"id":"n1821015115","loc":[-85.5882223,41.9934081]},"n1821015116":{"id":"n1821015116","loc":[-85.6104471,41.9724971]},"n1821015118":{"id":"n1821015118","loc":[-85.5406091,42.0192162]},"n1821015120":{"id":"n1821015120","loc":[-85.589955,41.9888429]},"n1821015121":{"id":"n1821015121","loc":[-85.5598821,42.0092304]},"n1821015122":{"id":"n1821015122","loc":[-85.545598,42.0144097]},"n1821015123":{"id":"n1821015123","loc":[-85.5649528,42.0079965]},"n1821015125":{"id":"n1821015125","loc":[-85.5883993,41.9917814]},"n1821015126":{"id":"n1821015126","loc":[-85.5295785,42.0239967]},"n1821015129":{"id":"n1821015129","loc":[-85.5648723,42.0078809]},"n1821015132":{"id":"n1821015132","loc":[-85.564989,42.0081103]},"n1821015133":{"id":"n1821015133","loc":[-85.5946127,41.9800841]},"n1821015134":{"id":"n1821015134","loc":[-85.583448,42.0019078]},"n1821015135":{"id":"n1821015135","loc":[-85.5905934,41.9871842]},"n1821015137":{"id":"n1821015137","loc":[-85.610608,41.9704752]},"n1821015138":{"id":"n1821015138","loc":[-85.5752257,42.0052939]},"n1821015139":{"id":"n1821015139","loc":[-85.5893864,41.9943491]},"n1821015140":{"id":"n1821015140","loc":[-85.5426247,42.0169866]},"n1821015141":{"id":"n1821015141","loc":[-85.562001,42.0074526]},"n1821015142":{"id":"n1821015142","loc":[-85.5212046,42.0301094]},"n1821015143":{"id":"n1821015143","loc":[-85.602214,41.9784531]},"n1821015144":{"id":"n1821015144","loc":[-85.5858687,41.9948293]},"n1821015145":{"id":"n1821015145","loc":[-85.5608477,42.0074805]},"n1821015146":{"id":"n1821015146","loc":[-85.5651607,42.0083614]},"n1821015147":{"id":"n1821015147","loc":[-85.5288288,42.0242495]},"n1821015149":{"id":"n1821015149","loc":[-85.5450334,42.0146989]},"n1821015151":{"id":"n1821015151","loc":[-85.5578275,42.0092304]},"n1821015154":{"id":"n1821015154","loc":[-85.6056634,41.9724511]},"n1821015155":{"id":"n1821015155","loc":[-85.5902179,41.9852742]},"n1821015156":{"id":"n1821015156","loc":[-85.5156256,42.0387157]},"n1821015157":{"id":"n1821015157","loc":[-85.5734433,42.0059459]},"n1821015158":{"id":"n1821015158","loc":[-85.6050773,41.9731273]},"n1821015160":{"id":"n1821015160","loc":[-85.5223419,42.0275233]},"n1821015163":{"id":"n1821015163","loc":[-85.6053562,41.972525]},"n1821015164":{"id":"n1821015164","loc":[-85.5850412,41.9946082]},"n1821015165":{"id":"n1821015165","loc":[-85.5359031,42.0186326]},"n1821015166":{"id":"n1821015166","loc":[-85.5608745,42.0077635]},"n1821015169":{"id":"n1821015169","loc":[-85.572876,42.0073189]},"n1821015171":{"id":"n1821015171","loc":[-85.5875424,41.9919188]},"n1821015172":{"id":"n1821015172","loc":[-85.5240116,42.0272581]},"n1821015173":{"id":"n1821015173","loc":[-85.5318369,42.0236818]},"n1821015174":{"id":"n1821015174","loc":[-85.566888,42.0086923]},"n1821015175":{"id":"n1821015175","loc":[-85.5931522,41.9850669]},"n1821015176":{"id":"n1821015176","loc":[-85.5604842,42.0093199]},"n1821015177":{"id":"n1821015177","loc":[-85.5868168,41.9927543]},"n1821015178":{"id":"n1821015178","loc":[-85.6052275,41.9732549]},"n1821015179":{"id":"n1821015179","loc":[-85.5910118,41.9900431]},"n1821015182":{"id":"n1821015182","loc":[-85.5610032,42.0082897]},"n1821015183":{"id":"n1821015183","loc":[-85.5425443,42.0179431]},"n1821015184":{"id":"n1821015184","loc":[-85.5843277,42.0014055]},"n1821015186":{"id":"n1821015186","loc":[-85.5733307,42.0063564]},"n1821015188":{"id":"n1821015188","loc":[-85.5277385,42.0248694]},"n1821015189":{"id":"n1821015189","loc":[-85.5558427,42.0108168]},"n1821015190":{"id":"n1821015190","loc":[-85.5650587,42.0082618]},"n1821015191":{"id":"n1821015191","loc":[-85.5660351,42.0088278]},"n1821015192":{"id":"n1821015192","loc":[-85.5849768,41.9980049]},"n1821015194":{"id":"n1821015194","loc":[-85.5359139,42.0188199]},"n1821015195":{"id":"n1821015195","loc":[-85.593238,41.9849194]},"n1821015197":{"id":"n1821015197","loc":[-85.5850841,41.9983239]},"n1821015199":{"id":"n1821015199","loc":[-85.5983396,41.9794283]},"n1821015204":{"id":"n1821015204","loc":[-85.5452801,42.0145355]},"n1821015205":{"id":"n1821015205","loc":[-85.5340685,42.0218407]},"n1821015207":{"id":"n1821015207","loc":[-85.5773272,42.0034186]},"n1821015209":{"id":"n1821015209","loc":[-85.5535212,42.0132419]},"n1821015211":{"id":"n1821015211","loc":[-85.6107703,41.9706045]},"n1821015212":{"id":"n1821015212","loc":[-85.6030066,41.9758193]},"n1821015213":{"id":"n1821015213","loc":[-85.5359943,42.0184213]},"n1821015214":{"id":"n1821015214","loc":[-85.5922993,41.9813305]},"n1821015215":{"id":"n1821015215","loc":[-85.5672689,42.0080465]},"n1821015217":{"id":"n1821015217","loc":[-85.5160494,42.0365682]},"n1821015218":{"id":"n1821015218","loc":[-85.5401142,42.0190351]},"n1821015219":{"id":"n1821015219","loc":[-85.5607632,42.0092282]},"n1821015220":{"id":"n1821015220","loc":[-85.5866197,41.9947894]},"n1821015221":{"id":"n1821015221","loc":[-85.6017889,41.9765132]},"n1821015222":{"id":"n1821015222","loc":[-85.5595978,42.009059]},"n1821015226":{"id":"n1821015226","loc":[-85.5871494,41.9929018]},"n1821015227":{"id":"n1821015227","loc":[-85.5857708,41.9998866]},"n1821015228":{"id":"n1821015228","loc":[-85.5317135,42.0238094]},"n1821015231":{"id":"n1821015231","loc":[-85.5733521,42.0061372]},"n1821015233":{"id":"n1821015233","loc":[-85.5855991,42.0001936]},"n1821015234":{"id":"n1821015234","loc":[-85.5213924,42.029962]},"n1821015235":{"id":"n1821015235","loc":[-85.6052221,41.9726567]},"n1821015236":{"id":"n1821015236","loc":[-85.5763723,42.0035422]},"n1821015237":{"id":"n1821015237","loc":[-85.5858512,41.9966215]},"n1821015238":{"id":"n1821015238","loc":[-85.567061,42.008439]},"n1821015239":{"id":"n1821015239","loc":[-85.5250563,42.0269057]},"n1821015240":{"id":"n1821015240","loc":[-85.5347551,42.0214263]},"n1821015241":{"id":"n1821015241","loc":[-85.6098463,41.9707066]},"n1821015242":{"id":"n1821015242","loc":[-85.5676927,42.0076519]},"n1821015243":{"id":"n1821015243","loc":[-85.516775,42.0322669]},"n1821015244":{"id":"n1821015244","loc":[-85.5762275,42.0036538]},"n1821015245":{"id":"n1821015245","loc":[-85.5583639,42.0090949]},"n1821015246":{"id":"n1821015246","loc":[-85.5554041,42.0106432]},"n1821015247":{"id":"n1821015247","loc":[-85.5973364,41.9776099]},"n1821015248":{"id":"n1821015248","loc":[-85.6098945,41.9717513]},"n1821015249":{"id":"n1821015249","loc":[-85.6045315,41.9751511]},"n1821015250":{"id":"n1821015250","loc":[-85.5579938,42.0092264]},"n1821015253":{"id":"n1821015253","loc":[-85.6058873,41.9724652]},"n1821015254":{"id":"n1821015254","loc":[-85.5869456,41.9947517]},"n1821015255":{"id":"n1821015255","loc":[-85.5936565,41.9823713]},"n1821015256":{"id":"n1821015256","loc":[-85.5218269,42.0278102]},"n1821015258":{"id":"n1821015258","loc":[-85.5887802,41.9905534]},"n1821015259":{"id":"n1821015259","loc":[-85.5901924,41.9904515]},"n1821015263":{"id":"n1821015263","loc":[-85.5249222,42.0255787]},"n1821015265":{"id":"n1821015265","loc":[-85.5175206,42.0321672]},"n1821015266":{"id":"n1821015266","loc":[-85.5275722,42.0254034]},"n1821015267":{"id":"n1821015267","loc":[-85.6016226,41.9765451]},"n1821015269":{"id":"n1821015269","loc":[-85.5569316,42.011032]},"n1821015271":{"id":"n1821015271","loc":[-85.6010714,41.9785209]},"n1821015272":{"id":"n1821015272","loc":[-85.6050666,41.9729917]},"n1821015273":{"id":"n1821015273","loc":[-85.5891235,41.99529]},"n1821015274":{"id":"n1821015274","loc":[-85.515454,42.0376439]},"n1821015276":{"id":"n1821015276","loc":[-85.5776021,42.0034443]},"n1821015277":{"id":"n1821015277","loc":[-85.6041707,41.9751453]},"n1821015278":{"id":"n1821015278","loc":[-85.5444701,42.0167435]},"n1821015280":{"id":"n1821015280","loc":[-85.5923274,41.9852202]},"n1821015283":{"id":"n1821015283","loc":[-85.5893649,41.9900271]},"n1821015284":{"id":"n1821015284","loc":[-85.5933453,41.9804412]},"n1821015285":{"id":"n1821015285","loc":[-85.5247237,42.026017]},"n1821015286":{"id":"n1821015286","loc":[-85.5286182,42.0242477]},"n1821015287":{"id":"n1821015287","loc":[-85.5904003,41.9888549]},"n1821015288":{"id":"n1821015288","loc":[-85.6062146,41.9739369]},"n1821015290":{"id":"n1821015290","loc":[-85.5762596,42.0052602]},"n1821015292":{"id":"n1821015292","loc":[-85.5849715,41.9975465]},"n1821015293":{"id":"n1821015293","loc":[-85.585229,42.0006241]},"n1821015294":{"id":"n1821015294","loc":[-85.5926922,41.9805946]},"n1821015295":{"id":"n1821015295","loc":[-85.5703387,42.0089133]},"n1821015299":{"id":"n1821015299","loc":[-85.5789955,42.0038611]},"n1821015301":{"id":"n1821015301","loc":[-85.6072888,41.9721918]},"n1821015302":{"id":"n1821015302","loc":[-85.5356349,42.0200992]},"n1821015304":{"id":"n1821015304","loc":[-85.5891772,41.994066]},"n1821015306":{"id":"n1821015306","loc":[-85.606295,41.9744952]},"n1821015307":{"id":"n1821015307","loc":[-85.538871,42.0186583]},"n1821015308":{"id":"n1821015308","loc":[-85.587997,41.994971]},"n1821015311":{"id":"n1821015311","loc":[-85.606869,41.9725809]},"n1821015312":{"id":"n1821015312","loc":[-85.5171974,42.0339943]},"n1821015314":{"id":"n1821015314","loc":[-85.5327435,42.0220479]},"n1821015315":{"id":"n1821015315","loc":[-85.5383439,42.0187282]},"n1821015316":{"id":"n1821015316","loc":[-85.5248095,42.0263119]},"n1821015318":{"id":"n1821015318","loc":[-85.5732502,42.0073051]},"n1821015319":{"id":"n1821015319","loc":[-85.5924226,41.9852663]},"n1821015321":{"id":"n1821015321","loc":[-85.5179001,42.0353052]},"n1821015322":{"id":"n1821015322","loc":[-85.5456771,42.0162413]},"n1821015323":{"id":"n1821015323","loc":[-85.5936618,41.9829096]},"n1821015325":{"id":"n1821015325","loc":[-85.5656931,42.0086582]},"n1821015326":{"id":"n1821015326","loc":[-85.5448456,42.0150975]},"n1821015327":{"id":"n1821015327","loc":[-85.5220039,42.027615]},"n1821015329":{"id":"n1821015329","loc":[-85.517884,42.0354885]},"n1821015330":{"id":"n1821015330","loc":[-85.5576666,42.0101671]},"n1821015332":{"id":"n1821015332","loc":[-85.5368754,42.0181402]},"n1821015333":{"id":"n1821015333","loc":[-85.5367078,42.0181145]},"n1821015334":{"id":"n1821015334","loc":[-85.5903909,41.9904316]},"n1821015335":{"id":"n1821015335","loc":[-85.5430767,42.0163587]},"n1821015336":{"id":"n1821015336","loc":[-85.5277492,42.0252878]},"n1821015337":{"id":"n1821015337","loc":[-85.5312146,42.0236898]},"n1821015338":{"id":"n1821015338","loc":[-85.5886568,41.991614]},"n1821015339":{"id":"n1821015339","loc":[-85.5782498,42.0040883]},"n1821015341":{"id":"n1821015341","loc":[-85.562233,42.0076457]},"n1821015342":{"id":"n1821015342","loc":[-85.588626,41.9952479]},"n1821015343":{"id":"n1821015343","loc":[-85.5762865,42.005033]},"n1821015344":{"id":"n1821015344","loc":[-85.5850841,41.9971478]},"n1821015346":{"id":"n1821015346","loc":[-85.5643144,42.0076936]},"n1821015347":{"id":"n1821015347","loc":[-85.5164893,42.0359467]},"n1821015348":{"id":"n1821015348","loc":[-85.5906846,41.9903541]},"n1821015349":{"id":"n1821015349","loc":[-85.557688,42.0107769]},"n1821015350":{"id":"n1821015350","loc":[-85.5363698,42.0181424]},"n1821015351":{"id":"n1821015351","loc":[-85.5939636,41.9801918]},"n1821015352":{"id":"n1821015352","loc":[-85.5524041,42.0131644]},"n1821015354":{"id":"n1821015354","loc":[-85.5308606,42.0236221]},"n1821015355":{"id":"n1821015355","loc":[-85.5877449,41.9932367]},"n1821015356":{"id":"n1821015356","loc":[-85.519885,42.0318586]},"n1821015357":{"id":"n1821015357","loc":[-85.5454035,42.0168431]},"n1821015358":{"id":"n1821015358","loc":[-85.5970629,41.9781881]},"n1821015359":{"id":"n1821015359","loc":[-85.5932541,41.9844767]},"n1821015360":{"id":"n1821015360","loc":[-85.5970736,41.9778252]},"n1821015361":{"id":"n1821015361","loc":[-85.537031,42.0181601]},"n1821015362":{"id":"n1821015362","loc":[-85.5548355,42.0105156]},"n1821015363":{"id":"n1821015363","loc":[-85.5168648,42.0336158]},"n1821015365":{"id":"n1821015365","loc":[-85.5870435,41.9919507]},"n1821015366":{"id":"n1821015366","loc":[-85.5719681,42.0075443]},"n1821015367":{"id":"n1821015367","loc":[-85.5969985,41.9780446]},"n1821015368":{"id":"n1821015368","loc":[-85.5926761,41.98528]},"n1821015369":{"id":"n1821015369","loc":[-85.5224009,42.0293444]},"n1821015371":{"id":"n1821015371","loc":[-85.518737,42.0322651]},"n1821015372":{"id":"n1821015372","loc":[-85.6064573,41.9726465]},"n1821015373":{"id":"n1821015373","loc":[-85.5201103,42.0313088]},"n1821015375":{"id":"n1821015375","loc":[-85.5378182,42.0186844]},"n1821015376":{"id":"n1821015376","loc":[-85.6109741,41.9706882]},"n1821015377":{"id":"n1821015377","loc":[-85.5993333,41.9785488]},"n1821015378":{"id":"n1821015378","loc":[-85.5889787,41.9907368]},"n1821015380":{"id":"n1821015380","loc":[-85.6060161,41.9737375]},"n1821015381":{"id":"n1821015381","loc":[-85.5743016,42.0053679]},"n1821015382":{"id":"n1821015382","loc":[-85.6014724,41.9776099]},"n1821015383":{"id":"n1821015383","loc":[-85.5574426,42.0091644]},"n1821015385":{"id":"n1821015385","loc":[-85.5208613,42.0309302]},"n1821015386":{"id":"n1821015386","loc":[-85.5919023,41.9837789]},"n1821015387":{"id":"n1821015387","loc":[-85.5455484,42.0160221]},"n1821015392":{"id":"n1821015392","loc":[-85.5801757,42.0028964]},"n1821015395":{"id":"n1821015395","loc":[-85.5493785,42.0139974]},"n1821015396":{"id":"n1821015396","loc":[-85.5449475,42.015488]},"n1821015398":{"id":"n1821015398","loc":[-85.611123,41.9706627]},"n1821015400":{"id":"n1821015400","loc":[-85.5935706,41.9822477]},"n1821015401":{"id":"n1821015401","loc":[-85.5724254,42.0073508]},"n1821015403":{"id":"n1821015403","loc":[-85.5486812,42.0143442]},"n1821015404":{"id":"n1821015404","loc":[-85.5161835,42.0327711]},"n1821015406":{"id":"n1821015406","loc":[-85.5921705,41.9851107]},"n1821015407":{"id":"n1821015407","loc":[-85.531912,42.0234069]},"n1821015410":{"id":"n1821015410","loc":[-85.5292566,42.024176]},"n1821015411":{"id":"n1821015411","loc":[-85.5845316,41.9948315]},"n1821015413":{"id":"n1821015413","loc":[-85.5217947,42.0280413]},"n1821015414":{"id":"n1821015414","loc":[-85.5527367,42.013272]},"n1821015415":{"id":"n1821015415","loc":[-85.5191179,42.0321973]},"n1821015416":{"id":"n1821015416","loc":[-85.5540241,42.0128655]},"n1821015418":{"id":"n1821015418","loc":[-85.5272892,42.0254849]},"n1821015419":{"id":"n1821015419","loc":[-85.5449744,42.016867]},"n1821015420":{"id":"n1821015420","loc":[-85.5852665,41.9986787]},"n1821015421":{"id":"n1821015421","loc":[-85.6102701,41.972186]},"n1821015423":{"id":"n1821015423","loc":[-85.6026365,41.9764972]},"n1821015427":{"id":"n1821015427","loc":[-85.5898692,41.9841498]},"n1821015429":{"id":"n1821015429","loc":[-85.5422546,42.0183855]},"n1821015430":{"id":"n1821015430","loc":[-85.5866505,41.9925549]},"n1821015431":{"id":"n1821015431","loc":[-85.5234376,42.0273577]},"n1821015432":{"id":"n1821015432","loc":[-85.6096746,41.9727284]},"n1821015433":{"id":"n1821015433","loc":[-85.5824891,42.0021567]},"n1821015434":{"id":"n1821015434","loc":[-85.5923905,41.9841139]},"n1821015435":{"id":"n1821015435","loc":[-85.5874565,41.9948014]},"n1821015437":{"id":"n1821015437","loc":[-85.6055279,41.9734423]},"n1821015438":{"id":"n1821015438","loc":[-85.5299379,42.0237376]},"n1821015439":{"id":"n1821015439","loc":[-85.5155022,42.0383651]},"n1821015442":{"id":"n1821015442","loc":[-85.527422,42.0254711]},"n1821015443":{"id":"n1821015443","loc":[-85.5920699,41.9849291]},"n1821015444":{"id":"n1821015444","loc":[-85.5639711,42.0077494]},"n1821015445":{"id":"n1821015445","loc":[-85.5162586,42.0361777]},"n1821015446":{"id":"n1821015446","loc":[-85.5220039,42.029695]},"n1821015448":{"id":"n1821015448","loc":[-85.5176641,42.0356956]},"n1821015449":{"id":"n1821015449","loc":[-85.5930556,41.9841577]},"n1821015451":{"id":"n1821015451","loc":[-85.5320783,42.0228848]},"n1821015452":{"id":"n1821015452","loc":[-85.5170096,42.0357235]},"n1821015453":{"id":"n1821015453","loc":[-85.5571355,42.009613]},"n1821015454":{"id":"n1821015454","loc":[-85.5609979,42.009059]},"n1821015455":{"id":"n1821015455","loc":[-85.6097336,41.9708342]},"n1821015456":{"id":"n1821015456","loc":[-85.5884476,41.9904218]},"w170843846":{"id":"w170843846","tags":{"waterway":"river"},"nodes":["n1819790555","n1819790762","n1819790547","n1819790618","n1819790898","n1819790796","n1819790534","n1819790543","n1819790541","n1819790687","n1819790877","n1819790811","n1819790670"]},"w209083541":{"id":"w209083541","tags":{"name":"Portage River","waterway":"river"},"nodes":["n1821014848","n1821015156","n1821015439","n1821014763","n1821014824","n1821015274","n1821014764","n1821014791","n1821014957","n1821015217","n1821015445","n1821015347","n1821014893","n1821015452","n1821015017","n1821015448","n1821014968","n1821015329","n1821015321","n1821014992","n1821014948","n1821014757","n1821014983","n1821015312","n1821015363","n1821014924","n1821014873","n1821014932","n1821014668","n1821015404","n1821014716","n1821015243","n1821015265","n1821014710","n1821015371","n1821015415","n1821014870","n1821015356","n1821015373","n1821014681","n1821014714","n1821015385","n1821014911","n1821015057","n1821014867","n1821014998","n1821015142","n1821015234","n1821015446","n1821014862","n1821015369","n1821014945","n1821015003","n1821014667","n1821015413","n1821015256","n1821015327","n1821015160","n1821014907","n1821015431","n1821015172","n1821015034","n1821014741","n1821015033","n1821015239","n1821015007","n1821015316","n1821015285","n1821014633","n1821015263","n1821015069","n1821014846","n1821014779","n1821015011","n1821015012","n1821014845","n1821015418","n1821015442","n1821015266","n1821015336","n1821014755","n1821015188","n1821014925","n1821014816","n1821014869","n1821014967","n1821015286","n1821015147","n1821015410","n1821015126","n1821015438","n1821015018","n1821015354","n1821015337","n1821014766","n1821014740","n1821015228","n1821015173","n1821015407","n1821015076","n1821015451","n1821015024","n1821015314","n1821014784","n1821015045","n1821014735","n1821015205","n1821014986","n1821015240","n1821015098","n1821014825","n1821015302","n1821014918","n1821014718","n1821014896","n1821014853","n1821015194","n1821015165","n1821015213","n1821014991","n1821015350","n1821015333","n1821015332","n1821015361","n1821015060","n1821014914","n1821015375","n1821015315","n1821015307","n1821014906","n1821014751","n1821014666","n1821015218","n1821014817","n1821015118","n1821014674","n1821015038","n1821014973","n1821015429","n1821015183","n1821015046","n1821014803","n1821015140","n1821015009","n1821014749","n1821015335","n1821014711","n1821014854","n1821015278","n1821015419","n1821014648","n1821015357","n1821014637","n1821014988","n1821015322","n1821015387","n1821015042","n1821014833","n1821015396","n1821015326","n1821014691","n1821015149","n1821015204","n1821015122","n1821014782","n1821014982","n1821014921","n1821014936","n1821014969","n1821014881","n1821015403","n1821014805","n1821015395","n1821014892","n1821014826","n1821014844","n1821015107","n1821015014","n1821014955","n1821015352","n1821015414","n1821014746","n1821015209","n1821014770","n1821015416","n1821014661","n1821014857","n1821014814","n1821014754","n1821014721","n1821014727","n1821015362","n1821015029","n1821015246","n1821015189","n1821014627","n1821015269","n1821014808","n1821014962","n1821015349","n1821015041","n1821014722","n1821015330","n1821015453","n1821015067","n1821014643","n1821014802","n1821015383","n1821015151","n1821015250","n1821015245","n1821014772","n1821014899","n1821015222","n1821015121","n1821014951","n1821015176","n1821015219","n1821015454","n1821014972","n1821014917","n1821015182","n1821015166","n1821015145","n1821014910","n1821015082","n1821014678","n1821014806","n1821015141","n1821015341","n1821014788","n1821015097","n1821014995","n1821015444","n1821015346","n1821015101","n1821015129","n1821015123","n1821015132","n1821015190","n1821015146","n1821015325","n1821015191","n1821015072","n1821015100","n1821015174","n1821015238","n1821015215","n1821014700","n1821015242","n1821014841","n1821014905","n1821014874","n1821014883","n1821014729","n1821014866","n1821014828","n1821015295","n1821014931","n1821014859","n1821014912","n1821014783","n1821014752","n1821014961","n1821015366","n1821015401","n1821015169","n1821015318","n1821014996","n1821014747","n1821014963","n1821014670","n1821015186","n1821015231","n1821015157","n1821014812","n1821015381","n1821014887","n1821015138","n1821014704","n1821014787","n1821014922","n1821015290","n1821015343","n1821014651","n1821014980","n1821014960","n1821015244","n1821015236","n1821015006","n1821014694","n1821014759","n1821015207","n1821015276","n1821015065","n1821014863","n1821014660","n1821014902","n1821014645","n1821015339","n1821014871","n1821015096","n1821015299","n1821014798","n1821014638","n1821015392","n1821014835","n1821014762","n1821014642","n1821015433","n1821014786","n1821015134","n1821014855","n1821015184","n1821014850","n1821015293","n1821015233","n1821015227","n1821014876","n1821014985","n1821014843","n1821015420","n1821015197","n1821015192","n1821015292","n1821015344","n1821014742","n1821014726","n1821015237","n1821014796","n1821014908","n1821014975","n1821014769","n1821014688","n1821014860","n1821014895","n1821014676","n1821015411","n1821014736","n1821015164","n1821014647","n1821015144","n1821014919","n1821015220","n1821015254","n1821015435","n1821015308","n1821015342","n1821014830","n1821015273","n1821014658","n1821014781","n1821015087","n1821015139","n1821015304","n1821014839","n1821015048","n1821015115","n1821015355","n1821015226","n1821015177","n1821015430","n1821014965","n1821014725","n1821015365","n1821015171","n1821015073","n1821015125","n1821015338","n1821015111","n1821014950","n1821015378","n1821015258","n1821015456","n1821015106","n1821014832","n1821014888","n1821014795","n1821014872","n1821014810","n1821014705","n1821014804","n1821014820","n1821015283","n1821014938","n1821014689","n1821015259","n1821015334","n1821015348","n1821014635","n1821015179","n1821014864","n1821014890","n1821015020","n1821014898","n1821015287","n1821015120","n1821014984","n1821014743","n1821014790","n1821014765","n1821014777","n1821015095","n1821014653","n1821015135","n1821014836","n1821014964","n1821014974","n1821014636","n1821014682","n1821014663","n1821014665","n1821015109","n1821015155","n1821014930","n1821014669","n1821015004","n1821015427","n1821014916","n1821015093","n1821015086","n1821015386","n1821014799","n1821014913","n1821015434","n1821014728","n1821014900","n1821015068","n1821015039","n1821015443","n1821015406","n1821015280","n1821015319","n1821015368","n1821014774","n1821015090","n1821015175","n1821015195","n1821014687","n1821015359","n1821015449","n1821014956","n1821014838","n1821014768","n1821014698","n1821015323","n1821014756","n1821015255","n1821015400","n1821014717","n1821014868","n1821014778","n1821015214","n1821014944","n1821014697","n1821014671","n1821014928","n1821015294","n1821014822","n1821015284","n1821015351","n1821015022","n1821015133","n1821014644","n1821015010","n1821014625","n1821014657","n1821014946","n1821015099","n1821015114","n1821014629","n1821014865","n1821014997","n1821014926","n1821014933","n1821015199","n1821014819","n1821015080","n1821014692","n1821014677","n1821015358","n1821015367","n1821015360","n1821015105","n1821015247","n1821015005","n1821014809","n1821014794","n1821014761","n1821014879","n1821014801","n1821015377","n1821015059","n1821014730","n1821015050","n1821015271","n1821015143","n1821014989","n1821015019","n1821014672","n1821014649","n1821014684","n1821014703","n1821015021","n1821015382","n1821014842","n1821014720","n1821014847","n1821015104","n1821014987","n1821014886","n1821015267","n1821015221","n1821015015","n1821015423","n1821014954","n1821014903","n1821014939","n1821015212","n1821014789","n1821014712","n1821014708","n1821015078","n1821015277","n1821015249","n1821014646","n1821014793","n1821015053","n1821014707","n1821015306","n1821015112","n1821015288","n1821015380","n1821015437","n1821015178","n1821015158","n1821015272","n1821015235","n1821015163","n1821015154","n1821015253","n1821014632","n1821015372","n1821015103","n1821015311","n1821015301","n1821014885","n1821014811","n1821014977","n1821015051","n1821014942","n1821014745","n1821015432","n1821015075","n1821014664","n1821014695","n1821015116","n1821014639","n1821015421","n1821015248","n1821014758","n1821014834","n1821015083","n1821015455","n1821015241","n1821015108","n1821014713","n1821015137","n1821015055","n1821015211","n1821014904","n1821015376","n1821015398","n1821014771","n1821014840","n1821015062","n1819790554","n1819790560","n1819790767","n1819790696","n1819790706","n1819790606","n1819790607","n1819790544","n1819790779","n1819790760","n1819790926","n1819790927","n1819790647","n1819790657","n1819790649","n1819790679","n1819790915","n1819790739","n1819790549","n1819790671","n1819790686","n1819790798","n1819790791","n1819790563","n1819790720","n1819790704","n1819790795","n1819790836","n1819790622","n1819790615","n1819790654","n1819790931","n1819790595","n1819790753","n1819790612","n1819790623","n1819790564","n1819790552","n1819790645","n1819790625","n1819790605","n1819790668","n1819790731","n1819790718","n1819790781","n1819790665","n1819790659","n1819790726","n1819790642","n1819790854","n1819790697","n1819790867","n1819790833","n1819790555","n1819790774","n1819790881","n1819790530","n1819790909","n1819790891","n1819790590","n1819790738","n1819790609","n1819790528","n1819790674","n1819790583","n1819790559","n1819790863","n1819790912","n1819790685","n1819790913"]},"n185955128":{"id":"n185955128","loc":[-85.6189367,41.9519432]},"n185948818":{"id":"n185948818","loc":[-85.616755,41.952231]},"n185978819":{"id":"n185978819","loc":[-85.616773,41.954737]},"n185978821":{"id":"n185978821","loc":[-85.616699,41.954742]},"n2138420714":{"id":"n2138420714","loc":[-85.6176304,41.9515154]},"n2138420715":{"id":"n2138420715","loc":[-85.6177355,41.9515717]},"n2138420716":{"id":"n2138420716","loc":[-85.6192901,41.951573]},"n2138420718":{"id":"n2138420718","loc":[-85.6171481,41.9513579]},"n2138420719":{"id":"n2138420719","loc":[-85.6165981,41.9519199]},"n2138420720":{"id":"n2138420720","loc":[-85.6165719,41.9519922]},"n2138420721":{"id":"n2138420721","loc":[-85.6165832,41.9520757]},"n2138420722":{"id":"n2138420722","loc":[-85.6166355,41.9521453]},"n2138420723":{"id":"n2138420723","loc":[-85.6169161,41.9522788]},"n2138420724":{"id":"n2138420724","loc":[-85.6170882,41.9522538]},"n2138420725":{"id":"n2138420725","loc":[-85.6189204,41.9514674]},"n2138420726":{"id":"n2138420726","loc":[-85.6180346,41.9514735]},"n2138420727":{"id":"n2138420727","loc":[-85.6180362,41.9515719]},"n2138420728":{"id":"n2138420728","loc":[-85.6189204,41.9515727]},"n2138420744":{"id":"n2138420744","loc":[-85.618919,41.9519571]},"n2138420745":{"id":"n2138420745","loc":[-85.6194575,41.9522374]},"n2138420746":{"id":"n2138420746","loc":[-85.6181777,41.9536179]},"n2138420747":{"id":"n2138420747","loc":[-85.6176582,41.9533658]},"n2138420748":{"id":"n2138420748","loc":[-85.6179871,41.9530242]},"n2138420749":{"id":"n2138420749","loc":[-85.618429,41.9532476]},"n2138420750":{"id":"n2138420750","loc":[-85.6185538,41.9531194]},"n2138420751":{"id":"n2138420751","loc":[-85.6180765,41.9528677]},"n2138420752":{"id":"n2138420752","loc":[-85.6180394,41.9528855]},"n2138420753":{"id":"n2138420753","loc":[-85.6193752,41.9521695]},"n2138420754":{"id":"n2138420754","loc":[-85.6181374,41.9535376]},"n2138420755":{"id":"n2138420755","loc":[-85.6179898,41.9535545]},"n2138420756":{"id":"n2138420756","loc":[-85.6177286,41.9534228]},"n2138420757":{"id":"n2138420757","loc":[-85.6181011,41.9530292]},"n2138420759":{"id":"n2138420759","loc":[-85.6185158,41.9531194]},"n2138420760":{"id":"n2138420760","loc":[-85.6191318,41.9520425]},"n2138420761":{"id":"n2138420761","loc":[-85.6182348,41.9529815]},"n2138420762":{"id":"n2138420762","loc":[-85.6184853,41.9524248]},"n2138420763":{"id":"n2138420763","loc":[-85.6186764,41.9525193]},"n2138420764":{"id":"n2138420764","loc":[-85.6189421,41.9526483]},"n2138420765":{"id":"n2138420765","loc":[-85.6182875,41.9531222]},"n2138420766":{"id":"n2138420766","loc":[-85.6179141,41.9535163]},"n2138420767":{"id":"n2138420767","loc":[-85.6178363,41.9535735]},"n185948824":{"id":"n185948824","loc":[-85.6165667,41.9529715]},"n2138420758":{"id":"n2138420758","loc":[-85.6184408,41.953201]},"n2138422349":{"id":"n2138422349","loc":[-85.6175136,41.9533346]},"n2138422350":{"id":"n2138422350","loc":[-85.6171867,41.9531679]},"n2138422351":{"id":"n2138422351","loc":[-85.61722,41.9531305]},"n2138422352":{"id":"n2138422352","loc":[-85.6171889,41.9531158]},"n2138422353":{"id":"n2138422353","loc":[-85.6171733,41.9531284]},"n2138422354":{"id":"n2138422354","loc":[-85.616765,41.9529207]},"n2138422355":{"id":"n2138422355","loc":[-85.6167565,41.9529355]},"n2138422356":{"id":"n2138422356","loc":[-85.6164772,41.9527911]},"n2138422357":{"id":"n2138422357","loc":[-85.6168227,41.9524261]},"n2138422358":{"id":"n2138422358","loc":[-85.6171913,41.9526158]},"n2138422359":{"id":"n2138422359","loc":[-85.6172403,41.9525589]},"n2138422360":{"id":"n2138422360","loc":[-85.6172097,41.952542]},"n2138422361":{"id":"n2138422361","loc":[-85.6173948,41.9523512]},"n2138422362":{"id":"n2138422362","loc":[-85.6174256,41.9523678]},"n2138422363":{"id":"n2138422363","loc":[-85.6174831,41.9523086]},"n2138422364":{"id":"n2138422364","loc":[-85.6173316,41.9522289]},"n2138422365":{"id":"n2138422365","loc":[-85.6174507,41.9521024]},"n2138422366":{"id":"n2138422366","loc":[-85.6174773,41.9521155]},"n2138422367":{"id":"n2138422367","loc":[-85.6176577,41.9519232]},"n2138422368":{"id":"n2138422368","loc":[-85.6176336,41.9519105]},"n2138422369":{"id":"n2138422369","loc":[-85.617747,41.9517861]},"n2138422370":{"id":"n2138422370","loc":[-85.6182675,41.9520559]},"n2138422371":{"id":"n2138422371","loc":[-85.6182105,41.9521219]},"n2138422372":{"id":"n2138422372","loc":[-85.6183863,41.9522203]},"n2138422373":{"id":"n2138422373","loc":[-85.6180984,41.9525266]},"n2138422374":{"id":"n2138422374","loc":[-85.6179159,41.9524295]},"n2138422375":{"id":"n2138422375","loc":[-85.617854,41.9524979]},"n2138422376":{"id":"n2138422376","loc":[-85.6177686,41.9524531]},"n2138422377":{"id":"n2138422377","loc":[-85.6174716,41.9527765]},"n2138422378":{"id":"n2138422378","loc":[-85.6178545,41.9529756]},"n2138425424":{"id":"n2138425424","loc":[-85.6171736,41.9536385]},"n2138425425":{"id":"n2138425425","loc":[-85.6180159,41.9535782]},"n2138425426":{"id":"n2138425426","loc":[-85.6181068,41.9536282]},"n2138425427":{"id":"n2138425427","loc":[-85.6180673,41.9542678]},"n2138425428":{"id":"n2138425428","loc":[-85.6178636,41.9542634]},"n2138425429":{"id":"n2138425429","loc":[-85.6176204,41.9542046]},"n2138425430":{"id":"n2138425430","loc":[-85.6174366,41.9541031]},"n2138425431":{"id":"n2138425431","loc":[-85.6172942,41.9539781]},"n2138425432":{"id":"n2138425432","loc":[-85.6172171,41.9538399]},"n2138425433":{"id":"n2138425433","loc":[-85.6168138,41.9543266]},"n2138425434":{"id":"n2138425434","loc":[-85.6167779,41.9538098]},"n2138425435":{"id":"n2138425435","loc":[-85.6165849,41.9537073]},"n2138425441":{"id":"n2138425441","loc":[-85.616458,41.9543184]},"n2138425442":{"id":"n2138425442","loc":[-85.6166428,41.954345]},"n2138425445":{"id":"n2138425445","loc":[-85.6181332,41.9514117]},"n2138425446":{"id":"n2138425446","loc":[-85.6183263,41.9514111]},"n2138425447":{"id":"n2138425447","loc":[-85.6185033,41.9514102]},"n2138425449":{"id":"n2138425449","loc":[-85.6186809,41.9514093]},"n2138425451":{"id":"n2138425451","loc":[-85.6188681,41.9514082]},"n2138436008":{"id":"n2138436008","loc":[-85.6170474,41.9513604]},"n2138436009":{"id":"n2138436009","loc":[-85.6164937,41.9519586]},"n2138436010":{"id":"n2138436010","loc":[-85.616497,41.9520725]},"n2138436011":{"id":"n2138436011","loc":[-85.6165654,41.9521645]},"n2138436012":{"id":"n2138436012","loc":[-85.6166631,41.9522178]},"n2138436013":{"id":"n2138436013","loc":[-85.6167327,41.9522554]},"n2138436014":{"id":"n2138436014","loc":[-85.6172383,41.9525125]},"n2138439319":{"id":"n2138439319","loc":[-85.6170432,41.9524057]},"n2138439320":{"id":"n2138439320","loc":[-85.617691,41.9517107]},"n2138439321":{"id":"n2138439321","loc":[-85.6177727,41.9516794]},"n2138439322":{"id":"n2138439322","loc":[-85.619085,41.9516811]},"n2138439323":{"id":"n2138439323","loc":[-85.6179432,41.952895]},"n2138439324":{"id":"n2138439324","loc":[-85.6180389,41.9529384]},"n2138439325":{"id":"n2138439325","loc":[-85.6176303,41.9533604]},"n2138439326":{"id":"n2138439326","loc":[-85.6175538,41.9534396]},"n2138439327":{"id":"n2138439327","loc":[-85.6173806,41.9523658]},"n2138439328":{"id":"n2138439328","loc":[-85.6171841,41.9522542]},"n2138439329":{"id":"n2138439329","loc":[-85.6172077,41.9524958]},"n2138439330":{"id":"n2138439330","loc":[-85.6171235,41.9525809]},"n2138439331":{"id":"n2138439331","loc":[-85.6180938,41.9527349]},"n2138439332":{"id":"n2138439332","loc":[-85.6177023,41.9525253]},"n2138439333":{"id":"n2138439333","loc":[-85.6175543,41.9526865]},"n2138439334":{"id":"n2138439334","loc":[-85.6179589,41.9528783]},"n185948820":{"id":"n185948820","loc":[-85.6163249,41.952701]},"n185948822":{"id":"n185948822","loc":[-85.6163757,41.952855]},"n185955123":{"id":"n185955123","loc":[-85.6198103,41.9510408]},"n185958839":{"id":"n185958839","loc":[-85.611651,41.954761]},"n185965033":{"id":"n185965033","loc":[-85.614195,41.954754]},"n185976502":{"id":"n185976502","loc":[-85.617375,41.947559]},"n185976504":{"id":"n185976504","loc":[-85.6174164,41.9510804]},"n185978828":{"id":"n185978828","loc":[-85.613542,41.954756]},"n185978830":{"id":"n185978830","loc":[-85.610373,41.954774]},"n2138420713":{"id":"n2138420713","loc":[-85.6174641,41.9506942]},"n2138420717":{"id":"n2138420717","loc":[-85.6173027,41.9512895]},"n2138420768":{"id":"n2138420768","loc":[-85.61745,41.9501974]},"n2138420773":{"id":"n2138420773","loc":[-85.6174135,41.9489136]},"n2138425436":{"id":"n2138425436","loc":[-85.6159148,41.9538036]},"n2138425437":{"id":"n2138425437","loc":[-85.6159534,41.9539677]},"n2138425438":{"id":"n2138425438","loc":[-85.6160306,41.9540846]},"n2138425439":{"id":"n2138425439","loc":[-85.6161354,41.954181]},"n2138425440":{"id":"n2138425440","loc":[-85.6162733,41.954263]},"n2138425443":{"id":"n2138425443","loc":[-85.6183273,41.9510826]},"n2138425444":{"id":"n2138425444","loc":[-85.6181354,41.9510835]},"n2138425448":{"id":"n2138425448","loc":[-85.6185033,41.9510816]},"n2138425450":{"id":"n2138425450","loc":[-85.6186816,41.9510808]},"n2138425452":{"id":"n2138425452","loc":[-85.6188641,41.9510818]},"n2138435984":{"id":"n2138435984","loc":[-85.6167607,41.9501009]},"n2138436000":{"id":"n2138436000","loc":[-85.6173169,41.947558]},"n2138436001":{"id":"n2138436001","loc":[-85.6173362,41.948883]},"n2138436002":{"id":"n2138436002","loc":[-85.6167791,41.9492952]},"n2138436003":{"id":"n2138436003","loc":[-85.6167543,41.949349]},"n2138436004":{"id":"n2138436004","loc":[-85.6167648,41.9509125]},"n2138436005":{"id":"n2138436005","loc":[-85.6168832,41.9510412]},"n2138436006":{"id":"n2138436006","loc":[-85.6170045,41.9511417]},"n2138436007":{"id":"n2138436007","loc":[-85.6170624,41.9512483]},"n2138436017":{"id":"n2138436017","loc":[-85.6168094,41.9492729]},"n2138436021":{"id":"n2138436021","loc":[-85.6167553,41.9494886]},"n2138436023":{"id":"n2138436023","loc":[-85.6167585,41.9499707]},"n2138436025":{"id":"n2138436025","loc":[-85.6167567,41.9497018]},"w203838284":{"id":"w203838284","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425424","n2138425425","n2138425426","n2138425427","n2138425428","n2138425429","n2138425430","n2138425431","n2138425432","n2138425424"]},"w203837928":{"id":"w203837928","tags":{"highway":"service"},"nodes":["n2138420717","n2138420718","n2138420719","n2138420720","n2138420721","n2138420722","n185948818","n2138420723","n2138420724","n2138420715"]},"w203839364":{"id":"w203839364","tags":{"highway":"footway"},"nodes":["n2138439331","n2138439332"]},"w203837932":{"id":"w203837932","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420744","n2138420745","n2138420746","n2138420747","n2138420748","n2138420749","n2138420750","n2138420751","n2138420744"]},"w203839362":{"id":"w203839362","tags":{"highway":"footway"},"nodes":["n2138439327","n2138439328"]},"w203839363":{"id":"w203839363","tags":{"highway":"footway"},"nodes":["n2138439329","n2138439330"]},"w203837933":{"id":"w203837933","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n185955128","n2138420760","n2138420753","n2138420764","n2138420759","n2138420758","n2138420754","n2138420755","n2138420766","n2138420756"]},"w203837936":{"id":"w203837936","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420765","n2138420766"]},"w17966364":{"id":"w17966364","tags":{"access":"private","highway":"service","name":"Collins Dr"},"nodes":["n185961362","n185976502","n2138420773","n2138420768","n2138420713","n185976504","n2138420717","n2138420714","n2138420715","n2138420727","n2138420728","n2138420716"]},"w203838040":{"id":"w203838040","tags":{"amenity":"school","area":"yes","building":"yes","name":"Three Rivers Middle School"},"nodes":["n2138422349","n2138422350","n2138422351","n2138422352","n2138422353","n2138422354","n2138422355","n2138422356","n2138422357","n2138439330","n2138422358","n2138422359","n2138422360","n2138436014","n2138439327","n2138422361","n2138422362","n2138422363","n2138422364","n2138422365","n2138422366","n2138422367","n2138422368","n2138422369","n2138422370","n2138422371","n2138422372","n2138422373","n2138422374","n2138422375","n2138422376","n2138439332","n2138439333","n2138422377","n2138422378","n2138422349"]},"w17964049":{"id":"w17964049","tags":{"highway":"service"},"nodes":["n185955120","n185955123","n2138420716","n185955128","n2138420762","n2138420752","n2138420761","n2138420759"]},"w41074899":{"id":"w41074899","tags":{"highway":"secondary","name":"E Hoffman St","ref":"M 60"},"nodes":["n185978817","n185978819","n185978821","n185965033","n185978828","n185958839","n185978830"]},"w203839365":{"id":"w203839365","tags":{"highway":"footway"},"nodes":["n2138439333","n2138439334"]},"w203837935":{"id":"w203837935","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420762","n2138420763","n2138420764"]},"w203838287":{"id":"w203838287","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425446","n2138425447","n2138425448","n2138425443","n2138425446"]},"w203837934":{"id":"w203837934","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420760","n2138420763","n2138420761"]},"w203838289":{"id":"w203838289","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425449","n2138425451","n2138425452","n2138425450","n2138425449"]},"w17963047":{"id":"w17963047","tags":{"highway":"service"},"nodes":["n185948818","n2138436013","n185948820","n185948822","n185948824","n2138439326","n2138420767","n2138420766"]},"w203839091":{"id":"w203839091","tags":{"highway":"footway"},"nodes":["n185976502","n2138436000","n2138436001","n2138436017","n2138436002","n2138436003","n2138436021","n2138436025","n2138436023","n2138435984","n2138436004","n2138436005","n2138436006","n2138436007","n2138436008","n2138436009","n2138436010","n2138436011","n2138436012","n2138436013","n2138439319","n2138439329","n2138436014"]},"w204830797":{"id":"w204830797","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420756","n2138420757","n2138420765","n2138420758"]},"w203838288":{"id":"w203838288","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425447","n2138425449","n2138425450","n2138425448","n2138425447"]},"w203838285":{"id":"w203838285","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425433","n2138425434","n2138425435","n2138425436","n2138425437","n2138425438","n2138425439","n2138425440","n2138425441","n2138425442","n2138425433"]},"w203838286":{"id":"w203838286","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425443","n2138425444","n2138425445","n2138425446","n2138425443"]},"w203837929":{"id":"w203837929","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420725","n2138420726","n2138420727","n2138420728","n2138420725"]},"w203839361":{"id":"w203839361","tags":{"highway":"footway"},"nodes":["n2138439319","n2138439328","n2138439320","n2138439321","n2138439322","n2138439331","n2138439334","n2138439323","n2138439324","n2138439325","n2138439326"]},"n394381698":{"id":"n394381698","loc":[-85.614471,41.954755]},"n394381699":{"id":"n394381699","loc":[-85.6152,41.954744]},"n394381700":{"id":"n394381700","loc":[-85.615201,41.954081]},"n394381701":{"id":"n394381701","loc":[-85.614426,41.954042]},"n394381702":{"id":"n394381702","loc":[-85.616319,41.954749]},"n394381704":{"id":"n394381704","loc":[-85.616152,41.954752]},"n394381706":{"id":"n394381706","loc":[-85.615201,41.95483]},"n394490775":{"id":"n394490775","loc":[-85.613971,41.954839]},"n394490782":{"id":"n394490782","loc":[-85.614372,41.954841]},"n185958835":{"id":"n185958835","loc":[-85.611615,41.953704]},"n185958837":{"id":"n185958837","loc":[-85.611636,41.953938]},"n185958842":{"id":"n185958842","loc":[-85.611187,41.951686]},"n185958844":{"id":"n185958844","loc":[-85.611087,41.951741]},"n185958845":{"id":"n185958845","loc":[-85.611034,41.951852]},"n185958847":{"id":"n185958847","loc":[-85.611016,41.95196]},"n185958849":{"id":"n185958849","loc":[-85.610989,41.95328]},"n185958851":{"id":"n185958851","loc":[-85.611021,41.953484]},"n185958852":{"id":"n185958852","loc":[-85.611091,41.953603]},"n185958853":{"id":"n185958853","loc":[-85.6112,41.953661]},"n185958855":{"id":"n185958855","loc":[-85.611364,41.953686]},"n185965031":{"id":"n185965031","loc":[-85.614204,41.953696]},"n185965032":{"id":"n185965032","loc":[-85.6142,41.953978]},"n185965062":{"id":"n185965062","loc":[-85.614617,41.951639]},"n185965064":{"id":"n185965064","loc":[-85.61463,41.951852]},"n185965066":{"id":"n185965066","loc":[-85.614642,41.953436]},"n185965068":{"id":"n185965068","loc":[-85.6146,41.953551]},"n185965071":{"id":"n185965071","loc":[-85.614487,41.95363]},"n185965073":{"id":"n185965073","loc":[-85.614354,41.953672]},"n185966288":{"id":"n185966288","loc":[-85.61179,41.953695]},"n185966290":{"id":"n185966290","loc":[-85.612232,41.953685]},"n185966293":{"id":"n185966293","loc":[-85.613438,41.953677]},"n185966349":{"id":"n185966349","loc":[-85.611323,41.951653]},"n185966351":{"id":"n185966351","loc":[-85.611892,41.951642]},"n185966352":{"id":"n185966352","loc":[-85.612216,41.951641]},"n185966353":{"id":"n185966353","loc":[-85.613111,41.951639]},"n185966354":{"id":"n185966354","loc":[-85.613396,41.95164]},"n185966355":{"id":"n185966355","loc":[-85.614221,41.95164]},"n185973839":{"id":"n185973839","loc":[-85.61341,41.951919]},"n185973840":{"id":"n185973840","loc":[-85.613438,41.953308]},"n185980222":{"id":"n185980222","loc":[-85.613781,41.955164]},"n185980223":{"id":"n185980223","loc":[-85.613815,41.955237]},"n185980225":{"id":"n185980225","loc":[-85.613837,41.955316]},"n185990345":{"id":"n185990345","loc":[-85.612211,41.951977]},"n185955743":{"id":"n185955743","loc":[-85.613873,41.95635]},"n185980227":{"id":"n185980227","loc":[-85.613851,41.955415]},"n185980229":{"id":"n185980229","loc":[-85.613918,41.957134]},"n394381703":{"id":"n394381703","loc":[-85.616287,41.955674]},"n394381705":{"id":"n394381705","loc":[-85.615164,41.955676]},"n394490777":{"id":"n394490777","loc":[-85.613973,41.955979]},"n394490780":{"id":"n394490780","loc":[-85.614364,41.955987]},"w17965307":{"id":"w17965307","tags":{"highway":"residential","name":"Bates Ave"},"nodes":["n185958842","n185966349","n185966351","n185966352","n185966353","n185966354","n185966355","n185965062"]},"w17967957":{"id":"w17967957","tags":{"highway":"residential","name":"Krum Ave"},"nodes":["n185966352","n185990345","n185966290"]},"w17964508":{"id":"w17964508","tags":{"highway":"residential","name":"Blossom Dr"},"nodes":["n185958842","n185958844","n185958845","n185958847","n185958849","n185958851","n185958852","n185958853","n185958855","n185958835"]},"w17964507":{"id":"w17964507","tags":{"highway":"residential","name":"Blossom Dr"},"nodes":["n185958835","n185958837","n185958839"]},"w34367080":{"id":"w34367080","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394381699","n394381706","n394381705","n394381703","n394381702","n394381704","n394381699"]},"w17965302":{"id":"w17965302","tags":{"highway":"residential","name":"Clausen Ave"},"nodes":["n185958835","n185966288","n185966290","n185966293","n185965031"]},"w17965156":{"id":"w17965156","tags":{"highway":"residential","name":"Orchard Dr"},"nodes":["n185965062","n185965064","n185965066","n185965068","n185965071","n185965073","n185965031"]},"w34369812":{"id":"w34369812","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394490775","n394490777","n394490780","n394490782","n394490775"]},"w17965151":{"id":"w17965151","tags":{"highway":"residential","name":"Orchard Dr"},"nodes":["n185965031","n185965032","n185965033"]},"w17966756":{"id":"w17966756","tags":{"access":"private","highway":"service","name":"Lockport Dr"},"nodes":["n185978828","n185980222","n185980223","n185980225","n185980227","n185955743","n185980229"]},"w17966056":{"id":"w17966056","tags":{"highway":"residential","name":"Angell Ave"},"nodes":["n185966354","n185973839","n185973840","n185966293"]},"w34367079":{"id":"w34367079","tags":{"admin_level":"8","boundary":"administrative"},"nodes":["n394381700","n394381701","n394381698","n394381699","n394381700"]},"n185955744":{"id":"n185955744","loc":[-85.611753,41.956208]},"n185988932":{"id":"n185988932","loc":[-85.6159,41.956336]},"n185988934":{"id":"n185988934","loc":[-85.6159158,41.9590646]},"n185988935":{"id":"n185988935","loc":[-85.6157358,41.959364],"tags":{"highway":"turning_circle"}},"n2138447007":{"id":"n2138447007","loc":[-85.6130784,41.9590689]},"n2138447008":{"id":"n2138447008","loc":[-85.6133328,41.9593805]},"n2138447003":{"id":"n2138447003","loc":[-85.610238,41.9547745]},"n2138447004":{"id":"n2138447004","loc":[-85.6102652,41.9566041]},"n2138447005":{"id":"n2138447005","loc":[-85.610325,41.9568823]},"n2138447006":{"id":"n2138447006","loc":[-85.6105644,41.9571383]},"n2138447009":{"id":"n2138447009","loc":[-85.6135946,41.959948]},"n2138447010":{"id":"n2138447010","loc":[-85.6136071,41.9629372]},"n2138447011":{"id":"n2138447011","loc":[-85.6134392,41.9633182]},"n2138447012":{"id":"n2138447012","loc":[-85.6130151,41.9636073]},"n2138447013":{"id":"n2138447013","loc":[-85.6122729,41.9637125]},"n2138447014":{"id":"n2138447014","loc":[-85.6056682,41.963752]},"w17964174":{"id":"w17964174","tags":{"access":"private","highway":"service"},"nodes":["n185955743","n185955744"]},"w17967743":{"id":"w17967743","tags":{"access":"private","highway":"service","name":"Manistee River Rd"},"nodes":["n185971574","n185988932","n185971407","n185981301","n185967987","n185988934","n185988935"]},"w203839666":{"id":"w203839666","tags":{"highway":"residential","name":"Hov Aire Drive"},"nodes":["n2138447003","n2138447004","n2138447005","n2138447006","n2138447007","n2138447008","n2138447009","n2138447010","n2138447011","n2138447012","n2138447013","n2138447014"]}}';iD.data = {"deprecated":[{"old":{"amenity":"firepit"},"replace":{"leisure":"firepit"}},{"old":{"barrier":"wire_fence"},"replace":{"barrier":"fence","fence_type":"chain"}},{"old":{"barrier":"wood_fence"},"replace":{"barrier":"fence","fence_type":"wood"}},{"old":{"highway":"ford"},"replace":{"ford":"yes"}},{"old":{"highway":"stile"},"replace":{"barrier":"stile"}},{"old":{"highway":"incline"},"replace":{"highway":"road","incline":"up"}},{"old":{"highway":"incline_steep"},"replace":{"highway":"road","incline":"up"}},{"old":{"highway":"unsurfaced"},"replace":{"highway":"road","incline":"unpaved"}},{"old":{"landuse":"wood"},"replace":{"landuse":"forest","natural":"wood"}},{"old":{"natural":"marsh"},"replace":{"natural":"wetland","wetland":"marsh"}},{"old":{"power_source":"*"},"replace":{"generator:source":"$1"}},{"old":{"power_rating":"*"},"replace":{"generator:output":"$1"}},{"old":{"shop":"organic"},"replace":{"shop":"supermarket","organic":"only"}}],"discarded":["created_by","odbl","odbl:note","tiger:upload_uuid","tiger:tlid","tiger:source","tiger:separated","geobase:datasetName","geobase:uuid","sub_sea:type","KSJ2:ADS","KSJ2:ARE","KSJ2:AdminArea","KSJ2:COP_label","KSJ2:DFD","KSJ2:INT","KSJ2:INT_label","KSJ2:LOC","KSJ2:LPN","KSJ2:OPC","KSJ2:PubFacAdmin","KSJ2:RAC","KSJ2:RAC_label","KSJ2:RIC","KSJ2:RIN","KSJ2:WSC","KSJ2:coordinate","KSJ2:curve_id","KSJ2:curve_type","KSJ2:filename","KSJ2:lake_id","KSJ2:lat","KSJ2:long","KSJ2:river_id","yh:LINE_NAME","yh:LINE_NUM","yh:STRUCTURE","yh:TOTYUMONO","yh:TYPE","yh:WIDTH","yh:WIDTH_RANK","SK53_bulk:load"],"wikipedia":[["Abkhazian","Аҧсшәа","ab"],["Achinese","Acèh","ace"],["Adyghe","адыгабзэ","ady"],["Afrikaans","Afrikaans","af"],["Akan","Akan","ak"],["Alemannisch","Alemannisch","als"],["Amharic","አማርኛ","am"],["Aragonese","aragonés","an"],["Old English","Ænglisc","ang"],["Arabic","العربية","ar"],["Aramaic","ܐܪܡܝܐ","arc"],["Egyptian Arabic","مصرى","arz"],["Assamese","অসমীয়া","as"],["Asturian","asturianu","ast"],["Avaric","авар","av"],["Aymara","Aymar aru","ay"],["Azerbaijani","azərbaycanca","az"],["تۆرکجه","تۆرکجه","azb"],["Bashkir","башҡортса","ba"],["Bavarian","Boarisch","bar"],["Samogitian","žemaitėška","bat-smg"],["Bikol Central","Bikol Central","bcl"],["Belarusian","беларуская","be"],["беларуская (тарашкевіца)","беларуская (тарашкевіца)","be-x-old"],["Bulgarian","български","bg"],["भोजपुरी","भोजपुरी","bh"],["Bislama","Bislama","bi"],["Banjar","Bahasa Banjar","bjn"],["Bambara","bamanankan","bm"],["Bengali","বাংলা","bn"],["Tibetan","བོད་ཡིག","bo"],["Bishnupriya","বিষ্ণুপ্রিয়া মণিপুরী","bpy"],["Breton","brezhoneg","br"],["Bosnian","bosanski","bs"],["Buginese","ᨅᨔ ᨕᨘᨁᨗ","bug"],["буряад","буряад","bxr"],["Catalan","català","ca"],["Chavacano de Zamboanga","Chavacano de Zamboanga","cbk-zam"],["Min Dong Chinese","Mìng-dĕ̤ng-ngṳ̄","cdo"],["Chechen","нохчийн","ce"],["Cebuano","Cebuano","ceb"],["Chamorro","Chamoru","ch"],["Cherokee","ᏣᎳᎩ","chr"],["Cheyenne","Tsetsêhestâhese","chy"],["Central Kurdish","کوردیی ناوەندی","ckb"],["Corsican","corsu","co"],["Cree","Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ","cr"],["Crimean Turkish","qırımtatarca","crh"],["Czech","čeština","cs"],["Kashubian","kaszëbsczi","csb"],["Church Slavic","словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ","cu"],["Chuvash","Чӑвашла","cv"],["Welsh","Cymraeg","cy"],["Danish","dansk","da"],["German","Deutsch","de"],["Zazaki","Zazaki","diq"],["Lower Sorbian","dolnoserbski","dsb"],["Divehi","ދިވެހިބަސް","dv"],["Dzongkha","ཇོང་ཁ","dz"],["Ewe","eʋegbe","ee"],["Greek","Ελληνικά","el"],["Emiliano-Romagnolo","emiliàn e rumagnòl","eml"],["English","English","en"],["Esperanto","Esperanto","eo"],["Spanish","español","es"],["Estonian","eesti","et"],["Basque","euskara","eu"],["Extremaduran","estremeñu","ext"],["Persian","فارسی","fa"],["Fulah","Fulfulde","ff"],["Finnish","suomi","fi"],["Võro","Võro","fiu-vro"],["Fijian","Na Vosa Vakaviti","fj"],["Faroese","føroyskt","fo"],["French","français","fr"],["Arpitan","arpetan","frp"],["Northern Frisian","Nordfriisk","frr"],["Friulian","furlan","fur"],["Western Frisian","Frysk","fy"],["Irish","Gaeilge","ga"],["Gagauz","Gagauz","gag"],["Gan Chinese","贛語","gan"],["Scottish Gaelic","Gàidhlig","gd"],["Galician","galego","gl"],["Gilaki","گیلکی","glk"],["Guarani","Avañe'ẽ","gn"],["Goan Konkani","गोंयची कोंकणी / Gõychi Konknni","gom"],["Gothic","𐌲𐌿𐍄𐌹𐍃𐌺","got"],["Gujarati","ગુજરાતી","gu"],["Manx","Gaelg","gv"],["Hausa","Hausa","ha"],["Hakka Chinese","客家語/Hak-kâ-ngî","hak"],["Hawaiian","Hawaiʻi","haw"],["Hebrew","עברית","he"],["Hindi","हिन्दी","hi"],["Fiji Hindi","Fiji Hindi","hif"],["Croatian","hrvatski","hr"],["Upper Sorbian","hornjoserbsce","hsb"],["Haitian Creole","Kreyòl ayisyen","ht"],["Hungarian","magyar","hu"],["Armenian","Հայերեն","hy"],["Interlingua","interlingua","ia"],["Indonesian","Bahasa Indonesia","id"],["Interlingue","Interlingue","ie"],["Igbo","Igbo","ig"],["Inupiaq","Iñupiak","ik"],["Iloko","Ilokano","ilo"],["Ido","Ido","io"],["Icelandic","íslenska","is"],["Italian","italiano","it"],["Inuktitut","ᐃᓄᒃᑎᑐᑦ/inuktitut","iu"],["Japanese","日本語","ja"],["Jamaican Creole English","Patois","jam"],["Lojban","la .lojban.","jbo"],["Javanese","Basa Jawa","jv"],["Georgian","ქართული","ka"],["Kara-Kalpak","Qaraqalpaqsha","kaa"],["Kabyle","Taqbaylit","kab"],["Kabardian","Адыгэбзэ","kbd"],["Kongo","Kongo","kg"],["Kikuyu","Gĩkũyũ","ki"],["Kazakh","қазақша","kk"],["Kalaallisut","kalaallisut","kl"],["Khmer","ភាសាខ្មែរ","km"],["Kannada","ಕನ್ನಡ","kn"],["Korean","한국어","ko"],["Komi-Permyak","Перем Коми","koi"],["Karachay-Balkar","къарачай-малкъар","krc"],["Kashmiri","कॉशुर / کٲشُر","ks"],["Colognian","Ripoarisch","ksh"],["Kurdish","Kurdî","ku"],["Komi","коми","kv"],["Cornish","kernowek","kw"],["Kyrgyz","Кыргызча","ky"],["Latin","Latina","la"],["Ladino","Ladino","lad"],["Luxembourgish","Lëtzebuergesch","lb"],["лакку","лакку","lbe"],["Lezghian","лезги","lez"],["Ganda","Luganda","lg"],["Limburgish","Limburgs","li"],["Ligurian","Ligure","lij"],["Lombard","lumbaart","lmo"],["Lingala","lingála","ln"],["Lao","ລາວ","lo"],["Northern Luri","لۊری شومالی","lrc"],["Lithuanian","lietuvių","lt"],["Latgalian","latgaļu","ltg"],["Latvian","latviešu","lv"],["Maithili","मैथिली","mai"],["Basa Banyumasan","Basa Banyumasan","map-bms"],["Moksha","мокшень","mdf"],["Malagasy","Malagasy","mg"],["Eastern Mari","олык марий","mhr"],["Maori","Māori","mi"],["Minangkabau","Baso Minangkabau","min"],["Macedonian","македонски","mk"],["Malayalam","മലയാളം","ml"],["Mongolian","монгол","mn"],["Marathi","मराठी","mr"],["Western Mari","кырык мары","mrj"],["Malay","Bahasa Melayu","ms"],["Maltese","Malti","mt"],["Mirandese","Mirandés","mwl"],["Burmese","မြန်မာဘာသာ","my"],["Erzya","эрзянь","myv"],["Mazanderani","مازِرونی","mzn"],["Nauru","Dorerin Naoero","na"],["Nāhuatl","Nāhuatl","nah"],["Neapolitan","Napulitano","nap"],["Low German","Plattdüütsch","nds"],["Low Saxon","Nedersaksies","nds-nl"],["Nepali","नेपाली","ne"],["Newari","नेपाल भाषा","new"],["Dutch","Nederlands","nl"],["Norwegian Nynorsk","norsk nynorsk","nn"],["Norwegian","norsk bokmål","no"],["Novial","Novial","nov"],["Nouormand","Nouormand","nrm"],["Northern Sotho","Sesotho sa Leboa","nso"],["Navajo","Diné bizaad","nv"],["Nyanja","Chi-Chewa","ny"],["Occitan","occitan","oc"],["Oromo","Oromoo","om"],["Oriya","ଓଡ଼ିଆ","or"],["Ossetic","Ирон","os"],["Punjabi","ਪੰਜਾਬੀ","pa"],["Pangasinan","Pangasinan","pag"],["Pampanga","Kapampangan","pam"],["Papiamento","Papiamentu","pap"],["Picard","Picard","pcd"],["Pennsylvania German","Deitsch","pdc"],["Palatine German","Pälzisch","pfl"],["Pali","पालि","pi"],["Norfuk / Pitkern","Norfuk / Pitkern","pih"],["Polish","polski","pl"],["Piedmontese","Piemontèis","pms"],["Western Punjabi","پنجابی","pnb"],["Pontic","Ποντιακά","pnt"],["Pashto","پښتو","ps"],["Portuguese","português","pt"],["Quechua","Runa Simi","qu"],["Romansh","rumantsch","rm"],["Romani","Romani","rmy"],["Rundi","Kirundi","rn"],["Romanian","română","ro"],["Aromanian","armãneashti","roa-rup"],["tarandíne","tarandíne","roa-tara"],["Russian","русский","ru"],["Rusyn","русиньскый","rue"],["Kinyarwanda","Kinyarwanda","rw"],["Sanskrit","संस्कृतम्","sa"],["Sakha","саха тыла","sah"],["Sardinian","sardu","sc"],["Sicilian","sicilianu","scn"],["Scots","Scots","sco"],["Sindhi","سنڌي","sd"],["Northern Sami","sámegiella","se"],["Sango","Sängö","sg"],["Serbo-Croatian","srpskohrvatski / српскохрватски","sh"],["Sinhala","සිංහල","si"],["Simple English","Simple English","simple"],["Slovak","slovenčina","sk"],["Slovenian","slovenščina","sl"],["Samoan","Gagana Samoa","sm"],["Shona","chiShona","sn"],["Somali","Soomaaliga","so"],["Albanian","shqip","sq"],["Serbian","српски / srpski","sr"],["Sranan Tongo","Sranantongo","srn"],["Swati","SiSwati","ss"],["Southern Sotho","Sesotho","st"],["Saterland Frisian","Seeltersk","stq"],["Sundanese","Basa Sunda","su"],["Swedish","svenska","sv"],["Swahili","Kiswahili","sw"],["Silesian","ślůnski","szl"],["Tamil","தமிழ்","ta"],["Telugu","తెలుగు","te"],["Tetum","tetun","tet"],["Tajik","тоҷикӣ","tg"],["Thai","ไทย","th"],["Tigrinya","ትግርኛ","ti"],["Turkmen","Türkmençe","tk"],["Tagalog","Tagalog","tl"],["Tswana","Setswana","tn"],["Tongan","lea faka-Tonga","to"],["Tok Pisin","Tok Pisin","tpi"],["Turkish","Türkçe","tr"],["Tsonga","Xitsonga","ts"],["Tatar","татарча/tatarça","tt"],["Tumbuka","chiTumbuka","tum"],["Twi","Twi","tw"],["Tahitian","reo tahiti","ty"],["Tuvinian","тыва дыл","tyv"],["Udmurt","удмурт","udm"],["Uyghur","ئۇيغۇرچە / Uyghurche","ug"],["Ukrainian","українська","uk"],["Urdu","اردو","ur"],["Uzbek","oʻzbekcha/ўзбекча","uz"],["Venda","Tshivenda","ve"],["Venetian","vèneto","vec"],["Veps","vepsän kel’","vep"],["Vietnamese","Tiếng Việt","vi"],["West Flemish","West-Vlams","vls"],["Volapük","Volapük","vo"],["Walloon","walon","wa"],["Waray","Winaray","war"],["Wolof","Wolof","wo"],["Wu Chinese","吴语","wuu"],["Kalmyk","хальмг","xal"],["Xhosa","isiXhosa","xh"],["Mingrelian","მარგალური","xmf"],["Yiddish","ייִדיש","yi"],["Yoruba","Yorùbá","yo"],["Zhuang","Vahcuengh","za"],["Zeelandic","Zeêuws","zea"],["Chinese","中文","zh"],["Classical Chinese","文言","zh-classical"],["Chinese (Min Nan)","Bân-lâm-gú","zh-min-nan"],["Cantonese","粵語","zh-yue"],["Zulu","isiZulu","zu"]],"imperial":{"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[1.97754,51.13111],[1.8457,63.45051],[-10.45898,57.01681],[-6.82251,55.26503],[-7.25583,55.06525],[-7.26546,55.0665],[-7.26992,55.06419],[-7.2725,55.06346],[-7.27818,55.05362],[-7.2893,55.04735],[-7.29939,55.0561],[-7.31835,55.04475],[-7.3447,55.05079],[-7.38831,55.02389],[-7.40547,55.00292],[-7.39157,54.99507],[-7.40075,54.98892],[-7.40706,54.98291],[-7.40363,54.97963],[-7.40633,54.97813],[-7.39835,54.97013],[-7.40745,54.96357],[-7.40178,54.95961],[-7.40727,54.95515],[-7.3944,54.94376],[-7.44444,54.93858],[-7.45216,54.89793],[-7.44204,54.87532],[-7.4713,54.83431],[-7.48092,54.83093],[-7.49216,54.82185],[-7.55121,54.79054],[-7.5443,54.78609],[-7.54958,54.75653],[-7.5349,54.74917],[-7.54881,54.74068],[-7.55941,54.74556],[-7.57894,54.74221],[-7.57507,54.7494],[-7.58606,54.75039],[-7.58872,54.74377],[-7.60031,54.74603],[-7.60632,54.74405],[-7.61662,54.74459],[-7.63593,54.75108],[-7.68854,54.72968],[-7.72064,54.72155],[-7.75094,54.70469],[-7.79094,54.71942],[-7.8051,54.71932],[-7.83497,54.73632],[-7.85419,54.72745],[-7.91496,54.67582],[-7.90174,54.66182],[-7.83832,54.63401],[-7.7433,54.6188],[-7.70863,54.63485],[-7.70682,54.6189],[-7.69386,54.6188],[-7.69631,54.61125],[-7.75845,54.59509],[-7.78708,54.58],[-7.79446,54.58141],[-7.79969,54.57704],[-7.79673,54.56915],[-7.8184,54.56315],[-7.83334,54.55227],[-7.82737,54.54299],[-7.85007,54.53363],[-7.90741,54.53722],[-7.93213,54.53388],[-8.00487,54.54568],[-8.03727,54.51162],[-8.04285,54.48759],[-8.08027,54.48829],[-8.09988,54.48395],[-8.09126,54.4765],[-8.111,54.47807],[-8.11512,54.46904],[-8.16542,54.46914],[-8.1776,54.46485],[-8.14293,54.45003],[-8.16284,54.4413],[-8.08731,54.4002],[-8.06062,54.37051],[-8.03289,54.35711],[-8.00054,54.34835],[-7.93333,54.30561],[-7.85849,54.29151],[-7.87067,54.28794],[-7.87265,54.26648],[-7.86123,54.25931],[-7.85917,54.21256],[-7.71043,54.20307],[-7.70193,54.20776],[-7.68828,54.202],[-7.67644,54.18906],[-7.66082,54.1871],[-7.62554,54.16545],[-7.62541,54.15319],[-7.61026,54.14353],[-7.57421,54.14142],[-7.57181,54.13287],[-7.56228,54.12704],[-7.51379,54.12998],[-7.47944,54.122],[-7.47169,54.12665],[-7.47075,54.13318],[-7.44684,54.15168],[-7.40792,54.156],[-7.42579,54.14092],[-7.41903,54.13629],[-7.3744,54.14172],[-7.37234,54.13881],[-7.39509,54.12624],[-7.39182,54.12017],[-7.36341,54.13157],[-7.34518,54.11577],[-7.32471,54.12123],[-7.32003,54.11379],[-7.3078,54.11718],[-7.30548,54.12347],[-7.31591,54.12697],[-7.31213,54.13162],[-7.3187,54.13411],[-7.31857,54.13745],[-7.32222,54.13836],[-7.32737,54.13544],[-7.3399,54.14585],[-7.30827,54.16716],[-7.30024,54.16625],[-7.29029,54.1715],[-7.28158,54.16839],[-7.2863,54.14919],[-7.29874,54.14904],[-7.30162,54.14411],[-7.28411,54.13971],[-7.29192,54.13071],[-7.29737,54.133],[-7.30883,54.13242],[-7.30333,54.12251],[-7.29218,54.11929],[-7.27844,54.12282],[-7.27707,54.12986],[-7.26613,54.13624],[-7.2566,54.16354],[-7.24015,54.17125],[-7.2575,54.17678],[-7.2581,54.19257],[-7.25179,54.19403],[-7.23608,54.1935],[-7.23338,54.19792],[-7.24317,54.20076],[-7.24892,54.1977],[-7.25183,54.20201],[-7.24119,54.20623],[-7.23094,54.20578],[-7.23269,54.20912],[-7.22188,54.21607],[-7.20643,54.2117],[-7.18506,54.22485],[-7.17055,54.21742],[-7.14721,54.22488],[-7.14633,54.23008],[-7.15051,54.23165],[-7.14613,54.23983],[-7.15802,54.24434],[-7.13985,54.25298],[-7.15255,54.26235],[-7.16064,54.27405],[-7.17991,54.27144],[-7.17201,54.28627],[-7.21252,54.2985],[-7.19888,54.31117],[-7.17918,54.30946],[-7.1812,54.3397],[-7.15339,54.33514],[-7.10253,54.35811],[-7.10811,54.36677],[-7.06927,54.3899],[-7.05593,54.41056],[-7.02898,54.42135],[-7.00198,54.40832],[-6.98683,54.40829],[-6.97562,54.40014],[-6.96774,54.40145],[-6.90682,54.36966],[-6.89772,54.35075],[-6.87527,54.33853],[-6.86512,54.32568],[-6.85163,54.29137],[-6.87452,54.28677],[-6.87791,54.27918],[-6.86673,54.27522],[-6.85177,54.26489],[-6.83693,54.26658],[-6.82165,54.24346],[-6.81633,54.22299],[-6.80045,54.22108],[-6.80122,54.21338],[-6.77599,54.19965],[-6.75573,54.1987],[-6.74316,54.18258],[-6.73406,54.18566],[-6.72445,54.18127],[-6.70295,54.20036],[-6.69166,54.20018],[-6.68673,54.19398],[-6.669,54.19584],[-6.65248,54.18102],[-6.6433,54.17801],[-6.63467,54.16449],[-6.63179,54.14766],[-6.64081,54.14238],[-6.63935,54.13599],[-6.66149,54.1205],[-6.6481,54.10153],[-6.66119,54.0934],[-6.66458,54.06629],[-6.64681,54.05873],[-6.62501,54.03737],[-6.59291,54.04755],[-6.58905,54.05808],[-6.5597,54.0481],[-6.52897,54.05888],[-6.50442,54.05566],[-6.47824,54.07004],[-6.47919,54.07762],[-6.43601,54.05959],[-6.36314,54.07057],[-6.36589,54.09338],[-6.36293,54.09758],[-6.37104,54.11497],[-6.3522,54.11084],[-6.34242,54.1114],[-6.33589,54.10833],[-6.33636,54.09469],[-6.31808,54.09096],[-6.30903,54.10463],[-6.29165,54.11235],[-6.28246,54.11145],[-6.26272,54.09786],[-5.35583,53.72597],[-7.0752,49.23912],[-1.83472,49.02346],[-2.12036,49.94415],[1.97754,51.13111]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-65.2,18.7],[-65,16.3],[-63.7,19.2],[-65.2,18.7]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-63,-50.5],[-55,-51],[-60,-54],[-63,-50.5]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-139.19952,60.08402],[-141,60.30621],[-141,76],[-169,68.63655],[-169,65.20147],[-180,61],[-180,-4],[-154,9],[-133.76404,54.54021],[-130.73868,54.71986],[-129.96277,55.29163],[-130.15228,55.7758],[-130.01787,55.90688],[-130.00362,56.00798],[-130.10284,56.12336],[-130.24498,56.09656],[-130.42625,56.14249],[-131.87439,56.79787],[-135.02884,59.56285],[-135.11759,59.62306],[-135.15827,59.6261],[-135.47928,59.79822],[-136.28677,59.57955],[-136.30531,59.46462],[-136.36836,59.44898],[-136.47697,59.46558],[-137.19727,59.01935],[-139.19952,60.08402]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-111.96064,48.99841],[-121.22623,49.00049],[-122.26513,49.00246],[-122.7565,49.00208],[-123.32218,49.00218],[-122.97821,48.76524],[-123.2666,48.69821],[-123.21991,48.21186],[-125.80444,48.60749],[-124.32129,31.54109],[-117.125,32.53429],[-116.82417,32.55996],[-115.88036,32.63735],[-115.49738,32.66486],[-114.71984,32.71877],[-114.7649,32.64602],[-114.80885,32.60959],[-114.81481,32.49451],[-112.81743,31.88004],[-111.07481,31.33224],[-109.56051,31.33402],[-108.20847,31.33384],[-108.20838,31.78363],[-106.52847,31.78391],[-106.52781,31.78086],[-106.52249,31.77501],[-106.51249,31.76933],[-106.50988,31.7612],[-106.50709,31.76123],[-106.48896,31.74806],[-106.48473,31.74769],[-106.4719,31.75101],[-106.46816,31.75897],[-106.45434,31.76466],[-106.45035,31.76426],[-106.43516,31.75492],[-106.41484,31.75101],[-106.37864,31.73021],[-106.37225,31.71174],[-106.34924,31.69633],[-106.33289,31.66178],[-106.3068,31.62459],[-106.28079,31.56179],[-106.24775,31.54226],[-106.2329,31.49982],[-106.2105,31.46857],[-106.08201,31.39863],[-106.00554,31.39233],[-105.76401,31.17051],[-105.58548,31.06117],[-105.56419,30.98526],[-104.99153,30.6639],[-104.97162,30.60896],[-104.90639,30.57822],[-104.83772,30.38117],[-104.70177,30.20567],[-104.68048,29.92399],[-104.57611,29.77838],[-104.51157,29.63674],[-104.39758,29.57047],[-104.39278,29.55293],[-104.05769,29.32173],[-103.79883,29.2581],[-103.78196,29.26555],[-103.76759,29.22799],[-103.14102,28.93666],[-102.86087,29.2217],[-102.65076,29.79418],[-101.41068,29.73457],[-101.26511,29.51372],[-101.05997,29.452],[-101.04083,29.38038],[-100.96303,29.34735],[-100.94406,29.34369],[-100.94071,29.33351],[-100.92775,29.32663],[-100.89814,29.30957],[-100.87818,29.28086],[-100.80076,29.2238],[-100.76437,29.15981],[-100.67047,29.08663],[-100.6412,28.91299],[-100.63236,28.90255],[-100.61296,28.89939],[-100.534,28.75622],[-100.51495,28.74531],[-100.50705,28.7143],[-100.51203,28.70666],[-100.51014,28.69127],[-100.50048,28.66186],[-100.45547,28.6381],[-100.44697,28.60743],[-100.35599,28.45239],[-100.34946,28.39653],[-100.29488,28.31315],[-100.29591,28.27324],[-100.17197,28.17493],[-99.93645,27.9568],[-99.87722,27.80173],[-99.79671,27.73338],[-99.772,27.72532],[-99.74556,27.69979],[-99.71947,27.65981],[-99.5957,27.59974],[-99.54094,27.60537],[-99.53055,27.57973],[-99.52034,27.55782],[-99.52802,27.49773],[-99.50141,27.49986],[-99.48755,27.49518],[-99.47897,27.48421],[-99.48661,27.46453],[-99.49534,27.44861],[-99.48927,27.40941],[-99.53957,27.31565],[-99.43588,27.19678],[-99.46404,27.01968],[-99.16698,26.56039],[-99.17474,26.53939],[-99.12698,26.51958],[-99.1135,26.42954],[-99.08355,26.39625],[-99.06007,26.39737],[-99.03634,26.41255],[-99.02042,26.40598],[-99.01291,26.39364],[-98.95686,26.38641],[-98.9566,26.37365],[-98.94523,26.36949],[-98.90013,26.36419],[-98.89905,26.35454],[-98.80305,26.36626],[-98.78254,26.30511],[-98.66667,26.23457],[-98.58496,26.24647],[-98.57951,26.23434],[-98.56519,26.23987],[-98.56294,26.22464],[-98.50599,26.20858],[-98.44806,26.21236],[-98.38617,26.15721],[-98.34176,26.15278],[-98.33579,26.1388],[-98.30626,26.10003],[-98.28841,26.10512],[-98.26524,26.0914],[-98.19898,26.06411],[-98.09577,26.05698],[-98.07568,26.06667],[-98.08302,26.03396],[-97.9771,26.04136],[-97.9532,26.06179],[-97.81643,26.04475],[-97.77017,26.02439],[-97.73884,26.02902],[-97.5289,25.90648],[-97.52151,25.88625],[-97.50615,25.89031],[-97.49851,25.89903],[-97.49637,25.89641],[-97.49748,25.88008],[-97.49422,25.87981],[-97.48847,25.88564],[-97.46409,25.88174],[-97.42607,25.842],[-97.36856,25.8396],[-97.26231,25.94724],[-80.81543,24.00633],[-66.87378,44.77794],[-67.16148,45.16715],[-67.2286,45.16739],[-67.26246,45.18797],[-67.28311,45.19175],[-67.28959,45.18784],[-67.29332,45.17568],[-67.29049,45.17317],[-67.3001,45.16776],[-67.3025,45.16122],[-67.29761,45.14766],[-67.33975,45.1255],[-67.40524,45.16122],[-67.40387,45.17139],[-67.4818,45.27682],[-67.42172,45.38543],[-67.45262,45.41008],[-67.50498,45.4889],[-67.41623,45.50105],[-67.42219,45.55661],[-67.42902,45.56833],[-67.42331,45.57154],[-67.42498,45.57836],[-67.45193,45.60323],[-67.77981,45.6738],[-67.79019,47.06776],[-67.88006,47.1067],[-67.91319,47.14793],[-67.92598,47.15418],[-67.95181,47.1875],[-68.02374,47.23915],[-68.13017,47.29309],[-68.17669,47.32893],[-68.24046,47.35354],[-68.32809,47.36005],[-68.36363,47.35476],[-68.38054,47.34167],[-68.38509,47.30321],[-68.37367,47.28796],[-68.4377,47.28232],[-68.47916,47.29623],[-68.51074,47.29885],[-68.54593,47.28441],[-68.58408,47.28482],[-68.59777,47.27134],[-68.59271,47.25762],[-68.61889,47.24148],[-68.68936,47.24125],[-68.71768,47.23676],[-68.80128,47.21423],[-68.89629,47.17676],[-69.05354,47.24847],[-69.04924,47.41798],[-69.22425,47.45961],[-69.99729,46.69558],[-70.0569,46.4149],[-70.25551,46.10871],[-70.29001,46.09431],[-70.39919,45.80667],[-70.83229,45.40062],[-70.80794,45.37878],[-70.82663,45.2367],[-70.87538,45.23453],[-70.92138,45.28099],[-70.90645,45.30918],[-71.0109,45.34798],[-71.08429,45.30556],[-71.1454,45.24226],[-71.20525,45.25278],[-71.28925,45.30097],[-71.41405,45.23513],[-71.43044,45.12381],[-71.49692,45.06991],[-71.50623,45.04878],[-71.49284,45.03629],[-71.50027,45.01372],[-71.79359,45.01075],[-72.08774,45.00581],[-72.14155,45.00568],[-72.15282,45.00609],[-72.17142,45.00584],[-72.25847,45.00436],[-72.38795,45.00626],[-72.4496,45.00863],[-72.5356,45.00936],[-72.66257,45.01523],[-72.82537,45.01642],[-73.08466,45.01561],[-73.45219,45.00875],[-74.14699,44.99145],[-74.33753,44.9923],[-74.50786,44.99798],[-74.66158,44.99949],[-74.71244,44.99734],[-74.75887,44.98708],[-74.76368,45.00632],[-74.78977,45.00365],[-74.82376,45.01773],[-74.94186,44.98229],[-75.30098,44.83883],[-75.30304,44.82836],[-75.59418,44.6457],[-75.97269,44.33502],[-75.97295,44.34595],[-76.00059,44.34797],[-76.17645,44.2865],[-76.18744,44.22158],[-76.88782,43.82759],[-79.16851,43.32168],[-79.05487,43.25371],[-79.05092,43.169],[-79.04603,43.16093],[-79.04208,43.13942],[-79.07002,43.12038],[-79.06015,43.114],[-79.0568,43.10474],[-79.0774,43.07861],[-78.9996,43.05484],[-79.02311,43.02071],[-79.02552,42.99473],[-78.96235,42.9573],[-78.91188,42.9426],[-78.90398,42.89181],[-82.42767,41.47978],[-83.14316,42.03807],[-83.12805,42.23843],[-83.09715,42.29052],[-83.07252,42.31515],[-82.94575,42.34332],[-82.59676,42.5479],[-82.51368,42.61785],[-82.5108,42.66464],[-82.4675,42.76415],[-82.48055,42.80573],[-82.45497,42.9284],[-82.41334,42.97099],[-82.42596,42.99536],[-82.15851,43.39507],[-83.53729,46.098],[-83.96301,46.05036],[-84.11021,46.23851],[-84.09794,46.25656],[-84.11613,46.26878],[-84.11905,46.31516],[-84.10721,46.3218],[-84.14394,46.41076],[-84.11682,46.51576],[-84.13536,46.53218],[-84.16162,46.5284],[-84.21621,46.53891],[-84.26994,46.49189],[-84.36092,46.50997],[-84.55284,46.4407],[-84.95178,46.77185],[-89.59179,48.00307],[-89.67547,48.00371],[-90.87204,48.25943],[-91.41312,48.06753],[-92.99377,48.62474],[-93.34877,48.62604],[-93.35529,48.61124],[-93.37074,48.60584],[-93.39812,48.60369],[-93.40542,48.61089],[-93.43846,48.59478],[-93.46859,48.59205],[-93.45735,48.56667],[-93.46533,48.54593],[-93.64763,48.51751],[-93.80625,48.51888],[-93.80642,48.58047],[-93.83328,48.62582],[-93.84865,48.63064],[-93.93388,48.6326],[-94.01327,48.64471],[-94.16176,48.64697],[-94.25025,48.65463],[-94.24931,48.67827],[-94.26046,48.69816],[-94.30578,48.71073],[-94.32758,48.70433],[-94.36123,48.70478],[-94.38406,48.71135],[-94.41629,48.71067],[-94.44294,48.69266],[-94.53615,48.7024],[-94.55031,48.71419],[-94.58894,48.71928],[-94.69425,48.77938],[-94.70129,48.83376],[-94.68996,48.83953],[-94.68395,48.99914],[-111.96064,48.99841]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[180,55],[170,53],[180,49],[180,55]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[143,22],[147,22],[147,12],[143,12],[143,22]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-171.5,-10],[-171,-15],[-167,-15],[-171.5,-10]]]}}]},"featureIcons":{"circle-stroked-24":{"x":0,"y":0,"width":24,"height":24},"circle-stroked-18":{"x":24,"y":0,"width":18,"height":18},"circle-stroked-12":{"x":42,"y":0,"width":12,"height":12},"circle-24":{"x":54,"y":0,"width":24,"height":24},"circle-18":{"x":78,"y":0,"width":18,"height":18},"circle-12":{"x":96,"y":0,"width":12,"height":12},"square-stroked-24":{"x":108,"y":0,"width":24,"height":24},"square-stroked-18":{"x":132,"y":0,"width":18,"height":18},"square-stroked-12":{"x":150,"y":0,"width":12,"height":12},"square-24":{"x":162,"y":0,"width":24,"height":24},"square-18":{"x":186,"y":0,"width":18,"height":18},"square-12":{"x":204,"y":0,"width":12,"height":12},"triangle-stroked-24":{"x":216,"y":0,"width":24,"height":24},"triangle-stroked-18":{"x":240,"y":0,"width":18,"height":18},"triangle-stroked-12":{"x":258,"y":0,"width":12,"height":12},"triangle-24":{"x":0,"y":24,"width":24,"height":24},"triangle-18":{"x":24,"y":24,"width":18,"height":18},"triangle-12":{"x":42,"y":24,"width":12,"height":12},"star-stroked-24":{"x":54,"y":24,"width":24,"height":24},"star-stroked-18":{"x":78,"y":24,"width":18,"height":18},"star-stroked-12":{"x":96,"y":24,"width":12,"height":12},"star-24":{"x":108,"y":24,"width":24,"height":24},"star-18":{"x":132,"y":24,"width":18,"height":18},"star-12":{"x":150,"y":24,"width":12,"height":12},"cross-24":{"x":162,"y":24,"width":24,"height":24},"cross-18":{"x":186,"y":24,"width":18,"height":18},"cross-12":{"x":204,"y":24,"width":12,"height":12},"marker-stroked-24":{"x":216,"y":24,"width":24,"height":24},"marker-stroked-18":{"x":240,"y":24,"width":18,"height":18},"marker-stroked-12":{"x":258,"y":24,"width":12,"height":12},"marker-24":{"x":0,"y":48,"width":24,"height":24},"marker-18":{"x":24,"y":48,"width":18,"height":18},"marker-12":{"x":42,"y":48,"width":12,"height":12},"religious-jewish-24":{"x":54,"y":48,"width":24,"height":24},"religious-jewish-18":{"x":78,"y":48,"width":18,"height":18},"religious-jewish-12":{"x":96,"y":48,"width":12,"height":12},"religious-christian-24":{"x":108,"y":48,"width":24,"height":24},"religious-christian-18":{"x":132,"y":48,"width":18,"height":18},"religious-christian-12":{"x":150,"y":48,"width":12,"height":12},"religious-muslim-24":{"x":162,"y":48,"width":24,"height":24},"religious-muslim-18":{"x":186,"y":48,"width":18,"height":18},"religious-muslim-12":{"x":204,"y":48,"width":12,"height":12},"cemetery-24":{"x":216,"y":48,"width":24,"height":24},"cemetery-18":{"x":240,"y":48,"width":18,"height":18},"cemetery-12":{"x":258,"y":48,"width":12,"height":12},"rocket-24":{"x":0,"y":72,"width":24,"height":24},"rocket-18":{"x":24,"y":72,"width":18,"height":18},"rocket-12":{"x":42,"y":72,"width":12,"height":12},"airport-24":{"x":54,"y":72,"width":24,"height":24},"airport-18":{"x":78,"y":72,"width":18,"height":18},"airport-12":{"x":96,"y":72,"width":12,"height":12},"heliport-24":{"x":108,"y":72,"width":24,"height":24},"heliport-18":{"x":132,"y":72,"width":18,"height":18},"heliport-12":{"x":150,"y":72,"width":12,"height":12},"rail-24":{"x":162,"y":72,"width":24,"height":24},"rail-18":{"x":186,"y":72,"width":18,"height":18},"rail-12":{"x":204,"y":72,"width":12,"height":12},"rail-metro-24":{"x":216,"y":72,"width":24,"height":24},"rail-metro-18":{"x":240,"y":72,"width":18,"height":18},"rail-metro-12":{"x":258,"y":72,"width":12,"height":12},"rail-light-24":{"x":0,"y":96,"width":24,"height":24},"rail-light-18":{"x":24,"y":96,"width":18,"height":18},"rail-light-12":{"x":42,"y":96,"width":12,"height":12},"bus-24":{"x":54,"y":96,"width":24,"height":24},"bus-18":{"x":78,"y":96,"width":18,"height":18},"bus-12":{"x":96,"y":96,"width":12,"height":12},"fuel-24":{"x":108,"y":96,"width":24,"height":24},"fuel-18":{"x":132,"y":96,"width":18,"height":18},"fuel-12":{"x":150,"y":96,"width":12,"height":12},"parking-24":{"x":162,"y":96,"width":24,"height":24},"parking-18":{"x":186,"y":96,"width":18,"height":18},"parking-12":{"x":204,"y":96,"width":12,"height":12},"parking-garage-24":{"x":216,"y":96,"width":24,"height":24},"parking-garage-18":{"x":240,"y":96,"width":18,"height":18},"parking-garage-12":{"x":258,"y":96,"width":12,"height":12},"airfield-24":{"x":0,"y":120,"width":24,"height":24},"airfield-18":{"x":24,"y":120,"width":18,"height":18},"airfield-12":{"x":42,"y":120,"width":12,"height":12},"roadblock-24":{"x":54,"y":120,"width":24,"height":24},"roadblock-18":{"x":78,"y":120,"width":18,"height":18},"roadblock-12":{"x":96,"y":120,"width":12,"height":12},"ferry-24":{"x":108,"y":120,"width":24,"height":24},"ferry-18":{"x":132,"y":120,"width":18,"height":18},"ferry-12":{"x":150,"y":120,"width":12,"height":12},"harbor-24":{"x":162,"y":120,"width":24,"height":24},"harbor-18":{"x":186,"y":120,"width":18,"height":18},"harbor-12":{"x":204,"y":120,"width":12,"height":12},"bicycle-24":{"x":216,"y":120,"width":24,"height":24},"bicycle-18":{"x":240,"y":120,"width":18,"height":18},"bicycle-12":{"x":258,"y":120,"width":12,"height":12},"park-24":{"x":0,"y":144,"width":24,"height":24},"park-18":{"x":24,"y":144,"width":18,"height":18},"park-12":{"x":42,"y":144,"width":12,"height":12},"park2-24":{"x":54,"y":144,"width":24,"height":24},"park2-18":{"x":78,"y":144,"width":18,"height":18},"park2-12":{"x":96,"y":144,"width":12,"height":12},"museum-24":{"x":108,"y":144,"width":24,"height":24},"museum-18":{"x":132,"y":144,"width":18,"height":18},"museum-12":{"x":150,"y":144,"width":12,"height":12},"lodging-24":{"x":162,"y":144,"width":24,"height":24},"lodging-18":{"x":186,"y":144,"width":18,"height":18},"lodging-12":{"x":204,"y":144,"width":12,"height":12},"monument-24":{"x":216,"y":144,"width":24,"height":24},"monument-18":{"x":240,"y":144,"width":18,"height":18},"monument-12":{"x":258,"y":144,"width":12,"height":12},"zoo-24":{"x":0,"y":168,"width":24,"height":24},"zoo-18":{"x":24,"y":168,"width":18,"height":18},"zoo-12":{"x":42,"y":168,"width":12,"height":12},"garden-24":{"x":54,"y":168,"width":24,"height":24},"garden-18":{"x":78,"y":168,"width":18,"height":18},"garden-12":{"x":96,"y":168,"width":12,"height":12},"campsite-24":{"x":108,"y":168,"width":24,"height":24},"campsite-18":{"x":132,"y":168,"width":18,"height":18},"campsite-12":{"x":150,"y":168,"width":12,"height":12},"theatre-24":{"x":162,"y":168,"width":24,"height":24},"theatre-18":{"x":186,"y":168,"width":18,"height":18},"theatre-12":{"x":204,"y":168,"width":12,"height":12},"art-gallery-24":{"x":216,"y":168,"width":24,"height":24},"art-gallery-18":{"x":240,"y":168,"width":18,"height":18},"art-gallery-12":{"x":258,"y":168,"width":12,"height":12},"pitch-24":{"x":0,"y":192,"width":24,"height":24},"pitch-18":{"x":24,"y":192,"width":18,"height":18},"pitch-12":{"x":42,"y":192,"width":12,"height":12},"soccer-24":{"x":54,"y":192,"width":24,"height":24},"soccer-18":{"x":78,"y":192,"width":18,"height":18},"soccer-12":{"x":96,"y":192,"width":12,"height":12},"america-football-24":{"x":108,"y":192,"width":24,"height":24},"america-football-18":{"x":132,"y":192,"width":18,"height":18},"america-football-12":{"x":150,"y":192,"width":12,"height":12},"tennis-24":{"x":162,"y":192,"width":24,"height":24},"tennis-18":{"x":186,"y":192,"width":18,"height":18},"tennis-12":{"x":204,"y":192,"width":12,"height":12},"basketball-24":{"x":216,"y":192,"width":24,"height":24},"basketball-18":{"x":240,"y":192,"width":18,"height":18},"basketball-12":{"x":258,"y":192,"width":12,"height":12},"baseball-24":{"x":0,"y":216,"width":24,"height":24},"baseball-18":{"x":24,"y":216,"width":18,"height":18},"baseball-12":{"x":42,"y":216,"width":12,"height":12},"golf-24":{"x":54,"y":216,"width":24,"height":24},"golf-18":{"x":78,"y":216,"width":18,"height":18},"golf-12":{"x":96,"y":216,"width":12,"height":12},"swimming-24":{"x":108,"y":216,"width":24,"height":24},"swimming-18":{"x":132,"y":216,"width":18,"height":18},"swimming-12":{"x":150,"y":216,"width":12,"height":12},"cricket-24":{"x":162,"y":216,"width":24,"height":24},"cricket-18":{"x":186,"y":216,"width":18,"height":18},"cricket-12":{"x":204,"y":216,"width":12,"height":12},"skiing-24":{"x":216,"y":216,"width":24,"height":24},"skiing-18":{"x":240,"y":216,"width":18,"height":18},"skiing-12":{"x":258,"y":216,"width":12,"height":12},"school-24":{"x":0,"y":240,"width":24,"height":24},"school-18":{"x":24,"y":240,"width":18,"height":18},"school-12":{"x":42,"y":240,"width":12,"height":12},"college-24":{"x":54,"y":240,"width":24,"height":24},"college-18":{"x":78,"y":240,"width":18,"height":18},"college-12":{"x":96,"y":240,"width":12,"height":12},"library-24":{"x":108,"y":240,"width":24,"height":24},"library-18":{"x":132,"y":240,"width":18,"height":18},"library-12":{"x":150,"y":240,"width":12,"height":12},"post-24":{"x":162,"y":240,"width":24,"height":24},"post-18":{"x":186,"y":240,"width":18,"height":18},"post-12":{"x":204,"y":240,"width":12,"height":12},"fire-station-24":{"x":216,"y":240,"width":24,"height":24},"fire-station-18":{"x":240,"y":240,"width":18,"height":18},"fire-station-12":{"x":258,"y":240,"width":12,"height":12},"town-hall-24":{"x":0,"y":264,"width":24,"height":24},"town-hall-18":{"x":24,"y":264,"width":18,"height":18},"town-hall-12":{"x":42,"y":264,"width":12,"height":12},"police-24":{"x":54,"y":264,"width":24,"height":24},"police-18":{"x":78,"y":264,"width":18,"height":18},"police-12":{"x":96,"y":264,"width":12,"height":12},"prison-24":{"x":108,"y":264,"width":24,"height":24},"prison-18":{"x":132,"y":264,"width":18,"height":18},"prison-12":{"x":150,"y":264,"width":12,"height":12},"embassy-24":{"x":162,"y":264,"width":24,"height":24},"embassy-18":{"x":186,"y":264,"width":18,"height":18},"embassy-12":{"x":204,"y":264,"width":12,"height":12},"beer-24":{"x":216,"y":264,"width":24,"height":24},"beer-18":{"x":240,"y":264,"width":18,"height":18},"beer-12":{"x":258,"y":264,"width":12,"height":12},"restaurant-24":{"x":0,"y":288,"width":24,"height":24},"restaurant-18":{"x":24,"y":288,"width":18,"height":18},"restaurant-12":{"x":42,"y":288,"width":12,"height":12},"cafe-24":{"x":54,"y":288,"width":24,"height":24},"cafe-18":{"x":78,"y":288,"width":18,"height":18},"cafe-12":{"x":96,"y":288,"width":12,"height":12},"shop-24":{"x":108,"y":288,"width":24,"height":24},"shop-18":{"x":132,"y":288,"width":18,"height":18},"shop-12":{"x":150,"y":288,"width":12,"height":12},"fast-food-24":{"x":162,"y":288,"width":24,"height":24},"fast-food-18":{"x":186,"y":288,"width":18,"height":18},"fast-food-12":{"x":204,"y":288,"width":12,"height":12},"bar-24":{"x":216,"y":288,"width":24,"height":24},"bar-18":{"x":240,"y":288,"width":18,"height":18},"bar-12":{"x":258,"y":288,"width":12,"height":12},"bank-24":{"x":0,"y":312,"width":24,"height":24},"bank-18":{"x":24,"y":312,"width":18,"height":18},"bank-12":{"x":42,"y":312,"width":12,"height":12},"grocery-24":{"x":54,"y":312,"width":24,"height":24},"grocery-18":{"x":78,"y":312,"width":18,"height":18},"grocery-12":{"x":96,"y":312,"width":12,"height":12},"cinema-24":{"x":108,"y":312,"width":24,"height":24},"cinema-18":{"x":132,"y":312,"width":18,"height":18},"cinema-12":{"x":150,"y":312,"width":12,"height":12},"pharmacy-24":{"x":162,"y":312,"width":24,"height":24},"pharmacy-18":{"x":186,"y":312,"width":18,"height":18},"pharmacy-12":{"x":204,"y":312,"width":12,"height":12},"hospital-24":{"x":216,"y":312,"width":24,"height":24},"hospital-18":{"x":240,"y":312,"width":18,"height":18},"hospital-12":{"x":258,"y":312,"width":12,"height":12},"danger-24":{"x":0,"y":336,"width":24,"height":24},"danger-18":{"x":24,"y":336,"width":18,"height":18},"danger-12":{"x":42,"y":336,"width":12,"height":12},"industrial-24":{"x":54,"y":336,"width":24,"height":24},"industrial-18":{"x":78,"y":336,"width":18,"height":18},"industrial-12":{"x":96,"y":336,"width":12,"height":12},"warehouse-24":{"x":108,"y":336,"width":24,"height":24},"warehouse-18":{"x":132,"y":336,"width":18,"height":18},"warehouse-12":{"x":150,"y":336,"width":12,"height":12},"commercial-24":{"x":162,"y":336,"width":24,"height":24},"commercial-18":{"x":186,"y":336,"width":18,"height":18},"commercial-12":{"x":204,"y":336,"width":12,"height":12},"building-24":{"x":216,"y":336,"width":24,"height":24},"building-18":{"x":240,"y":336,"width":18,"height":18},"building-12":{"x":258,"y":336,"width":12,"height":12},"place-of-worship-24":{"x":0,"y":360,"width":24,"height":24},"place-of-worship-18":{"x":24,"y":360,"width":18,"height":18},"place-of-worship-12":{"x":42,"y":360,"width":12,"height":12},"alcohol-shop-24":{"x":54,"y":360,"width":24,"height":24},"alcohol-shop-18":{"x":78,"y":360,"width":18,"height":18},"alcohol-shop-12":{"x":96,"y":360,"width":12,"height":12},"logging-24":{"x":108,"y":360,"width":24,"height":24},"logging-18":{"x":132,"y":360,"width":18,"height":18},"logging-12":{"x":150,"y":360,"width":12,"height":12},"oil-well-24":{"x":162,"y":360,"width":24,"height":24},"oil-well-18":{"x":186,"y":360,"width":18,"height":18},"oil-well-12":{"x":204,"y":360,"width":12,"height":12},"slaughterhouse-24":{"x":216,"y":360,"width":24,"height":24},"slaughterhouse-18":{"x":240,"y":360,"width":18,"height":18},"slaughterhouse-12":{"x":258,"y":360,"width":12,"height":12},"dam-24":{"x":0,"y":384,"width":24,"height":24},"dam-18":{"x":24,"y":384,"width":18,"height":18},"dam-12":{"x":42,"y":384,"width":12,"height":12},"water-24":{"x":54,"y":384,"width":24,"height":24},"water-18":{"x":78,"y":384,"width":18,"height":18},"water-12":{"x":96,"y":384,"width":12,"height":12},"wetland-24":{"x":108,"y":384,"width":24,"height":24},"wetland-18":{"x":132,"y":384,"width":18,"height":18},"wetland-12":{"x":150,"y":384,"width":12,"height":12},"disability-24":{"x":162,"y":384,"width":24,"height":24},"disability-18":{"x":186,"y":384,"width":18,"height":18},"disability-12":{"x":204,"y":384,"width":12,"height":12},"telephone-24":{"x":216,"y":384,"width":24,"height":24},"telephone-18":{"x":240,"y":384,"width":18,"height":18},"telephone-12":{"x":258,"y":384,"width":12,"height":12},"emergency-telephone-24":{"x":0,"y":408,"width":24,"height":24},"emergency-telephone-18":{"x":24,"y":408,"width":18,"height":18},"emergency-telephone-12":{"x":42,"y":408,"width":12,"height":12},"toilets-24":{"x":54,"y":408,"width":24,"height":24},"toilets-18":{"x":78,"y":408,"width":18,"height":18},"toilets-12":{"x":96,"y":408,"width":12,"height":12},"waste-basket-24":{"x":108,"y":408,"width":24,"height":24},"waste-basket-18":{"x":132,"y":408,"width":18,"height":18},"waste-basket-12":{"x":150,"y":408,"width":12,"height":12},"music-24":{"x":162,"y":408,"width":24,"height":24},"music-18":{"x":186,"y":408,"width":18,"height":18},"music-12":{"x":204,"y":408,"width":12,"height":12},"land-use-24":{"x":216,"y":408,"width":24,"height":24},"land-use-18":{"x":240,"y":408,"width":18,"height":18},"land-use-12":{"x":258,"y":408,"width":12,"height":12},"city-24":{"x":0,"y":432,"width":24,"height":24},"city-18":{"x":24,"y":432,"width":18,"height":18},"city-12":{"x":42,"y":432,"width":12,"height":12},"town-24":{"x":54,"y":432,"width":24,"height":24},"town-18":{"x":78,"y":432,"width":18,"height":18},"town-12":{"x":96,"y":432,"width":12,"height":12},"village-24":{"x":108,"y":432,"width":24,"height":24},"village-18":{"x":132,"y":432,"width":18,"height":18},"village-12":{"x":150,"y":432,"width":12,"height":12},"farm-24":{"x":162,"y":432,"width":24,"height":24},"farm-18":{"x":186,"y":432,"width":18,"height":18},"farm-12":{"x":204,"y":432,"width":12,"height":12},"bakery-24":{"x":216,"y":432,"width":24,"height":24},"bakery-18":{"x":240,"y":432,"width":18,"height":18},"bakery-12":{"x":258,"y":432,"width":12,"height":12},"dog-park-24":{"x":0,"y":456,"width":24,"height":24},"dog-park-18":{"x":24,"y":456,"width":18,"height":18},"dog-park-12":{"x":42,"y":456,"width":12,"height":12},"lighthouse-24":{"x":54,"y":456,"width":24,"height":24},"lighthouse-18":{"x":78,"y":456,"width":18,"height":18},"lighthouse-12":{"x":96,"y":456,"width":12,"height":12},"clothing-store-24":{"x":108,"y":456,"width":24,"height":24},"clothing-store-18":{"x":132,"y":456,"width":18,"height":18},"clothing-store-12":{"x":150,"y":456,"width":12,"height":12},"polling-place-24":{"x":162,"y":456,"width":24,"height":24},"polling-place-18":{"x":186,"y":456,"width":18,"height":18},"polling-place-12":{"x":204,"y":456,"width":12,"height":12},"playground-24":{"x":216,"y":456,"width":24,"height":24},"playground-18":{"x":240,"y":456,"width":18,"height":18},"playground-12":{"x":258,"y":456,"width":12,"height":12},"entrance-24":{"x":0,"y":480,"width":24,"height":24},"entrance-18":{"x":24,"y":480,"width":18,"height":18},"entrance-12":{"x":42,"y":480,"width":12,"height":12},"heart-24":{"x":54,"y":480,"width":24,"height":24},"heart-18":{"x":78,"y":480,"width":18,"height":18},"heart-12":{"x":96,"y":480,"width":12,"height":12},"london-underground-24":{"x":108,"y":480,"width":24,"height":24},"london-underground-18":{"x":132,"y":480,"width":18,"height":18},"london-underground-12":{"x":150,"y":480,"width":12,"height":12},"minefield-24":{"x":162,"y":480,"width":24,"height":24},"minefield-18":{"x":186,"y":480,"width":18,"height":18},"minefield-12":{"x":204,"y":480,"width":12,"height":12},"rail-underground-24":{"x":216,"y":480,"width":24,"height":24},"rail-underground-18":{"x":240,"y":480,"width":18,"height":18},"rail-underground-12":{"x":258,"y":480,"width":12,"height":12},"rail-above-24":{"x":0,"y":504,"width":24,"height":24},"rail-above-18":{"x":24,"y":504,"width":18,"height":18},"rail-above-12":{"x":42,"y":504,"width":12,"height":12},"camera-24":{"x":54,"y":504,"width":24,"height":24},"camera-18":{"x":78,"y":504,"width":18,"height":18},"camera-12":{"x":96,"y":504,"width":12,"height":12},"laundry-24":{"x":108,"y":504,"width":24,"height":24},"laundry-18":{"x":132,"y":504,"width":18,"height":18},"laundry-12":{"x":150,"y":504,"width":12,"height":12},"car-24":{"x":162,"y":504,"width":24,"height":24},"car-18":{"x":186,"y":504,"width":18,"height":18},"car-12":{"x":204,"y":504,"width":12,"height":12},"suitcase-24":{"x":216,"y":504,"width":24,"height":24},"suitcase-18":{"x":240,"y":504,"width":18,"height":18},"suitcase-12":{"x":258,"y":504,"width":12,"height":12},"hairdresser-24":{"x":0,"y":528,"width":24,"height":24},"hairdresser-18":{"x":24,"y":528,"width":18,"height":18},"hairdresser-12":{"x":42,"y":528,"width":12,"height":12},"chemist-24":{"x":54,"y":528,"width":24,"height":24},"chemist-18":{"x":78,"y":528,"width":18,"height":18},"chemist-12":{"x":96,"y":528,"width":12,"height":12},"mobilephone-24":{"x":108,"y":528,"width":24,"height":24},"mobilephone-18":{"x":132,"y":528,"width":18,"height":18},"mobilephone-12":{"x":150,"y":528,"width":12,"height":12},"scooter-24":{"x":162,"y":528,"width":24,"height":24},"scooter-18":{"x":186,"y":528,"width":18,"height":18},"scooter-12":{"x":204,"y":528,"width":12,"height":12},"gift-24":{"x":216,"y":528,"width":24,"height":24},"gift-18":{"x":240,"y":528,"width":18,"height":18},"gift-12":{"x":258,"y":528,"width":12,"height":12},"ice-cream-24":{"x":0,"y":552,"width":24,"height":24},"ice-cream-18":{"x":24,"y":552,"width":18,"height":18},"ice-cream-12":{"x":42,"y":552,"width":12,"height":12}},"locales":["af","sq","ar","ar-AA","hy","ast","bn","bs","bg-BG","ca","zh","zh-CN","zh-HK","zh-TW","yue","hr","cs","da","nl","en-GB","eo","et","fi","fr","gl","de","el","gu","hi","hu","is","id","it","ja","kn","ko","lv","lij","lt","ml","no","fa","pl","pt","pt-BR","ro","ru","sc","sr","si","sk","sl","es","sv","tl","ta","te","th","tr","uk","vi"],"en":{"modes":{"add_area":{"title":"Area","description":"Add parks, buildings, lakes or other areas to the map.","tail":"Click on the map to start drawing an area, like a park, lake, or building."},"add_line":{"title":"Line","description":"Add highways, streets, pedestrian paths, canals or other lines to the map.","tail":"Click on the map to start drawing a road, path, or route."},"add_point":{"title":"Point","description":"Add restaurants, monuments, postal boxes or other points to the map.","tail":"Click on the map to add a point."},"browse":{"title":"Browse","description":"Pan and zoom the map."},"draw_area":{"tail":"Click to add nodes to your area. Click the first node to finish the area."},"draw_line":{"tail":"Click to add more nodes to the line. Click on other lines to connect to them, and double-click to end the line."}},"operations":{"add":{"annotation":{"point":"Added a point.","vertex":"Added a node to a way.","relation":"Added a relation."}},"start":{"annotation":{"line":"Started a line.","area":"Started an area."}},"continue":{"key":"A","title":"Continue","description":"Continue this line.","not_eligible":"No line can be continued here.","multiple":"Several lines can be continued here. To choose a line, press the Shift key and click on it to select it.","annotation":{"line":"Continued a line.","area":"Continued an area."}},"cancel_draw":{"annotation":"Canceled drawing."},"change_role":{"annotation":"Changed the role of a relation member."},"change_tags":{"annotation":"Changed tags."},"circularize":{"title":"Circularize","description":{"line":"Make this line circular.","area":"Make this area circular."},"key":"O","annotation":{"line":"Made a line circular.","area":"Made an area circular."},"not_closed":"This can't be made circular because it's not a loop.","too_large":"This can't be made circular because not enough of it is currently visible.","connected_to_hidden":"This can't be made circular because it is connected to a hidden feature."},"orthogonalize":{"title":"Square","description":{"line":"Square the corners of this line.","area":"Square the corners of this area."},"key":"S","annotation":{"line":"Squared the corners of a line.","area":"Squared the corners of an area."},"not_squarish":"This can't be made square because it is not squarish.","too_large":"This can't be made square because not enough of it is currently visible.","connected_to_hidden":"This can't be made square because it is connected to a hidden feature."},"straighten":{"title":"Straighten","description":"Straighten this line.","key":"S","annotation":"Straightened a line.","too_bendy":"This can't be straightened because it bends too much.","connected_to_hidden":"This line can't be straightened because it is connected to a hidden feature."},"delete":{"title":"Delete","description":"Delete object permanently.","annotation":{"point":"Deleted a point.","vertex":"Deleted a node from a way.","line":"Deleted a line.","area":"Deleted an area.","relation":"Deleted a relation.","multiple":"Deleted {n} objects."},"incomplete_relation":"This feature can't be deleted because it hasn't been fully downloaded.","part_of_relation":"This feature can't be deleted because it's part of a larger relation. You must remove it from the relation first.","connected_to_hidden":"This can't be deleted because it is connected to a hidden feature."},"add_member":{"annotation":"Added a member to a relation."},"delete_member":{"annotation":"Removed a member from a relation."},"connect":{"annotation":{"point":"Connected a way to a point.","vertex":"Connected a way to another.","line":"Connected a way to a line.","area":"Connected a way to an area."}},"disconnect":{"title":"Disconnect","description":"Disconnect these lines/areas from each other.","key":"D","annotation":"Disconnected lines/areas.","not_connected":"There aren't enough lines/areas here to disconnect.","connected_to_hidden":"This can't be disconnected because it is connected to a hidden feature.","relation":"This can't be disconnected because it connects members of a relation."},"merge":{"title":"Merge","description":"Merge these features.","key":"C","annotation":"Merged {n} features.","not_eligible":"These features can't be merged.","not_adjacent":"These features can't be merged because they aren't connected.","restriction":"These features can't be merged because at least one is a member of a \"{relation}\" relation.","incomplete_relation":"These features can't be merged because at least one hasn't been fully downloaded.","conflicting_tags":"These features can't be merged because some of their tags have conflicting values."},"move":{"title":"Move","description":"Move this to a different location.","key":"M","annotation":{"point":"Moved a point.","vertex":"Moved a node in a way.","line":"Moved a line.","area":"Moved an area.","multiple":"Moved multiple objects."},"incomplete_relation":"This feature can't be moved because it hasn't been fully downloaded.","too_large":"This can't be moved because not enough of it is currently visible.","connected_to_hidden":"This can't be moved because it is connected to a hidden feature."},"rotate":{"title":"Rotate","description":"Rotate this object around its center point.","key":"R","annotation":{"line":"Rotated a line.","area":"Rotated an area."},"too_large":"This can't be rotated because not enough of it is currently visible.","connected_to_hidden":"This can't be rotated because it is connected to a hidden feature."},"reverse":{"title":"Reverse","description":"Make this line go in the opposite direction.","key":"V","annotation":"Reversed a line."},"split":{"title":"Split","description":{"line":"Split this line into two at this node.","area":"Split the boundary of this area into two.","multiple":"Split the lines/area boundaries at this node into two."},"key":"X","annotation":{"line":"Split a line.","area":"Split an area boundary.","multiple":"Split {n} lines/area boundaries."},"not_eligible":"Lines can't be split at their beginning or end.","multiple_ways":"There are too many lines here to split.","connected_to_hidden":"This can't be split because it is connected to a hidden feature."},"restriction":{"help":{"select":"Click to select a road segment.","toggle":"Click to toggle turn restrictions.","toggle_on":"Click to add a \"{restriction}\" restriction.","toggle_off":"Click to remove the \"{restriction}\" restriction."},"annotation":{"create":"Added a turn restriction","delete":"Deleted a turn restriction"}}},"undo":{"tooltip":"Undo: {action}","nothing":"Nothing to undo."},"redo":{"tooltip":"Redo: {action}","nothing":"Nothing to redo."},"tooltip_keyhint":"Shortcut:","browser_notice":"This editor is supported in Firefox, Chrome, Safari, Opera, and Internet Explorer 11 and above. Please upgrade your browser or use Potlatch 2 to edit the map.","translate":{"translate":"Translate","localized_translation_label":"Multilingual name","localized_translation_language":"Choose language","localized_translation_name":"Name"},"zoom_in_edit":"Zoom in to Edit","logout":"logout","loading_auth":"Connecting to OpenStreetMap...","report_a_bug":"Report a bug","help_translate":"Help translate","feature_info":{"hidden_warning":"{count} hidden features","hidden_details":"These features are currently hidden: {details}"},"status":{"error":"Unable to connect to API.","offline":"The API is offline. Please try editing later.","readonly":"The API is read-only. You will need to wait to save your changes."},"commit":{"title":"Save Changes","description_placeholder":"Brief description of your contributions (required)","message_label":"Changeset comment","upload_explanation":"The changes you upload will be visible on all maps that use OpenStreetMap data.","upload_explanation_with_user":"The changes you upload as {user} will be visible on all maps that use OpenStreetMap data.","save":"Save","cancel":"Cancel","changes":"{count} Changes","warnings":"Warnings","modified":"Modified","deleted":"Deleted","created":"Created","about_changeset_comments":"About changeset comments","about_changeset_comments_link":"//wiki.openstreetmap.org/wiki/Good_changeset_comments","google_warning":"You mentioned Google in this comment: remember that copying from Google Maps is strictly forbidden.","google_warning_link":"http://www.openstreetmap.org/copyright"},"contributors":{"list":"Edits by {users}","truncated_list":"Edits by {users} and {count} others"},"infobox":{"selected":"{n} selected","geometry":"Geometry","closed":"closed","center":"Center","perimeter":"Perimeter","length":"Length","area":"Area","centroid":"Centroid","location":"Location","metric":"Metric","imperial":"Imperial"},"geometry":{"point":"point","vertex":"vertex","line":"line","area":"area","relation":"relation"},"geocoder":{"search":"Search worldwide...","no_results_visible":"No results in visible map area","no_results_worldwide":"No results found"},"geolocate":{"title":"Show My Location","locating":"Locating, please wait..."},"inspector":{"no_documentation_combination":"There is no documentation available for this tag combination","no_documentation_key":"There is no documentation available for this key","show_more":"Show More","view_on_osm":"View on openstreetmap.org","all_fields":"All fields","all_tags":"All tags","all_members":"All members","all_relations":"All relations","new_relation":"New relation...","role":"Role","choose":"Select feature type","results":"{n} results for {search}","reference":"View on OpenStreetMap Wiki","back_tooltip":"Change feature","remove":"Remove","search":"Search","multiselect":"Selected items","unknown":"Unknown","incomplete":"<not downloaded>","feature_list":"Search features","edit":"Edit feature","check":{"yes":"Yes","no":"No"},"add":"Add","none":"None","node":"Node","way":"Way","relation":"Relation","location":"Location","add_fields":"Add field:"},"background":{"title":"Background","description":"Background settings","percent_brightness":"{opacity}% brightness","none":"None","best_imagery":"Best known imagery source for this location","switch":"Switch back to this background","custom":"Custom","custom_button":"Edit custom background","custom_prompt":"Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.","fix_misalignment":"Adjust imagery offset","imagery_source_faq":"Where does this imagery come from?","reset":"reset","offset":"Drag anywhere in the gray area below to adjust the imagery offset, or enter the offset values in meters.","minimap":{"description":"Minimap","tooltip":"Show a zoomed out map to help locate the area currently displayed."}},"map_data":{"title":"Map Data","description":"Map Data","data_layers":"Data Layers","fill_area":"Fill Areas","map_features":"Map Features","autohidden":"These features have been automatically hidden because too many would be shown on the screen. You can zoom in to edit them."},"feature":{"points":{"description":"Points","tooltip":"Points of Interest"},"traffic_roads":{"description":"Traffic Roads","tooltip":"Highways, Streets, etc."},"service_roads":{"description":"Service Roads","tooltip":"Service Roads, Parking Aisles, Tracks, etc."},"paths":{"description":"Paths","tooltip":"Sidewalks, Foot Paths, Cycle Paths, etc."},"buildings":{"description":"Buildings","tooltip":"Buildings, Shelters, Garages, etc."},"landuse":{"description":"Landuse Features","tooltip":"Forests, Farmland, Parks, Residential, Commercial, etc."},"boundaries":{"description":"Boundaries","tooltip":"Administrative Boundaries"},"water":{"description":"Water Features","tooltip":"Rivers, Lakes, Ponds, Basins, etc."},"rail":{"description":"Rail Features","tooltip":"Railways"},"power":{"description":"Power Features","tooltip":"Power Lines, Power Plants, Substations, etc."},"past_future":{"description":"Past/Future","tooltip":"Proposed, Construction, Abandoned, Demolished, etc."},"others":{"description":"Others","tooltip":"Everything Else"}},"area_fill":{"wireframe":{"description":"No Fill (Wireframe)","tooltip":"Enabling wireframe mode makes it easy to see the background imagery."},"partial":{"description":"Partial Fill","tooltip":"Areas are drawn with fill only around their inner edges. (Recommended for beginner mappers)"},"full":{"description":"Full Fill","tooltip":"Areas are drawn fully filled."}},"restore":{"heading":"You have unsaved changes","description":"Do you wish to restore unsaved changes from a previous editing session?","restore":"Restore","reset":"Reset"},"save":{"title":"Save","help":"Save changes to OpenStreetMap, making them visible to other users.","no_changes":"No changes to save.","error":"Errors occurred while trying to save","status_code":"Server returned status code {code}","unknown_error_details":"Please ensure you are connected to the internet.","uploading":"Uploading changes to OpenStreetMap.","unsaved_changes":"You have unsaved changes","conflict":{"header":"Resolve conflicting edits","count":"Conflict {num} of {total}","previous":"< Previous","next":"Next >","keep_local":"Keep mine","keep_remote":"Use theirs","restore":"Restore","delete":"Leave Deleted","download_changes":"Or download your changes.","done":"All conflicts resolved!","help":"Another user changed some of the same map features you changed.\nClick on each item below for more details about the conflict, and choose whether to keep\nyour changes or the other user's changes.\n"}},"merge_remote_changes":{"conflict":{"deleted":"This object has been deleted by {user}.","location":"This object was moved by both you and {user}.","nodelist":"Nodes were changed by both you and {user}.","memberlist":"Relation members were changed by both you and {user}.","tags":"You changed the <b>{tag}</b> tag to \"{local}\" and {user} changed it to \"{remote}\"."}},"success":{"edited_osm":"Edited OSM!","just_edited":"You just edited OpenStreetMap!","view_on_osm":"View on OSM","facebook":"Share on Facebook","twitter":"Share on Twitter","google":"Share on Google+","help_html":"Your changes should appear in the \"Standard\" layer in a few minutes. Other layers, and certain features, may take longer.","help_link_text":"Details","help_link_url":"https://wiki.openstreetmap.org/wiki/FAQ#I_have_just_made_some_changes_to_the_map._How_do_I_get_to_see_my_changes.3F"},"confirm":{"okay":"Okay","cancel":"Cancel"},"splash":{"welcome":"Welcome to the iD OpenStreetMap editor","text":"iD is a friendly but powerful tool for contributing to the world's best free world map. This is version {version}. For more information see {website} and report bugs at {github}.","walkthrough":"Start the Walkthrough","start":"Edit Now"},"source_switch":{"live":"live","lose_changes":"You have unsaved changes. Switching the map server will discard them. Are you sure you want to switch servers?","dev":"dev"},"tag_reference":{"description":"Description","on_wiki":"{tag} on wiki.osm.org","used_with":"used with {type}"},"validations":{"untagged_point":"Untagged point","untagged_line":"Untagged line","untagged_area":"Untagged area","many_deletions":"You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.","tag_suggests_area":"The tag {tag} suggests line should be area, but it is not an area","untagged_point_tooltip":"Select a feature type that describes what this point is.","untagged_line_tooltip":"Select a feature type that describes what this line is.","untagged_area_tooltip":"Select a feature type that describes what this area is.","deprecated_tags":"Deprecated tags: {tags}"},"zoom":{"in":"Zoom In","out":"Zoom Out"},"cannot_zoom":"Cannot zoom out further in current mode.","full_screen":"Toggle Full Screen","gpx":{"local_layer":"Local GPX file","drag_drop":"Drag and drop a .gpx file on the page, or click the button to the right to browse","zoom":"Zoom to GPX track","browse":"Browse for a .gpx file"},"mapillary_images":{"tooltip":"Street-level photos from Mapillary","title":"Photo Overlay (Mapillary)"},"mapillary_signs":{"tooltip":"Traffic signs from Mapillary (must enable Photo Overlay)","title":"Traffic Sign Overlay (Mapillary)"},"mapillary":{"view_on_mapillary":"View this image on Mapillary"},"help":{"title":"Help","help":"# Help\n\nThis is an editor for [OpenStreetMap](http://www.openstreetmap.org/), the\nfree and editable map of the world. You can use it to add and update\ndata in your area, making an open-source and open-data map of the world\nbetter for everyone.\n\nEdits that you make on this map will be visible to everyone who uses\nOpenStreetMap. In order to make an edit, you'll need to\n[log in](https://www.openstreetmap.org/login).\n\nThe [iD editor](http://ideditor.com/) is a collaborative project with [source\ncode available on GitHub](https://github.com/openstreetmap/iD).\n","editing_saving":"# Editing & Saving\n\nThis editor is designed to work primarily online, and you're accessing\nit through a website right now.\n\n### Selecting Features\n\nTo select a map feature, like a road or point of interest, click\non it on the map. This will highlight the selected feature, open a panel with\ndetails about it, and show a menu of things you can do with the feature.\n\nTo select multiple features, hold down the 'Shift' key. Then either click\non the features you want to select, or drag on the map to draw a rectangle.\nThis will draw a box and select all the points within it.\n\n### Saving Edits\n\nWhen you make changes like editing roads, buildings, and places, these are\nstored locally until you save them to the server. Don't worry if you make\na mistake - you can undo changes by clicking the undo button, and redo\nchanges by clicking the redo button.\n\nClick 'Save' to finish a group of edits - for instance, if you've completed\nan area of town and would like to start on a new area. You'll have a chance\nto review what you've done, and the editor supplies helpful suggestions\nand warnings if something doesn't seem right about the changes.\n\nIf everything looks good, you can enter a short comment explaining the change\nyou made, and click 'Save' again to post the changes\nto [OpenStreetMap.org](http://www.openstreetmap.org/), where they are visible\nto all other users and available for others to build and improve upon.\n\nIf you can't finish your edits in one sitting, you can leave the editor\nwindow and come back (on the same browser and computer), and the\neditor application will offer to restore your work.\n\n### Using the editor\n\nA list of available keyboard shortcuts can be found [here](http://wiki.openstreetmap.org/wiki/ID/Shortcuts).\n","roads":"# Roads\n\nYou can create, fix, and delete roads with this editor. Roads can be all\nkinds: paths, highways, trails, cycleways, and more - any often-crossed\nsegment should be mappable.\n\n### Selecting\n\nClick on a road to select it. An outline should become visible, along\nwith a small tools menu on the map and a sidebar showing more information\nabout the road.\n\n### Modifying\n\nOften you'll see roads that aren't aligned to the imagery behind them\nor to a GPS track. You can adjust these roads so they are in the correct\nplace.\n\nFirst click on the road you want to change. This will highlight it and show\ncontrol points along it that you can drag to better locations. If\nyou want to add new control points for more detail, double-click a part\nof the road without a node, and one will be added.\n\nIf the road connects to another road, but doesn't properly connect on\nthe map, you can drag one of its control points onto the other road in\norder to join them. Having roads connect is important for the map\nand essential for providing driving directions.\n\nYou can also click the 'Move' tool or press the `M` shortcut key to move the entire road at\none time, and then click again to save that movement.\n\n### Deleting\n\nIf a road is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the road could simply be newly built.\n\nYou can delete a road by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n\n### Creating\n\nFound somewhere there should be a road but there isn't? Click the 'Line'\nicon in the top-left of the editor or press the shortcut key `2` to start drawing\na line.\n\nClick on the start of the road on the map to start drawing. If the road\nbranches off from an existing road, start by clicking on the place where they connect.\n\nThen click on points along the road so that it follows the right path, according\nto satellite imagery or GPS. If the road you are drawing crosses another road, connect\nit by clicking on the intersection point. When you're done drawing, double-click\nor press 'Return' or 'Enter' on your keyboard.\n","gps":"# GPS\n\nCollected GPS traces are one valuable source of data for OpenStreetMap. This editor\nsupports local traces - `.gpx` files on your local computer. You can collect\nthis kind of GPS trace with a number of smartphone applications as well as\npersonal GPS hardware.\n\nFor information on how to perform a GPS survey, read\n[Mapping with a smartphone, GPS, or paper](http://learnosm.org/en/mobile-mapping/).\n\nTo use a GPX track for mapping, drag and drop the GPX file onto the map\neditor. If it's recognized, it will be added to the map as a bright purple\nline. Click on the 'Map Data' menu on the right side to enable,\ndisable, or zoom to this new GPX-powered layer.\n\nThe GPX track isn't directly uploaded to OpenStreetMap - the best way to\nuse it is to draw on the map, using it as a guide for the new features that\nyou add, and also to [upload it to OpenStreetMap](http://www.openstreetmap.org/trace/create)\nfor other users to use.\n","imagery":"# Imagery\n\nAerial imagery is an important resource for mapping. A combination of\nairplane flyovers, satellite views, and freely-compiled sources are available\nin the editor under the 'Background Settings' menu on the right.\n\nBy default a [Bing Maps](http://www.bing.com/maps/) satellite layer is\npresented in the editor, but as you pan and zoom the map to new geographical\nareas, new sources will become available. Some countries, like the United\nStates, France, and Denmark have very high-quality imagery available for some areas.\n\nImagery is sometimes offset from the map data because of a mistake on the\nimagery provider's side. If you see a lot of roads shifted from the background,\ndon't immediately move them all to match the background. Instead you can adjust\nthe imagery so that it matches the existing data by clicking 'Fix alignment' at\nthe bottom of the Background Settings UI.\n","addresses":"# Addresses\n\nAddresses are some of the most useful information for the map.\n\nAlthough addresses are often represented as parts of streets, in OpenStreetMap\nthey're recorded as attributes of buildings and places along streets.\n\nYou can add address information to places mapped as building outlines\nas well as those mapped as single points. The optimal source of address\ndata is from an on-the-ground survey or personal knowledge - as with any\nother feature, copying from commercial sources like Google Maps is strictly\nforbidden.\n","inspector":"# Using the Inspector\n\nThe inspector is the section on the left side of the page that allows you to\nedit the details of the selected feature.\n\n### Selecting a Feature Type\n\nAfter you add a point, line, or area, you can choose what type of feature it\nis, like whether it's a highway or residential road, supermarket or cafe.\nThe inspector will display buttons for common feature types, and you can\nfind others by typing what you're looking for in the search box.\n\nClick the 'i' in the bottom-right-hand corner of a feature type button to\nlearn more about it. Click a button to choose that type.\n\n### Using Forms and Editing Tags\n\nAfter you choose a feature type, or when you select a feature that already\nhas a type assigned, the inspector will display fields with details about\nthe feature like its name and address.\n\nBelow the fields you see, you can click the 'Add field' dropdown to add\nother details, like a Wikipedia link, wheelchair access, and more.\n\nAt the bottom of the inspector, click 'Additional tags' to add arbitrary\nother tags to the element. [Taginfo](http://taginfo.openstreetmap.org/) is a\ngreat resource for learn more about popular tag combinations.\n\nChanges you make in the inspector are automatically applied to the map.\nYou can undo them at any time by clicking the 'Undo' button.\n","buildings":"# Buildings\n\nOpenStreetMap is the world's largest database of buildings. You can create\nand improve this database.\n\n### Selecting\n\nYou can select a building by clicking on its border. This will highlight the\nbuilding and open a small tools menu and a sidebar showing more information\nabout the building.\n\n### Modifying\n\nSometimes buildings are incorrectly placed or have incorrect tags.\n\nTo move an entire building, select it, then click the 'Move' tool. Move your\nmouse to shift the building, and click when it's correctly placed.\n\nTo fix the specific shape of a building, click and drag the nodes that form\nits border into better places.\n\n### Creating\n\nOne of the main questions around adding buildings to the map is that\nOpenStreetMap records buildings both as shapes and points. The rule of thumb\nis to _map a building as a shape whenever possible_, and map companies, homes,\namenities, and other things that operate out of buildings as points placed\nwithin the building shape.\n\nStart drawing a building as a shape by clicking the 'Area' button in the top\nleft of the interface, and end it either by pressing 'Return' on your keyboard\nor clicking on the first node drawn to close the shape.\n\n### Deleting\n\nIf a building is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the building could simply be newly built.\n\nYou can delete a building by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n","relations":"# Relations\n\nA relation is a special type of feature in OpenStreetMap that groups together\nother features. For example, two common types of relations are *route relations*,\nwhich group together sections of road that belong to a specific freeway or\nhighway, and *multipolygons*, which group together several lines that define\na complex area (one with several pieces or holes in it like a donut).\n\nThe group of features in a relation are called *members*. In the sidebar, you can\nsee which relations a feature is a member of, and click on a relation there\nto select the it. When the relation is selected, you can see all of its\nmembers listed in the sidebar and highlighted on the map.\n\nFor the most part, iD will take care of maintaining relations automatically\nwhile you edit. The main thing you should be aware of is that if you delete a\nsection of road to redraw it more accurately, you should make sure that the\nnew section is a member of the same relations as the original.\n\n## Editing Relations\n\nIf you want to edit relations, here are the basics.\n\nTo add a feature to a relation, select the feature, click the \"+\" button in the\n\"All relations\" section of the sidebar, and select or type the name of the relation.\n\nTo create a new relation, select the first feature that should be a member,\nclick the \"+\" button in the \"All relations\" section, and select \"New relation...\".\n\nTo remove a feature from a relation, select the feature and click the trash\nbutton next to the relation you want to remove it from.\n\nYou can create multipolygons with holes using the \"Merge\" tool. Draw two areas (inner\nand outer), hold the Shift key and click on each of them to select them both, and then\nclick the \"Merge\" (+) button.\n"},"intro":{"graph":{"city_hall":"Three Rivers City Hall","fire_department":"Three Rivers Fire Department","memory_isle_park":"Memory Isle Park","riverwalk_trail":"Riverwalk Trail","w_michigan_ave":"West Michigan Avenue","e_michigan_ave":"East Michigan Avenue","spring_st":"Spring Street","scidmore_park":"Scidmore Park","petting_zoo":"Scidmore Park Petting Zoo","n_andrews_st":"North Andrews Street","s_andrews_st":"South Andrews Street","n_constantine_st":"North Constantine Street","s_constantine_st":"South Constantine Street","rocky_river":"Rocky River","railroad_dr":"Railroad Drive","conrail_rr":"Conrail Railroad","st_joseph_river":"Saint Joseph River","n_main_st":"North Main Street","s_main_st":"South Main Street","water_st":"Water Street","foster_st":"Foster Street","portage_river":"Portage River","flower_st":"Flower Street","elm_st":"Elm Street","walnut_st":"Walnut Street","morris_ave":"Morris Avenue","east_st":"East Street","portage_ave":"Portage Avenue"},"navigation":{"title":"Navigation","drag":"The main map area shows OpenStreetMap data on top of a background. You can navigate by dragging and scrolling, just like any web map. **Drag the map!**","select":"Map features are represented three ways: using points, lines or areas. All features can be selected by clicking on them. **Click on the point to select it.**","pane":"When a feature is selected, the feature editor is displayed. The header shows us the feature type and the main pane shows the feature's attributes, such as its name and address. **Close the feature editor by pressing the {button} button in the top right.**","search":"You can also search for features in the current view, or worldwide. **Search for '{name}'**","choose":"**Choose {name} from the list to select it.**","chosen":"Great! {name} is now selected. **Close the feature editor by pressing the {button} button.**"},"points":{"title":"Points","add":"Points can be used to represent features such as shops, restaurants, and monuments. They mark a specific location, and describe what's there. **Click the {button} Point button to add a new point.**","place":"The point can be placed by clicking on the map. **Click the map to place the new point on top of the building.**","search":"There are many different features that can be represented by points. The point you just added is a Cafe. **Search for '{name}'**","choose":"**Choose Cafe from the list.**","describe":"The point is now marked as a cafe. Using the feature editor, we can add more information about the feature. **Add a name**","close":"The feature editor will remember all of your changes automatically. When you change a feature, the close button will change to a checkmark. **Click the {button} button to close the feature editor**","reselect":"Often points will already exist, but have mistakes or be incomplete. We can edit existing points. **Click to select the point you just created.**","fixname":"**Change the name, then click the {button} button to close the feature editor.**","reselect_delete":"All features on the map can be deleted. **Click to select the point you created.**","delete":"The menu around the point contains operations that can be performed on it, including delete. **Click on the {button} button to delete the point.**"},"areas":{"title":"Areas","add":"Areas are used to show the boundaries of features like lakes, buildings, and residential areas. They can be also be used for more detailed mapping of many features you might normally map as points. **Click the {button} Area button to add a new area.**","corner":"Areas are drawn by placing nodes that mark the boundary of the area. **Click to place a starting node on one of the corners of the playground.**","place":"Draw the area by placing more nodes. Finish the area by clicking on the starting node. **Draw an area for the playground.**","search":"**Search for '{name}'.**","choose":"**Choose Playground from the list.**","describe":"**Add a name, then click the {button} button to close the feature editor**"},"lines":{"title":"Lines","add":"Lines are used to represent features such as roads, railroads, and rivers. **Click the {button} Line button to add a new line.**","start":"**Start the line by clicking on the end of the road.**","intersect":"Click to add more nodes to the line. You can drag the map while drawing if necessary. Roads, and many other types of lines, are part of a larger network. It is important for these lines to be connected properly in order for routing applications to work. **Click on {name} to create an intersection connecting the two lines.**","finish":"Lines can be finished by clicking on the last node again. **Finish drawing the road.**","road":"**Select Road from the list**","residential":"There are different types of roads, the most common of which is Residential. **Choose the Residential road type**","describe":"**Name the road, then click the {button} button to close the feature editor.**","restart":"The road needs to intersect {name}.","wrong_preset":"You didn't select the Residential road type. **Click here to choose again**"},"startediting":{"title":"Start Editing","help":"You can replay this walkthrough or view more documentation by clicking the {button} Help button.","save":"Don't forget to regularly save your changes!","start":"Start mapping!"}},"presets":{"categories":{"category-barrier":{"name":"Barrier Features"},"category-building":{"name":"Building Features"},"category-golf":{"name":"Golf Features"},"category-landuse":{"name":"Land Use Features"},"category-path":{"name":"Path Features"},"category-rail":{"name":"Rail Features"},"category-restriction":{"name":"Restriction Features"},"category-road":{"name":"Road Features"},"category-route":{"name":"Route Features"},"category-water-area":{"name":"Water Features"},"category-water-line":{"name":"Water Features"}},"fields":{"access":{"label":"Allowed Access","placeholder":"Not Specified","types":{"access":"All","foot":"Foot","motor_vehicle":"Motor Vehicles","bicycle":"Bicycles","horse":"Horses"},"options":{"yes":{"title":"Allowed","description":"Access permitted by law; a right of way"},"no":{"title":"Prohibited","description":"Access not permitted to the general public"},"permissive":{"title":"Permissive","description":"Access permitted until such time as the owner revokes the permission"},"private":{"title":"Private","description":"Access permitted only with permission of the owner on an individual basis"},"designated":{"title":"Designated","description":"Access permitted according to signs or specific local laws"},"destination":{"title":"Destination","description":"Access permitted only to reach a destination"},"dismount":{"title":"Dismount","description":"Access permitted but rider must dismount"}}},"access_simple":{"label":"Allowed Access","placeholder":"yes"},"access_toilets":{"label":"Access"},"address":{"label":"Address","placeholders":{"housename":"Housename","housenumber":"123","conscriptionnumber":"123","street":"Street","city":"City","postcode":"Postcode","place":"Place","hamlet":"Hamlet","suburb":"Suburb","subdistrict":"Subdistrict","district":"District","province":"Province","state":"State","country":"Country"}},"admin_level":{"label":"Admin Level"},"aerialway":{"label":"Type"},"aerialway/access":{"label":"Access","options":{"entry":"Entry","exit":"Exit","both":"Both"}},"aerialway/bubble":{"label":"Bubble"},"aerialway/capacity":{"label":"Capacity (per hour)","placeholder":"500, 2500, 5000..."},"aerialway/duration":{"label":"Duration (minutes)","placeholder":"1, 2, 3..."},"aerialway/heating":{"label":"Heated"},"aerialway/occupancy":{"label":"Occupancy","placeholder":"2, 4, 8..."},"aerialway/summer/access":{"label":"Access (summer)","options":{"entry":"Entry","exit":"Exit","both":"Both"}},"aeroway":{"label":"Type"},"amenity":{"label":"Type"},"area/highway":{"label":"Type"},"artist":{"label":"Artist"},"artwork_type":{"label":"Type"},"atm":{"label":"ATM"},"backrest":{"label":"Backrest"},"barrier":{"label":"Type"},"bench":{"label":"Bench"},"bicycle_parking":{"label":"Type"},"bin":{"label":"Waste Bin"},"boundary":{"label":"Type"},"brand":{"label":"Brand"},"building":{"label":"Building"},"building_area":{"label":"Building"},"capacity":{"label":"Capacity","placeholder":"50, 100, 200..."},"cardinal_direction":{"label":"Direction","options":{"N":"North","E":"East","S":"South","W":"West","NE":"Northeast","SE":"Southeast","SW":"Southwest","NW":"Northwest","NNE":"North-northeast","ENE":"East-northeast","ESE":"East-southeast","SSE":"South-southeast","SSW":"South-southwest","WSW":"West-southwest","WNW":"West-northwest","NNW":"North-northwest"}},"clock_direction":{"label":"Direction","options":{"clockwise":"Clockwise","anticlockwise":"Counterclockwise"}},"collection_times":{"label":"Collection Times"},"construction":{"label":"Type"},"content":{"label":"Contents"},"country":{"label":"Country"},"covered":{"label":"Covered"},"craft":{"label":"Type"},"crop":{"label":"Crop"},"crossing":{"label":"Type"},"cuisine":{"label":"Cuisine"},"currency_multi":{"label":"Currency Types"},"cycleway":{"label":"Bike Lanes","placeholder":"none","types":{"cycleway:left":"Left side","cycleway:right":"Right side"},"options":{"none":{"title":"None","description":"No bike lane"},"lane":{"title":"Standard bike lane","description":"A bike lane separated from auto traffic by a painted line"},"shared_lane":{"title":"Shared bike lane","description":"A bike lane with no separation from auto traffic"},"track":{"title":"Bike track","description":"A bike lane separated from traffic by a physical barrier"},"share_busway":{"title":"Bike lane shared with bus","description":"A bike lane shared with a bus lane"},"opposite_lane":{"title":"Opposite bike lane","description":"A bike lane that travels in the opposite direction of traffic"},"opposite":{"title":"Contraflow bike lane","description":"A bike lane that travels in both directions on a one-way street"}}},"delivery":{"label":"Delivery"},"denomination":{"label":"Denomination"},"denotation":{"label":"Denotation"},"description":{"label":"Description"},"diaper":{"label":"Diaper Changing Available"},"dock":{"label":"Type"},"drive_through":{"label":"Drive-Through"},"electrified":{"label":"Electrification","placeholder":"Contact Line, Electrified Rail...","options":{"contact_line":"Contact Line","rail":"Electrified Rail","yes":"Yes (unspecified)","no":"No"}},"elevation":{"label":"Elevation"},"emergency":{"label":"Emergency"},"entrance":{"label":"Type"},"except":{"label":"Exceptions"},"fax":{"label":"Fax","placeholder":"+31 42 123 4567"},"fee":{"label":"Fee"},"fire_hydrant/type":{"label":"Type","options":{"pillar":"Pillar/Aboveground","underground":"Underground","wall":"Wall","pond":"Pond"}},"fixme":{"label":"Fix Me"},"fuel":{"label":"Fuel"},"fuel_multi":{"label":"Fuel Types"},"gauge":{"label":"Gauge"},"gender":{"label":"Gender","placeholder":"Unknown","options":{"male":"Male","female":"Female","unisex":"Unisex"}},"generator/method":{"label":"Method"},"generator/source":{"label":"Source"},"generator/type":{"label":"Type"},"golf_hole":{"label":"Reference","placeholder":"Hole number (1-18)"},"handicap":{"label":"Handicap","placeholder":"1-18"},"handrail":{"label":"Handrail"},"highway":{"label":"Type"},"historic":{"label":"Type"},"hoops":{"label":"Hoops","placeholder":"1, 2, 4..."},"iata":{"label":"IATA"},"icao":{"label":"ICAO"},"incline":{"label":"Incline"},"incline_steps":{"label":"Incline","options":{"up":"Up","down":"Down"}},"information":{"label":"Type"},"internet_access":{"label":"Internet Access","options":{"yes":"Yes","no":"No","wlan":"Wifi","wired":"Wired","terminal":"Terminal"}},"internet_access/fee":{"label":"Internet Access Fee"},"kerb":{"label":"Curb Ramp"},"lamp_type":{"label":"Type"},"landuse":{"label":"Type"},"lanes":{"label":"Lanes","placeholder":"1, 2, 3..."},"layer":{"label":"Layer"},"leaf_cycle":{"label":"Leaf Cycle","options":{"evergreen":"Evergreen","deciduous":"Deciduous","semi_evergreen":"Semi-Evergreen","semi_deciduous":"Semi-Deciduous","mixed":"Mixed"}},"leaf_cycle_singular":{"label":"Leaf Cycle","options":{"evergreen":"Evergreen","deciduous":"Deciduous","semi_evergreen":"Semi-Evergreen","semi_deciduous":"Semi-Deciduous"}},"leaf_type":{"label":"Leaf Type","options":{"broadleaved":"Broadleaved","needleleaved":"Needleleaved","mixed":"Mixed","leafless":"Leafless"}},"leaf_type_singular":{"label":"Leaf Type","options":{"broadleaved":"Broadleaved","needleleaved":"Needleleaved","leafless":"Leafless"}},"leisure":{"label":"Type"},"length":{"label":"Length (Meters)"},"level":{"label":"Level"},"levels":{"label":"Levels","placeholder":"2, 4, 6..."},"lit":{"label":"Lit"},"location":{"label":"Location"},"man_made":{"label":"Type"},"maxspeed":{"label":"Speed Limit","placeholder":"40, 50, 60..."},"maxstay":{"label":"Max Stay"},"mtb/scale":{"label":"Mountain Biking Difficulty","placeholder":"0, 1, 2, 3...","options":{"0":"0: Solid gravel/packed earth, no obstacles, wide curves","1":"1: Some loose surface, small obstacles, wide curves","2":"2: Much loose surface, large obstacles, easy hairpins","3":"3: Slippery surface, large obstacles, tight hairpins","4":"4: Loose surface or boulders, dangerous hairpins","5":"5: Maximum difficulty, boulder fields, landslides","6":"6: Not rideable except by the very best mountain bikers"}},"mtb/scale/imba":{"label":"IMBA Trail Difficulty","placeholder":"Easy, Medium, Difficult...","options":{"0":"Easiest (white circle)","1":"Easy (green circle)","2":"Medium (blue square)","3":"Difficult (black diamond)","4":"Extremely Difficult (double black diamond)"}},"mtb/scale/uphill":{"label":"Mountain Biking Uphill Difficulty","placeholder":"0, 1, 2, 3...","options":{"0":"0: Avg. incline <10%, gravel/packed earth, no obstacles","1":"1: Avg. incline <15%, gravel/packed earth, few small objects","2":"2: Avg. incline <20%, stable surface, fistsize rocks/roots","3":"3: Avg. incline <25%, variable surface, fistsize rocks/branches","4":"4: Avg. incline <30%, poor condition, big rocks/branches","5":"5: Very steep, bike generally needs to be pushed or carried"}},"name":{"label":"Name","placeholder":"Common name (if any)"},"natural":{"label":"Natural"},"network":{"label":"Network"},"note":{"label":"Note"},"office":{"label":"Type"},"oneway":{"label":"One Way","options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}},"oneway_yes":{"label":"One Way","options":{"undefined":"Assumed to be Yes","yes":"Yes","no":"No"}},"opening_hours":{"label":"Hours"},"operator":{"label":"Operator"},"par":{"label":"Par","placeholder":"3, 4, 5..."},"parallel_direction":{"label":"Direction","options":{"forward":"Forward","backward":"Backward"}},"park_ride":{"label":"Park and Ride"},"parking":{"label":"Type","options":{"surface":"Surface","multi-storey":"Multilevel","underground":"Underground","sheds":"Sheds","carports":"Carports","garage_boxes":"Garage Boxes","lane":"Roadside Lane"}},"payment_multi":{"label":"Payment Types"},"phone":{"label":"Phone","placeholder":"+31 42 123 4567"},"piste/difficulty":{"label":"Difficulty","placeholder":"Easy, Intermediate, Advanced...","options":{"novice":"Novice (instructional)","easy":"Easy (green circle)","intermediate":"Intermediate (blue square)","advanced":"Advanced (black diamond)","expert":"Expert (double black diamond)","freeride":"Freeride (off-piste)","extreme":"Extreme (climbing equipment required)"}},"piste/grooming":{"label":"Grooming","options":{"classic":"Classic","mogul":"Mogul","backcountry":"Backcountry","classic+skating":"Classic and Skating","scooter":"Scooter/Snowmobile","skating":"Skating"}},"piste/type":{"label":"Type","options":{"downhill":"Downhill","nordic":"Nordic","skitour":"Skitour","sled":"Sled","hike":"Hike","sleigh":"Sleigh","ice_skate":"Ice Skate","snow_park":"Snow Park","playground":"Playground"}},"place":{"label":"Type"},"population":{"label":"Population"},"power":{"label":"Type"},"power_supply":{"label":"Power Supply"},"railway":{"label":"Type"},"recycling_accepts":{"label":"Accepts"},"ref":{"label":"Reference"},"relation":{"label":"Type"},"religion":{"label":"Religion"},"restriction":{"label":"Type"},"restrictions":{"label":"Turn Restrictions"},"rooms":{"label":"Rooms"},"route":{"label":"Type"},"route_master":{"label":"Type"},"sac_scale":{"label":"Hiking Difficulty","placeholder":"Mountain Hiking, Alpine Hiking...","options":{"hiking":"T1: Hiking","mountain_hiking":"T2: Mountain Hiking","demanding_mountain_hiking":"T3: Demanding Mountain Hiking","alpine_hiking":"T4: Alpine Hiking","demanding_alpine_hiking":"T5: Demanding Alpine Hiking","difficult_alpine_hiking":"T6: Difficult Alpine Hiking"}},"sanitary_dump_station":{"label":"Toilet Disposal"},"seasonal":{"label":"Seasonal"},"service":{"label":"Type"},"service/bicycle/chain_tool":{"label":"Chain Tool","options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}},"service/bicycle/pump":{"label":"Air Pump","options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}},"service_rail":{"label":"Service Type","options":{"spur":"Spur","yard":"Yard","siding":"Siding","crossover":"Crossover"}},"shelter":{"label":"Shelter"},"shelter_type":{"label":"Type"},"shop":{"label":"Type"},"site":{"label":"Type"},"smoking":{"label":"Smoking","placeholder":"No, Separated, Yes...","options":{"no":"No smoking anywhere","separated":"In smoking areas, not physically isolated","isolated":"In smoking areas, physically isolated","outside":"Allowed outside","yes":"Allowed everywhere","dedicated":"Dedicated to smokers (e.g. smokers' club)"}},"smoothness":{"label":"Smoothness","placeholder":"Thin Rollers, Wheels, Off-Road...","options":{"excellent":"Thin Rollers: rollerblade, skateboard","good":"Thin Wheels: racing bike","intermediate":"Wheels: city bike, wheelchair, scooter","bad":"Robust Wheels: trekking bike, car, rickshaw","very_bad":"High Clearance: light duty off-road vehicle","horrible":"Off-Road: heavy duty off-road vehicle","very_horrible":"Specialized off-road: tractor, ATV","impassable":"Impassable / No wheeled vehicle"}},"social_facility_for":{"label":"People served","placeholder":"Homeless, Disabled, Child, etc"},"source":{"label":"Source"},"sport":{"label":"Sport"},"sport_ice":{"label":"Sport"},"sport_racing":{"label":"Sport"},"stars":{"label":"Stars"},"stop":{"label":"Stop Type","options":{"all":"All Ways","minor":"Minor Road"}},"structure":{"label":"Structure","placeholder":"Unknown","options":{"bridge":"Bridge","tunnel":"Tunnel","embankment":"Embankment","cutting":"Cutting","ford":"Ford"}},"studio":{"label":"Type"},"substation":{"label":"Type"},"supervised":{"label":"Supervised"},"surface":{"label":"Surface"},"tactile_paving":{"label":"Tactile Paving"},"takeaway":{"label":"Takeaway","placeholder":"Yes, No, Takeaway Only...","options":{"yes":"Yes","no":"No","only":"Takeaway Only"}},"toilets/disposal":{"label":"Disposal","options":{"flush":"Flush","pitlatrine":"Pit/Latrine","chemical":"Chemical","bucket":"Bucket"}},"tourism":{"label":"Type"},"towertype":{"label":"Tower type"},"tracktype":{"label":"Track Type","placeholder":"Solid, Mostly Solid, Soft...","options":{"grade1":"Solid: paved or heavily compacted hardcore surface","grade2":"Mostly Solid: gravel/rock with some soft material mixed in","grade3":"Even mixture of hard and soft materials","grade4":"Mostly Soft: soil/sand/grass with some hard material mixed in","grade5":"Soft: soil/sand/grass"}},"traffic_signals":{"label":"Type"},"trail_visibility":{"label":"Trail Visibility","placeholder":"Excellent, Good, Bad...","options":{"excellent":"Excellent: unambiguous path or markers everywhere","good":"Good: markers visible, sometimes require searching","intermediate":"Intermediate: few markers, path mostly visible","bad":"Bad: no markers, path sometimes invisible/pathless","horrible":"Horrible: often pathless, some orientation skills required","no":"No: pathless, excellent orientation skills required"}},"trees":{"label":"Trees"},"tunnel":{"label":"Tunnel"},"vending":{"label":"Type of Goods"},"water":{"label":"Type"},"water_point":{"label":"Water Point"},"waterway":{"label":"Type"},"website":{"label":"Website","placeholder":"http://example.com/"},"wetland":{"label":"Type"},"wheelchair":{"label":"Wheelchair Access"},"width":{"label":"Width (Meters)"},"wikipedia":{"label":"Wikipedia"}},"presets":{"address":{"name":"Address","terms":""},"aerialway":{"name":"Aerialway","terms":"ski lift,funifor,funitel"},"aerialway/cable_car":{"name":"Cable Car","terms":"tramway,ropeway"},"aerialway/chair_lift":{"name":"Chair Lift","terms":""},"aerialway/gondola":{"name":"Gondola","terms":""},"aerialway/magic_carpet":{"name":"Magic Carpet Lift","terms":""},"aerialway/platter":{"name":"Platter Lift","terms":"button lift,poma lift"},"aerialway/pylon":{"name":"Aerialway Pylon","terms":""},"aerialway/rope_tow":{"name":"Rope Tow Lift","terms":"handle tow,bugel lift"},"aerialway/station":{"name":"Aerialway Station","terms":""},"aerialway/t-bar":{"name":"T-bar Lift","terms":""},"aeroway":{"name":"Aeroway","terms":""},"aeroway/aerodrome":{"name":"Airport","terms":"airplane,airport,aerodrome"},"aeroway/apron":{"name":"Apron","terms":"ramp"},"aeroway/gate":{"name":"Airport gate","terms":""},"aeroway/hangar":{"name":"Hangar","terms":""},"aeroway/helipad":{"name":"Helipad","terms":"helicopter,helipad,heliport"},"aeroway/runway":{"name":"Runway","terms":"landing strip"},"aeroway/taxiway":{"name":"Taxiway","terms":""},"aeroway/terminal":{"name":"Airport terminal","terms":"airport,aerodrome"},"amenity":{"name":"Amenity","terms":""},"amenity/arts_centre":{"name":"Arts Center","terms":""},"amenity/atm":{"name":"ATM","terms":"money,cash,machine"},"amenity/bank":{"name":"Bank","terms":"credit union,check,deposit,fund,investment,repository,reserve,safe,savings,stock,treasury,trust,vault"},"amenity/bar":{"name":"Bar","terms":"dive,beer,bier,booze"},"amenity/bbq":{"name":"Barbecue/Grill","terms":"bbq,grill"},"amenity/bench":{"name":"Bench","terms":"seat"},"amenity/bicycle_parking":{"name":"Bicycle Parking","terms":"bike"},"amenity/bicycle_rental":{"name":"Bicycle Rental","terms":"bike"},"amenity/bicycle_repair_station":{"name":"Bicycle Repair Tool Stand","terms":"bike,repair,chain,pump"},"amenity/biergarten":{"name":"Beer Garden","terms":"beer,bier,booze"},"amenity/boat_rental":{"name":"Boat Rental","terms":""},"amenity/bureau_de_change":{"name":"Currency Exchange","terms":"bureau de change,money changer"},"amenity/bus_station":{"name":"Bus Station","terms":""},"amenity/cafe":{"name":"Cafe","terms":"bistro,coffee,tea"},"amenity/car_rental":{"name":"Car Rental","terms":""},"amenity/car_sharing":{"name":"Car Sharing","terms":""},"amenity/car_wash":{"name":"Car Wash","terms":""},"amenity/casino":{"name":"Casino","terms":"gambling,roulette,craps,poker,blackjack"},"amenity/charging_station":{"name":"Charging Station","terms":"EV,Electric Vehicle,Supercharger"},"amenity/childcare":{"name":"Nursery/Childcare","terms":"daycare,orphanage,playgroup"},"amenity/cinema":{"name":"Cinema","terms":"drive-in,film,flick,movie,theater,picture,show,screen"},"amenity/clinic":{"name":"Clinic","terms":"medical,urgentcare"},"amenity/clock":{"name":"Clock","terms":""},"amenity/college":{"name":"College Grounds","terms":"university"},"amenity/community_centre":{"name":"Community Center","terms":"event,hall"},"amenity/compressed_air":{"name":"Compressed Air","terms":""},"amenity/courthouse":{"name":"Courthouse","terms":""},"amenity/dentist":{"name":"Dentist","terms":"tooth,teeth"},"amenity/doctors":{"name":"Doctor","terms":"medic*"},"amenity/dojo":{"name":"Dojo / Martial Arts Academy","terms":"martial arts,dojang"},"amenity/drinking_water":{"name":"Drinking Water","terms":"fountain,potable"},"amenity/embassy":{"name":"Embassy","terms":""},"amenity/fast_food":{"name":"Fast Food","terms":"restaurant"},"amenity/ferry_terminal":{"name":"Ferry Terminal","terms":""},"amenity/fire_station":{"name":"Fire Station","terms":""},"amenity/fountain":{"name":"Fountain","terms":""},"amenity/fuel":{"name":"Gas Station","terms":"petrol,fuel,gasoline,propane,diesel,lng,cng,biodiesel"},"amenity/grave_yard":{"name":"Graveyard","terms":""},"amenity/grit_bin":{"name":"Grit Bin","terms":"salt,sand"},"amenity/hospital":{"name":"Hospital Grounds","terms":"clinic,doctor,emergency room,health service,hospice,infirmary,institution,nursing home,sanatorium,sanitarium,sick,surgery,ward"},"amenity/hunting_stand":{"name":"Hunting Stand","terms":""},"amenity/kindergarten":{"name":"Preschool/Kindergarten Grounds","terms":"kindergarden,pre-school"},"amenity/library":{"name":"Library","terms":"book"},"amenity/marketplace":{"name":"Marketplace","terms":""},"amenity/motorcycle_parking":{"name":"Motorcycle Parking","terms":""},"amenity/nightclub":{"name":"Nightclub","terms":"disco*,night club,dancing,dance club"},"amenity/parking":{"name":"Car Parking","terms":""},"amenity/parking_entrance":{"name":"Parking Garage Entrance/Exit","terms":""},"amenity/parking_space":{"name":"Parking Space","terms":""},"amenity/pharmacy":{"name":"Pharmacy","terms":"drug*,med*,prescription"},"amenity/place_of_worship":{"name":"Place of Worship","terms":"abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,mosque,oratory,parish,sacellum,sanctuary,shrine,synagogue,tabernacle,temple"},"amenity/place_of_worship/buddhist":{"name":"Buddhist Temple","terms":"stupa,vihara,monastery,temple,pagoda,zendo,dojo"},"amenity/place_of_worship/christian":{"name":"Church","terms":"christian,abbey,basilica,bethel,cathedral,chancel,chantry,chapel,fold,house of God,house of prayer,house of worship,minster,mission,oratory,parish,sacellum,sanctuary,shrine,tabernacle,temple"},"amenity/place_of_worship/jewish":{"name":"Synagogue","terms":"jewish"},"amenity/place_of_worship/muslim":{"name":"Mosque","terms":"muslim"},"amenity/police":{"name":"Police","terms":"badge,constable,constabulary,cop,detective,fed,law,enforcement,officer,patrol"},"amenity/post_box":{"name":"Mailbox","terms":"letter,post"},"amenity/post_office":{"name":"Post Office","terms":"letter,mail"},"amenity/prison":{"name":"Prison Grounds","terms":"cell,jail"},"amenity/pub":{"name":"Pub","terms":"dive,beer,bier,booze"},"amenity/public_bookcase":{"name":"Public Bookcase","terms":"library,bookcrossing"},"amenity/ranger_station":{"name":"Ranger Station","terms":"visitor center,visitor centre,permit center,permit centre,backcountry office,warden office,warden center"},"amenity/recycling":{"name":"Recycling","terms":"can,bottle,garbage,scrap,trash"},"amenity/register_office":{"name":"Register Office","terms":""},"amenity/restaurant":{"name":"Restaurant","terms":"bar,breakfast,cafe,café,canteen,coffee,dine,dining,dinner,drive-in,eat,grill,lunch,table"},"amenity/sanitary_dump_station":{"name":"RV Toilet Disposal","terms":"Motor Home,Camper,Sanitary,Dump Station,Elsan,CDP,CTDP,Chemical Toilet"},"amenity/school":{"name":"School Grounds","terms":"academy,elementary school,middle school,high school"},"amenity/shelter":{"name":"Shelter","terms":"lean-to,gazebo,picnic"},"amenity/social_facility":{"name":"Social Facility","terms":""},"amenity/social_facility/food_bank":{"name":"Food Bank","terms":""},"amenity/social_facility/group_home":{"name":"Elderly Group Home","terms":"old,senior,living"},"amenity/social_facility/homeless_shelter":{"name":"Homeless Shelter","terms":"houseless,unhoused,displaced"},"amenity/studio":{"name":"Studio","terms":"recording,radio,television"},"amenity/swimming_pool":{"name":"Swimming Pool","terms":""},"amenity/taxi":{"name":"Taxi Stand","terms":"cab"},"amenity/telephone":{"name":"Telephone","terms":"phone"},"amenity/theatre":{"name":"Theater","terms":"theatre,performance,play,musical"},"amenity/toilets":{"name":"Toilets","terms":"bathroom,restroom,outhouse,privy,head,lavatory,latrine,water closet,WC,W.C."},"amenity/townhall":{"name":"Town Hall","terms":"village,city,government,courthouse,municipal"},"amenity/university":{"name":"University Grounds","terms":"college"},"amenity/vending_machine/cigarettes":{"name":"Cigarette Vending Machine","terms":"cigarette"},"amenity/vending_machine/condoms":{"name":"Condom Vending Machine","terms":"condom"},"amenity/vending_machine/drinks":{"name":"Drink Vending Machine","terms":"drink,soda,beverage,juice,pop"},"amenity/vending_machine/excrement_bags":{"name":"Excrement Bag Vending Machine","terms":"excrement bags,poop,dog,animal"},"amenity/vending_machine/news_papers":{"name":"Newspaper Vending Machine","terms":"newspaper"},"amenity/vending_machine/parcel_pickup_dropoff":{"name":"Parcel Pickup/Dropoff Vending Machine","terms":"parcel,mail,pickup"},"amenity/vending_machine/parking_tickets":{"name":"Parking Ticket Vending Machine","terms":"parking,ticket"},"amenity/vending_machine/public_transport_tickets":{"name":"Transit Ticket Vending Machine","terms":"bus,train,ferry,rail,ticket,transportation"},"amenity/vending_machine/sweets":{"name":"Snack Vending Machine","terms":"candy,gum,chip,pretzel,cookie,cracker"},"amenity/vending_machine/vending_machine":{"name":"Vending Machine","terms":""},"amenity/veterinary":{"name":"Veterinary","terms":"pet clinic,veterinarian,animal hospital,pet doctor"},"amenity/waste_basket":{"name":"Waste Basket","terms":"bin,rubbish,litter,trash,garbage"},"amenity/waste_disposal":{"name":"Garbage Dumpster","terms":"rubbish,litter,trash"},"amenity/water_point":{"name":"RV Drinking Water","terms":""},"area":{"name":"Area","terms":""},"area/highway":{"name":"Road Surface","terms":""},"barrier":{"name":"Barrier","terms":""},"barrier/block":{"name":"Block","terms":""},"barrier/bollard":{"name":"Bollard","terms":""},"barrier/cattle_grid":{"name":"Cattle Grid","terms":""},"barrier/city_wall":{"name":"City Wall","terms":""},"barrier/cycle_barrier":{"name":"Cycle Barrier","terms":""},"barrier/ditch":{"name":"Trench","terms":""},"barrier/entrance":{"name":"Entrance","terms":""},"barrier/fence":{"name":"Fence","terms":""},"barrier/gate":{"name":"Gate","terms":""},"barrier/hedge":{"name":"Hedge","terms":""},"barrier/kissing_gate":{"name":"Kissing Gate","terms":""},"barrier/lift_gate":{"name":"Lift Gate","terms":""},"barrier/retaining_wall":{"name":"Retaining Wall","terms":""},"barrier/stile":{"name":"Stile","terms":""},"barrier/toll_booth":{"name":"Toll Booth","terms":""},"barrier/wall":{"name":"Wall","terms":""},"boundary/administrative":{"name":"Administrative Boundary","terms":""},"building":{"name":"Building","terms":""},"building/apartments":{"name":"Apartments","terms":""},"building/barn":{"name":"Barn","terms":""},"building/bunker":{"name":"Bunker","terms":""},"building/cabin":{"name":"Cabin","terms":""},"building/cathedral":{"name":"Cathedral Building","terms":""},"building/chapel":{"name":"Chapel Building","terms":""},"building/church":{"name":"Church Building","terms":""},"building/college":{"name":"College Building","terms":"university"},"building/commercial":{"name":"Commercial Building","terms":""},"building/construction":{"name":"Building Under Construction","terms":""},"building/detached":{"name":"Detached House","terms":"home,single,family,residence,dwelling"},"building/dormitory":{"name":"Dormitory","terms":""},"building/entrance":{"name":"Entrance/Exit","terms":""},"building/garage":{"name":"Garage","terms":""},"building/garages":{"name":"Garages","terms":""},"building/greenhouse":{"name":"Greenhouse","terms":""},"building/hospital":{"name":"Hospital Building","terms":""},"building/hotel":{"name":"Hotel Building","terms":""},"building/house":{"name":"House","terms":"home,family,residence,dwelling"},"building/hut":{"name":"Hut","terms":""},"building/industrial":{"name":"Industrial Building","terms":""},"building/kindergarten":{"name":"Preschool/Kindergarten Building","terms":"kindergarden,pre-school"},"building/public":{"name":"Public Building","terms":""},"building/residential":{"name":"Residential Building","terms":""},"building/retail":{"name":"Retail Building","terms":""},"building/roof":{"name":"Roof","terms":""},"building/school":{"name":"School Building","terms":"academy,elementary school,middle school,high school"},"building/semidetached_house":{"name":"Semi-Detached House","terms":"home,double,duplex,twin,family,residence,dwelling"},"building/shed":{"name":"Shed","terms":""},"building/stable":{"name":"Stable","terms":""},"building/static_caravan":{"name":"Static Mobile Home","terms":""},"building/terrace":{"name":"Row Houses","terms":"home,terrace,brownstone,family,residence,dwelling"},"building/train_station":{"name":"Train Station","terms":""},"building/university":{"name":"University Building","terms":"college"},"building/warehouse":{"name":"Warehouse","terms":""},"craft":{"name":"Craft","terms":""},"craft/basket_maker":{"name":"Basket Maker","terms":""},"craft/beekeeper":{"name":"Beekeeper","terms":""},"craft/blacksmith":{"name":"Blacksmith","terms":""},"craft/boatbuilder":{"name":"Boat Builder","terms":""},"craft/bookbinder":{"name":"Bookbinder","terms":"book repair"},"craft/brewery":{"name":"Brewery","terms":"beer,bier"},"craft/carpenter":{"name":"Carpenter","terms":"woodworker"},"craft/carpet_layer":{"name":"Carpet Layer","terms":""},"craft/caterer":{"name":"Caterer","terms":""},"craft/clockmaker":{"name":"Clockmaker","terms":""},"craft/confectionery":{"name":"Confectionery","terms":"sweets,candy"},"craft/dressmaker":{"name":"Dressmaker","terms":"seamstress"},"craft/electrician":{"name":"Electrician","terms":"power,wire"},"craft/gardener":{"name":"Gardener","terms":"landscaper,grounds keeper"},"craft/glaziery":{"name":"Glaziery","terms":"glass,stained-glass,window"},"craft/handicraft":{"name":"Handicraft","terms":""},"craft/hvac":{"name":"HVAC","terms":"heat*,vent*,air conditioning"},"craft/insulator":{"name":"Insulator","terms":""},"craft/jeweler":{"name":"Jeweler","terms":""},"craft/key_cutter":{"name":"Key Cutter","terms":""},"craft/locksmith":{"name":"Locksmith","terms":""},"craft/metal_construction":{"name":"Metal Construction","terms":""},"craft/optician":{"name":"Optician","terms":""},"craft/painter":{"name":"Painter","terms":""},"craft/photographer":{"name":"Photographer","terms":""},"craft/photographic_laboratory":{"name":"Photographic Laboratory","terms":"film"},"craft/plasterer":{"name":"Plasterer","terms":""},"craft/plumber":{"name":"Plumber","terms":"pipe"},"craft/pottery":{"name":"Pottery","terms":"ceramic"},"craft/rigger":{"name":"Rigger","terms":""},"craft/roofer":{"name":"Roofer","terms":""},"craft/saddler":{"name":"Saddler","terms":""},"craft/sailmaker":{"name":"Sailmaker","terms":""},"craft/sawmill":{"name":"Sawmill","terms":"lumber"},"craft/scaffolder":{"name":"Scaffolder","terms":""},"craft/sculpter":{"name":"Sculpter","terms":""},"craft/shoemaker":{"name":"Shoemaker","terms":"cobbler"},"craft/stonemason":{"name":"Stonemason","terms":"masonry"},"craft/sweep":{"name":"Chimney Sweep","terms":""},"craft/tailor":{"name":"Tailor","terms":"clothes,suit"},"craft/tiler":{"name":"Tiler","terms":""},"craft/tinsmith":{"name":"Tinsmith","terms":""},"craft/upholsterer":{"name":"Upholsterer","terms":""},"craft/watchmaker":{"name":"Watchmaker","terms":""},"craft/window_construction":{"name":"Window Construction","terms":"glass"},"craft/winery":{"name":"Winery","terms":""},"embankment":{"name":"Embankment","terms":""},"emergency/ambulance_station":{"name":"Ambulance Station","terms":"EMS,EMT,rescue"},"emergency/defibrillator":{"name":"Defibrillator","terms":""},"emergency/fire_hydrant":{"name":"Fire Hydrant","terms":""},"emergency/phone":{"name":"Emergency Phone","terms":""},"entrance":{"name":"Entrance/Exit","terms":""},"footway/crossing":{"name":"Street Crossing","terms":""},"footway/crosswalk":{"name":"Pedestrian Crosswalk","terms":"zebra crossing"},"footway/sidewalk":{"name":"Sidewalk","terms":""},"ford":{"name":"Ford","terms":""},"golf/bunker":{"name":"Sand Trap","terms":"hazard,bunker"},"golf/fairway":{"name":"Fairway","terms":""},"golf/green":{"name":"Putting Green","terms":""},"golf/hole":{"name":"Golf Hole","terms":""},"golf/lateral_water_hazard":{"name":"Lateral Water Hazard","terms":""},"golf/rough":{"name":"Rough","terms":""},"golf/tee":{"name":"Tee Box","terms":"teeing ground"},"golf/water_hazard":{"name":"Water Hazard","terms":""},"highway":{"name":"Highway","terms":""},"highway/bridleway":{"name":"Bridle Path","terms":"bridleway,equestrian,horse"},"highway/bus_stop":{"name":"Bus Stop","terms":""},"highway/corridor":{"name":"Indoor Corridor","terms":"gallery,hall,hallway,indoor,passage,passageway"},"highway/crossing":{"name":"Street Crossing","terms":""},"highway/crosswalk":{"name":"Pedestrian Crosswalk","terms":"zebra crossing"},"highway/cycleway":{"name":"Cycle Path","terms":"bike"},"highway/footway":{"name":"Foot Path","terms":"hike,hiking,trackway,trail,walk"},"highway/give_way":{"name":"Yield Sign","terms":"give way,yield,sign"},"highway/living_street":{"name":"Living Street","terms":""},"highway/mini_roundabout":{"name":"Mini-Roundabout","terms":""},"highway/motorway":{"name":"Motorway","terms":""},"highway/motorway_junction":{"name":"Motorway Junction / Exit","terms":""},"highway/motorway_link":{"name":"Motorway Link","terms":"ramp,on ramp,off ramp"},"highway/path":{"name":"Path","terms":"hike,hiking,trackway,trail,walk"},"highway/pedestrian":{"name":"Pedestrian Street","terms":""},"highway/primary":{"name":"Primary Road","terms":""},"highway/primary_link":{"name":"Primary Link","terms":"ramp,on ramp,off ramp"},"highway/raceway":{"name":"Motor Raceway","terms":"auto*,race*,nascar"},"highway/residential":{"name":"Residential Road","terms":""},"highway/rest_area":{"name":"Rest Area","terms":"rest stop"},"highway/road":{"name":"Unknown Road","terms":""},"highway/secondary":{"name":"Secondary Road","terms":""},"highway/secondary_link":{"name":"Secondary Link","terms":"ramp,on ramp,off ramp"},"highway/service":{"name":"Service Road","terms":""},"highway/service/alley":{"name":"Alley","terms":""},"highway/service/drive-through":{"name":"Drive-Through","terms":""},"highway/service/driveway":{"name":"Driveway","terms":""},"highway/service/emergency_access":{"name":"Emergency Access","terms":""},"highway/service/parking_aisle":{"name":"Parking Aisle","terms":""},"highway/services":{"name":"Service Area","terms":"services,travel plaza,service station"},"highway/steps":{"name":"Steps","terms":"stairs,staircase"},"highway/stop":{"name":"Stop Sign","terms":"stop,halt,sign"},"highway/street_lamp":{"name":"Street Lamp","terms":"streetlight,street light,lamp,light,gaslight"},"highway/tertiary":{"name":"Tertiary Road","terms":""},"highway/tertiary_link":{"name":"Tertiary Link","terms":"ramp,on ramp,off ramp"},"highway/track":{"name":"Unmaintained Track Road","terms":"woods road,forest road,logging road,fire road,farm road,agricultural road,ranch road,carriage road,primitive,unmaintained,rut,offroad,4wd,4x4,four wheel drive,atv,quad,jeep,double track,two track"},"highway/traffic_signals":{"name":"Traffic Signals","terms":"light,stoplight,traffic light"},"highway/trunk":{"name":"Trunk Road","terms":""},"highway/trunk_link":{"name":"Trunk Link","terms":"ramp,on ramp,off ramp"},"highway/turning_circle":{"name":"Turning Circle","terms":"cul-de-sac"},"highway/unclassified":{"name":"Minor/Unclassified Road","terms":""},"historic":{"name":"Historic Site","terms":""},"historic/archaeological_site":{"name":"Archaeological Site","terms":""},"historic/boundary_stone":{"name":"Boundary Stone","terms":""},"historic/castle":{"name":"Castle","terms":""},"historic/memorial":{"name":"Memorial","terms":""},"historic/monument":{"name":"Monument","terms":""},"historic/ruins":{"name":"Ruins","terms":""},"historic/wayside_cross":{"name":"Wayside Cross","terms":""},"historic/wayside_shrine":{"name":"Wayside Shrine","terms":""},"junction":{"name":"Junction","terms":""},"landuse":{"name":"Land Use","terms":""},"landuse/allotments":{"name":"Community Garden","terms":"allotment,garden"},"landuse/basin":{"name":"Basin","terms":""},"landuse/cemetery":{"name":"Cemetery","terms":""},"landuse/churchyard":{"name":"Churchyard","terms":""},"landuse/commercial":{"name":"Commercial Area","terms":""},"landuse/construction":{"name":"Construction","terms":""},"landuse/farm":{"name":"Farmland","terms":""},"landuse/farmland":{"name":"Farmland","terms":""},"landuse/farmyard":{"name":"Farmyard","terms":""},"landuse/forest":{"name":"Forest","terms":"tree"},"landuse/garages":{"name":"Garages","terms":""},"landuse/grass":{"name":"Grass","terms":""},"landuse/industrial":{"name":"Industrial Area","terms":""},"landuse/landfill":{"name":"Landfill","terms":"dump"},"landuse/meadow":{"name":"Meadow","terms":""},"landuse/military":{"name":"Military Area","terms":""},"landuse/orchard":{"name":"Orchard","terms":""},"landuse/plant_nursery":{"name":"Plant Nursery","terms":"vivero"},"landuse/quarry":{"name":"Quarry","terms":""},"landuse/residential":{"name":"Residential Area","terms":""},"landuse/retail":{"name":"Retail Area","terms":""},"landuse/vineyard":{"name":"Vineyard","terms":""},"leisure":{"name":"Leisure","terms":""},"leisure/adult_gaming_centre":{"name":"Adult Gaming Center","terms":"gambling,slot machine"},"leisure/bird_hide":{"name":"Bird Hide","terms":"machan,ornithology"},"leisure/bowling_alley":{"name":"Bowling Alley","terms":""},"leisure/common":{"name":"Common","terms":"open space"},"leisure/dog_park":{"name":"Dog Park","terms":""},"leisure/firepit":{"name":"Firepit","terms":"fireplace,campfire"},"leisure/garden":{"name":"Garden","terms":""},"leisure/golf_course":{"name":"Golf Course","terms":"links"},"leisure/ice_rink":{"name":"Ice Rink","terms":"hockey,skating,curling"},"leisure/marina":{"name":"Marina","terms":"boat"},"leisure/nature_reserve":{"name":"Nature Reserve","terms":"protected,wildlife"},"leisure/park":{"name":"Park","terms":"esplanade,estate,forest,garden,grass,green,grounds,lawn,lot,meadow,parkland,place,playground,plaza,pleasure garden,recreation area,square,tract,village green,woodland"},"leisure/picnic_table":{"name":"Picnic Table","terms":"bench"},"leisure/pitch":{"name":"Sport Pitch","terms":"field"},"leisure/pitch/american_football":{"name":"American Football Field","terms":""},"leisure/pitch/baseball":{"name":"Baseball Diamond","terms":""},"leisure/pitch/basketball":{"name":"Basketball Court","terms":""},"leisure/pitch/rugby_league":{"name":"Rugby League Field","terms":""},"leisure/pitch/rugby_union":{"name":"Rugby Union Field","terms":""},"leisure/pitch/skateboard":{"name":"Skate Park","terms":""},"leisure/pitch/soccer":{"name":"Soccer Field","terms":""},"leisure/pitch/tennis":{"name":"Tennis Court","terms":""},"leisure/pitch/volleyball":{"name":"Volleyball Court","terms":""},"leisure/playground":{"name":"Playground","terms":"jungle gym,play area"},"leisure/running_track":{"name":"Running Track","terms":""},"leisure/slipway":{"name":"Slipway","terms":"boat launch,boat ramp"},"leisure/sports_centre":{"name":"Sports Center / Gym","terms":"gym"},"leisure/sports_centre/swimming":{"name":"Swimming Pool Facility","terms":"dive,water"},"leisure/stadium":{"name":"Stadium","terms":""},"leisure/swimming_pool":{"name":"Swimming Pool","terms":"dive,water"},"leisure/track":{"name":"Racetrack (non-Motorsport)","terms":""},"leisure/water_park":{"name":"Water Park","terms":"swim,pool,dive"},"line":{"name":"Line","terms":""},"man_made":{"name":"Man Made","terms":""},"man_made/adit":{"name":"Adit","terms":"entrance,underground,mine,cave"},"man_made/breakwater":{"name":"Breakwater","terms":""},"man_made/bridge":{"name":"Bridge","terms":""},"man_made/chimney":{"name":"Chimney","terms":""},"man_made/cutline":{"name":"Cut line","terms":""},"man_made/embankment":{"name":"Embankment","terms":""},"man_made/flagpole":{"name":"Flagpole","terms":""},"man_made/gasometer":{"name":"Gasometer","terms":"gas holder"},"man_made/groyne":{"name":"Groyne","terms":""},"man_made/lighthouse":{"name":"Lighthouse","terms":""},"man_made/mast":{"name":"Radio Mast","terms":"broadcast tower,cell phone tower,cell tower,guyed tower,mobile phone tower,radio tower,television tower,transmission mast,transmission tower,tv tower"},"man_made/observation":{"name":"Observation Tower","terms":"lookout tower,fire tower"},"man_made/petroleum_well":{"name":"Oil Well","terms":"drilling rig,oil derrick,oil drill,oil horse,oil rig,oil pump,petroleum well,pumpjack"},"man_made/pier":{"name":"Pier","terms":"dock"},"man_made/pipeline":{"name":"Pipeline","terms":""},"man_made/silo":{"name":"Silo","terms":"grain,corn,wheat"},"man_made/storage_tank":{"name":"Storage Tank","terms":"water,oil,gas,petrol"},"man_made/surveillance":{"name":"Surveillance","terms":""},"man_made/survey_point":{"name":"Survey Point","terms":""},"man_made/tower":{"name":"Tower","terms":""},"man_made/wastewater_plant":{"name":"Wastewater Plant","terms":"sewage*,water treatment plant,reclamation plant"},"man_made/water_tower":{"name":"Water Tower","terms":""},"man_made/water_well":{"name":"Water Well","terms":""},"man_made/water_works":{"name":"Water Works","terms":""},"man_made/works":{"name":"Works","terms":"car assembly plant,aluminium processing plant,brewery,furniture manufacture factory,oil refinery,plastic recycling"},"military/airfield":{"name":"Airfield","terms":""},"military/barracks":{"name":"Barracks","terms":""},"military/bunker":{"name":"Bunker","terms":""},"military/checkpoint":{"name":"Checkpoint","terms":""},"military/danger_area":{"name":"Danger Area","terms":""},"military/naval_base":{"name":"Naval Base","terms":""},"military/obstacle_course":{"name":"Obstacle Course","terms":""},"military/range":{"name":"Military Range","terms":""},"military/training_area":{"name":"Training area","terms":""},"natural":{"name":"Natural","terms":""},"natural/bay":{"name":"Bay","terms":""},"natural/beach":{"name":"Beach","terms":""},"natural/cave_entrance":{"name":"Cave Entrance","terms":"cavern,hollow,grotto,shelter,cavity"},"natural/cliff":{"name":"Cliff","terms":""},"natural/coastline":{"name":"Coastline","terms":"shore"},"natural/fell":{"name":"Fell","terms":""},"natural/glacier":{"name":"Glacier","terms":""},"natural/grassland":{"name":"Grassland","terms":""},"natural/heath":{"name":"Heath","terms":""},"natural/peak":{"name":"Peak","terms":"acme,aiguille,alp,climax,crest,crown,hill,mount,mountain,pinnacle,summit,tip,top"},"natural/saddle":{"name":"Saddle","terms":"pass,mountain pass,top"},"natural/scree":{"name":"Scree","terms":"loose rocks"},"natural/scrub":{"name":"Scrub","terms":"bush,shrubs"},"natural/spring":{"name":"Spring","terms":""},"natural/tree":{"name":"Tree","terms":""},"natural/tree_row":{"name":"Tree row","terms":""},"natural/volcano":{"name":"Volcano","terms":"mountain,crater"},"natural/water":{"name":"Water","terms":""},"natural/water/lake":{"name":"Lake","terms":"lakelet,loch,mere"},"natural/water/pond":{"name":"Pond","terms":"lakelet,millpond,tarn,pool,mere"},"natural/water/reservoir":{"name":"Reservoir","terms":""},"natural/wetland":{"name":"Wetland","terms":""},"natural/wood":{"name":"Wood","terms":"tree"},"office":{"name":"Office","terms":""},"office/accountant":{"name":"Accountant","terms":""},"office/administrative":{"name":"Administrative Office","terms":""},"office/architect":{"name":"Architect","terms":""},"office/company":{"name":"Company Office","terms":""},"office/educational_institution":{"name":"Educational Institution","terms":""},"office/employment_agency":{"name":"Employment Agency","terms":"job"},"office/estate_agent":{"name":"Real Estate Office","terms":""},"office/financial":{"name":"Financial Office","terms":""},"office/government":{"name":"Government Office","terms":""},"office/insurance":{"name":"Insurance Office","terms":""},"office/it":{"name":"IT Office","terms":""},"office/lawyer":{"name":"Law Office","terms":""},"office/newspaper":{"name":"Newspaper","terms":""},"office/ngo":{"name":"NGO Office","terms":""},"office/physician":{"name":"Physician","terms":""},"office/political_party":{"name":"Political Party","terms":""},"office/research":{"name":"Research Office","terms":""},"office/telecommunication":{"name":"Telecom Office","terms":""},"office/therapist":{"name":"Therapist","terms":""},"office/travel_agent":{"name":"Travel Agency","terms":""},"piste":{"name":"Piste/Ski Trail","terms":"ski,sled,sleigh,snowboard,nordic,downhill,snowmobile"},"place":{"name":"Place","terms":""},"place/city":{"name":"City","terms":""},"place/farm":{"name":"Farm","terms":""},"place/hamlet":{"name":"Hamlet","terms":""},"place/island":{"name":"Island","terms":"archipelago,atoll,bar,cay,isle,islet,key,reef"},"place/isolated_dwelling":{"name":"Isolated Dwelling","terms":""},"place/locality":{"name":"Locality","terms":""},"place/neighbourhood":{"name":"Neighborhood","terms":"neighbourhood"},"place/suburb":{"name":"Borough","terms":"Boro,Quarter"},"place/town":{"name":"Town","terms":""},"place/village":{"name":"Village","terms":""},"point":{"name":"Point","terms":""},"power":{"name":"Power","terms":""},"power/generator":{"name":"Power Generator","terms":""},"power/line":{"name":"Power Line","terms":""},"power/minor_line":{"name":"Minor Power Line","terms":""},"power/pole":{"name":"Power Pole","terms":""},"power/sub_station":{"name":"Substation","terms":""},"power/substation":{"name":"Substation","terms":""},"power/tower":{"name":"High-Voltage Tower","terms":""},"power/transformer":{"name":"Transformer","terms":""},"public_transport/platform":{"name":"Platform","terms":""},"public_transport/stop_position":{"name":"Stop Position","terms":""},"railway":{"name":"Railway","terms":""},"railway/abandoned":{"name":"Abandoned Railway","terms":""},"railway/disused":{"name":"Disused Railway","terms":""},"railway/funicular":{"name":"Funicular","terms":"venicular,cliff railway,cable car,cable railway,funicular railway"},"railway/halt":{"name":"Railway Halt","terms":"break,interrupt,rest,wait,interruption"},"railway/level_crossing":{"name":"Railway Crossing","terms":"crossing,railroad crossing,level crossing,grade crossing,road through railroad,train crossing"},"railway/monorail":{"name":"Monorail","terms":""},"railway/narrow_gauge":{"name":"Narrow Gauge Rail","terms":"narrow gauge railway,narrow gauge railroad"},"railway/platform":{"name":"Railway Platform","terms":""},"railway/rail":{"name":"Rail","terms":""},"railway/station":{"name":"Railway Station","terms":"train station,station"},"railway/subway":{"name":"Subway","terms":""},"railway/subway_entrance":{"name":"Subway Entrance","terms":""},"railway/tram":{"name":"Tram","terms":"streetcar"},"relation":{"name":"Relation","terms":""},"roundabout":{"name":"Roundabout","terms":""},"route/ferry":{"name":"Ferry Route","terms":""},"shop":{"name":"Shop","terms":""},"shop/alcohol":{"name":"Liquor Store","terms":"alcohol,beer,booze,wine"},"shop/anime":{"name":"Anime Shop","terms":""},"shop/antiques":{"name":"Antiques Shop","terms":""},"shop/art":{"name":"Art Store","terms":"art*,exhibit*,gallery"},"shop/baby_goods":{"name":"Baby Goods Store","terms":""},"shop/bag":{"name":"Bag/Luggage Store","terms":"handbag,purse"},"shop/bakery":{"name":"Bakery","terms":""},"shop/bathroom_furnishing":{"name":"Bathroom Furnishing Store","terms":""},"shop/beauty":{"name":"Beauty Shop","terms":"nail spa,spa,salon,tanning"},"shop/bed":{"name":"Bedding/Mattress Store","terms":""},"shop/beverages":{"name":"Beverage Store","terms":""},"shop/bicycle":{"name":"Bicycle Shop","terms":"bike,repair"},"shop/bookmaker":{"name":"Bookmaker","terms":""},"shop/books":{"name":"Book Store","terms":""},"shop/boutique":{"name":"Boutique","terms":""},"shop/butcher":{"name":"Butcher","terms":"meat"},"shop/candles":{"name":"Candle Shop","terms":""},"shop/car":{"name":"Car Dealership","terms":"auto"},"shop/car_parts":{"name":"Car Parts Store","terms":"auto"},"shop/car_repair":{"name":"Car Repair Shop","terms":"auto"},"shop/carpet":{"name":"Carpet Store","terms":"rug"},"shop/cheese":{"name":"Cheese Store","terms":""},"shop/chemist":{"name":"Drugstore","terms":"med*,drug*,gift"},"shop/chocolate":{"name":"Chocolate Store","terms":""},"shop/clothes":{"name":"Clothing Store","terms":""},"shop/coffee":{"name":"Coffee Store","terms":""},"shop/computer":{"name":"Computer Store","terms":""},"shop/confectionery":{"name":"Candy Store","terms":""},"shop/convenience":{"name":"Convenience Store","terms":""},"shop/copyshop":{"name":"Copy Store","terms":""},"shop/cosmetics":{"name":"Cosmetics Store","terms":""},"shop/craft":{"name":"Arts and Crafts Store","terms":"art*,paint*,frame"},"shop/curtain":{"name":"Curtain Store","terms":"drape*,window"},"shop/dairy":{"name":"Dairy Store","terms":"milk,egg,cheese"},"shop/deli":{"name":"Deli","terms":"lunch,meat,sandwich"},"shop/department_store":{"name":"Department Store","terms":""},"shop/doityourself":{"name":"DIY Store","terms":""},"shop/dry_cleaning":{"name":"Dry Cleaner","terms":""},"shop/electronics":{"name":"Electronics Store","terms":"appliance,audio,computer,tv"},"shop/erotic":{"name":"Erotic Store","terms":"sex,porn"},"shop/fabric":{"name":"Fabric Store","terms":"sew"},"shop/farm":{"name":"Produce Stand","terms":"farm shop,farm stand"},"shop/fashion":{"name":"Fashion Store","terms":""},"shop/fishmonger":{"name":"Fishmonger","terms":""},"shop/florist":{"name":"Florist","terms":"flower"},"shop/frame":{"name":"Framing Shop","terms":"art*,paint*,photo*,frame"},"shop/funeral_directors":{"name":"Funeral Home","terms":"undertaker,memorial home"},"shop/furnace":{"name":"Furnace Store","terms":"oven,stove"},"shop/furniture":{"name":"Furniture Store","terms":"chair,sofa,table"},"shop/garden_centre":{"name":"Garden Center","terms":"landscape,mulch,shrub,tree"},"shop/gift":{"name":"Gift Shop","terms":""},"shop/greengrocer":{"name":"Greengrocer","terms":"fruit,vegetable"},"shop/hairdresser":{"name":"Hairdresser","terms":""},"shop/hardware":{"name":"Hardware Store","terms":""},"shop/hearing_aids":{"name":"Hearing Aids Store","terms":""},"shop/herbalist":{"name":"Herbalist","terms":""},"shop/hifi":{"name":"Hifi Store","terms":"stereo,video"},"shop/houseware":{"name":"Houseware Store","terms":"home,household"},"shop/interior_decoration":{"name":"Interior Decoration Store","terms":""},"shop/jewelry":{"name":"Jeweler","terms":"diamond,gem,ring"},"shop/kiosk":{"name":"News Kiosk","terms":""},"shop/kitchen":{"name":"Kitchen Design Store","terms":""},"shop/laundry":{"name":"Laundry","terms":""},"shop/leather":{"name":"Leather Store","terms":""},"shop/locksmith":{"name":"Locksmith","terms":"key,lockpick"},"shop/lottery":{"name":"Lottery Shop","terms":""},"shop/mall":{"name":"Mall","terms":""},"shop/massage":{"name":"Massage Shop","terms":""},"shop/medical_supply":{"name":"Medical Supply Store","terms":""},"shop/mobile_phone":{"name":"Mobile Phone Store","terms":""},"shop/money_lender":{"name":"Money Lender","terms":""},"shop/motorcycle":{"name":"Motorcycle Dealership","terms":""},"shop/music":{"name":"Music Store","terms":"CD,vinyl"},"shop/musical_instrument":{"name":"Musical Instrument Store","terms":""},"shop/newsagent":{"name":"Newspaper/Magazine Shop","terms":""},"shop/nutrition_supplements":{"name":"Nutrition Supplements Store","terms":""},"shop/optician":{"name":"Optician","terms":"eye,glasses"},"shop/organic":{"name":"Organic Goods Store","terms":""},"shop/outdoor":{"name":"Outdoors Store","terms":"camping,climbing,hiking"},"shop/paint":{"name":"Paint Store","terms":""},"shop/pawnbroker":{"name":"Pawn Shop","terms":""},"shop/pet":{"name":"Pet Store","terms":"cat,dog,fish"},"shop/photo":{"name":"Photography Store","terms":"camera,film"},"shop/pyrotechnics":{"name":"Fireworks Store","terms":""},"shop/radiotechnics":{"name":"Radio/Electronic Component Store","terms":""},"shop/religion":{"name":"Religious Store","terms":""},"shop/scuba_diving":{"name":"Scuba Diving Shop","terms":""},"shop/seafood":{"name":"Seafood Shop","terms":"fishmonger"},"shop/second_hand":{"name":"Consignment/Thrift Store","terms":"secondhand,second hand,resale,thrift,used"},"shop/shoes":{"name":"Shoe Store","terms":""},"shop/sports":{"name":"Sporting Goods Store","terms":""},"shop/stationery":{"name":"Stationery Store","terms":"card,paper"},"shop/storage_rental":{"name":"Storage Rental","terms":""},"shop/supermarket":{"name":"Supermarket","terms":"grocery,store,shop"},"shop/tailor":{"name":"Tailor","terms":"clothes,suit"},"shop/tattoo":{"name":"Tattoo Parlor","terms":""},"shop/tea":{"name":"Tea Store","terms":""},"shop/ticket":{"name":"Ticket Seller","terms":""},"shop/tobacco":{"name":"Tobacco Shop","terms":""},"shop/toys":{"name":"Toy Store","terms":""},"shop/travel_agency":{"name":"Travel Agency","terms":""},"shop/tyres":{"name":"Tire Store","terms":""},"shop/vacant":{"name":"Vacant Shop","terms":""},"shop/vacuum_cleaner":{"name":"Vacuum Cleaner Store","terms":""},"shop/variety_store":{"name":"Variety Store","terms":""},"shop/video":{"name":"Video Store","terms":"DVD"},"shop/video_games":{"name":"Video Game Store","terms":""},"shop/water_sports":{"name":"Watersport/Swim Shop","terms":""},"shop/weapons":{"name":"Weapon Shop","terms":"ammo,gun,knife,knives"},"shop/window_blind":{"name":"Window Blind Store","terms":""},"shop/wine":{"name":"Wine Shop","terms":""},"tourism":{"name":"Tourism","terms":""},"tourism/alpine_hut":{"name":"Alpine Hut","terms":""},"tourism/artwork":{"name":"Artwork","terms":"mural,sculpture,statue"},"tourism/attraction":{"name":"Tourist Attraction","terms":""},"tourism/camp_site":{"name":"Camp Site","terms":"Tent"},"tourism/caravan_site":{"name":"RV Park","terms":"Motor Home,Camper"},"tourism/chalet":{"name":"Chalet","terms":""},"tourism/gallery":{"name":"Art Gallery","terms":"art*,exhibit*,paint*,photo*,sculpt*"},"tourism/guest_house":{"name":"Guest House","terms":"B&B,Bed and Breakfast"},"tourism/hostel":{"name":"Hostel","terms":""},"tourism/hotel":{"name":"Hotel","terms":""},"tourism/information":{"name":"Information","terms":""},"tourism/motel":{"name":"Motel","terms":""},"tourism/museum":{"name":"Museum","terms":"art*,exhibit*,gallery,foundation,hall,institution,paint*,photo*,sculpt*"},"tourism/picnic_site":{"name":"Picnic Site","terms":"camp"},"tourism/theme_park":{"name":"Theme Park","terms":""},"tourism/viewpoint":{"name":"Viewpoint","terms":""},"tourism/zoo":{"name":"Zoo","terms":""},"traffic_calming/bump":{"name":"Speed Bump","terms":"speed hump"},"traffic_calming/hump":{"name":"Speed Hump","terms":"speed bump"},"traffic_calming/rumble_strip":{"name":"Rumble Strip","terms":"sleeper lines,audible lines,growlers"},"traffic_calming/table":{"name":"Raised Pedestrian Crossing","terms":"speed table,flat top hump"},"type/boundary":{"name":"Boundary","terms":""},"type/boundary/administrative":{"name":"Administrative Boundary","terms":""},"type/multipolygon":{"name":"Multipolygon","terms":""},"type/restriction":{"name":"Restriction","terms":""},"type/restriction/no_left_turn":{"name":"No Left Turn","terms":""},"type/restriction/no_right_turn":{"name":"No Right Turn","terms":""},"type/restriction/no_straight_on":{"name":"No Straight On","terms":""},"type/restriction/no_u_turn":{"name":"No U-turn","terms":""},"type/restriction/only_left_turn":{"name":"Left Turn Only","terms":""},"type/restriction/only_right_turn":{"name":"Right Turn Only","terms":""},"type/restriction/only_straight_on":{"name":"No Turns","terms":""},"type/route":{"name":"Route","terms":""},"type/route/bicycle":{"name":"Cycle Route","terms":""},"type/route/bus":{"name":"Bus Route","terms":""},"type/route/detour":{"name":"Detour Route","terms":""},"type/route/ferry":{"name":"Ferry Route","terms":""},"type/route/foot":{"name":"Foot Route","terms":""},"type/route/hiking":{"name":"Hiking Route","terms":""},"type/route/horse":{"name":"Riding Route","terms":""},"type/route/pipeline":{"name":"Pipeline Route","terms":""},"type/route/power":{"name":"Power Route","terms":""},"type/route/road":{"name":"Road Route","terms":""},"type/route/train":{"name":"Train Route","terms":""},"type/route/tram":{"name":"Tram Route","terms":""},"type/route_master":{"name":"Route Master","terms":""},"type/site":{"name":"Site","terms":""},"vertex":{"name":"Other","terms":""},"waterway":{"name":"Waterway","terms":""},"waterway/boatyard":{"name":"Boatyard","terms":""},"waterway/canal":{"name":"Canal","terms":""},"waterway/dam":{"name":"Dam","terms":""},"waterway/ditch":{"name":"Ditch","terms":""},"waterway/dock":{"name":"Wet Dock / Dry Dock","terms":"boat,ship,vessel,marine"},"waterway/drain":{"name":"Drain","terms":""},"waterway/fuel":{"name":"Marine Fuel Station","terms":"petrol,gas,diesel,boat"},"waterway/river":{"name":"River","terms":"beck,branch,brook,course,creek,estuary,rill,rivulet,run,runnel,stream,tributary,watercourse"},"waterway/riverbank":{"name":"Riverbank","terms":""},"waterway/sanitary_dump_station":{"name":"Marine Toilet Disposal","terms":"Boat,Watercraft,Sanitary,Dump Station,Pumpout,Pump out,Elsan,CDP,CTDP,Chemical Toilet"},"waterway/stream":{"name":"Stream","terms":"beck,branch,brook,burn,course,creek,current,drift,flood,flow,freshet,race,rill,rindle,rivulet,run,runnel,rush,spate,spritz,surge,tide,torrent,tributary,watercourse"},"waterway/water_point":{"name":"Marine Drinking Water","terms":""},"waterway/weir":{"name":"Weir","terms":""}}}},"suggestions":{"amenity":{"pub":{"The Green Man":{"count":54},"Kings Arms":{"count":77},"The White Horse":{"count":223},"The White Hart":{"count":238},"Royal Oak":{"count":175},"The Red Lion":{"count":253},"The Kings Arms":{"count":60},"The Star":{"count":74},"The Cross Keys":{"count":58},"The Wheatsheaf":{"count":121},"The Kings Head":{"count":63},"The Castle":{"count":63},"The Railway":{"count":105},"The Bell":{"count":129},"The Bull":{"count":75},"The Plough":{"count":187},"The George":{"count":115},"The Royal Oak":{"count":216},"The Fox":{"count":78},"Prince of Wales":{"count":86},"The Rising Sun":{"count":78},"The Chequers":{"count":72},"The Crown":{"count":253},"The Swan":{"count":149},"The Crown Inn":{"count":76},"The Ship":{"count":90},"The Victoria":{"count":69},"New Inn":{"count":104},"The Anchor":{"count":67},"Royal Hotel":{"count":62},"Red Lion":{"count":207},"Cross Keys":{"count":63},"The Bell Inn":{"count":57},"The White Lion":{"count":73},"The Black Horse":{"count":97},"Rose and Crown":{"count":85},"Commercial Hotel":{"count":54},"The White Swan":{"count":53},"The Greyhound":{"count":98},"The New Inn":{"count":119},"Kings Head":{"count":62},"The Angel":{"count":57},"The Queens Head":{"count":55},"Black Bull":{"count":54},"Black Horse":{"count":52},"The Swan Inn":{"count":54},"Rose & Crown":{"count":58},"The Albion":{"count":54},"The Cricketers":{"count":55},"The Ship Inn":{"count":94},"The Star Inn":{"count":51},"Queens Head":{"count":56},"Irish Pub":{"count":99},"魚民":{"count":84}},"fuel":{"76":{"count":498},"Neste":{"count":177},"Shell":{"count":10789},"Agip":{"count":2524},"Migrol":{"count":78},"Avia":{"count":1014},"Texaco":{"count":1057},"Total":{"count":3182},"Statoil":{"count":668},"BP":{"count":3517},"Topaz":{"count":98},"Esso":{"count":4179},"Jet":{"count":461},"OMV":{"count":929},"Aral":{"count":1383},"Tesco":{"count":214},"JET":{"count":212},"Morrisons":{"count":122},"United":{"count":155},"Sainsbury's":{"count":72},"Canadian Tire":{"count":90},"Mobil":{"count":1150},"Q8":{"count":1325},"Caltex":{"count":1304},"Petro-Canada":{"count":736},"ABC":{"count":84},"ARAL":{"count":385},"CEPSA":{"count":972},"BFT":{"count":102},"Petron":{"count":1283},"Intermarché":{"count":591},"Total Access":{"count":173},"Auchan":{"count":71},"Super U":{"count":147},"Carrefour":{"count":291},"Station Service E. Leclerc":{"count":516},"Elan":{"count":174},"Shell Express":{"count":171},"Hess":{"count":213},"F24":{"count":56},"Gulf":{"count":330},"PTT":{"count":241},"Teboil":{"count":111},"St1":{"count":126},"HEM":{"count":241},"GALP":{"count":762},"پمپ بنزین":{"count":266},"Avanti":{"count":110},"Cepsa":{"count":208},"OK":{"count":205},"Tinq":{"count":215},"Repsol":{"count":775},"Westfalen":{"count":94},"Esso Express":{"count":150},"Slovnaft":{"count":261},"Raiffeisenbank":{"count":129},"Tamoil":{"count":913},"bft":{"count":185},"Afriquia":{"count":117},"Engen":{"count":307},"Sasol":{"count":74},"Jetti":{"count":59},"LPG":{"count":309},"Coop":{"count":67},"Orlen":{"count":1074},"Kobil":{"count":81},"Oilibya":{"count":87},"Tango":{"count":143},"Star":{"count":352},"Петрол":{"count":111},"EKO":{"count":110},"Turmöl":{"count":74},"OIL!":{"count":111},"Flying V":{"count":146},"Ultramar":{"count":246},"CARREFOUR":{"count":73},"Eni":{"count":469},"Irving":{"count":149},"Lukoil":{"count":832},"Coles Express":{"count":262},"Pioneer":{"count":93},"Speedway":{"count":381},"Uno-X":{"count":57},"7-Eleven":{"count":892},"Agrola":{"count":90},"Husky":{"count":188},"Sunoco":{"count":684},"Sheetz":{"count":248},"Turkey Hill":{"count":56},"MOL":{"count":380},"OKQ8":{"count":209},"Petronas":{"count":254},"Mol":{"count":60},"Benzina":{"count":148},"Газпромнефть":{"count":1093},"Роснефть":{"count":805},"Opet":{"count":105},"Marathon":{"count":513},"Vito":{"count":63},"Valero":{"count":656},"Neste A24":{"count":56},"REPSOL":{"count":1502},"Lotos":{"count":260},"Api":{"count":253},"Chevron":{"count":1505},"ARCO":{"count":128},"Pemex":{"count":1340},"ТНК":{"count":594},"Petrol Ofisi":{"count":115},"eni":{"count":84},"Petrom":{"count":330},"PETRONOR":{"count":196},"Rompetrol":{"count":193},"Copec":{"count":541},"Petrobras":{"count":341},"АЗС":{"count":1060},"Pilot":{"count":57},"LUKOIL":{"count":64},"SB Tank":{"count":56},"Arco":{"count":391},"Лукойл":{"count":2285},"ОМВ":{"count":58},"Liberty":{"count":79},"Bliska":{"count":162},"Moya":{"count":52},"Erg":{"count":510},"Eneos":{"count":121},"P T T":{"count":55},"Citgo":{"count":547},"IP":{"count":967},"Metano":{"count":248},"Сургутнефтегаз":{"count":75},"ENI":{"count":79},"Eko":{"count":75},"Indipend.":{"count":144},"TotalErg":{"count":188},"IES":{"count":63},"Star Oil":{"count":77},"ERG":{"count":78},"Cenex":{"count":194},"ПТК":{"count":97},"Белоруснефть":{"count":64},"HP":{"count":127},"Phillips 66":{"count":332},"Q1":{"count":53},"ป.ต.ท.":{"count":449},"Circle K":{"count":313},"Woolworths Petrol":{"count":151},"PSO":{"count":80},"Татнефть":{"count":311},"Ceypetco":{"count":63},"Seaoil":{"count":55},"Sea Oil":{"count":65},"Phoenix":{"count":182},"Cosmo":{"count":61},"Gazprom":{"count":69},"Kwik Trip":{"count":169},"КазМунайГаз":{"count":163},"Wawa":{"count":143},"Pertamina":{"count":274},"เอสโซ่":{"count":85},"Terpel":{"count":337},"Z":{"count":93},"Socar":{"count":71},"Bharat Petroleum":{"count":166},"Indian Oil":{"count":327},"АГЗС":{"count":897},"JOMO":{"count":56},"Holiday":{"count":140},"ОККО":{"count":294},"Exxon":{"count":883},"コスモ石油":{"count":325},"出光":{"count":478,"tags":{"name:en":"IDEMITSU"}},"ENEOS":{"count":1292},"WOG":{"count":323},"CAMPSA":{"count":507},"Casey's General Store":{"count":307},"Башнефть":{"count":137},"Kangaroo":{"count":113},"Puma":{"count":315},"Hindustan Petroleum":{"count":58},"Lotos Optima":{"count":64},"MEROIL":{"count":74},"TEXACO":{"count":54},"ゼネラル":{"count":58},"Helios":{"count":61},"Татнефтепродукт":{"count":69},"昭和シェル":{"count":215},"BEBECO":{"count":77},"НК Альянс":{"count":97},"คาลเท็กซ์":{"count":72},"JA-SS":{"count":52},"Sinclair":{"count":163},"Costco":{"count":73},"Conoco":{"count":327},"SPBU":{"count":205},"Макпетрол":{"count":109},"Sam's Club":{"count":51},"Ipiranga":{"count":159},"1-2-3":{"count":68},"Posto Ipiranga":{"count":168},"Drummed Fuel":{"count":156},"Rubis":{"count":107},"БРСМ-Нафта":{"count":58},"АГНКС":{"count":54},"QuikTrip":{"count":209},"เชลล์":{"count":94},"Stewart's":{"count":66},"Cumberland Farms":{"count":80},"Posto BR":{"count":191},"台灣中油":{"count":147},"บางจาก":{"count":195},"محطه وقود":{"count":59},"ANP":{"count":163},"Kum & Go":{"count":113},"Primax":{"count":147},"Mobile":{"count":56},"Укрнафта":{"count":201},"Пропан":{"count":57},"Petrolimex":{"count":143},"Tela":{"count":171},"Авіас":{"count":97},"Sokimex":{"count":82},"Safeway":{"count":53},"Delta":{"count":144},"H-E-B Gas":{"count":161},"Kroger Fuel":{"count":53},"Sinopec Fuel":{"count":112},"Posto Shell":{"count":94},"RaceTrac":{"count":71},"BR":{"count":149},"Costco Gas":{"count":58},"Murphy USA":{"count":135},"پمپ گاز":{"count":62},"Royal Farms":{"count":64},"Нефтьмагистраль":{"count":64},"PT":{"count":138},"Uno":{"count":134},"Independent Fuel Station":{"count":56},"エネオス":{"count":68},"P T":{"count":62},"Pecsa":{"count":54},"Bangchak":{"count":68},"CNG":{"count":315},"Posto":{"count":64},"NP":{"count":67},"Posto Atem":{"count":58},"GNV":{"count":79},"Minipump":{"count":116},"Petroperu":{"count":84},"Petrochina":{"count":103}},"place_of_worship":{"Saint Mary":{"count":99},"All Saints":{"count":410},"St Andrew's":{"count":60},"Catholic Church":{"count":173},"Christ Church":{"count":366},"Saint Mary's":{"count":101},"Holy Trinity":{"count":221},"St Mary's Church":{"count":183},"Saint Marks Church":{"count":196},"St Mary":{"count":138},"Trinity Baptist Church":{"count":202},"Sacred Heart Church":{"count":213},"St Peter":{"count":93},"All Saints Church":{"count":217},"Northside Baptist Church":{"count":69},"Saint John the Baptist":{"count":58},"Zion Baptist Church":{"count":71},"Trinity Methodist Church":{"count":93},"Central Baptist Church":{"count":206},"Sacred Heart Catholic Church":{"count":232},"Kingdom Hall":{"count":340},"The Church of Jesus Christ of Latter-day Saints":{"count":3095},"Salvation Army":{"count":150},"Baptist Church":{"count":166},"St John the Baptist":{"count":138},"Saint Mary the Virgin":{"count":70},"Marienkapelle":{"count":338},"Neuapostolische Kirche":{"count":771},"St Mary the Virgin":{"count":164},"Seventh Day Adventist":{"count":65},"St. Mary's Church":{"count":105},"Friedhofskapelle":{"count":810},"Faith Baptist Church":{"count":241},"Grace Lutheran Church":{"count":253},"Church of God":{"count":786},"Kingdom Hall of Jehovah's Witnesses":{"count":1029},"United Reformed Church":{"count":73},"St. Mary's":{"count":72},"St Peter's":{"count":103},"St Andrew's Church":{"count":70},"Kapelle":{"count":1666},"St. Josef":{"count":224},"St. Laurentius":{"count":259},"Church of the Good Shepherd":{"count":99},"Friedenskirche":{"count":264},"Hubertuskapelle":{"count":157},"St Mary's":{"count":218},"Kingdom Hall of Jehovahs Witnesses":{"count":601},"Saint Mary's Church":{"count":111},"Pauluskirche":{"count":110},"Martinskirche":{"count":139},"St Nicholas":{"count":107},"Erlöserkirche":{"count":137},"Saint Pauls Church":{"count":517},"Saint Josephs Church":{"count":131},"Mariä Himmelfahrt":{"count":225},"Heilig-Geist-Kirche":{"count":90},"St. Peter und Paul":{"count":314},"Königreichssaal":{"count":88},"Auferstehungskirche":{"count":159},"St. Johannes Baptist":{"count":68},"Herz Jesu":{"count":95},"Kirche":{"count":302},"Grace Chapel":{"count":54},"Katholische Kirche":{"count":172},"Sankt Michael":{"count":123},"Christuskirche":{"count":423},"St. Michael":{"count":430},"Lutherkirche":{"count":118},"Church":{"count":406},"Evangelische Kirche":{"count":671},"Johanniskirche":{"count":54},"St. Georg":{"count":319},"Sankt Laurentius":{"count":65},"St. Stephanus":{"count":98},"Chiesa di Sant'Antonio":{"count":86},"Église":{"count":1017},"Saint Joseph Church":{"count":136},"Bible Baptist Church":{"count":166},"Church of Christ":{"count":1545},"Saint Peter":{"count":63},"Kreuzkirche":{"count":172},"Seventh Day Adventist Church":{"count":560},"St. Sebastian":{"count":107},"Saint Peters Church":{"count":231},"Methodist Church":{"count":236},"Heilig-Kreuz-Kirche":{"count":66},"Herz-Jesu-Kirche":{"count":111},"Maria Hilf":{"count":55},"Shady Grove Church":{"count":323},"St. Johannes der Täufer":{"count":129},"Thomaskirche":{"count":57},"Stadtkirche":{"count":108},"Heilige Familie":{"count":56},"Jehovas Zeugen":{"count":72},"Versöhnungskirche":{"count":83},"St Mary Magdalene":{"count":57},"Sankt Marien":{"count":87},"Sankt Martin":{"count":145},"St James":{"count":102},"St Michael and All Angels":{"count":59},"Waldkapelle":{"count":72},"Sankt Nikolaus":{"count":102},"St. Joseph":{"count":111},"Friends Meeting House":{"count":60},"St. Katharina":{"count":76},"Stupa":{"count":85},"Jézus Szíve-templom":{"count":80},"Concord Church":{"count":185},"Congregational Church":{"count":58},"Chapelle":{"count":480},"Церковь":{"count":265},"Kreuzkapelle":{"count":69},"Heilig Kreuz":{"count":117},"St. Jakob":{"count":56},"St. Leonhard":{"count":108},"St John the Evangelist":{"count":82},"Anglican Church":{"count":92},"Heilig Geist":{"count":54},"St Peter's Church":{"count":95},"St. Ulrich":{"count":95},"Emmanuel Church":{"count":183},"Johanneskirche":{"count":191},"Martin-Luther-Kirche":{"count":128},"Foursquare Gospel Church":{"count":57},"St. Marien":{"count":216},"Liebfrauenkirche":{"count":73},"Seventh-Day Adventist Church":{"count":52},"Biserica":{"count":2164},"Evangelisch-Freikirchliche Gemeinde":{"count":99},"Marienkirche":{"count":192},"Iglesia de San Juan":{"count":56},"St. Antonius":{"count":121},"St Paul's":{"count":53},"St John's Church":{"count":55},"St. Jakobus":{"count":106},"St Peters":{"count":54},"Masjid":{"count":1950},"Holy Trinity Church":{"count":202},"Redeemer Lutheran Church":{"count":112},"St Andrew":{"count":68},"Sankt Georg":{"count":97},"St. Andreas":{"count":139},"St Andrews":{"count":54},"Αγία Παρασκευή":{"count":73},"San Francesco":{"count":92},"St. Martin":{"count":411},"St. Nikolaus":{"count":340},"Maria Himmelfahrt":{"count":115},"Synagogue":{"count":83},"St. Johann Baptist":{"count":58},"The Salvation Army":{"count":86},"Iglesia de San Andrés":{"count":58},"Surau":{"count":159},"Trinity Church":{"count":456},"Mariengrotte":{"count":90},"Saint Andrews Church":{"count":121},"熊野神社":{"count":99},"Chiesa di San Martino":{"count":133},"Iglesia":{"count":962},"Mosque":{"count":590},"Προφήτης Ηλίας":{"count":90},"Calvary Church":{"count":447},"St. Peter":{"count":161},"St. Bartholomäus":{"count":139},"Sankt Andreas":{"count":55},"Церковь Преображения Господня":{"count":100},"Saint Peter's Church":{"count":53},"Chapelle Sainte-Anne":{"count":92},"First Baptist Church":{"count":2346},"Igreja Matriz":{"count":213},"Saint Josephs Catholic Church":{"count":124},"Église Saint-Michel":{"count":229},"St. Johannes":{"count":160},"Sankt Josef":{"count":74},"Chiesa di San Giuseppe":{"count":137},"St. Bonifatius":{"count":108},"Chiesa di San Giorgio":{"count":134},"Chiesa di San Giovanni Battista":{"count":180},"St. Barbara":{"count":85},"New Life Church":{"count":84},"Iglesia ni Cristo":{"count":237},"Iglesia Ni Cristo":{"count":299},"Calvary Baptist Church":{"count":547},"United Methodist Church":{"count":638},"Bethany Baptist Church":{"count":105},"Saint Francis Church":{"count":54},"Holy Family Church":{"count":74},"Wesleyan Church":{"count":101},"United Pentecostal Church":{"count":158},"Trinity Lutheran Church":{"count":458},"Antoniuskapelle":{"count":94},"Emmanuel Baptist Church":{"count":149},"Chapel":{"count":230},"San Pietro":{"count":85},"St. Ägidius":{"count":57},"Iglesia de San Martín":{"count":66},"Ermita de San Roque":{"count":125},"Igreja Batista":{"count":59},"St. Elisabeth":{"count":102},"St. Anna":{"count":124},"Dorfkirche":{"count":226},"Assembleia de Deus":{"count":64},"St. Martinus":{"count":65},"Hope Church":{"count":65},"Biserică":{"count":709},"St. Pankratius":{"count":79},"Temple":{"count":504},"Biserica Ortodoxă":{"count":62},"Holy Family Catholic Church":{"count":94},"諏訪神社":{"count":86},"Chiesa di San Rocco":{"count":265},"Chiesa":{"count":203},"八坂神社":{"count":66},"Klosterkirche":{"count":76},"Église Saint-Pierre":{"count":997},"Sankt Peter und Paul":{"count":67},"St. Maria":{"count":82},"New Jerusalem Church":{"count":51},"San Martino":{"count":79},"Église Saint-Antoine":{"count":80},"St Michael's":{"count":61},"St. Vitus":{"count":106},"Santo Stefano":{"count":52},"San Giovanni Battista":{"count":78},"Markuskirche":{"count":65},"Calvary Chapel":{"count":57},"Dreifaltigkeitskirche":{"count":93},"Kapel":{"count":97},"Église Saint-Martin":{"count":1353},"Ermita de San Miguel":{"count":65},"Церковь Троицы Живоначальной":{"count":227},"Bethlehem Lutheran Church":{"count":88},"St. Johannis":{"count":60},"Maria Königin":{"count":56},"Chiesa di Sant'Andrea":{"count":57},"Mariä Heimsuchung":{"count":65},"Zion Lutheran Church":{"count":226},"Pfarrkirche":{"count":106},"Église Saint-Hilaire":{"count":109},"Holy Cross Church":{"count":86},"St. Margaretha":{"count":52},"Chiesa di Santa Lucia":{"count":70},"Ermita":{"count":109},"Saint Mary's Catholic Church":{"count":65},"Église Saint-Christophe":{"count":84},"Königreichssaal Jehovas Zeugen":{"count":59},"Trauerhalle":{"count":123},"Iglesia Parroquial":{"count":62},"Church of God of Prophecy":{"count":232},"Mount Olive Baptist Church":{"count":159},"Chiesa di San Giovanni":{"count":53},"Michaelskirche":{"count":59},"Άγιος Γεώργιος":{"count":97},"Reformierte Kirche":{"count":97},"Aussegnungshalle":{"count":106},"Wesley Church":{"count":72},"First United Methodist Church":{"count":880},"稲荷神社":{"count":85},"San Michele Arcangelo":{"count":57},"St. Mauritius":{"count":55},"svatý Václav":{"count":68},"San Lorenzo":{"count":79},"Iglesia de San Juan Bautista":{"count":90},"Evangelical Free Church":{"count":81},"Providence Church":{"count":252},"Église Saint-Vincent":{"count":105},"Chapelle Saint-Roch":{"count":106},"San Giuseppe":{"count":80},"First Presbyterian Church":{"count":1196},"Église Saint-Denis":{"count":138},"church":{"count":64},"Pentecostal Church":{"count":78},"Fellowship Baptist Church":{"count":105},"First Church of the Nazarene":{"count":306},"Iglesia Evangelica":{"count":74},"Iglesia de Nuestra Señora de la Asunción":{"count":66},"Mariä Geburt":{"count":52},"Grace Baptist Church":{"count":272},"Hope Lutheran Church":{"count":88},"San Giorgio":{"count":57},"St. Stephan":{"count":89},"Église Saint-Éloi":{"count":52},"Église Notre-Dame":{"count":548},"Chapelle Saint-Jean":{"count":53},"Église Sainte-Anne":{"count":71},"Chiesa di San Lorenzo":{"count":132},"Église Saint-Aubin":{"count":75},"Chapelle Saint-Pierre":{"count":51},"Saint Michaels Church":{"count":71},"Messiah Lutheran Church":{"count":75},"Madonna della Neve":{"count":58},"Saint Pauls Lutheran Church":{"count":141},"Church of God in Christ":{"count":141},"Immaculate Conception Catholic Church":{"count":86},"First Church of Christ Scientist":{"count":450},"Chiesa di Santa Maria Assunta":{"count":138},"New Apostolic Church":{"count":92},"Free Methodist Church":{"count":143},"Iglesia de Dios":{"count":66},"Apostolic Church":{"count":75},"Chiesa di San Francesco":{"count":108},"Ermita de San Antonio":{"count":53},"Église Saint-Joseph":{"count":114},"Church of the Nazarene":{"count":509},"Community of Christ":{"count":180},"Parroquia":{"count":92},"Santa Maria":{"count":202},"Мечеть":{"count":313},"Königreichsaal":{"count":54},"Ev. Kirche":{"count":122},"Iglesia de San Miguel":{"count":105},"Saint Paul Church":{"count":250},"Antioch Church":{"count":545},"Assembly of God Church":{"count":273},"Bethany Church":{"count":329},"Bethel Church":{"count":1055},"Bethel Lutheran Church":{"count":53},"Bethesda Church":{"count":94},"Bethlehem Church":{"count":499},"Beulah Church":{"count":179},"Christian Church":{"count":83},"Church of the Brethren":{"count":51},"Church of Jesus Christ":{"count":53},"Community Church":{"count":171},"County Line Church":{"count":91},"Ebenezer Church":{"count":349},"Evergreen Church":{"count":88},"Faith Lutheran Church":{"count":190},"Faith Church":{"count":203},"Fairview Church":{"count":388},"Fellowship Church":{"count":127},"Grace Church":{"count":312},"First Congregational Church":{"count":391},"Friendship Church":{"count":484},"Full Gospel Church":{"count":81},"Friends Church":{"count":51},"Harmony Church":{"count":162},"Immanuel Church":{"count":141},"Maple Grove Church":{"count":73},"Liberty Church":{"count":322},"Little Zion Church":{"count":71},"Midway Church":{"count":196},"Mount Bethel Church":{"count":57},"Mount Hope Church":{"count":98},"Mount Zion Church":{"count":1084},"Mount Pleasant Church":{"count":508},"Mount Olive Church":{"count":594},"Nazarene Church":{"count":60},"New Hope Church":{"count":701},"Oak Grove Church":{"count":592},"Pleasant Hill Church":{"count":482},"Pilgrim Church":{"count":73},"Pine Grove Church":{"count":292},"Pleasant View Church":{"count":137},"Pleasant Valley Church":{"count":203},"Pleasant Ridge Church":{"count":127},"Riverside Church":{"count":84},"Saint John Church":{"count":148},"Saint James Church":{"count":318},"Saint Lukes Church":{"count":193},"Saint Johns Church":{"count":664},"Saint Luke Church":{"count":87},"Saint Mark Church":{"count":51},"Saint Marys Church":{"count":311},"Saint Mary Church":{"count":64},"Tabernacle Church":{"count":97},"Saint Thomas Church":{"count":76},"Saint Stephens Church":{"count":74},"Salem Church":{"count":475},"Smith Chapel":{"count":80},"Springfield Church":{"count":74},"Union Church":{"count":519},"Union Chapel":{"count":182},"United Church":{"count":90},"Victory Church":{"count":90},"Zion Church":{"count":493},"Macedonia Church":{"count":423},"Saint Joseph Catholic Church":{"count":116},"Saint Pauls Episcopal Church":{"count":140},"Unity Church":{"count":86},"Central Church":{"count":111},"Shiloh Church":{"count":420},"All Saints Episcopal Church":{"count":98},"Saint Johns Catholic Church":{"count":71},"Locust Grove Church":{"count":67},"Greenwood Church":{"count":51},"Jehovah's Witnesses":{"count":69},"Bethel Baptist Church":{"count":255},"Calvary Lutheran Church":{"count":64},"Grace United Methodist Church":{"count":165},"Wesley United Methodist Church":{"count":111},"First Assembly of God Church":{"count":389},"Saint John's Episcopal Church":{"count":61},"Bethany Lutheran Church":{"count":86},"Saint Paul's Lutheran Church":{"count":62},"First Lutheran Church":{"count":195},"Saint John's Lutheran Church":{"count":69},"Bethel African Methodist Episcopal Church":{"count":122},"Church of the Living God":{"count":96},"Chapel Hill Church":{"count":77},"Mount Calvary Church":{"count":158},"First Church of God":{"count":235},"Saint Paul Lutheran Church":{"count":151},"Holy Trinity Lutheran Church":{"count":70},"Immaculate Conception Church":{"count":120},"Immanuel Baptist Church":{"count":127},"Prince of Peace Lutheran Church":{"count":70},"Shiloh Baptist Church":{"count":170},"Christ United Methodist Church":{"count":86},"Community Bible Church":{"count":58},"Trinity United Methodist Church":{"count":230},"Holy Trinity Episcopal Church":{"count":51},"Grace Bible Church":{"count":65},"Grace Episcopal Church":{"count":128},"Good Shepherd Lutheran Church":{"count":131},"First Church of Christ":{"count":81},"Presbyterian Church":{"count":160},"Saint James Episcopal Church":{"count":115},"Community Baptist Church":{"count":110},"Central United Methodist Church":{"count":56},"Trinity Episcopal Church":{"count":221},"First Missionary Baptist Church":{"count":59},"First Reformed Church":{"count":63},"Holy Cross Lutheran Church":{"count":63},"Peace Lutheran Church":{"count":108},"Saint John Lutheran Church":{"count":79},"First Free Will Baptist Church":{"count":51},"Immanuel Lutheran Church":{"count":190},"Faith United Methodist Church":{"count":70},"Berean Baptist Church":{"count":51},"First Methodist Church":{"count":191},"Bethlehem Baptist Church":{"count":97},"Second Baptist Church":{"count":211},"First Christian Church":{"count":663},"Saint Johns Lutheran Church":{"count":150},"Friendship Baptist Church":{"count":176},"Our Savior Lutheran Church":{"count":74},"Saint Marks Episcopal Church":{"count":76},"First United Presbyterian Church":{"count":84},"Christ Episcopal Church":{"count":160},"Saint Johns Episcopal Church":{"count":151},"Grace Community Church":{"count":64},"Liberty Baptist Church":{"count":124},"Pentecostal Church of God":{"count":98},"Saint Matthews Church":{"count":139},"Christ Lutheran Church":{"count":155},"Saint Paul United Methodist Church":{"count":70},"Victory Baptist Church":{"count":97},"Saint James Catholic Church":{"count":54},"Christ Community Church":{"count":56},"Saint Andrews Episcopal Church":{"count":91},"New Hope Baptist Church":{"count":230},"Westminster Presbyterian Church":{"count":150},"Trinity Evangelical Lutheran Church":{"count":57},"New Bethel Baptist Church":{"count":52},"Hopewell Baptist Church":{"count":60},"Pleasant Grove Church":{"count":487},"Mount Zion Baptist Church":{"count":221},"Mount Calvary Baptist Church":{"count":91},"Saint Paul Baptist Church":{"count":77},"Cornerstone Baptist Church":{"count":51},"First Pentecostal Church":{"count":76},"Cornerstone Church":{"count":53},"United Church of Christ":{"count":95},"Crossroads Church":{"count":110},"Covenant Presbyterian Church":{"count":63},"Asbury Church":{"count":64},"Asbury United Methodist Church":{"count":80},"Beech Grove Church":{"count":76},"Berea Church":{"count":59},"Cedar Grove Church":{"count":213},"Center Church":{"count":79},"Corinth Church":{"count":176},"Galilee Church":{"count":91},"Hebron Church":{"count":114},"Hickory Grove Church":{"count":115},"Hopewell Church":{"count":288},"Jerusalem Church":{"count":139},"Lebanon Church":{"count":111},"Macedonia Baptist Church":{"count":138},"New Bethel Church":{"count":216},"New Liberty Church":{"count":57},"New Prospect Church":{"count":88},"New Home Church":{"count":96},"New Salem Church":{"count":132},"New Zion Church":{"count":164},"Mount Zion United Methodist Church":{"count":51},"Mount Gilead Church":{"count":81},"Mount Hebron Church":{"count":56},"Mount Pisgah Church":{"count":139},"Mount Moriah Church":{"count":196},"Mount Nebo Church":{"count":108},"Oak Grove Baptist Church":{"count":90},"Oak Hill Church":{"count":95},"Oakland Church":{"count":60},"Mount Carmel Church":{"count":284},"Mount Olivet Church":{"count":101},"Mount Vernon Church":{"count":152},"Mount Tabor Church":{"count":106},"Rose Hill Church":{"count":75},"Palestine Church":{"count":63},"Rock Springs Church":{"count":51},"Pisgah Church":{"count":72},"Sharon Church":{"count":90},"Union Grove Church":{"count":173},"Saint Patricks Church":{"count":91},"Walnut Grove Church":{"count":102},"Wesley Chapel":{"count":174},"White Oak Church":{"count":82},"Memorial Baptist Church":{"count":57},"Bethel United Methodist Church":{"count":78},"Central Christian Church":{"count":84},"Saint Thomas Episcopal Church":{"count":54},"Saint Marys Catholic Church":{"count":180},"Zion Hill Church":{"count":146},"Saint Patricks Catholic Church":{"count":79},"Mount Pleasant Baptist Church":{"count":76},"Philadelphia Church":{"count":82},"Good Hope Church":{"count":125},"Mount Carmel Baptist Church":{"count":72},"Central Church of Christ":{"count":68},"First Southern Baptist Church":{"count":95},"Union Baptist Church":{"count":131},"Holy Cross Catholic Church":{"count":54},"Central Presbyterian Church":{"count":51},"Trinity Presbyterian Church":{"count":70},"Saint Marys Roman Catholic Church":{"count":54},"Temple Baptist Church":{"count":119},"Saint Peters Episcopal Church":{"count":54},"Antioch Baptist Church":{"count":173},"Sacred Heart Roman Catholic Church":{"count":59},"First United Pentecostal Church":{"count":85},"Holy Trinity Catholic Church":{"count":54},"Calvary United Methodist Church":{"count":65},"Providence Baptist Church":{"count":77},"Mount Sinai Church":{"count":107},"Morning Star Church":{"count":126},"Saint James Baptist Church":{"count":59},"Pleasant Grove Baptist Church":{"count":89},"Pleasant Hill Baptist Church":{"count":68},"Tabernacle Baptist Church":{"count":108},"Morning Star Baptist Church":{"count":72},"Saint Paul African Methodist Episcopal Church":{"count":58},"Saint Peter Church":{"count":62},"Salem Baptist Church":{"count":79},"Highland Church":{"count":61},"Smyrna Church":{"count":69},"Saint Pauls United Methodist Church":{"count":52},"Saint Mary's Roman Catholic Church":{"count":55},"Fairview Baptist Church":{"count":54},"Saint Lukes Episcopal Church":{"count":69},"Église Saint-Jean-Baptiste":{"count":435},"Церковь Рождества Христова":{"count":117},"Pilgrim Rest Church":{"count":80},"Chestnut Grove Church":{"count":64},"Ebenezer Baptist Church":{"count":100},"Enon Church":{"count":68},"Faith Tabernacle":{"count":55},"Holiness Church":{"count":94},"Mill Creek Church":{"count":61},"Mountain View Church":{"count":106},"Oak Ridge Church":{"count":65},"Sardis Church":{"count":86},"Sweet Home Church":{"count":59},"Union Hill Church":{"count":119},"Mount Zion Church (historical)":{"count":68},"Pentecostal Holiness Church":{"count":69},"Liberty Hill Church":{"count":77},"New Hope Church (historical)":{"count":55},"Bethel Church (historical)":{"count":84},"Saint John Baptist Church":{"count":56},"Saint Marys Episcopal Church":{"count":51},"Southside Baptist Church":{"count":94},"Holly Grove Church":{"count":57},"Jones Chapel":{"count":73},"Mount Pilgrim Church":{"count":52},"Pilgrims Rest Church":{"count":68},"Pine Hill Church":{"count":57},"Piney Grove Church":{"count":170},"Poplar Springs Church":{"count":57},"Prospect Church":{"count":98},"Red Hill Church":{"count":72},"Rock Hill Church":{"count":74},"Spring Hill Church":{"count":178},"Beulah Baptist Church":{"count":51},"Magnolia Church":{"count":57},"Westside Baptist Church":{"count":55},"First Assembly of God":{"count":61},"First Church of Christ, Scientist":{"count":64},"Église Saint-André":{"count":176},"Kaplica":{"count":269},"Ganesh Temple":{"count":56},"Ganesha Temple":{"count":53},"Iglesia de San Francisco":{"count":55},"Igreja Universal do Reino de Deus":{"count":114},"Calvaire":{"count":53},"Kaplička":{"count":56},"Santa Lucia":{"count":69},"temple":{"count":68},"Hanuman Temple":{"count":172},"Église Saint-Étienne":{"count":281},"Часовня":{"count":319},"Szent Mihály-templom":{"count":60},"Chiesa di Sant'Anna":{"count":81},"Chiesa di San Sebastiano":{"count":69},"八幡神社":{"count":139},"Église Saint-Léger":{"count":155},"Chiesa di Santa Maria":{"count":65},"Церковь Михаила Архангела":{"count":142},"Церковь Покрова Пресвятой Богородицы":{"count":288},"San Michele":{"count":83},"Église Saint-Didier":{"count":51},"biserica":{"count":192},"San Rocco":{"count":157},"Jakobuskirche":{"count":53},"Церковь Рождества Пресвятой Богородицы":{"count":173},"مسجد":{"count":485},"Capilla":{"count":173},"Église Sainte-Marie-Madeleine":{"count":72},"Άγιος Νικόλαος":{"count":99},"Église Saint-Nicolas":{"count":283},"Assembléia de Deus":{"count":177},"Salão do Reino das Testemunhas de Jeová":{"count":64},"Chiesa di San Michele":{"count":85},"Salón del Reino de los Testigos de Jehová":{"count":90},"Église Saint-Julien":{"count":104},"Chiesa di San Pietro":{"count":114},"Церковь Николая Чудотворца":{"count":366},"Református templom":{"count":357},"Saint-Pierre":{"count":55},"Церковь Петра и Павла":{"count":71},"San Bartolomeo":{"count":57},"Chapelle Notre-Dame":{"count":62},"Hanuman Mandir":{"count":54},"Mosquée":{"count":587},"Церковь Иконы Божией Матери Казанская":{"count":88},"Iglesia de Santa María":{"count":106},"Saint-Martin":{"count":70},"Nanebevzetí Panny Marie":{"count":128},"Église Saint-Sébastien":{"count":67},"Церковь Вознесения Господня":{"count":95},"Shiva Temple":{"count":76},"Wat":{"count":124},"Chapelle Saint-Joseph":{"count":54},"Sant'Anna":{"count":56},"Церковь Успения Пресвятой Богородицы":{"count":176},"Chiesa di San Bartolomeo":{"count":99},"Iglesia de San Pedro":{"count":114},"Kaplica cmentarna":{"count":558},"kaplica cmentarna":{"count":95},"mosque":{"count":63},"The Church of Jesus Christ of Latter Day Saints":{"count":64},"Chiesa della Santissima Trinità":{"count":59},"masjid":{"count":224},"神明社":{"count":67},"Igreja Católica":{"count":87},"Церковь Богоявления Господня":{"count":72},"Chiesa di San Giacomo":{"count":61},"Église Saint-Jacques":{"count":115},"Evangélikus templom":{"count":113},"Église Saint-Maurice":{"count":197},"Église Saint-Georges":{"count":171},"Église Saint-Barthélémy":{"count":54},"mosquée":{"count":67},"Chiesa del Carmine":{"count":52},"Chiesa dei Santi Pietro e Paolo":{"count":73},"Ermita de San Pedro":{"count":54},"Igreja":{"count":89},"Masjid Al Ikhlas":{"count":54},"Masjid Nurul Iman":{"count":80},"Masjid Nurul Huda":{"count":79},"Kościół pw. Najświętszego Serca Pana Jezusa":{"count":98},"Gereja":{"count":100},"Chiesa di Sant'Antonio Abate":{"count":71},"Sant'Antonio":{"count":81},"Santa Maria Assunta":{"count":109},"Église Saint-Vaast":{"count":83},"Camii":{"count":95},"Église Saint-Jean":{"count":79},"Sala Królestwa Świadków Jehowy":{"count":82},"Église Saint-Laurent":{"count":236},"Iglesia Catolica":{"count":80},"土地公廟":{"count":56},"Церква":{"count":63},"Capela":{"count":81},"Церковь Георгия Победоносца":{"count":83},"Церковь Воскресения Христова":{"count":78},"Eglise":{"count":79},"Kościół pw. Wniebowzięcia Najświętszej Maryi Panny":{"count":68},"Церковь Илии Пророка":{"count":59},"مسجد جامع":{"count":65},"Церковь Спаса Преображения":{"count":51},"Iglesia de Jesucristo de los Santos de los Últimos Días":{"count":60},"წმინდა გიორგი (St. Giorgi)":{"count":62},"Iglesia Cristiana Evangélica":{"count":53},"Église de l'Assomption":{"count":114},"Église Notre-Dame de l'Assomption":{"count":114},"Église Saint-Louis":{"count":64},"Église Saint-Sauveur":{"count":55},"Chiesa di San Michele Arcangelo":{"count":90},"Mesjid":{"count":330},"Mushalla":{"count":215},"Iglesia Católica":{"count":56},"Igreja Assembléia de Deus":{"count":57},"Άγιος Δημήτριος":{"count":57},"Iglesia de San Esteban":{"count":56},"Narození Panny Marie":{"count":54},"Église Saint-Sulpice":{"count":89},"La Iglesia de Jesucristo de los Santos de los Últimos Días":{"count":53},"Chiesa di San Biagio":{"count":56},"Église Saint-Saturnin":{"count":56},"monastery":{"count":254},"Церковь Казанской иконы Божией Матери":{"count":83},"pilone votivo":{"count":64},"mesjid":{"count":173},"Église Sainte-Madeleine":{"count":91},"Église Saint-Pierre et Saint-Paul":{"count":120},"Chiesa di Santo Stefano":{"count":80},"Sant Miquel":{"count":71},"福德祠":{"count":62},"Musholla":{"count":164},"Église Notre-Dame-de-l'Assomption":{"count":187},"Църква":{"count":52},"福德宮":{"count":63},"Chiesa di San Domenico":{"count":54},"Magyarok Nagyasszonya-templom":{"count":64},"Mushola":{"count":172},"Nagyboldogasszony-templom":{"count":98},"Église Saint-Germain":{"count":138},"Église Saint-Roch":{"count":53},"Nejsvětější Trojice":{"count":85},"MASJID":{"count":66},"Église Saint-Médard":{"count":114},"Mushollah":{"count":51},"Sant Pere":{"count":54},"pagoda":{"count":306},"Église Saint-Symphorien":{"count":64},"Kościół pw. Miłosierdzia Bożego":{"count":56},"Unknown Mosque":{"count":55},"Église Saint-Pierre-ès-Liens":{"count":65},"Kovil":{"count":161},"Église Saint-Blaise":{"count":71},"Église Saint-Barthélemy":{"count":77},"Kościół pw. Podwyższenia Krzyża Świętego":{"count":63},"Szent István király templom":{"count":66},"Ref. templom":{"count":191},"Église Saint-Rémy":{"count":77},"IGLESIA CATOLICA":{"count":56},"Szent István király-templom":{"count":111},"Église Saint-Paul":{"count":92},"Église Saint-Rémi":{"count":67},"Kisboldogasszony-templom":{"count":70},"Szent Anna-templom":{"count":64},"Église Saint-Quentin":{"count":66},"svätého Michala":{"count":68},"Église du Sacré-Cœur":{"count":55},"Szentháromság-templom":{"count":104},"Nagyboldogasszony templom":{"count":52},"Szent Kereszt felmagasztalása-templom":{"count":61}},"fast_food":{"Quick":{"count":489},"McDonald's":{"count":16493,"tags":{"cuisine":"burger"}},"Subway":{"count":9310,"tags":{"cuisine":"sandwich"}},"Burger King":{"count":5558,"tags":{"cuisine":"burger"}},"Pizza Hut":{"count":1320,"tags":{"cuisine":"pizza"}},"Ali Baba":{"count":90},"Hungry Jacks":{"count":239,"tags":{"cuisine":"burger"}},"Red Rooster":{"count":179},"KFC":{"count":4912,"tags":{"cuisine":"chicken"}},"Chowking":{"count":213},"Jollibee":{"count":637},"Five Guys":{"count":310},"肯德基":{"count":174},"Domino's Pizza":{"count":1811,"tags":{"cuisine":"pizza"}},"Hesburger":{"count":156},"Wendy's":{"count":2624,"tags":{"cuisine":"burger"}},"Steers":{"count":168},"Arby's":{"count":1231},"A&W":{"count":497},"Tim Hortons":{"count":406},"Dairy Queen":{"count":1243},"Fish & Chips":{"count":159},"麦当劳":{"count":97},"Harvey's":{"count":138},"麥當勞":{"count":168},"Pizza Pizza":{"count":361},"Istanbul Kebab":{"count":53},"Kotipizza":{"count":77},"Jack in the Box":{"count":815,"tags":{"cuisine":"burger"}},"KFC/Taco Bell":{"count":59},"Istanbul":{"count":86},"Kochlöffel":{"count":76},"Pita Pit":{"count":110},"Telepizza":{"count":267},"Hallo Pizza":{"count":93},"Qdoba":{"count":71},"Carl's Jr.":{"count":482,"tags":{"cuisine":"burger"}},"Quiznos":{"count":336,"tags":{"cuisine":"sandwich"}},"Wimpy":{"count":156},"Sonic":{"count":1004,"tags":{"cuisine":"burger"}},"Rally's":{"count":61},"Taco Bell":{"count":2528,"tags":{"cuisine":"mexican"}},"Pizza Nova":{"count":83},"Papa John's":{"count":626,"tags":{"cuisine":"pizza"}},"Max":{"count":52},"Nordsee":{"count":188},"Mr. Sub":{"count":140},"Panera Bread":{"count":103},"Krispy Kreme":{"count":60},"Chipotle":{"count":542,"tags":{"cuisine":"mexican"}},"Макдоналдс":{"count":394,"tags":{"name:en":"McDonald's"}},"マクドナルド":{"count":1078,"tags":{"name:en":"McDonald's","cuisine":"burger"}},"ケンタッキーフライドチキン":{"count":302,"tags":{"name:en":"KFC","cuisine":"chicken"}},"Food Court":{"count":58},"Dunkin' Donuts":{"count":645,"tags":{"cuisine":"donut"}},"Asia Wok":{"count":52},"In-N-Out Burger":{"count":115},"松屋":{"count":542,"tags":{"name:en":"Matsuya"}},"Jimmy John's":{"count":379,"tags":{"cuisine":"sandwich"}},"Hardee's":{"count":511,"tags":{"cuisine":"burger"}},"Waffle House":{"count":67},"Bistro":{"count":64},"Quiznos Sub":{"count":56},"Jamba Juice":{"count":120},"Робин Сдобин":{"count":115},"Baskin-Robbins":{"count":200,"tags":{"amenity":"ice_cream"}},"くら寿司":{"count":97},"吉野家":{"count":403},"Taco Time":{"count":135},"モスバーガー":{"count":449,"tags":{"name:en":"MOS BURGER"}},"すき家":{"count":493,"tags":{"name:en":"SUKIYA"}},"CoCo壱番屋":{"count":203},"スシロー":{"count":94},"Sibylla":{"count":70},"The Pizza Company":{"count":58},"Firehouse Subs":{"count":115},"Little Caesar's":{"count":62},"Papa Murphy's":{"count":70},"Little Caesars":{"count":393,"tags":{"cuisine":"pizza"}},"El Pollo Loco":{"count":112},"Del Taco":{"count":214},"White Castle":{"count":126},"Boston Market":{"count":100},"Chick-fil-A":{"count":720,"tags":{"cuisine":"chicken"}},"Panda Express":{"count":477,"tags":{"cuisine":"chinese"}},"Checkers":{"count":83},"Wienerschnitzel":{"count":53},"ミスタードーナツ":{"count":172},"Whataburger":{"count":760},"Cold Stone Creamery":{"count":71},"Greenwich":{"count":69},"Habib's":{"count":72},"Culver's":{"count":497},"Bob's":{"count":69},"ロッテリア":{"count":83},"Church's Chicken":{"count":207},"Popeye's":{"count":374,"tags":{"cuisine":"chicken"}},"Five Guys Burgers and Fries":{"count":54},"Jersey Mike's Subs":{"count":64},"Long John Silver's":{"count":176},"Kiosk":{"count":56},"Booster Juice":{"count":58},"Burger Machine":{"count":52},"Lotteria":{"count":56},"Schlotzsky's Deli":{"count":274},"Pizza Hut Delivery":{"count":59},"Pollo Campero":{"count":115},"Шаурма":{"count":151},"Taco John's":{"count":119},"SubWay":{"count":52},"Bojangles":{"count":70},"Taco Cabana":{"count":53},"New York Pizza":{"count":53},"Русский Аппетит":{"count":120},"Теремок":{"count":117},"かっぱ寿司":{"count":76},"Zaxby's":{"count":139},"Kebabai":{"count":56},"オリジン弁当":{"count":89},"なか卯":{"count":156},"DQ":{"count":52},"Бургер Кинг":{"count":85},"Бистро":{"count":51},"サブウェイ":{"count":73},"Шаверма":{"count":66},"ほっともっと":{"count":133},"幸楽苑":{"count":67},"摩斯漢堡":{"count":61},"СтарДогс":{"count":72},"Pollo Granjero":{"count":62},"Pinulito":{"count":57}},"restaurant":{"Pizza Hut":{"count":2161,"tags":{"cuisine":"pizza"}},"Pizzeria Italia":{"count":53},"Hirsch":{"count":84},"Shakey's":{"count":53},"Little Chef":{"count":66},"Zur Krone":{"count":93},"Deutsches Haus":{"count":89},"Krone":{"count":178},"Akropolis":{"count":197},"Schützenhaus":{"count":147},"Wagamama":{"count":94},"Kreuz":{"count":85},"Waldschänke":{"count":53},"Pizza Express":{"count":380},"Jägerhof":{"count":55},"La Piazza":{"count":111},"Adler":{"count":158},"La Boucherie":{"count":72},"Lamm":{"count":68},"Zur Sonne":{"count":72},"Zur Linde":{"count":219},"La Pergola":{"count":72},"Panorama":{"count":89},"Shanghai":{"count":89},"Red Lobster":{"count":371},"Zum Löwen":{"count":82},"Swiss Chalet":{"count":148},"Frankie & Benny's":{"count":137},"Hooters":{"count":168},"Sternen":{"count":86},"Hirschen":{"count":88},"Ali Baba":{"count":51},"Denny's":{"count":737},"Sonne":{"count":116},"Ratskeller":{"count":162},"La Cantina":{"count":90},"El Greco":{"count":98},"Gasthof zur Post":{"count":96},"Löwen":{"count":134},"Lotus":{"count":77},"La Pataterie":{"count":96},"Syrtaki":{"count":61},"Bella Napoli":{"count":75},"Oasis":{"count":62},"Mandarin":{"count":82},"Nando's":{"count":338},"Zizzi":{"count":87},"Rhodos":{"count":88},"Bären":{"count":72},"Gasthaus Adler":{"count":66},"Pomodoro":{"count":52},"Lindenhof":{"count":90},"Milano":{"count":66},"Dolce Vita":{"count":108},"Kirchenwirt":{"count":92},"Kreta":{"count":67},"Kantine":{"count":99},"Hong Kong":{"count":109},"Ochsen":{"count":94},"Spur":{"count":64},"Applebee's":{"count":845},"Europa":{"count":61},"Flunch":{"count":175},"Zur Post":{"count":125},"China Town":{"count":99},"La Dolce Vita":{"count":118},"Waffle House":{"count":421},"Gasthaus Krone":{"count":89},"Linde":{"count":115},"Outback Steakhouse":{"count":348},"Dionysos":{"count":80},"Frohsinn":{"count":51},"Kelsey's":{"count":65},"Boston Pizza":{"count":239},"Mykonos":{"count":79},"Bella Italia":{"count":183},"Olympia":{"count":83},"Zum Hirschen":{"count":51},"China House":{"count":61},"Sizzler":{"count":80},"Grüner Baum":{"count":118},"Taj Mahal":{"count":154},"Delphi":{"count":102},"Casablanca":{"count":54},"Rössli":{"count":85},"Wimpy":{"count":57},"Traube":{"count":68},"La Taverna":{"count":52},"Adria":{"count":59},"Pancake House":{"count":67},"Red Robin":{"count":273},"Golden Dragon":{"count":54},"L'Osteria":{"count":64},"Bahnhof":{"count":53},"Harvester":{"count":67},"Belvedere":{"count":52},"Roma":{"count":75},"Hellas":{"count":63},"Mamma Mia":{"count":104},"La Perla":{"count":82},"Vips":{"count":87},"Tim Hortons":{"count":60},"Santorini":{"count":52},"Poseidon":{"count":131},"Gusto":{"count":59},"Тануки":{"count":55},"Da Vinci":{"count":79},"Toscana":{"count":64},"Hippopotamus":{"count":107},"La Terrazza":{"count":54},"Courtepaille":{"count":145},"Dorfkrug":{"count":54},"Hard Rock Cafe":{"count":94},"Marco Polo":{"count":58},"La Piazzetta":{"count":62},"Zorbas":{"count":53},"Athen":{"count":70},"La Fontana":{"count":53},"Pinocchio":{"count":63},"San Marco":{"count":82},"Portofino":{"count":61},"デニーズ":{"count":178},"La Gondola":{"count":56},"Sphinx":{"count":53},"Sportheim":{"count":103},"ジョリーパスタ":{"count":64},"TGI Friday's":{"count":320},"Gasthaus zur Linde":{"count":54},"餃子の王将":{"count":176},"Engel":{"count":52},"Alte Post":{"count":64},"Carpe Diem":{"count":57},"Pizzeria Roma":{"count":77},"La Casa":{"count":56},"China Garden":{"count":106},"Vapiano":{"count":123},"Bistro":{"count":59},"La Scala":{"count":59},"Telepizza":{"count":66},"Trattoria":{"count":64},"Casa Mia":{"count":63},"Taverna":{"count":52},"IHOP":{"count":643},"Chili's":{"count":556},"Asia":{"count":66},"Athos":{"count":58},"Ruby Tuesday":{"count":270},"Olive Garden":{"count":460},"Ocean Basket":{"count":57},"Mellow Mushroom":{"count":63},"Cracker Barrel":{"count":294},"La Strada":{"count":65},"Panera Bread":{"count":466},"Friendly's":{"count":108},"Buffalo Grill":{"count":255},"Taste of India":{"count":57},"Texas Roadhouse":{"count":199},"ガスト":{"count":431,"tags":{"name:en":"Gusto"}},"牛角":{"count":75},"Schwarzer Adler":{"count":59},"丸亀製麺":{"count":63},"ココス":{"count":119},"ロイヤルホスト":{"count":95},"Sushi Bar":{"count":58},"La Tasca":{"count":51},"Venezia":{"count":57},"ジョナサン":{"count":122},"Léon de Bruxelles":{"count":57},"夢庵":{"count":53},"Mensa":{"count":146},"大戸屋":{"count":51},"El Paso":{"count":54},"Five Guys":{"count":70},"びっくりドンキー":{"count":91},"サイゼリヤ":{"count":233},"MK Restaurants":{"count":51},"Village Inn":{"count":135},"Peking":{"count":69},"Sakura":{"count":109},"Tony Roma's":{"count":55},"restaurant":{"count":60},"El Rancho":{"count":71},"Prezzo":{"count":117},"La Bodega":{"count":51},"バーミヤン":{"count":115},"Mimi's Cafe":{"count":53},"Little Italy":{"count":71},"Boston Market":{"count":80},"La Trattoria":{"count":72},"Bonefish Grill":{"count":66},"Wasabi":{"count":62},"China Wok":{"count":76},"Joe's Crab Shack":{"count":66},"Round Table Pizza":{"count":78},"Buffalo Wild Wings":{"count":365},"Perkins":{"count":140},"La Terrasse":{"count":69},"L'Escale":{"count":54},"Shari's":{"count":70},"Bob Evans":{"count":237},"바다횟집 (Bada Fish Restaurant)":{"count":56},"Mang Inasal":{"count":115},"California Pizza Kitchen":{"count":98},"Da Grasso":{"count":53},"Якитория":{"count":80},"Pizza Ranch":{"count":64},"Golden Corral":{"count":191},"Old Chicago":{"count":51},"Евразия":{"count":95},"Carrabba's Italian Grill":{"count":52},"Noodles & Company":{"count":80},"Canteen":{"count":60},"Kudu":{"count":172},"Cold Stone Creamery":{"count":59},"O'Charley's":{"count":59},"Qdoba":{"count":70},"Campanile":{"count":52},"Jason's Deli":{"count":63},"安楽亭":{"count":53},"LongHorn Steakhouse":{"count":151},"Logan's Roadhouse":{"count":81},"Moe's Southwest Grill":{"count":62},"Sushi":{"count":53},"Sonic":{"count":64,"tags":{"cuisine":"burger"}},"Famous Dave's":{"count":56},"Jimmy John's":{"count":119,"tags":{"cuisine":"sandwich"}},"Hardee's":{"count":51,"tags":{"cuisine":"burger"}},"天下一品":{"count":61},"Little Caesars":{"count":66,"tags":{"cuisine":"pizza"}},"Firehouse Subs":{"count":65},"Steak 'n Shake":{"count":68,"tags":{"cuisine":"burger"}},"ジョイフル":{"count":53},"Dunkin' Donuts":{"count":76,"tags":{"cuisine":"donut"}},"やよい軒":{"count":52},"Ristorante Del Arte":{"count":143},"八方雲集":{"count":94}},"parking":{"Coop":{"count":55},"Wanderparkplatz":{"count":796},"Tesco":{"count":86},"Carpool":{"count":55},"Friedhof":{"count":485},"Park and Ride":{"count":88},"Rathaus":{"count":111},"P1":{"count":357},"P2":{"count":351},"Markt":{"count":77},"Public Parking":{"count":173},"Rewe":{"count":201},"ALDI":{"count":324},"P7":{"count":96},"P8":{"count":62},"Parkplatz":{"count":278},"Car Park":{"count":232},"P9":{"count":56},"Lot D":{"count":91},"Park & Ride":{"count":139},"Marktplatz":{"count":166},"P3":{"count":282},"Parkhaus":{"count":139},"Visitor Parking":{"count":246},"Parking de la Mairie":{"count":105},"Edeka":{"count":142},"Besucherparkplatz":{"count":182},"Friedhofsparkplatz":{"count":165},"Estacionamiento":{"count":214},"Festplatz":{"count":109},"Behindertenparkplatz":{"count":176},"Place de l'Église":{"count":311},"Volksbank":{"count":59},"Sportplatz":{"count":143},"P&R":{"count":59},"Kaufland":{"count":117},"Waldparkplatz":{"count":143},"Bahnhof":{"count":98},"P+R":{"count":150},"Parcare":{"count":300},"Sparkasse":{"count":129},"NETTO":{"count":268},"Tesco Car Park":{"count":59},"Bus":{"count":61},"Norma":{"count":68},"Kirche":{"count":52},"P6":{"count":132},"Kundenparkplatz":{"count":280},"School":{"count":241},"Parkplatz Friedhof":{"count":124},"Place de la Mairie":{"count":229},"Krankenhaus":{"count":55},"parking":{"count":252},"Schulparkplatz":{"count":76},"Place de la République":{"count":137},"Lehrerparkplatz":{"count":189},"Lidl":{"count":544},"P10":{"count":55},"P4":{"count":214},"停車場":{"count":92},"Dorfplatz":{"count":53},"P":{"count":73},"Staff Car Park":{"count":71},"Парковка":{"count":164},"Busparkplatz":{"count":122},"PKW":{"count":59},"LKW":{"count":81},"Parking de la Gare":{"count":125},"Carrefour":{"count":77},"Spar":{"count":69},"Mitarbeiterparkplatz":{"count":110},"Parkplatz Lidl":{"count":60},"Penny":{"count":123},"McDonald's":{"count":166,"tags":{"cuisine":"burger"}},"Disabled Parking":{"count":58},"Anwohnerparkplatz":{"count":68},"Bus Parking":{"count":117},"Pendlerparkplatz":{"count":68},"Gravel Parking Lot, Mille Lacs WMA":{"count":82},"Privatparkplatz":{"count":71},"Parking de la Poste":{"count":52},"Lidl Parkplatz":{"count":78},"Place du 19 Mars 1962":{"count":88},"Place de la Liberté":{"count":55},"P5":{"count":193},"Parcheggio":{"count":198},"counter":{"count":110},"Park":{"count":325},"Car Parking":{"count":159},"Parking du Cimetière":{"count":62},"タイムズ":{"count":870},"Visitor":{"count":60},"Private":{"count":188},"Netto Parkplatz":{"count":51},"Place du Champ de Foire":{"count":63},"Kunden":{"count":65},"Parqueadero":{"count":103},"TIR":{"count":93},"Student Parking":{"count":98},"Faculty Parking":{"count":62},"Parking":{"count":1047},"Esselunga":{"count":66},"Автостоянка":{"count":171},"Place du 8 Mai 1945":{"count":86},"Place du Général de Gaulle":{"count":83},"Billa":{"count":51},"Parking Garage":{"count":81},"Freibad":{"count":57},"Staff Parking":{"count":215},"Паркинг":{"count":88},"Place du Marché":{"count":105},"Parqueo":{"count":122},"PMR":{"count":130},"Besucher":{"count":101},"Estacionamento":{"count":122},"<different> Boat Ramp":{"count":113},"Lot B":{"count":107},"Parking leśny":{"count":63},"Стоянка":{"count":147},"Lot C":{"count":95},"Truck Parking":{"count":144},"Parking Lot":{"count":127},"三井のリパーク":{"count":595},"Lot 6":{"count":72},"Lot 2":{"count":81},"Lot 1":{"count":96},"Lot 5":{"count":84},"Lot 3":{"count":90},"Lot 4":{"count":76},"Place de la Libération":{"count":55},"LKW-Parkplatz":{"count":55},"Aldi Süd":{"count":82},"Aparcamiento":{"count":110},"Parkplatz Netto":{"count":56},"Mieterparkplatz":{"count":180},"P11":{"count":51},"Гаражи":{"count":96},"Church":{"count":90},"Private Parking":{"count":55},"H":{"count":51},"Parking strzeżony":{"count":52},"Parkoló":{"count":82},"Privat":{"count":69},"Mitarbeiter":{"count":51},"Handicapped":{"count":203},"Park Cimitero":{"count":126},"駐車場":{"count":178},"Place de la Gare":{"count":72},"car parking":{"count":96},"Parcheggio disabili":{"count":266},"Employee Parking":{"count":104},"Motorcycle Parking":{"count":62},"miejsce postoju":{"count":66},"Overflow Parking":{"count":69},"پارکینگ":{"count":74},"Disabled":{"count":210},"名鉄協商パーキング":{"count":182},"月極駐車場":{"count":67},"Lot A":{"count":110},"Parcheggio Disabili":{"count":238},"Garaje":{"count":83},"Life Time Fitness Parking":{"count":55},"truck parking":{"count":84},"Lot F":{"count":57},"Lot 7":{"count":61},"truck":{"count":271},"car":{"count":460},"Lot H":{"count":54},"Lot E":{"count":67},"Lot G":{"count":55},"Förhyrda":{"count":58}},"bank":{"Chase":{"count":1355},"Commonwealth Bank":{"count":338},"Citibank":{"count":421},"Barclays":{"count":1203},"Westpac":{"count":297},"NAB":{"count":186},"HSBC":{"count":1571},"ANZ":{"count":331},"Bank of China":{"count":65},"TSB":{"count":198},"BBBank":{"count":55},"Sparkasse":{"count":4663},"UCPB":{"count":108},"PNB":{"count":293},"Metrobank":{"count":309},"BDO":{"count":473},"Volksbank":{"count":2690},"China Bank":{"count":132},"BPI":{"count":529},"Postbank":{"count":575},"NatWest":{"count":773},"بانک ملت":{"count":151},"Raiffeisenbank":{"count":2581},"Nordea":{"count":336},"Landbank":{"count":76},"Yorkshire Bank":{"count":89},"ABSA":{"count":96},"Standard Bank":{"count":137},"FNB":{"count":117},"بانک کشاورزی":{"count":100},"بانک مسکن":{"count":96},"Deutsche Bank":{"count":995},"Santander":{"count":2861},"Commerzbank":{"count":867},"Targobank":{"count":201},"ABN AMRO":{"count":144},"SEB":{"count":131},"Handelsbanken":{"count":239},"Kreissparkasse":{"count":615},"UniCredit Bank":{"count":501},"Monte dei Paschi di Siena":{"count":225},"Banca Popolare di Milano":{"count":76},"Caja Rural":{"count":186},"Sparda-Bank":{"count":284},"VÚB":{"count":103},"Slovenská sporiteľňa":{"count":157},"Банка ДСК":{"count":59},"Bank of Montreal":{"count":137},"Comerica Bank":{"count":55},"KBC":{"count":265},"US Bank":{"count":492},"HypoVereinsbank":{"count":449},"Bank Austria":{"count":151},"Lloyds Bank":{"count":620},"ING":{"count":596},"Erste Bank":{"count":206},"CIBC":{"count":422},"BCA":{"count":65},"Scotiabank":{"count":918},"Caisse d'Épargne":{"count":1426},"Clydesdale Bank":{"count":54},"Bank of Scotland":{"count":115},"Royal Bank of Scotland":{"count":126},"TD Canada Trust":{"count":613},"BMO":{"count":288},"Danske Bank":{"count":152},"Crédit Mutuel de Bretagne":{"count":330},"中国农业银行":{"count":148},"Crédit Agricole":{"count":2267},"LCL":{"count":846},"VR-Bank":{"count":500},"ČSOB":{"count":203},"Česká spořitelna":{"count":233},"BNP Paribas":{"count":1062},"National Bank":{"count":100},"RBC Royal Bank":{"count":104},"Nationwide":{"count":286},"中国建设银行":{"count":105},"Halifax":{"count":316},"BAWAG PSK":{"count":98},"CIBC Banking Centre":{"count":55},"Royal Bank":{"count":83},"Nedbank":{"count":92},"First National Bank":{"count":150},"Rabobank":{"count":557},"Sparkasse KölnBonn":{"count":78},"Swedbank":{"count":241},"Tatra banka":{"count":74},"IberCaja":{"count":201},"Volksbank Raiffeisenbank":{"count":60},"İş Bankası":{"count":89},"Berliner Sparkasse":{"count":67},"Berliner Volksbank":{"count":78},"Wells Fargo":{"count":1643},"Société Générale":{"count":1022},"RBC":{"count":363},"Osuuspankki":{"count":85},"Sparkasse Aachen":{"count":56},"Hamburger Sparkasse":{"count":159},"Cassa di Risparmio del Veneto":{"count":99},"Ziraat Bankası":{"count":106},"Akbank":{"count":85},"Banque Populaire":{"count":715},"BNP Paribas Fortis":{"count":282},"Banco Popular":{"count":543},"Bankia":{"count":529},"La Caixa":{"count":1120},"Credit Suisse":{"count":87},"BRD":{"count":251},"BCR":{"count":193},"BW-Bank":{"count":101},"Komerční banka":{"count":171},"Banco Pastor":{"count":77},"OTP":{"count":345},"Sberbank":{"count":130},"CIC":{"count":645},"Banca Transilvania":{"count":139},"Bancpost":{"count":70},"Maybank":{"count":155},"BBVA":{"count":1146},"Postbank Finanzcenter":{"count":55},"中国银行":{"count":209},"Unicredit Banca":{"count":462},"Crédit Mutuel":{"count":1034},"mBank":{"count":58},"Intesa San Paolo":{"count":135},"ATB Financial":{"count":58},"Belfius":{"count":280},"Piraeus Bank":{"count":59},"Bank of America":{"count":1595},"Standard Chartered":{"count":64},"Intesa Sanpaolo":{"count":66},"Сбербанк":{"count":6219},"Россельхозбанк":{"count":304},"Banc Sabadell":{"count":163},"MetroBank":{"count":82},"Crédit du Nord":{"count":138},"Popular":{"count":68},"Banco Sabadell":{"count":176},"Santander Consumer Bank":{"count":101},"BancoEstado":{"count":106},"Millennium Bank":{"count":397},"State Bank of India":{"count":317},"Banca Popolare di Novara":{"count":66},"Беларусбанк":{"count":510},"ING Bank Śląski":{"count":117},"Targo Bank":{"count":60},"Белинвестбанк":{"count":71},"Kreissparkasse Köln":{"count":68},"Banco BCI":{"count":63},"Banco de Chile":{"count":133},"Приорбанк":{"count":70},"ВТБ24":{"count":454},"UBS":{"count":169},"BPH":{"count":61},"PKO BP":{"count":453},"Казкоммерцбанк":{"count":66},"PSBank":{"count":99},"UnionBank":{"count":100},"RCBC Savings Bank":{"count":79},"EastWest Bank":{"count":66},"Commercial Bank of Ceylon PLC":{"count":97},"Caja España":{"count":63},"Unicaja Banco":{"count":180},"BBK":{"count":100},"RBS":{"count":178},"Bank of Ireland":{"count":142},"BNL":{"count":129},"Stadtsparkasse":{"count":72},"Banco Itaú":{"count":288},"AIB":{"count":86},"Райффайзенбанк":{"count":63},"BZ WBK":{"count":146},"Banco do Brasil":{"count":1063},"Caixa Econômica Federal":{"count":451},"Banca Românească":{"count":52},"Fifth Third Bank":{"count":202},"Banca Popolare di Vicenza":{"count":112},"Wachovia":{"count":53},"K&H Bank":{"count":70},"CIB Bank":{"count":61},"Budapest Bank":{"count":53},"みずほ銀行":{"count":244},"BES":{"count":54},"ICICI Bank":{"count":160},"Credem":{"count":55},"HDFC Bank":{"count":163},"La Banque Postale":{"count":109},"Bangkok Bank":{"count":69},"Bank BPH":{"count":58},"工商银行":{"count":140},"Oberbank":{"count":99},"Oldenburgische Landesbank":{"count":68},"Banco di Sardegna":{"count":72},"BRED":{"count":60},"First Bank":{"count":74},"Banca Popolare di Verona":{"count":56},"OLB":{"count":53},"Banca Popolare di Sondrio":{"count":82},"Cariparma":{"count":60},"Bendigo Bank":{"count":127},"BBVA Bancomer":{"count":97},"Argenta":{"count":114},"AXA":{"count":96},"Axis Bank":{"count":125},"Getin Bank":{"count":97},"CaixaBank":{"count":111},"Pekao SA":{"count":120},"Banca March":{"count":60},"БПС-Сбербанк":{"count":51},"Альфа-Банк":{"count":262},"GE Money Bank":{"count":86},"Белагропромбанк":{"count":157},"Banco Galicia":{"count":78},"Eurobank":{"count":215},"Bankinter":{"count":108},"横浜銀行":{"count":79},"Τράπεζα Πειραιώς":{"count":108},"Bank of New Zealand":{"count":58},"Banca Intesa":{"count":93},"Canara Bank":{"count":168},"Cajamar":{"count":149},"Banamex":{"count":288},"CEC Bank":{"count":95},"Davivienda":{"count":152},"Alpha Bank":{"count":287},"招商银行":{"count":63},"Banque Nationale":{"count":88},"第一銀行":{"count":53},"SBI":{"count":70},"Veneto Banca":{"count":65},"Bank of the West":{"count":140},"Liberbank":{"count":101},"Εθνική Τράπεζα":{"count":88},"Key Bank":{"count":226},"Western Union":{"count":327},"Citizens Bank":{"count":190},"УкрСиббанк":{"count":218},"ProCredit Bank":{"count":51},"ПриватБанк":{"count":919},"RCBC":{"count":125},"Security Bank":{"count":136},"Millenium":{"count":59},"HNB":{"count":60},"三菱東京UFJ銀行":{"count":217},"CajaSur":{"count":72},"ВТБ":{"count":70},"Indian Bank":{"count":60},"Andhra Bank":{"count":55},"Banque populaire":{"count":52},"Ulster Bank":{"count":96},"Bancolombia":{"count":122},"TD Bank":{"count":341},"Caixa":{"count":163},"SunTrust Bank":{"count":129},"Авангард":{"count":58},"Union Bank":{"count":173},"Philippine National Bank":{"count":64},"Bradesco":{"count":553},"Itaú":{"count":525},"Punjab National Bank":{"count":73},"PBZ":{"count":64},"Alior Bank":{"count":154},"中国工商银行":{"count":130},"Novo Banco":{"count":69},"Santander Río":{"count":157},"Райффайзен Банк Аваль":{"count":111},"Yorkshire Building Society":{"count":59},"De Venezuela":{"count":89},"ธนาคารไทยพาณิชย์":{"count":57},"Bancomer":{"count":192},"Banorte":{"count":186},"BOC":{"count":94},"Republic Bank":{"count":65},"Raiffeisen Polbank":{"count":60},"Банк Москвы":{"count":172},"Banco Nacional":{"count":120},"Banco Pichincha":{"count":69},"Syndicate Bank":{"count":69},"Bank Zachodni WBK":{"count":80},"Caja Duero":{"count":80},"Regions Bank":{"count":158},"KeyBank":{"count":80},"Bank of Commerce":{"count":64},"Росбанк":{"count":207},"Открытие":{"count":64},"Бинбанк":{"count":77},"People's Bank":{"count":68},"ПУМБ":{"count":63},"Banco di Napoli":{"count":67},"Bank Spółdzielczy":{"count":333},"Public Bank":{"count":56},"SunTrust":{"count":150},"PNC Bank":{"count":493},"신한은행":{"count":221,"tags":{"name:en":"Sinhan Bank"}},"우리은행":{"count":291,"tags":{"name:en":"Uri Bank"}},"국민은행":{"count":168,"tags":{"name:en":"Gungmin Bank"}},"Газпромбанк":{"count":129},"M&T Bank":{"count":138},"Indian Overseas Bank":{"count":62},"Santander Totta":{"count":186},"Banco de Bogotá":{"count":51},"Ощадбанк":{"count":684},"State Bank of Mysore":{"count":58},"Banco Estado":{"count":110},"Ecobank":{"count":138},"Takarékszövetkezet":{"count":120},"East West Bank":{"count":53},"بانک صادرات":{"count":178},"Banco Azteca":{"count":79},"TCF Bank":{"count":68},"Banco Nación":{"count":123},"Galicia":{"count":58},"Macro":{"count":57},"Πειραιώς":{"count":109},"Промсвязьбанк":{"count":120},"بانک سپه":{"count":119},"بانک ملی":{"count":186},"Уралсиб":{"count":118},"صادرات":{"count":61},"三井住友銀行":{"count":179},"りそな銀行":{"count":122},"Commercial Bank":{"count":53},"BCI":{"count":91},"Banco de Costa Rica":{"count":113},"Hrvatska poštanska banka":{"count":55},"Caixa Geral de Depósitos":{"count":210},"Banco Provincia":{"count":98},"Bank of India":{"count":59},"Umpqua Bank":{"count":70},"BCP":{"count":86},"BB&T":{"count":344},"Capital One":{"count":114},"ABANCA":{"count":79},"Возрождение":{"count":67},"Banco Macro":{"count":79},"МДМ Банк":{"count":59},"Capital One Bank":{"count":68},"BBVA Compass":{"count":60},"Caja Círculo":{"count":69},"CatalunyaCaixa":{"count":110},"One Network Bank":{"count":89},"Occidental de Descuento":{"count":67},"Народный банк":{"count":56},"Bank Mandiri":{"count":130},"Banco de la Nación Argentina":{"count":73},"Mercantil":{"count":116},"PKO Bank Polski":{"count":75},"Русский стандарт":{"count":52},"First Citizens Bank":{"count":69},"Corporation Bank":{"count":61},"Bank of Baroda":{"count":68},"Banco G&T Continental":{"count":86},"U.S. Bank":{"count":69},"Banco de Occidente":{"count":55},"Kasa Stefczyka":{"count":57},"Мособлбанк":{"count":52},"CGD":{"count":56},"Huntington Bank":{"count":74},"Sampath Bank":{"count":72},"Peoples Bank":{"count":151},"建设银行":{"count":78},"Interbank":{"count":68},"Banrisul":{"count":76},"بانک تجارت":{"count":122},"Cбербанк":{"count":79},"BBVA Francés":{"count":75},"ธนาคารกรุงเทพ":{"count":77},"ธนาคารกสิกรไทย":{"count":66},"Millenium BCP":{"count":54},"Montepio":{"count":105},"Provincial":{"count":78},"Bicentenario":{"count":127},"Banesco":{"count":172},"ธนาคารกรุงไทย":{"count":60},"Garanti Bankası":{"count":59},"Совкомбанк":{"count":102},"BNA":{"count":67},"BAC":{"count":74},"Banrural":{"count":58},"BRI":{"count":62},"Banco Industrial":{"count":74},"京都銀行":{"count":67},"Cajero Automatico Bancared":{"count":122},"Banco de Desarrollo Banrural":{"count":84},"Banco Patagonia":{"count":51},"ICBC":{"count":107},"Banco de Venezuela":{"count":53},"Banco de la Nación":{"count":117},"Banco Bradesco":{"count":190},"Bank of Africa":{"count":52},"Sicredi":{"count":64},"ლიბერთი ბანკი":{"count":54,"tags":{"name:en":"Liberty Bank"}},"ملی":{"count":52},"Crédito Agrícola":{"count":79},"Caja Rural de Jaén":{"count":54},"ASB Bank":{"count":51},"농협":{"count":51},"РНКБ":{"count":78},"农业银行":{"count":64},"Bank BRI":{"count":140},"Генбанк":{"count":67},"하나은행":{"count":81},"CityCommerce Bank":{"count":54}},"bureau_de_change":{"Western Union":{"count":119},"Kantor":{"count":106}},"car_rental":{"Europcar":{"count":468},"Budget":{"count":161},"Sixt":{"count":250},"Hertz":{"count":511},"Avis":{"count":481},"Enterprise":{"count":443},"Thrifty":{"count":58},"U-Haul":{"count":74},"ニッポンレンタカー":{"count":87}},"pharmacy":{"Lloyds Pharmacy":{"count":436},"Rowlands Pharmacy":{"count":102},"Boots":{"count":1096},"Marien-Apotheke":{"count":371},"Park-Apotheke":{"count":55},"Mercury Drug":{"count":507},"Löwen-Apotheke":{"count":398},"Superdrug":{"count":157},"Sonnen-Apotheke":{"count":374},"Engel-Apotheke":{"count":143},"Hirsch-Apotheke":{"count":114},"Apoteket":{"count":53},"Stadt-Apotheke":{"count":387},"Markt-Apotheke":{"count":203},"Аптека":{"count":2787},"Brunnen-Apotheke":{"count":77},"Hubertus Apotheke":{"count":124},"Bahnhof Apotheke":{"count":51},"Shoppers Drug Mart":{"count":642},"Pharmacie Centrale":{"count":178},"Alte Apotheke":{"count":99},"Neue Apotheke":{"count":122},"Rathaus-Apotheke":{"count":178},"Gintarinė vaistinė":{"count":116},"Rats-Apotheke":{"count":127},"Rosen-Apotheke":{"count":203},"Eczane":{"count":55},"Pharmasave":{"count":116},"Adler Apotheke":{"count":378},"Bären-Apotheke":{"count":109},"Hirsch Apotheke":{"count":69},"Walgreens":{"count":2896},"Rite Aid":{"count":1293},"Linden-Apotheke":{"count":220},"Bahnhof-Apotheke":{"count":88},"Burg-Apotheke":{"count":77},"Apotheke am Markt":{"count":82},"Schloss-Apotheke":{"count":62},"Jean Coutu":{"count":93},"Pharmaprix":{"count":79},"Pharmacie du Centre":{"count":123},"Farmacias Ahumada":{"count":130},"Stern-Apotheke":{"count":83},"Guardian":{"count":59},"Farmacia Comunale":{"count":167},"Dr.Max":{"count":102},"Cruz Verde":{"count":132},"ГорЗдрав":{"count":65},"Watsons":{"count":67},"Farmacias Cruz Verde":{"count":132},"CVS":{"count":2678},"Sensiblu":{"count":96},"Норма":{"count":89},"Farmacias SalcoBrand":{"count":142},"Фармация":{"count":163},"Pharmacie du Marché":{"count":89},"Pharmacie de la Mairie":{"count":57},"Farmacia Guadalajara":{"count":101},"Apteka":{"count":579},"Pharmacie Principale":{"count":54},"Clicks":{"count":116},"セイジョー":{"count":62},"Аптека №1":{"count":80},"マツモトキヨシ":{"count":171},"Dr. Max":{"count":169},"Вита":{"count":119},"Catena":{"count":88},"Здоровье":{"count":64},"Аптека 36,6":{"count":238},"Радуга":{"count":109},"サンドラッグ":{"count":98},"Pharmacie de la Gare":{"count":100},"Apollo Pharmacy":{"count":58},"Chemist Warehouse":{"count":74},"Rexall":{"count":88},"Первая помощь":{"count":114},"Gyógyszertár":{"count":51},"Ригла":{"count":187},"Droga Raia":{"count":104},"Аптека низьких цін":{"count":60},"Rose Pharmacy":{"count":83},"Dbam o Zdrowie":{"count":51},"Kinney Drugs":{"count":71},"Классика":{"count":91},"Ljekarna":{"count":66},"Фармакор":{"count":103},"Farmàcia":{"count":56},"スギ薬局":{"count":101},"Pague Menos":{"count":55},"Горздрав":{"count":139},"Mēness aptieka":{"count":60},"South Star Drug":{"count":57},"Панацея":{"count":58},"Арніка":{"count":123},"Drogaria São Paulo":{"count":52},"Аптечный пункт":{"count":254},"Невис":{"count":106},"Panvel":{"count":52},"Айболит":{"count":71},"SalcoBrand":{"count":90},"Живика":{"count":58},"Walmart Pharmacy":{"count":84},"Walgreens Pharmacy":{"count":59},"Farmacity":{"count":135},"аптека":{"count":126},"The Generics Pharmacy":{"count":171},"Farmacias del Ahorro":{"count":110},"Farmacias Similares":{"count":84},"Farmatodo":{"count":137},"ツルハドラッグ":{"count":116},"Duane Reade":{"count":78},"Фармленд":{"count":93},"H-E-B Pharmacy":{"count":219},"Планета здоровья":{"count":101},"pharmacie":{"count":62},"А5":{"count":94},"Имплозия":{"count":97},"Eurovaistinė":{"count":83},"Бережная аптека":{"count":58},"36.6":{"count":51},"Benavides":{"count":65},"ドラッグてらしま (Drug Terashima)":{"count":77},"Farmacias Guadalajara":{"count":66},"Drogasil":{"count":93},"Фармакопейка":{"count":53},"Аптека от склада":{"count":52},"クリエイト":{"count":51},"ავერსი (Aversi)":{"count":58},"Inkafarma":{"count":56},"Farmahorro":{"count":51},"ウエルシア":{"count":61},"داروخانه":{"count":58},"丁丁藥局":{"count":72}},"library":{"Stadtbibliothek":{"count":233},"Central Library":{"count":56},"Stadtbücherei":{"count":282},"Médiathèque":{"count":251},"Public Library":{"count":74},"Biblioteca Municipal":{"count":388},"Gemeindebücherei":{"count":138},"Bibliothek":{"count":81},"Biblioteca Comunale":{"count":193},"Library":{"count":536},"Bibliothèque municipale":{"count":203},"Bibliothèque Municipale":{"count":266},"Bibliothèque":{"count":252},"Bücherei":{"count":108},"Biblioteca Pública Municipal":{"count":55},"Bibliotheek":{"count":71},"Библиотека":{"count":369},"Детская библиотека":{"count":208},"Центральная городская библиотека":{"count":52},"Biblioteca":{"count":188},"Miejska Biblioteka Publiczna":{"count":59},"Městská knihovna":{"count":54},"Biblioteka":{"count":71},"Biblioteca comunale":{"count":175},"Biblioteka Publiczna":{"count":68},"Gminna Biblioteka Publiczna":{"count":52},"Центральная библиотека":{"count":69},"Biblioteca Pública":{"count":52},"Бібліотека":{"count":71},"Городская библиотека":{"count":54},"图书馆":{"count":51}},"kindergarten":{"Kindergarten":{"count":980},"Arche Noah":{"count":65},"Waldkindergarten":{"count":101},"Städtischer Kindergarten":{"count":98},"Детский сад №19":{"count":56},"Детский сад №11":{"count":71},"Детский сад №8":{"count":73},"Детский сад №2":{"count":139},"Детский сад №7":{"count":89},"Детский сад №15":{"count":65},"Evangelischer Kindergarten":{"count":214},"Katholischer Kindergarten":{"count":99},"Villa Kunterbunt":{"count":86},"Waldorfkindergarten":{"count":69},"Ev. Kindergarten":{"count":106},"Kindergarten St. Josef":{"count":52},"Kindertagesstätte":{"count":130},"Pusteblume":{"count":55},"École maternelle":{"count":335},"Materská škola":{"count":133},"MŠ":{"count":100},"Детский сад №1":{"count":134},"Детский сад №18":{"count":72},"École Maternelle":{"count":66},"Crèche":{"count":99},"Kindergarten Regenbogen":{"count":61},"Przedszkole":{"count":140},"Mateřská škola":{"count":164},"Детский сад":{"count":812},"детский сад":{"count":77},"Óvoda":{"count":63},"Jardin Infantil":{"count":77},"Детский сад №4":{"count":77},"Nursery School":{"count":110},"Детский сад №3":{"count":112},"Детский сад №14":{"count":69},"Детский сад №5":{"count":95},"Детский сад №10":{"count":69},"Детский сад №29":{"count":51},"Детский сад №22":{"count":55},"Scuola Materna":{"count":60},"Детский сад №25":{"count":53},"Детский сад №6":{"count":85},"Солнышко":{"count":87},"საბავშვო ბაღი (Kindergarten)":{"count":149},"Детский сад №9":{"count":71},"PAUD":{"count":83},"Детский сад №12":{"count":51},"中央保育所":{"count":56},"Детский сад \"Солнышко\"":{"count":54},"Maria Montessori":{"count":91},"Rosaura Zapata":{"count":70},"Federico Froebel":{"count":88},"Детский сад №17":{"count":59},"Gabriela Mistral":{"count":129},"Anganwadi":{"count":85},"Jean Piaget":{"count":82},"Amado Nervo":{"count":64},"Benito Juarez":{"count":89},"Cuauhtemoc":{"count":55},"Educacion Inicial de CONAFE No Escolarizado":{"count":184},"Emiliano Zapata":{"count":60},"Estefania Casta�eda":{"count":53},"Jose Vasconcelos":{"count":71},"Juan Escutia":{"count":83},"Miguel Hidalgo Y Costilla":{"count":57},"Preescolar Comunitario":{"count":409},"CONAFE Preescolar":{"count":91},"Ni�os Heroes":{"count":68},"Sor Juana Ines De La Cruz":{"count":76},"Cursos Comunitarios":{"count":74}},"cafe":{"Starbucks":{"count":6881,"tags":{"cuisine":"coffee_shop"}},"Cafeteria":{"count":436},"Costa":{"count":1104},"Caffè Nero":{"count":247},"Кафе":{"count":364},"Café Central":{"count":100},"Tim Hortons":{"count":1662},"Second Cup":{"count":227},"Country Style":{"count":60},"Bar Centrale":{"count":67},"Dunkin' Donuts":{"count":1300,"tags":{"cuisine":"donut"}},"Espresso House":{"count":95},"Coffee Time":{"count":134},"Eiscafe Dolomiti":{"count":52},"Cafe Coffee Day":{"count":197},"Eiscafe Venezia":{"count":226},"スターバックス":{"count":503,"tags":{"name:en":"Starbucks"}},"タリーズコーヒー":{"count":230},"Coffee House":{"count":62},"Segafredo":{"count":101},"Dolce Vita":{"count":55},"Pret A Manger":{"count":155},"Barista":{"count":53},"Venezia":{"count":52},"Шоколадница":{"count":223},"Peet's Coffee & Tea":{"count":64},"Jamba Juice":{"count":68},"Сказка":{"count":56},"ドトールコーヒーショップ":{"count":488},"Café des Sports":{"count":63},"Internet Cafe":{"count":53},"Coffee Shop":{"count":53},"Bistro":{"count":56},"Столовая":{"count":903},"Tchibo":{"count":172},"Бистро":{"count":65},"The Coffee Club":{"count":62},"Теремок":{"count":56},"Кофе Хауз":{"count":121},"Wayne's Coffee":{"count":51},"星巴克":{"count":93},"The Coffee Bean & Tea Leaf":{"count":69},"Закусочная":{"count":74},"Caribou Coffee":{"count":147},"Уют":{"count":81},"ארומה":{"count":53},"カフェ・ベローチェ":{"count":106},"Кофейня":{"count":56},"Шашлычная":{"count":109},"Кафетерий":{"count":55},"Встреча":{"count":70},"Coffee Fellows":{"count":68},"Havanna":{"count":52},"コメダ珈琲店":{"count":147},"คาเฟ่ อเมซอน":{"count":61},"Traveler's Coffee":{"count":64},"85度C":{"count":80},"Café Amazon":{"count":231},"エクセルシオール カフェ":{"count":56},"カフェ・ド・クリエ":{"count":76,"tags":{"name:en":"Cafe de CRIE"}},"サンマルクカフェ":{"count":150},"Bar Kafe":{"count":154}},"school":{"Школа №17":{"count":105},"Kindergarten":{"count":120},"Základná škola":{"count":96},"Astrid-Lindgren-Schule":{"count":78},"École primaire":{"count":2788},"Albert-Schweitzer-Schule":{"count":84},"Grundschule":{"count":653},"Realschule":{"count":75},"school":{"count":51},"Volkshochschule":{"count":100},"Sunnyside School":{"count":61},"Primary School":{"count":1171},"École primaire Jules Ferry":{"count":78},"Základní škola":{"count":159},"Musikschule":{"count":156},"École Primaire":{"count":184},"École Saint-Joseph":{"count":85},"École maternelle":{"count":880},"Erich-Kästner-Schule":{"count":53},"Hauptschule":{"count":156},"Escola Primária":{"count":66},"ZŠ":{"count":111},"Holy Trinity School":{"count":60},"Школа №21":{"count":69},"Школа №27":{"count":55},"Школа №7":{"count":198},"Школа №11":{"count":132},"Школа №16":{"count":89},"Школа №24":{"count":71},"Школа №22":{"count":76},"Saint Joseph School":{"count":149},"Scuola Materna":{"count":63},"Center School":{"count":118},"Jackson School":{"count":60},"Lincoln School":{"count":288},"Roosevelt School":{"count":118},"Pleasant Valley School":{"count":86},"Garfield Elementary School":{"count":66},"Riverside School":{"count":76},"Gimnazjum nr 1":{"count":57},"École Communale":{"count":98},"Volksschule":{"count":372},"Pestalozzischule":{"count":84},"Scuola Elementare":{"count":201},"Scuole Elementari":{"count":61},"Colegio San José":{"count":64},"Schule":{"count":56},"Средняя школа":{"count":161},"Школа №1":{"count":534},"Trinity School":{"count":86},"Secondary School":{"count":222},"Szkoła":{"count":59},"Saint Johns School":{"count":176},"Schillerschule":{"count":59},"Музыкальная школа":{"count":257},"École élémentaire":{"count":845},"École maternelle publique":{"count":78},"École primaire publique":{"count":144},"Гимназия №1":{"count":93},"École primaire privée Saint-Joseph":{"count":130},"Collège Jean Moulin":{"count":65},"Primarschule":{"count":68},"Emiliano Zapata":{"count":286},"Школа №18":{"count":108},"Школа №2":{"count":481},"Школа №3":{"count":380},"Школа №5":{"count":266},"Гимназия":{"count":80},"Школа №26":{"count":60},"École communale":{"count":56},"Scuola Media":{"count":95},"Escuela":{"count":313},"Miguel Hidalgo":{"count":85},"Turnhalle":{"count":60},"École":{"count":452},"Longfellow Elementary School":{"count":54},"Oak Grove School":{"count":149},"Scuola elementare":{"count":94},"Central High School":{"count":140},"Central Elementary School":{"count":176},"Central School":{"count":222},"Fairview School":{"count":166},"Fairview Elementary School":{"count":61},"Garfield School":{"count":61},"Franklin School":{"count":134},"Franklin Elementary School":{"count":100},"Highland School":{"count":72},"Holy Cross School":{"count":70},"Holy Family School":{"count":75},"Hillcrest Elementary School":{"count":60},"Jefferson Elementary School":{"count":177},"Jackson Elementary School":{"count":52},"Jefferson School":{"count":116},"Immaculate Conception School":{"count":86},"Lincoln Elementary School":{"count":264},"Liberty School":{"count":87},"Longfellow School":{"count":60},"McKinley School":{"count":65},"Maple Grove School":{"count":51},"Pine Grove School":{"count":63},"Pleasant View School":{"count":62},"Pleasant Hill School":{"count":110},"Roosevelt Elementary School":{"count":116},"Saint Josephs School":{"count":166},"Saint James School":{"count":89},"Sacred Heart School":{"count":210},"Saint Pauls School":{"count":76},"Saint Peters School":{"count":83},"Saint Marys School":{"count":272},"Saint Patricks School":{"count":87},"Saint Paul School":{"count":53},"Smith School":{"count":61},"Union School":{"count":131},"Trinity Lutheran School":{"count":51},"Wilson School":{"count":85},"Wilson Elementary School":{"count":63},"Washington School":{"count":225},"Washington Elementary School":{"count":191},"White School":{"count":52},"West Elementary School":{"count":58},"Saint Francis School":{"count":58},"Saint Mary School":{"count":53},"North Elementary School":{"count":56},"McKinley Elementary School":{"count":61},"Brown School":{"count":57},"Miller School":{"count":67},"Mount Pleasant School":{"count":63},"School Number 1":{"count":250},"School Number 4":{"count":137},"School Number 3":{"count":192},"School Number 2":{"count":217},"Highland Elementary School":{"count":52},"Liberty Elementary School":{"count":52},"Bethel School (historical)":{"count":97},"Cedar Grove School (historical)":{"count":71},"Center School (historical)":{"count":87},"Central School (historical)":{"count":70},"Fairview School (historical)":{"count":219},"Friendship School (historical)":{"count":63},"Hickory Grove School (historical)":{"count":59},"Hopewell School (historical)":{"count":63},"Liberty School (historical)":{"count":111},"Mount Olive School (historical)":{"count":55},"Mount Pleasant School (historical)":{"count":77},"Mount Zion School (historical)":{"count":96},"New Hope School (historical)":{"count":95},"Oak Hill School (historical)":{"count":53},"Pine Grove School (historical)":{"count":103},"Pleasant Grove School (historical)":{"count":92},"Pleasant Hill School (historical)":{"count":134},"Salem School (historical)":{"count":72},"Union School (historical)":{"count":157},"Walnut Grove School (historical)":{"count":70},"Oak Grove School (historical)":{"count":261},"Maple Grove School (historical)":{"count":54},"Pleasant Valley School (historical)":{"count":95},"Shady Grove School (historical)":{"count":80},"Shiloh School (historical)":{"count":75},"School Number 3 (historical)":{"count":276},"School Number 4 (historical)":{"count":304},"Antioch School (historical)":{"count":70},"School Number 1 (historical)":{"count":276},"School Number 12 (historical)":{"count":128},"School Number 5 (historical)":{"count":272},"School Number 7 (historical)":{"count":255},"School Number 8 (historical)":{"count":209},"School Number 10 (historical)":{"count":160},"Mount Zion School":{"count":53},"Midway School (historical)":{"count":55},"School Number 15 (historical)":{"count":56},"School Number 2 (historical)":{"count":290},"School Number 9 (historical)":{"count":185},"High School":{"count":62},"School Number 6 (historical)":{"count":263},"School Number 11 (historical)":{"count":130},"School Number 14 (historical)":{"count":71},"School Number 13 (historical)":{"count":91},"Gimnazjum":{"count":96},"Zespół Szkół":{"count":83},"Szkoła Podstawowa":{"count":291},"Школа искусств":{"count":75},"School":{"count":1293},"École Élémentaire":{"count":65},"École Maternelle":{"count":62},"Школа №10":{"count":164},"Школа №19":{"count":92},"Escuela Primaria":{"count":79},"École élémentaire publique":{"count":104},"Ecole":{"count":248},"Школа":{"count":665},"Школа №12":{"count":130},"Elementary School":{"count":64},"Scuola Primaria":{"count":71},"Escola Municipal":{"count":161},"Детская школа искусств":{"count":101},"Groupe Scolaire":{"count":55},"CEM":{"count":183},"Школа №8":{"count":187},"École primaire Jean Jaurès":{"count":61},"Szkoła Podstawowa nr 3":{"count":57},"Школа №14":{"count":116},"Школа №13":{"count":128},"Школа № 1":{"count":126},"Szkoła Podstawowa nr 2":{"count":73},"Colegio":{"count":66},"Szkoła Podstawowa nr 1":{"count":75},"Школа №25":{"count":59},"Школа № 2":{"count":105},"Școala":{"count":51},"École primaire privée Notre-Dame":{"count":63},"Школа №4":{"count":275},"Школа №6":{"count":205},"Школа №15":{"count":113},"EPP":{"count":68},"Школа № 4":{"count":78},"Lycée":{"count":120},"Школа № 6":{"count":52},"Ecole primaire":{"count":107},"Szkoła podstawowa":{"count":77},"Школа № 3":{"count":78},"Sekolah":{"count":184},"Escola Estadual":{"count":57},"Collège privé Saint-Joseph":{"count":56},"Школа №9":{"count":178},"Начальная школа":{"count":77},"Школа №23":{"count":76},"Primaire":{"count":59},"Школа-интернат":{"count":109},"Школа №20":{"count":94},"Школа №31":{"count":51},"市立南小学校":{"count":58},"Ecole Primaire":{"count":57},"Средняя школа №2":{"count":70},"UNIDAD EDUCATIVA":{"count":105},"Средняя школа №1":{"count":59},"Nursery School":{"count":66},"Benito Juarez":{"count":295},"SDN":{"count":287},"市立南中学校":{"count":57},"市立東中学校":{"count":62},"市立西中学校":{"count":52},"SD":{"count":54},"Leona Vicario":{"count":64},"École primaire privée Sainte-Marie":{"count":57},"школа":{"count":72},"ESCUELA":{"count":224},"Escola":{"count":70},"École primaire privée":{"count":64},"Általános iskola":{"count":106},"Adolfo Lopez Mateos":{"count":139},"Amado Nervo":{"count":85},"Cuauhtemoc":{"count":152},"Gregorio Torres Quintero":{"count":54},"Guadalupe Victoria":{"count":58},"Ignacio Zaragoza":{"count":98},"Justo Sierra":{"count":118},"Nicolas Bravo":{"count":58},"Vicente Guerrero":{"count":159},"مدرسه":{"count":97},"ESCOLA":{"count":75},"sekolah":{"count":75},"École Primaire Publique":{"count":53},"Juan Escutia":{"count":122},"Josefa Ortiz De Dominguez":{"count":78},"Curso Comunitario":{"count":58},"Francisco I. Madero":{"count":52},"Francisco Villa":{"count":116},"Ignacio Allende":{"count":51},"Jose Clemente Orozco":{"count":59},"Lazaro Cardenas":{"count":69},"Miguel Hidalgo Y Costilla":{"count":213},"Ni�os Heroes":{"count":158},"Ricardo Flores Magon":{"count":91},"Valentin Gomez Farias":{"count":72},"Venustiano Carranza":{"count":64},"Jose Vasconcelos":{"count":75},"Lazaro Cardenas Del Rio":{"count":153},"Agustin Ya�ez":{"count":57},"Manuel Lopez Cotilla":{"count":111},"Nombre En Tramite":{"count":130},"Sor Juana Ines De La Cruz":{"count":56},"Francisco I Madero":{"count":87},"Jose Ma Morelos Y Pavon":{"count":120},"Pedro Moreno":{"count":69},"Ramon Corona":{"count":54},"Cursos Comunitarios":{"count":116},"Primaria Comunitaria":{"count":58},"Saint Kizito Primary School":{"count":61}},"cinema":{"Odeon":{"count":77},"Cineworld":{"count":58},"Cinemark":{"count":68}},"doctors":{"Ärztehaus":{"count":243},"Centro de Salud":{"count":89},"Поликлиника":{"count":152},"Cabinet Médical":{"count":77},"Orvosi rendelő":{"count":64},"Cabinet médical":{"count":84},"Инвитро":{"count":74},"Женская консультация":{"count":66},"Детская поликлиника":{"count":89},"Амбулатория":{"count":53},"Фельдшерско-акушерский пункт":{"count":58},"Ośrodek Zdrowia":{"count":58},"Медпункт":{"count":65},"ФАП":{"count":87},"Consultorio Médico":{"count":102},"Centre de Santé":{"count":54}},"hospital":{"Детская поликлиника":{"count":181},"Centro de Saúde":{"count":86},"Женская консультация":{"count":55},"Centro de Salud":{"count":280},"Cruz Roja":{"count":79},"IMSS":{"count":62},"Government Hospital":{"count":77},"ЦРБ":{"count":114},"Больница":{"count":276},"Поликлиника":{"count":325},"Центральная районная больница":{"count":133},"Роддом":{"count":106},"Городская больница":{"count":60},"Hospital":{"count":157},"Кожно-венерологический диспансер":{"count":51},"Hospital Municipal":{"count":102},"Hôpital":{"count":51},"경희한의원 (Gyeonghui Oriental Medicine Clinic)":{"count":52},"Амбулатория":{"count":81},"Скорая помощь":{"count":66},"Районная больница":{"count":74},"Медпункт":{"count":54},"Детская больница":{"count":87},"ФАП":{"count":86},"Родильный дом":{"count":66},"Инфекционное отделение":{"count":71},"Consultorio Médico":{"count":64},"โรงพยาบาลส่งเสริมสุขภาพตำบล":{"count":59}},"biergarten":{"Biergarten":{"count":86}},"theatre":{"Teatro Municipal":{"count":75},"Freilichtbühne":{"count":67},"Дом культуры":{"count":51},"Amphitheatre":{"count":77},"Anfiteatro":{"count":74},"Amphitheater":{"count":85},"Amfiteatr":{"count":79}},"bar":{"Bar Sport":{"count":81},"Bar Centrale":{"count":115},"Бар":{"count":53},"Beach Bar":{"count":55}},"car_wash":{"Spălătorie Auto":{"count":61},"Автомойка":{"count":1105},"Shell":{"count":150},"Statoil":{"count":58},"Мойка":{"count":106},"Car Wash":{"count":400},"Waschanlage":{"count":66},"Aral":{"count":86},"BP":{"count":61},"автомойка":{"count":60},"Intermarché":{"count":57},"Car wash":{"count":60},"Myjnia samochodowa":{"count":52},"Myjnia bezdotykowa":{"count":62},"H-E-B Car Wash":{"count":65}},"clinic":{"Детская поликлиника":{"count":130},"Centro de Salud":{"count":127},"Polyclinique":{"count":90},"Поликлиника":{"count":147},"Posto de Saúde":{"count":64},"Clinic":{"count":83},"Health Sub Center":{"count":71},"ФАП":{"count":138},"Aid Post":{"count":69}},"bicycle_rental":{"metropolradruhr":{"count":82},"Bicing":{"count":99}},"veterinary":{"Clinique vétérinaire":{"count":75},"Ветлечебница":{"count":55},"Vétérinaire":{"count":68},"Clinique Vétérinaire":{"count":106},"Ветеринарная клиника":{"count":60}},"dentist":{"Стоматология":{"count":437},"Zahnarzt":{"count":68},"Dentiste":{"count":61},"Clínica Dental":{"count":56},"Dental Clinic":{"count":55},"Dentist":{"count":85},"Aspen Dental":{"count":51},"Стоматологическая поликлиника":{"count":87},"Clinica Dental":{"count":212}},"casino":{"Casino":{"count":59}},"arts_centre":{"Дом культуры":{"count":159},"Клуб":{"count":55},"Świetlica wiejska":{"count":52}},"ice_cream":{"Grido":{"count":98}},"sauna":{"Баня":{"count":102}},"driving_school":{"Автошкола":{"count":92}},"social_facility":{"Социальный участковый":{"count":208},"Safe Haven":{"count":92}}},"shop":{"mobile_phone":{"Vodafone":{"count":827},"T-Punkt":{"count":53},"Билайн":{"count":318},"ソフトバンクショップ":{"count":463},"O2":{"count":433},"Carphone Warehouse":{"count":260},"Orange":{"count":565},"3 Store":{"count":64},"T-Mobile":{"count":477},"Sprint":{"count":269},"AT&T":{"count":380},"Verizon Wireless":{"count":453},"Verizon":{"count":94},"mobilcom debitel":{"count":56},"Евросеть":{"count":821},"Movistar":{"count":257},"Telekom Shop":{"count":80},"EE":{"count":143},"Telekom":{"count":111},"ドコモショップ":{"count":370},"Telus":{"count":51},"Claro":{"count":326},"Cricket":{"count":77},"The Phone House":{"count":120},"vodafone":{"count":59},"Bell":{"count":123},"SFR":{"count":133},"МТС":{"count":731},"Metro PCS":{"count":55},"Digicel":{"count":127},"Связной":{"count":695},"Мегафон":{"count":457},"Теле2":{"count":58},"Wind":{"count":115},"Boost Mobile":{"count":91},"Алло":{"count":52},"МегаФон":{"count":76},"MetroPCS":{"count":65},"Play":{"count":103},"Telenor":{"count":79},"au":{"count":107},"Plus":{"count":73},"Tele2":{"count":90},"auショップ":{"count":318},"Bitė":{"count":68}},"supermarket":{"Eurospar":{"count":329},"Merkur":{"count":117},"Sainsbury's":{"count":580},"Lidl":{"count":8439},"Edeka":{"count":2195},"Coles":{"count":525},"Iceland":{"count":468},"Woolworths":{"count":754},"denn's Biomarkt":{"count":119},"Billa":{"count":1507},"ALDI":{"count":5976},"The Co-operative Food":{"count":1146},"Checkers":{"count":134},"Penny":{"count":1836},"Norma":{"count":1128},"NETTO":{"count":4439},"Morrisons":{"count":447},"Kaufland":{"count":1119},"Tesco Metro":{"count":148},"Intermarché Contact":{"count":97},"Nahkauf":{"count":198},"Rewe":{"count":2766},"Aldi Süd":{"count":720},"Real":{"count":195},"Tesco Express":{"count":504},"King Soopers":{"count":96},"Kiwi":{"count":219},"Asda":{"count":234},"Pick n Pay":{"count":258},"Coop":{"count":2227},"Tengelmann":{"count":189},"Carrefour":{"count":2267},"Waitrose":{"count":288},"Spar":{"count":2996},"Hofer":{"count":461},"Tesco":{"count":1371},"M-Preis":{"count":80},"tegut":{"count":213},"Sainsbury's Local":{"count":200},"E-Center":{"count":66},"Aldi Nord":{"count":260},"Meijer":{"count":112},"Safeway":{"count":553},"No Frills":{"count":163},"Budgens":{"count":81},"Albert":{"count":245},"Jumbo":{"count":421},"Interspar":{"count":112},"Shoprite":{"count":294},"MPreis":{"count":70},"Penny Market":{"count":543},"Tesco Extra":{"count":186},"Albert Heijn":{"count":697},"IGA":{"count":488},"Super U":{"count":577},"Metro":{"count":333},"Migros":{"count":586},"Marktkauf":{"count":118},"Combi":{"count":121},"ICA":{"count":176},"PLUS":{"count":100},"Hoogvliet":{"count":60},"EMTÉ":{"count":66},"coop":{"count":80},"Dirk van den Broek":{"count":52},"Food Basics":{"count":108},"Casino":{"count":332},"Penny Markt":{"count":482},"Giant":{"count":243},"COOP Jednota":{"count":136},"ADEG":{"count":77},"ALDI SÜD":{"count":130},"Simply Market":{"count":483},"Konzum":{"count":321},"Carrefour Express":{"count":634},"Foodland":{"count":170},"Famila":{"count":152},"Hemköp":{"count":83},"Markant":{"count":91},"Volg":{"count":200},"Netto Marken-Discount":{"count":525},"Leader Price":{"count":417},"Treff 3000":{"count":120},"Kaiser's":{"count":231},"K+K":{"count":108},"Unimarkt":{"count":97},"Meny":{"count":79},"U Express":{"count":88},"Carrefour City":{"count":268},"Bim":{"count":468},"real,-":{"count":78},"Countdown":{"count":130},"Sobeys":{"count":158},"Cargills Food City":{"count":71},"S-Market":{"count":110},"Denner":{"count":376},"Zielpunkt":{"count":76},"NP":{"count":178},"Franprix":{"count":371},"Monoprix":{"count":271},"Landi":{"count":51},"Diska":{"count":66},"PENNY":{"count":86},"Giant Eagle":{"count":118},"NORMA":{"count":133},"NP-Markt":{"count":77},"Coop Extra":{"count":72},"AD Delhaize":{"count":75},"Grocery Outlet":{"count":79},"Auchan":{"count":215},"Mercadona":{"count":1050},"Consum":{"count":169},"Pam":{"count":73},"sky":{"count":118},"Şok":{"count":114},"Despar":{"count":194},"Eroski":{"count":269},"Costcutter":{"count":88},"SuperValu":{"count":73},"Dia":{"count":1198},"Rema 1000":{"count":437},"Bunnpris":{"count":69},"Konsum":{"count":140},"Profi":{"count":176},"Colruyt":{"count":203},"The Co-operative":{"count":67},"Rimi":{"count":112},"Delhaize":{"count":224},"CBA":{"count":241},"Real Canadian Superstore":{"count":59},"Mercator":{"count":155},"Smith's":{"count":53},"Walmart":{"count":999},"Kroger":{"count":550},"Intermarché":{"count":1559},"Albertsons":{"count":304},"Trader Joe's":{"count":324},"Feneberg":{"count":64},"Kvickly":{"count":54},"Makro":{"count":188},"Лента":{"count":104},"Nah & Frisch":{"count":100},"ALDI Nord":{"count":83},"Maxi":{"count":154},"Ашан":{"count":65},"CRAI":{"count":56},"ICA Supermarket":{"count":83},"Fakta":{"count":274},"Ekom":{"count":61},"Магнит":{"count":3327},"nahkauf":{"count":103},"Caprabo":{"count":129},"Famiglia Cooperativa":{"count":84},"Народная 7Я семьЯ":{"count":194},"Carrefour Contact":{"count":185},"Авоська":{"count":55},"Maxima XX":{"count":60},"Petit Casino":{"count":142},"Wasgau":{"count":55},"Match":{"count":133},"Pingo Doce":{"count":281},"Lider":{"count":69},"Unimarc":{"count":217},"Santa Isabel":{"count":155},"Седьмой континент":{"count":87},"Carrefour express":{"count":70},"HIT":{"count":60},"Пятёрочка":{"count":2392},"Conad":{"count":449},"Фуршет":{"count":82},"Willys":{"count":89},"Farmfoods":{"count":114},"Фора":{"count":126},"Dunnes Stores":{"count":74},"Сільпо":{"count":196},"マルエツ":{"count":87},"Alnatura":{"count":77},"Piggly Wiggly":{"count":87},"Prix":{"count":51},"Crai":{"count":99},"Biocoop":{"count":105},"REWE City":{"count":60},"El Árbol":{"count":103},"E. Leclerc":{"count":55},"Super Brugsen":{"count":69},"Дикси":{"count":1323},"Whole Foods Market":{"count":328,"tags":{"shop":"supermarket"}},"G20":{"count":65},"Eroski Center":{"count":63},"Publix":{"count":568},"Conad City":{"count":70},"Перекресток":{"count":409},"Føtex":{"count":67},"イトーヨーカドー":{"count":64},"Sprouts Farmers Market":{"count":55},"Ralphs":{"count":75},"Mila":{"count":73},"Biedronka":{"count":2155},"Proxi":{"count":55},"Eurospin":{"count":273},"Семья":{"count":76},"Виват":{"count":60},"Froiz":{"count":72},"Gadis":{"count":107},"Евроопт":{"count":168},"Квартал":{"count":74},"Esselunga":{"count":105},"SuperBrugsen":{"count":72},"Reliance Fresh":{"count":80},"Winn-Dixie":{"count":67},"Coop Jednota":{"count":97},"Irma":{"count":70},"Londis":{"count":54},"Mega Image":{"count":88},"Centre Commercial E. Leclerc":{"count":486},"西友":{"count":124},"A101":{"count":193},"Game":{"count":55},"Coop Konsum":{"count":97},"Alimerka":{"count":94},"Piotr i Paweł":{"count":98},"A&O":{"count":61},"Coviran":{"count":87},"Żabka":{"count":61},"Maxima":{"count":106},"ΑΒ Βασιλόπουλος":{"count":62},"Stokrotka":{"count":197},"Карусель":{"count":66},"Utile":{"count":52},"CONAD":{"count":64},"Winn Dixie":{"count":76},"Vival":{"count":67},"Μασούτης":{"count":64},"Mini Market":{"count":115},"イオン":{"count":84},"Chedraui":{"count":60},"Family Dollar":{"count":59},"Walmart Neighborhood Market":{"count":112},"Delikatesy Centrum":{"count":158},"Géant Casino":{"count":63},"Ekono":{"count":59},"ASDA":{"count":220},"Intermarche":{"count":117},"Stop & Shop":{"count":118},"Maxima X":{"count":147},"Tottus":{"count":58},"Food Lion":{"count":388},"Społem":{"count":99},"Harris Teeter":{"count":140},"Sam's Club":{"count":259},"Continente":{"count":96},"Foodworks":{"count":78},"Centra":{"count":60},"Maxi Dia":{"count":52},"H-E-B":{"count":271},"Price Chopper":{"count":123},"Soriana":{"count":148},"Атак":{"count":80},"Puregold":{"count":58},"Полушка":{"count":198},"Jewel-Osco":{"count":53},"Condis":{"count":103},"Big C":{"count":53},"Sigma":{"count":95},"Верный":{"count":160},"いなげや":{"count":57},"АТБ":{"count":499},"Bodega Aurrera":{"count":167},"Fresh Market":{"count":75},"Виктория":{"count":64},"Азбука Вкуса":{"count":52},"QFC":{"count":55},"Vea":{"count":62},"Minipreço":{"count":204},"Lewiatan":{"count":208},"Sisa":{"count":51},"Монетка":{"count":291},"Магнолия":{"count":111},"POLOmarket":{"count":186},"Palí":{"count":64},"Costco":{"count":264},"Tesco Lotus":{"count":90},"Lupa":{"count":69},"Hy-Vee":{"count":110},"Копейка":{"count":54},"Disco":{"count":68},"Pão de Açúcar":{"count":59},"Save-A-Lot":{"count":79,"tags":{"shop":"supermarket"}},"Walmart Supercenter":{"count":511},"Comercial Mexicana":{"count":53},"Plodine":{"count":61},"Grand Frais":{"count":52},"Hannaford":{"count":87},"Fred Meyer":{"count":76},"Мария-Ра":{"count":118},"マックスバリュ":{"count":109},"Wegmans":{"count":88},"Dia %":{"count":136},"Dollar General":{"count":92},"Cub Foods":{"count":51},"Универсам":{"count":84},"Extra":{"count":126},"Магазин":{"count":130},"ライフ":{"count":117},"Picard":{"count":93},"Гроздь":{"count":52},"Супермаркет":{"count":52},"Atacadão":{"count":63},"New World":{"count":86},"Ahorramás":{"count":56},"Eko":{"count":64},"Oxxo":{"count":112},"業務スーパー":{"count":129},"Despensa Familiar":{"count":68},"Красный Яр":{"count":60},"全聯福利中心":{"count":157},"Plaza Vea":{"count":53},"Командор":{"count":66},"Таврія-В":{"count":56},"まいばすけっと":{"count":108},"Norfa XL":{"count":63},"Indomaret":{"count":123},"Радеж":{"count":58},"Mercado de Abastos":{"count":52},"Dino":{"count":182},"Покупочка":{"count":51},"Хүнсний дэлгүүр":{"count":64},"E. Leclerc Drive":{"count":55},"Leclerc Drive":{"count":127},"Alfamart":{"count":76},"全聯":{"count":62}},"sports":{"Sports Direct":{"count":160},"Decathlon":{"count":388},"Intersport":{"count":614},"Спорттовары":{"count":60},"Nike":{"count":57},"Sports Authority":{"count":147},"Спортмастер":{"count":165},"Hervis":{"count":55},"Sport 2000":{"count":147},"Big 5 Sporting Goods":{"count":68},"Adidas":{"count":90},"Dick's Sporting Goods":{"count":170}},"department_store":{"Big W":{"count":114},"Canadian Tire":{"count":150},"Karstadt":{"count":64},"Walmart":{"count":802},"Kmart":{"count":359},"El Corte Inglés":{"count":60},"Target":{"count":947},"Big Lots":{"count":86},"The Warehouse":{"count":56},"Galeria Kaufhof":{"count":61},"Dollar General":{"count":53},"Debenhams":{"count":110},"Marks & Spencer":{"count":115},"Argos":{"count":71},"Woolworth":{"count":112},"Универмаг":{"count":139},"Sears":{"count":384},"Walmart Supercenter":{"count":195},"BHS":{"count":81},"Kohl's":{"count":302},"Bed Bath & Beyond":{"count":58},"Dillard's":{"count":60},"Macy's":{"count":243},"JCPenney":{"count":214},"Dollar Tree":{"count":59},"HEMA":{"count":157},"Family Dollar":{"count":65},"Sam's Club":{"count":95},"Магнит":{"count":87}},"convenience":{"Shell":{"count":412},"Statoil":{"count":78},"Spar":{"count":1340},"Tesco Express":{"count":605},"Sainsbury's Local":{"count":192},"Aral":{"count":84},"One Stop":{"count":233},"The Co-operative Food":{"count":318},"Londis":{"count":453},"7-Eleven":{"count":8603},"Coop":{"count":1110},"Sale":{"count":86},"Sheetz":{"count":111},"Costcutter":{"count":379},"Konzum":{"count":219},"Siwa":{"count":222},"Esso":{"count":120},"COOP Jednota":{"count":324},"Mac's":{"count":254},"Alepa":{"count":68},"Hasty Market":{"count":84},"K-Market":{"count":64},"On the Run":{"count":106},"CBA":{"count":291},"Valintatalo":{"count":55},"Alimentación":{"count":88},"Casino":{"count":89},"Franprix":{"count":85},"Circle K":{"count":603},"セブンイレブン":{"count":6433,"tags":{"name:en":"7-Eleven"}},"ローソン":{"count":3335,"tags":{"name:en":"LAWSON"}},"BP":{"count":238},"Tesco":{"count":59},"OK":{"count":72},"Migrolino":{"count":66},"Petit Casino":{"count":285},"Volg":{"count":147},"Total":{"count":51},"Coop Pronto":{"count":53},"Mace":{"count":142},"Mini Market":{"count":874},"Kiosk":{"count":455},"Nisa Local":{"count":114},"Продукты":{"count":7552},"Mini Stop":{"count":362},"LAWSON":{"count":265},"デイリーヤマザキ":{"count":314},"Biedronka":{"count":96},"Надежда":{"count":94},"Mobil":{"count":78},"Nisa":{"count":67},"Premier":{"count":224},"ABC":{"count":655},"КазМунайГаз":{"count":120},"McColl's":{"count":159},"Carrefour Express":{"count":178},"ミニストップ":{"count":631,"tags":{"name:en":"MINISTOP"}},"サンクス":{"count":893,"tags":{"name:en":"sunkus"}},"スリーエフ":{"count":221},"8 à Huit":{"count":76},"Żabka":{"count":1199},"Almacen":{"count":375},"Mercator":{"count":109},"Proxi":{"count":199},"萊爾富":{"count":298},"全家便利商店":{"count":524},"Vival":{"count":309},"FamilyMart":{"count":742},"ファミリーマート":{"count":3307,"tags":{"name:en":"FamilyMart"}},"Магазин":{"count":1407},"Carrefour City":{"count":88},"Casey's General Store":{"count":174},"セブンイレブン(Seven-Eleven)":{"count":246},"Jednota":{"count":67},"Гастроном":{"count":321},"Centra":{"count":130},"Евроопт":{"count":104},"Couche-Tard":{"count":71},"サークルK":{"count":976,"tags":{"name:en":"Circle K"}},"7 eleven":{"count":71},"Mlin i pekare":{"count":59},"Sunkus":{"count":54},"Wawa":{"count":228},"Lifestyle Express":{"count":75},"Chevron":{"count":89},"ampm":{"count":132},"General Store":{"count":75},"Tchibo":{"count":65},"Lewiatan":{"count":397},"Coles Express":{"count":170},"Večerka":{"count":110},"Potraviny":{"count":393},"Rite Aid":{"count":59},"Select":{"count":111},"Ассорти":{"count":85},"Копейка":{"count":55},"Универсам":{"count":118},"Берёзка":{"count":170},"Русь":{"count":52},"Społem":{"count":161},"Shop":{"count":473},"Cumberland Farms":{"count":96},"Fresh Market":{"count":75},"Мария-Ра":{"count":189},"Пятёрочка":{"count":671},"Woolworths Petrol":{"count":73},"Aibė":{"count":71},"Coop Jednota":{"count":120},"Магнит":{"count":1196},"Tesco Lotus Express":{"count":89},"Смак":{"count":104},"Виктория":{"count":122},"Plaid Pantry":{"count":60},"M&S Simply Food":{"count":56},"Sklep spożywczy":{"count":223},"Groszek":{"count":187},"Продукти":{"count":595},"Martin's":{"count":51},"Bodega":{"count":55},"Татьяна":{"count":55},"24 часа":{"count":76},"Минимаркет":{"count":279},"Oxxo":{"count":1566},"abc":{"count":237},"Family Dollar":{"count":60},"Stewart's":{"count":253},"Любимый":{"count":67},"Shop & Go":{"count":72},"Hruška":{"count":76},"ローソンストア100":{"count":252},"CU":{"count":57},"Гурман":{"count":57},"Sunoco":{"count":54},"Радуга":{"count":131},"Delikatesy Centrum":{"count":142},"Фортуна":{"count":80},"Магнолия":{"count":79},"Magazin Mixt":{"count":98},"Kum & Go":{"count":102},"Magazin Alimentar":{"count":60},"Маяк":{"count":58},"Prehrana":{"count":87},"Picard":{"count":95},"Epicerie":{"count":398},"Эконом":{"count":60},"Four Square":{"count":84},"Визит":{"count":84},"Nasz Sklep":{"count":64},"Апельсин":{"count":53},"Авоська":{"count":92},"Dollar General":{"count":397},"Studenac":{"count":107},"Magazin":{"count":61},"Central Convenience Store":{"count":66},"セイコーマート":{"count":258},"Mini Mart":{"count":62},"Mini ABC":{"count":66},"Holiday":{"count":65},"Тройка":{"count":56},"продукты":{"count":139},"Теремок":{"count":91},"Alimentari":{"count":72},"Кулинария":{"count":105},"Агрокомплекс":{"count":51},"Speedway":{"count":85},"全家":{"count":414},"Citgo":{"count":73},"GS25":{"count":89},"Extra":{"count":63},"Kwik Trip":{"count":116},"Мечта":{"count":81},"Кировский":{"count":78},"United Dairy Farmers":{"count":52},"Freshmarket":{"count":87},"Mini market":{"count":66},"Перекресток":{"count":118},"Delikatesy":{"count":127},"Odido":{"count":74},"Corner Store":{"count":74},"Монетка":{"count":118},"Ромашка":{"count":63},"Alimentation Générale":{"count":73},"ポプラ":{"count":95},"BP Shop":{"count":57},"Верный":{"count":52},"Дикси":{"count":246},"Продуктовый":{"count":227},"Almacén":{"count":73},"Весна":{"count":78},"Центральный":{"count":58},"Мираж":{"count":51},"Mini Market Non-Stop":{"count":124},"ココストア":{"count":53},"Светлана":{"count":72},"Копеечка":{"count":83},"QuikTrip":{"count":133},"Меркурий":{"count":63},"Food Mart":{"count":384},"Royal Farms":{"count":75},"Vegyesbolt":{"count":326},"Елена":{"count":51},"Продукты 24":{"count":61},"Kisbolt":{"count":98},"Parduotuvė":{"count":67},"Reál":{"count":52},"AMPM":{"count":114},"ヤマザキショップ":{"count":86},"Продуктовый магазин":{"count":611},"Alfamart":{"count":228},"odido":{"count":53},"Indomaret":{"count":275},"магазин":{"count":258},"Alfa Mart":{"count":55},"Fresh":{"count":57},"Boutique":{"count":163},"მარკეტი (Market)":{"count":140},"Magazin alimentar":{"count":52},"OK便利商店":{"count":65},"Magazin Non-Stop":{"count":64},"Sari-sari Store":{"count":65},"Stores":{"count":66},"Małpka Express":{"count":56},"Baqala":{"count":61}},"chemist":{"Budnikowsky":{"count":102},"dm":{"count":1667},"Müller":{"count":321},"Schlecker":{"count":97},"Etos":{"count":480},"Bipa":{"count":398},"Rossmann":{"count":2241},"Teta":{"count":82},"Kruidvat":{"count":338},"Walgreens":{"count":57},"Рубль Бум":{"count":64},"Watsons":{"count":87},"Улыбка радуги":{"count":96},"7 Дней":{"count":52},"Бытовая химия":{"count":67},"丁丁藥局":{"count":72},"Магнит Косметик":{"count":53},"屈臣氏":{"count":56}},"car_repair":{"Peugeot":{"count":133},"Kwik Fit":{"count":215},"A.T.U":{"count":460},"Midas":{"count":387},"Feu Vert":{"count":152},"Norauto":{"count":220},"Шиномонтаж":{"count":2787},"Speedy":{"count":175},"Автозапчасти":{"count":209},"Renault":{"count":257},"Pit Stop":{"count":72},"Garage Renault":{"count":57},"Jiffy Lube":{"count":363},"СТО":{"count":820},"Автосервис":{"count":668},"O'Reilly Auto Parts":{"count":194},"Pep Boys":{"count":68},"Carglass":{"count":181},"ÖAMTC":{"count":53},"шиномонтаж":{"count":136},"Citroen":{"count":93},"Euromaster":{"count":133},"NAPA Auto Parts":{"count":83},"Mr. Lube":{"count":52},"Valvoline Instant Oil Change":{"count":74},"Wulkanizacja":{"count":64},"Firestone":{"count":176},"Goodyear":{"count":75},"Roady":{"count":75},"Mekonomen":{"count":51},"Автомастерская":{"count":74},"Advance Auto Parts":{"count":238},"Замена масла":{"count":74},"Gomeria":{"count":110},"Firestone Complete Auto Care":{"count":52},"Автосервис+шиномонтаж":{"count":55},"Gomería":{"count":65}},"bakery":{"Red Ribbon":{"count":53},"Kamps":{"count":263},"Lila Bäcker":{"count":83},"Bäckerei Schmidt":{"count":95},"Anker":{"count":83},"Schäfer":{"count":59},"Schäfer's":{"count":80},"Sternenbäck":{"count":74},"Hofpfisterei":{"count":125},"Bakers Delight":{"count":62},"Greggs":{"count":481},"Panaderia":{"count":367},"Ströck":{"count":62},"Oebel":{"count":65},"Sehne":{"count":76},"Boulangerie":{"count":454},"Stadtbäckerei":{"count":60},"Banette":{"count":89},"Steinecke":{"count":234},"Goldilocks":{"count":106},"Backwerk":{"count":130},"Dat Backhus":{"count":77},"K&U":{"count":98},"Ihle":{"count":100},"Der Beck":{"count":102},"Ditsch":{"count":60},"Bäckerei Fuchs":{"count":59},"Bakker Bart":{"count":80},"Bäckerei Müller":{"count":66},"Backshop":{"count":51},"Wiener Feinbäcker":{"count":58},"Bäckerei Grimminger":{"count":52},"Goeken backen":{"count":53},"von Allwörden":{"count":52},"Paul":{"count":150},"Musmanni":{"count":73},"Хлеб":{"count":136},"Fornetti":{"count":110},"Le Fournil":{"count":51},"Булочная":{"count":56},"boulangerie":{"count":65},"Пекарня":{"count":187},"Mlinar":{"count":71},"Свежий хлеб":{"count":59},"Marie Blachère":{"count":53},"Cooplands":{"count":57},"Кулиничи":{"count":101}},"furniture":{"IKEA":{"count":215},"Dänisches Bettenlager":{"count":424},"Jysk":{"count":209},"Roller":{"count":89},"Conforama":{"count":141},"The Brick":{"count":51},"Мебель":{"count":327},"Casa":{"count":57},"JYSK":{"count":97},"But":{"count":115},"Pier 1 Imports":{"count":81},"ニトリ":{"count":68},"Black Red White":{"count":61}},"doityourself":{"Hornbach":{"count":129},"B&Q":{"count":235},"Hubo":{"count":93},"Mr Bricolage":{"count":133},"Gamma":{"count":122},"OBI":{"count":498},"Lowe's":{"count":1228},"Wickes":{"count":148},"Hagebau":{"count":53},"Castorama":{"count":161},"Rona":{"count":69},"Toom Baumarkt":{"count":95},"Homebase":{"count":209},"Lagerhaus":{"count":108},"Bauhaus":{"count":210},"Leroy Merlin":{"count":255},"Hellweg":{"count":65},"Brico":{"count":125},"Bricomarché":{"count":381},"Hagebaumarkt":{"count":128},"Biltema":{"count":52},"BayWa":{"count":53},"Home Depot":{"count":1250},"Menards":{"count":103},"Weldom":{"count":101},"Toom":{"count":63},"Praktiker":{"count":62},"Canadian Tire":{"count":125},"Easy":{"count":51},"Sonderpreis Baumarkt":{"count":52},"Ace Hardware":{"count":246},"Screwfix":{"count":62},"Karwei":{"count":59},"Mr. Bricolage":{"count":56},"Строитель":{"count":57},"Home Hardware":{"count":144},"Мастер":{"count":53},"Хозтовары":{"count":128},"コメリ":{"count":108},"Bunnings Warehouse":{"count":167},"Bricorama":{"count":103},"Стройматериалы":{"count":401},"コーナン":{"count":67},"Point P":{"count":102}},"stationery":{"Staples":{"count":580},"McPaper":{"count":136},"Ryman":{"count":74},"Pagro":{"count":64},"Officeworks":{"count":59},"Office Depot":{"count":295},"Libro":{"count":64},"Office Max":{"count":138},"Канцтовары":{"count":110}},"car":{"Skoda":{"count":122},"BMW":{"count":189},"KIA":{"count":74},"Citroen":{"count":395},"Renault":{"count":560},"Mercedes-Benz":{"count":335},"Volvo":{"count":146},"Ford":{"count":382},"Kia Motors":{"count":97},"Mazda":{"count":164},"Mitsubishi":{"count":120},"Fiat":{"count":130},"Автозапчасти":{"count":243},"Opel":{"count":206},"Volkswagen":{"count":318},"Toyota":{"count":467},"Nissan":{"count":330},"Seat":{"count":84},"Porsche":{"count":72},"Suzuki":{"count":127},"Honda":{"count":271},"Peugeot":{"count":461},"Lexus":{"count":66},"KIA Motors":{"count":54},"Hyundai":{"count":330},"Kia":{"count":108},"Audi":{"count":158},"Автомагазин":{"count":92},"Subaru":{"count":92},"Chevrolet":{"count":178}},"kiosk":{"Shell":{"count":119},"R-kioski":{"count":147},"Aral":{"count":73},"Kiosk":{"count":774},"R-Kioski":{"count":198},"Narvesen":{"count":177},"Tabak Trafik":{"count":65},"Trafik":{"count":235},"Pressbyrån":{"count":104},"Trinkhalle":{"count":96},"Relay":{"count":54},"Kiosco":{"count":164},"Edicola":{"count":68},"Пресса":{"count":130},"Trafika":{"count":64},"Роспечать":{"count":218},"Ruch":{"count":146},"Продукты":{"count":216},"Tisak":{"count":218},"Киоск":{"count":137},"Kolporter":{"count":70},"Мороженое":{"count":55},"Kiosko":{"count":63},"Kios":{"count":191},"Lietuvos spauda":{"count":59},"Союзпечать":{"count":87},"Pulpería":{"count":59},"მარკეტი (Market)":{"count":138},"KIOS":{"count":84},"Warung":{"count":68}},"electronics":{"Maplin":{"count":102},"Media Markt":{"count":378},"Saturn":{"count":147},"Currys":{"count":116},"Euronics":{"count":203},"Rogers":{"count":59},"Radio Shack":{"count":461},"Apple Store":{"count":56},"Best Buy":{"count":609},"Elgiganten":{"count":52},"Expert":{"count":173},"Эльдорадо":{"count":265},"DNS":{"count":74},"Hartlauer":{"count":52},"Darty":{"count":130},"Interdiscount":{"count":52},"М.Видео":{"count":106},"Bell":{"count":76},"Samsung":{"count":99},"Фокстрот":{"count":70},"ケーズデンキ":{"count":111},"The Source":{"count":67},"Boulanger":{"count":65},"Batteries Plus Bulbs":{"count":67},"Эксперт":{"count":61},"Media Expert":{"count":119},"ヤマダ電機":{"count":129},"エディオン":{"count":62},"Neonet":{"count":73},"La Curacao":{"count":63}},"variety_store":{"Tedi":{"count":575},"Action":{"count":85},"Dollar Tree":{"count":487},"Dollarama":{"count":295},"ダイソー":{"count":152},"Fix Price":{"count":92},"Family Dollar":{"count":405},"GiFi":{"count":92},"Dollar General":{"count":233},"Big Lots":{"count":54},"Poundland":{"count":132},"Variety Store":{"count":143}},"alcohol":{"Alko":{"count":169},"Beer Store":{"count":54},"LCBO":{"count":371},"The Beer Store":{"count":213},"Systembolaget":{"count":259},"Норман":{"count":120},"Ароматный мир":{"count":130},"Bargain Booze":{"count":108},"BWS":{"count":124},"Vinmonopolet":{"count":60},"Botilleria":{"count":87},"SAQ":{"count":118},"Gall & Gall":{"count":505},"Liquorland":{"count":86},"Mitra":{"count":60},"Nicolas":{"count":180},"Живое пиво":{"count":158},"Dan Murphy's":{"count":54},"Красное и белое":{"count":88},"BC Liquor Store":{"count":52},"Красное & Белое":{"count":168},"Liquor Store":{"count":54},"Бристоль":{"count":152},"Красное и Белое":{"count":57},"Разливное пиво":{"count":96},"Красное&Белое":{"count":78},"Пиво":{"count":53}},"bicycle":{"Halfords":{"count":156},"サイクルベースあさひ":{"count":64},"Веломарка":{"count":52}},"clothes":{"KiK":{"count":1684},"H&M":{"count":1182},"C&A":{"count":764},"Second Hand":{"count":129},"Urban Outfitters":{"count":107},"Vögele":{"count":182},"Zeeman":{"count":272},"Takko":{"count":761},"Adler":{"count":75},"Charles Vögele":{"count":114},"Nike":{"count":80},"Peek & Cloppenburg":{"count":68},"OVS":{"count":59},"Zara":{"count":413},"Vero Moda":{"count":187},"Ernsting's family":{"count":631},"Winners":{"count":93},"NKD":{"count":690},"GAP":{"count":63},"River Island":{"count":105},"Next":{"count":262},"Monsoon":{"count":72},"Gap":{"count":147},"Adidas":{"count":176},"Gerry Weber":{"count":183},"Woolworths":{"count":119},"Ulla Popken":{"count":105},"Mr Price":{"count":93},"Jet":{"count":65},"Pep":{"count":134},"Edgars":{"count":113},"Ackermans":{"count":93},"House":{"count":53},"Truworths":{"count":66},"Reserved":{"count":99},"Ross":{"count":215},"Hugo Boss":{"count":82},"Burton":{"count":78},"Dorothy Perkins":{"count":77},"s.Oliver":{"count":89},"Cecil":{"count":103},"Lane Bryant":{"count":66},"Dress Barn":{"count":97},"Old Navy":{"count":303},"Dressmann":{"count":56},"Jack & Jones":{"count":142},"Hunkemöller":{"count":129},"Pimkie":{"count":141},"Esprit":{"count":359},"Primark":{"count":150},"Bonita":{"count":277},"Mexx":{"count":76},"Matalan":{"count":127},"Tally Weijl":{"count":118},"Mango":{"count":277},"TK Maxx":{"count":157},"Springfield":{"count":69},"Sisley":{"count":68},"Benetton":{"count":164},"AWG":{"count":83},"Tommy Hilfiger":{"count":149},"Wibra":{"count":59},"Fat Face":{"count":72},"Reitmans":{"count":51},"Lindex":{"count":99},"New Look":{"count":230},"KappAhl":{"count":64},"New Yorker":{"count":301},"Etam":{"count":91},"Kiabi":{"count":234},"Palmers":{"count":68},"Jack Wolfskin":{"count":69},"American Apparel":{"count":86},"Desigual":{"count":135},"Cubus":{"count":54},"Gant":{"count":65},"Tom Tailor":{"count":101},"Topshop":{"count":58},"Bershka":{"count":117},"Burlington Coat Factory":{"count":76},"Jules":{"count":95},"Guess":{"count":100},"Jennyfer":{"count":60},"Pepco":{"count":88},"Orsay":{"count":139},"Tezenis":{"count":64},"Forever 21":{"count":84},"Mark's":{"count":55},"Triumph":{"count":100},"Timberland":{"count":66},"Superdry":{"count":62},"AOKI":{"count":89},"Calzedonia":{"count":186},"Intimissimi":{"count":119},"Orchestra":{"count":79},"United Colors of Benetton":{"count":159},"Goodwill":{"count":56},"洋服の青山":{"count":199},"Levi's":{"count":152},"Petit Bateau":{"count":55},"Diesel":{"count":66},"American Eagle Outfitters":{"count":62},"Celio":{"count":140},"Camaïeu":{"count":98},"Puma":{"count":55},"Lacoste":{"count":156},"WE":{"count":62},"Men's Wearhouse":{"count":112},"Sergent Major":{"count":63},"Jeans Fritz":{"count":92},"Ross Dress for Less":{"count":52},"Promod":{"count":159},"Street One":{"count":129},"TJ Maxx":{"count":171},"ユニクロ":{"count":168},"Engbers":{"count":62},"Only":{"count":62},"Marc O'Polo":{"count":61},"Banana Republic":{"count":102},"Одежда":{"count":124},"Marshalls":{"count":161},"La Halle":{"count":113},"Peacocks":{"count":144},"Camaieu":{"count":68},"Justice":{"count":59},"Massimo Dutti":{"count":76},"Cache Cache":{"count":53},"Женская одежда":{"count":51},"Victoria's Secret":{"count":90},"Спецодежда":{"count":65},"西松屋":{"count":84},"Calvin Klein":{"count":56},"Stradivarius":{"count":66},"Stefanel":{"count":51},"Gina Laura":{"count":57},"Chico's":{"count":74},"Caroll":{"count":61},"しまむら":{"count":161},"Gémo":{"count":71},"ワークマン":{"count":51},"Mim":{"count":52},"Cropp":{"count":52},"Toko Pakaian":{"count":72}},"bookmaker":{"Paddy Power":{"count":102},"Ladbrokes":{"count":497},"Betfred":{"count":229},"William Hill":{"count":518},"Coral":{"count":352}},"video_games":{"GameStop":{"count":372},"Game Stop":{"count":80},"EB Games":{"count":86},"Micromania":{"count":67},"Gamestop":{"count":56},"Game":{"count":53}},"beverages":{"REWE Getränkemarkt":{"count":131},"Getränke Hoffmann":{"count":164},"Orterer Getränkemarkt":{"count":65},"Rewe Getränkemarkt":{"count":110},"Getränkemarkt":{"count":104},"Fristo":{"count":85},"Trinkgut":{"count":58},"Dursty":{"count":71},"Getränkeland":{"count":71},"Edeka Getränkemarkt":{"count":62},"trinkgut":{"count":52}},"pet":{"Fressnapf":{"count":555},"PetSmart":{"count":398},"Pet Valu":{"count":84},"Das Futterhaus":{"count":128},"Pets at Home":{"count":133},"Petco":{"count":281},"Зоотовары":{"count":63}},"butcher":{"Boucherie":{"count":103},"Carniceria":{"count":69},"Мясо":{"count":131},"Великолукский мясокомбинат":{"count":160},"Мясная лавка":{"count":165},"Macelleria":{"count":68},"Ариант":{"count":69},"Свежее мясо":{"count":82}},"tobacco":{"Estanco":{"count":76},"Tabacchi":{"count":53},"Табак":{"count":58},"Nemzeti Dohánybolt":{"count":386},"Nemzeti dohánybolt":{"count":134}},"laundry":{"Laundrette":{"count":52},"Coin Laundry":{"count":71},"Laverie":{"count":96},"Laundromat":{"count":122},"Lavanderia":{"count":76},"Laundry":{"count":84}},"optician":{"Boots Opticians":{"count":68},"Fielmann":{"count":375},"Pearle":{"count":120},"Apollo":{"count":377},"Hakim Optical":{"count":62},"メガネスーパー":{"count":51},"Vision Express":{"count":146},"Générale d'Optique":{"count":66},"Optic 2000":{"count":225},"Alain Afflelou":{"count":153},"Specsavers":{"count":287},"Krys":{"count":144},"Optical Center":{"count":90},"Atol":{"count":101},"Les Opticiens Mutualistes":{"count":76},"Hans Anders":{"count":63},"Optika":{"count":51},"眼鏡市場":{"count":176},"แว่นท็อปเจริญ":{"count":57}},"hardware":{"Lowe's":{"count":81},"1000 мелочей":{"count":87},"Стройматериалы":{"count":87},"Home Hardware":{"count":67},"Хозтовары":{"count":336},"Ferretería":{"count":78},"Hardware":{"count":63},"Quincaillerie":{"count":66},"Сантехника":{"count":52},"Ferreteria":{"count":95}},"shoes":{"Deichmann":{"count":1083},"Reno":{"count":231},"Payless ShoeSource":{"count":91},"Ecco":{"count":131},"Clarks":{"count":221},"La Halle aux Chaussures":{"count":120},"東京靴流通センター":{"count":56},"Brantano":{"count":130},"Tamaris":{"count":73},"Geox":{"count":113},"Salamander":{"count":88},"Payless Shoe Source":{"count":255},"Famous Footwear":{"count":132},"Quick Schuh":{"count":109},"Foot Locker":{"count":192},"Shoe Zone":{"count":135},"Siemes Schuhcenter":{"count":62},"Юничел":{"count":54},"Ремонт обуви":{"count":51},"Rieker":{"count":55},"Aldo":{"count":59},"Bata":{"count":200},"Eram":{"count":73},"CCC":{"count":169},"Scapino":{"count":55},"ЦентрОбувь":{"count":73},"Chaussea":{"count":74}},"toys":{"La Grande Récré":{"count":82},"Toys R Us":{"count":358,"tags":{"shop":"toys"}},"Intertoys":{"count":108},"Bart Smit":{"count":80},"Детский мир":{"count":151},"Maxi Toys":{"count":51},"Игрушки":{"count":76},"King Jouet":{"count":78},"Dráčik":{"count":51}},"travel_agency":{"Flight Centre":{"count":130},"Thomson":{"count":106},"Thomas Cook":{"count":236},"First Reisebüro":{"count":52},"TUI":{"count":187},"The Co-operative Travel":{"count":51}},"jewelry":{"585":{"count":77},"Bijou Brigitte":{"count":143},"Christ":{"count":98},"Claire's":{"count":69},"Swarovski":{"count":174},"Pandora":{"count":177},"Адамас":{"count":54},"Kay Jewelers":{"count":59}},"carpet":{"Carpet Right":{"count":90}},"energy":{"Punto Enel":{"count":1007}},"beauty":{"Yves Rocher":{"count":708},"Nails":{"count":60},"Sally Beauty Supply":{"count":101}},"car_parts":{"Halfords":{"count":84},"Автозапчасти":{"count":576},"Автомагазин":{"count":75},"AutoZone":{"count":481},"O'Reilly Auto Parts":{"count":222},"NAPA Auto Parts":{"count":185},"Advance Auto Parts":{"count":210},"タイヤ館":{"count":76},"Repco":{"count":58},"オートバックス":{"count":65},"イエローハット":{"count":57},"Tokić":{"count":61},"repuestos automotrices":{"count":61}},"video":{"World of Video":{"count":59},"Family Video":{"count":72},"Blockbuster":{"count":90},"TSUTAYA":{"count":94},"ゲオ":{"count":58}},"charity":{"British Heart Foundation":{"count":137},"Cancer Research UK":{"count":101},"Oxfam":{"count":169},"Scope":{"count":55},"Age UK":{"count":91},"Goodwill":{"count":77},"Sue Ryder":{"count":57}},"florist":{"Monceau Fleurs":{"count":62},"Blumenladen":{"count":69},"Interflora":{"count":66},"Blume 2000":{"count":86},"Цветы":{"count":1002},"Blumen":{"count":74},"Blumen Risse":{"count":64},"상록식물원 (Sangnok Florist)":{"count":57},"Florărie":{"count":53},"Kwiaciarnia":{"count":177},"Virágbolt":{"count":56}},"tailor":{"Änderungsschneiderei":{"count":171},"Ателье":{"count":70}},"hearing_aids":{"Kind Hörgeräte":{"count":61},"Amplifon":{"count":84}},"hairdresser":{"Klier":{"count":218},"Klipp":{"count":64},"Toni & Guy":{"count":63},"Haarscharf":{"count":56},"Supercuts":{"count":276},"Hairkiller":{"count":73},"Great Clips":{"count":426},"Парикмахерская":{"count":719},"Haarmonie":{"count":74},"Top Hair":{"count":64},"Figaro":{"count":60},"Перукарня":{"count":81},"Tchip":{"count":53},"Jean Louis David":{"count":76},"The Barber Shop":{"count":81},"Стиль":{"count":74},"Sport Clips":{"count":88},"Franck Provost":{"count":120},"Hair Cuttery":{"count":92},"Cost Cutters":{"count":56},"Coiffure":{"count":61},"Шарм":{"count":60},"Салон красоты":{"count":80},"Peluquería":{"count":58}},"bed":{"Matratzen Concord":{"count":324},"Dänisches Bettenlager":{"count":129},"Mattress Firm":{"count":102}},"copyshop":{"FedEx Office Print and Ship Center":{"count":166}},"erotic":{"Orion":{"count":76}},"money_lender":{"Money Mart":{"count":79}},"cosmetics":{"The Body Shop":{"count":59},"Yves Rocher":{"count":73},"Sephora":{"count":59},"Л'Этуаль":{"count":66}},"confectionery":{"Thorntons":{"count":57},"Hussel":{"count":71},"Leonidas":{"count":75},"Fagyizó":{"count":59}},"music":{"HMV":{"count":79}},"motorcycle":{"Harley Davidson":{"count":58},"Yamaha":{"count":171},"Honda":{"count":174},"Suzuki":{"count":80}},"newsagent":{"Relay":{"count":212},"WH Smith":{"count":53},"Maison de la Presse":{"count":103},"WHSmith":{"count":72},"Печать":{"count":92},"Tabac Presse":{"count":58},"Роспечать":{"count":306},"Союзпечать":{"count":120},"Edicola":{"count":94},"Витебскоблсоюзпечать":{"count":52},"Пресса":{"count":73}},"lottery":{"Lotto":{"count":113},"ONCE":{"count":68},"Lottózó":{"count":60}},"coffee":{"Tchibo":{"count":155},"Starbucks":{"count":164,"tags":{"cuisine":"coffee_shop"}},"Café Amazon":{"count":219}},"garden_centre":{"Dehner":{"count":56},"Jardiland":{"count":114},"Gamm Vert":{"count":164},"Point Vert":{"count":55}},"tyres":{"Шиномонтаж":{"count":349},"Discount Tire":{"count":67},"Euromaster":{"count":60},"Borracharia":{"count":55},"Вулканизация":{"count":67}},"baby_goods":{"Babies R Us":{"count":67}},"craft":{"Michael's":{"count":74},"Michaels":{"count":79},"Hobby Lobby":{"count":57}},"outdoor":{"REI":{"count":66},"Mountain Warehouse":{"count":59},"Рыболов":{"count":62}},"houseware":{"Blokker":{"count":212},"Xenos":{"count":67},"Marskramer":{"count":58}},"computer":{"PC World":{"count":63},"ДНС":{"count":51},"DNS":{"count":201},"Apple Store":{"count":70}},"interior_decoration":{"Depot":{"count":66}},"second_hand":{"Goodwill":{"count":171}},"pawnbroker":{"Cash Converters":{"count":64},"Ломбард":{"count":177}},"hifi":{},"farm":{"Hofladen":{"count":51}},"dry_cleaning":{"Химчистка":{"count":55},"Диана":{"count":68},"Cleaners":{"count":80},"ホワイト急便":{"count":81}},"paint":{"Sherwin-Williams":{"count":107},"Comex":{"count":51},"Sherwin Williams":{"count":111}},"funeral_directors":{"Ритуальные услуги":{"count":114},"The Co-operative Funeralcare":{"count":53}},"gift":{"Hallmark":{"count":119},"Сувениры":{"count":60},"Card Factory":{"count":70},"Gift Shop":{"count":53}},"ticket":{"Проездные билеты":{"count":54},"Boutique Grandes Lignes":{"count":63},"Guichet Transilien":{"count":245}},"greengrocer":{"Овощи-фрукты":{"count":98},"Zöldséges":{"count":52}},"ice_cream":{"Мороженое":{"count":67}},"fabric":{"Ткани":{"count":105}},"frame":{"rumah penduduk":{"count":175}},"kitchen":{"Home Utensils":{"count":65}}},"tourism":{"hotel":{"Holiday Inn":{"count":429},"Hotel Ibis":{"count":67},"Novotel":{"count":172},"Crowne Plaza":{"count":86},"Premier Inn":{"count":362},"Holiday Inn Express":{"count":472},"Park Hotel":{"count":75},"Krone":{"count":66},"Ibis":{"count":203},"Ibis Budget":{"count":178},"Travelodge":{"count":280},"City Hotel":{"count":69},"Hotel Royal":{"count":54},"Campanile":{"count":137},"Comfort Inn":{"count":273},"Quality Inn & Suites":{"count":57},"Courtyard by Marriott":{"count":74},"Mercure":{"count":112},"Hotel Europa":{"count":74},"Formule 1":{"count":70},"Grand Hotel":{"count":83},"Hilton":{"count":56},"Courtyard Marriott":{"count":69},"Hotel Krone":{"count":56},"Ramada":{"count":103},"Best Western":{"count":231},"Quality Inn":{"count":166},"Days Inn":{"count":246},"Royal Hotel":{"count":81},"Marriott":{"count":66},"Première Classe":{"count":53},"Hotel Central":{"count":78},"Hotel Victoria":{"count":52},"東横イン":{"count":53},"Kyriad":{"count":60},"Parkhotel":{"count":65},"Extended Stay America":{"count":90},"Hotel zur Post":{"count":57},"Fairfield Inn":{"count":60},"Hotel Post":{"count":56},"Staybridge Suites":{"count":51},"Hotel Panorama":{"count":51},"Hampton Inn & Suites":{"count":84},"Hotel":{"count":270},"Sheraton":{"count":65},"Hôtel Ibis":{"count":63},"Sleep Inn":{"count":59},"Country Inn & Suites":{"count":82},"Comfort Suites":{"count":143},"Super 8":{"count":223},"Гостиница":{"count":120},"Residence Inn":{"count":83},"Homewood Suites":{"count":57},"Hilton Garden Inn":{"count":178},"Hôtel de France":{"count":53},"Hampton Inn":{"count":380},"Embassy Suites":{"count":65},"Econo Lodge":{"count":66},"Comfort Inn & Suites":{"count":59},"Motel 6":{"count":85},"La Quinta":{"count":57},"Holiday Inn Express & Suites":{"count":56},"Fairfield Inn & Suites":{"count":63}},"motel":{"Travelodge":{"count":68},"Motel":{"count":72},"Econo Lodge":{"count":81},"Super 8":{"count":162},"Days Inn":{"count":100},"Motel 6":{"count":190},"Rodeway Inn":{"count":77},"Comfort Inn":{"count":128},"Best Western":{"count":57},"Quality Inn":{"count":91},"Holiday Inn Express":{"count":52},"Budget Inn":{"count":60}},"museum":{"Heimatmuseum":{"count":336},"Stadtmuseum":{"count":84},"Краеведческий музей":{"count":210},"Музей":{"count":83},"Tájház":{"count":89}},"attraction":{"Kursächsische Postmeilensäule":{"count":54},"Lavoir":{"count":78},"Sommerrodelbahn":{"count":60},"Часовня":{"count":66},"Колесо обозрения":{"count":54},"дольмен":{"count":112},"Усадьба":{"count":52},"Кладбище еврейское":{"count":91},"Приусадебный парк":{"count":69},"Хозяйственный двор":{"count":72},"OWŚ":{"count":106}},"camp_site":{"Camping":{"count":173},"Camping Municipal":{"count":184},"Camping municipal":{"count":77},"Campsite":{"count":59}},"chalet":{"Ferienwohnung":{"count":55}},"hostel":{"Общежитие":{"count":58}},"alpine_hut":{"КОШ":{"count":77}},"caravan_site":{"мк с Освещением ":{"count":97},"жб с Освещением ":{"count":65}}},"leisure":{"playground":{"Playground":{"count":569},"Abenteuerspielplatz":{"count":149},"Kinderspielplatz":{"count":268},"Waldspielplatz":{"count":170},"Spielplatz":{"count":264},"Bolzplatz":{"count":127},"Wasserspielplatz":{"count":148},"Játszótér":{"count":114},"Parque Infantil":{"count":385},"Parque":{"count":59},"Parque infantil":{"count":79},"Aire de Jeux":{"count":78},"Plac zabaw":{"count":255},"Dětské hřiště":{"count":77},"Детская площадка":{"count":200},"playground":{"count":118},"Tot Lot":{"count":121},"Jeux Enfants":{"count":51},"Parco giochi":{"count":58},"Zona Infantil":{"count":57}},"sports_centre":{"Kieser Training":{"count":95},"Turnhalle":{"count":612},"Virgin Active":{"count":69},"Planet Fitness":{"count":104},"Sporthalle":{"count":1056},"Schulsporthalle":{"count":85},"Palestra":{"count":74},"Sportplatz":{"count":100},"Schützenhaus":{"count":77},"Fitness First":{"count":67},"LA Fitness":{"count":106},"Reithalle":{"count":104},"McFit":{"count":59},"Спортзал":{"count":94},"Mrs. Sporty":{"count":75},"Tennishalle":{"count":164},"YMCA":{"count":166},"Hallenbad":{"count":79},"Palazzetto dello Sport":{"count":114},"24 Hour Fitness":{"count":52},"Mehrzweckhalle":{"count":152},"Gold's Gym":{"count":79},"Polideportivo":{"count":200},"Curves":{"count":88},"Tennis":{"count":109},"ДЮСШ":{"count":72},"Gymnase":{"count":360},"Salle Polyvalente":{"count":59},"ФОК":{"count":81},"Anytime Fitness":{"count":126},"Piscina Municipal":{"count":54},"Gym":{"count":80},"Hala sportowa":{"count":61},"Orlik":{"count":70},"Спорткомплекс":{"count":52},"Palestra Comunale":{"count":65},"Gymnasium":{"count":55},"Gimnasio":{"count":144},"Gimnasio Municipal":{"count":75},"Polideportivo Municipal":{"count":185},"Life Time Fitness":{"count":78},"Pabellón de Deportes":{"count":82},"Pabellón Municipal de Deportes":{"count":85}},"swimming_pool":{"Piscina municipal":{"count":77},"Piscine municipale":{"count":102},"Pool":{"count":170},"Piscine":{"count":97},"Piscina Comunale":{"count":59},"Swimming Pool":{"count":88},"Бассейн":{"count":62},"Piscina Municipal":{"count":178},"Piscina":{"count":145},"Nichtschwimmerbecken":{"count":57},"Sportbecken":{"count":54},"Kinderbecken":{"count":94},"piscina":{"count":62}}},"man_made":{"windmill":{"De Hoop":{"count":57}}}},"addressFormats":[{"format":[["housenumber","street"],["city","postcode"]]},{"countryCodes":["gb"],"format":[["housename"],["housenumber","street"],["city","postcode"]]},{"countryCodes":["ie"],"format":[["housename"],["housenumber","street"],["city"],["postcode"]]},{"countryCodes":["ad","at","ba","be","ch","cz","de","dk","es","fi","gr","hr","is","it","li","nl","no","pl","pt","se","si","sk","sm","va"],"format":[["street","housenumber"],["postcode","city"]]},{"countryCodes":["fr","lu","mo"],"format":[["housenumber","street"],["postcode","city"]]},{"countryCodes":["br"],"format":[["street"],["housenumber","suburb"],["city","postcode"]]},{"countryCodes":["vn"],"format":[["housenumber","street"],["subdistrict"],["district"],["city"],["province","postcode"]]},{"countryCodes":["us"],"format":[["housenumber","street"],["city","state","postcode"]]},{"countryCodes":["ca"],"format":[["housenumber","street"],["city","province","postcode"]]}],"phoneFormats":{"us":"+1-202-555-1234","ca":"+1-226-555-1234","bs":"+1-242-555-1234","bb":"+1-246-555-1234","ai":"+1-264-555-1234","ag":"+1-268-555-1234","vg":"+1-284-555-1234","vi":"+1-340-555-1234","ky":"+1-345-555-1234","bm":"+1-441-555-1234","gd":"+1-473-555-1234","tc":"+1-649-555-1234","ms":"+1-664-555-1234","mp":"+1-670-555-1234","gu":"+1-671-555-1234","as":"+1-684-555-1234","sx":"+1-721-555-1234","lc":"+1-758-555-1234","dm":"+1-767-555-1234","vc":"+1-784-555-1234","pr":"+1-787-555-1234","do":"+1-809-555-1234","tt":"+1-868-555-1234","kn":"+1-869-555-1234","jm":"+1-876-555-1234","za":"+27 11 907 1111","nl":"+31 42 123 4567","fr":"+33 1 23 45 67 89","es":"+34 989 12 34 56","pt":"+351 211 123456","fi":"+358 40 123 4567","hu":"+36 1 123 45 67","hr":"+385 01 123 4567","si":"+386 31 123 4567","it":"+39 01 123 456","va":"+39 01 123 456","gb":"+44 207 123456","gg":"+44 207 123456","im":"+44 207 123456","je":"+44 207 123456","se":"+46 31 123 4567","no":"+47 22 12 34 56","sj":"+47 22 12 34 56","pl":"+48 42 123 4567","de":"+49 89 1234567","br":"+55 11 0982 1098","ru":"+7 495 1234567","kz":"+7 495 1234567","vn":"+84 1 234 5678","hk":"+852 12345678"},"driveLeft":{"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[113.573,22.186],[114,22.5],[114.05534,22.503],[114.0595,22.51422],[114.07345,22.51934],[114.0786,22.53012],[114.08512,22.53228],[114.09034,22.53717],[114.09611,22.53486],[114.10602,22.53472],[114.1115,22.52929],[114.11522,22.5308],[114.11649,22.53418],[114.11979,22.53511],[114.1244,22.5393],[114.12729,22.53947],[114.13018,22.54132],[114.13807,22.5432],[114.14429,22.54176],[114.14441,22.54114],[114.14846,22.54179],[114.14855,22.54397],[114.15042,22.54593],[114.14964,22.54954],[114.15166,22.55168],[114.15192,22.55438],[114.15642,22.55495],[114.15841,22.55909],[114.16032,22.56153],[114.16162,22.56187],[114.1634,22.55931],[114.16553,22.5593],[114.16733,22.56119],[114.16934,22.56093],[114.17061,22.5597],[114.17702,22.56],[114.17798,22.55546],[114.18401,22.5552],[114.18673,22.55468],[114.1878,22.55545],[114.18979,22.55446],[114.1955,22.55564],[114.19674,22.55691],[114.20005,22.55717],[114.20376,22.55623],[114.20884,22.55672],[114.22438,22.55055],[114.2264,22.5476],[114.22545,22.54528],[114.22661,22.54339],[114.32,22.576],[114.45,22.43],[114.45,22.14],[113.9,22.14],[113.75,22.22],[113.553,22.095],[113.54678,22.1207],[113.5456,22.1207],[113.54076,22.12373],[113.54016,22.13618],[113.54701,22.13651],[113.5475,22.14583],[113.52456,22.17978],[113.53623,22.20191],[113.53299,22.21232],[113.53497,22.21351],[113.53735,22.21377],[113.54156,22.21315],[113.54385,22.21709],[113.55849,22.21565],[113.573,22.186]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-75,18],[-80,20.5],[-83,19],[-77,16],[-75,18]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-64.33594,32.86113],[-79.39819,27.21067],[-80.63965,23.71998],[-73.39966,20.40642],[-65.1709,19.20743],[-65.09399,16.23577],[-59.13391,16.80454],[-62.64404,15.16228],[-59.43054,14.85985],[-62.83081,13.64599],[-61.80359,10.73752],[-62.08649,10.04729],[-61.06201,9.85522],[-59.81369,8.31274],[-59.8027,8.27469],[-59.83498,8.22712],[-59.94141,8.21149],[-59.99771,8.15576],[-59.97986,8.13265],[-59.99771,8.12041],[-60.00183,8.07147],[-60.05127,8.02524],[-60.09933,8.03747],[-60.12268,8.02388],[-60.14053,7.98988],[-60.36163,7.83345],[-60.53467,7.81713],[-60.5896,7.6375],[-60.72144,7.54493],[-60.5896,7.31888],[-60.63904,7.24532],[-60.54703,7.12542],[-60.46875,7.20309],[-60.37262,7.18401],[-60.29984,7.1445],[-60.2916,7.06819],[-60.39871,6.95097],[-60.66513,6.83235],[-60.71869,6.75053],[-60.91232,6.81735],[-60.94254,6.72053],[-61.14441,6.72326],[-61.23093,6.5773],[-61.1554,6.45314],[-61.14441,6.20199],[-61.39709,5.95619],[-60.71045,5.20036],[-60.21606,5.23319],[-59.99634,5.06906],[-60.13916,4.51071],[-59.69971,4.40118],[-59.5459,3.93002],[-59.87549,3.56825],[-59.7876,3.37086],[-60.01831,2.83332],[-59.90845,2.38335],[-59.69971,2.2626],[-59.77661,1.87833],[-59.65302,1.85087],[-59.69147,1.75754],[-59.61456,1.71361],[-59.55139,1.73283],[-59.36188,1.49123],[-59.26575,1.39238],[-58.92242,1.30726],[-58.83728,1.17271],[-58.71918,1.23037],[-58.71094,1.29902],[-58.49121,1.26058],[-58.461,1.37591],[-58.50494,1.38689],[-58.51044,1.46102],[-58.38135,1.4775],[-58.32642,1.57359],[-58.00507,1.49946],[-57.99133,1.65321],[-57.79907,1.69165],[-57.70844,1.71087],[-57.54364,1.68341],[-57.41455,1.94421],[-57.10693,1.97715],[-56.8103,1.85636],[-56.48071,1.92225],[-55.90942,1.81244],[-55.90942,2.04302],[-56.14014,2.26534],[-55.94788,2.53701],[-55.70892,2.39981],[-55.37933,2.43274],[-55.19257,2.53976],[-54.98108,2.57268],[-54.88495,2.43548],[-54.71191,2.46293],[-54.69543,2.34767],[-54.58832,2.32846],[-54.43451,2.43548],[-54.20654,2.76748],[-54.17358,3.12955],[-53.96484,3.57921],[-54.33838,4.00674],[-54.44412,4.52577],[-54.46884,4.91036],[-54.36653,5.13061],[-54.27727,5.26191],[-54.19968,5.3084],[-54.01222,5.54457],[-54.0239,5.64605],[-53.86322,5.94936],[-64.33594,32.86113]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-14.5,-6],[11.79657,-17.27197],[12.03415,-17.14866],[12.38159,-17.22213],[12.58484,-17.22476],[13.01193,-16.97405],[13.24951,-17.00098],[13.38135,-16.98522],[13.93341,-17.38734],[18.42476,-17.38996],[18.47763,-17.46857],[18.62663,-17.64599],[18.79211,-17.76177],[18.92944,-17.82061],[19.33044,-17.84806],[19.66278,-17.8644],[19.74792,-17.90557],[19.85161,-17.87486],[20.10361,-17.90296],[20.18394,-17.88401],[20.34737,-17.88466],[20.44693,-17.91733],[20.51697,-17.96698],[20.83008,-18.03032],[20.95711,-17.97285],[21.16997,-17.93497],[21.42677,-18.0264],[23.45032,-17.63879],[22.00012,-16.38866],[21.99944,-13.00523],[24.03809,-12.99118],[24.03809,-10.91962],[24.43359,-11.09217],[24.45557,-11.48002],[25.37842,-11.19996],[25.42236,-11.60919],[26.96045,-11.97484],[27.18018,-11.60919],[28.125,-12.42048],[29.11377,-13.36824],[29.1687,-13.43771],[29.55872,-13.19716],[29.68506,-13.2239],[29.62463,-13.41099],[29.80591,-13.44305],[29.81415,-12.14809],[29.31152,-12.55456],[28.41064,-11.78133],[28.63037,-10.70379],[28.65234,-9.73071],[28.37219,-9.24309],[28.89748,-8.47916],[30.78644,-8.26857],[29.39941,-6.05316],[29.4873,-4.45595],[29.75922,-4.46759],[29.81415,-4.36421],[29.88007,-4.36832],[30.04074,-4.26699],[30.07919,-4.1629],[30.18356,-4.08311],[30.1918,-4.05126],[30.21566,-4.04595],[30.22923,-4.01136],[30.21326,-3.99612],[30.25978,-3.88755],[30.29274,-3.86288],[30.34424,-3.77245],[30.39848,-3.79095],[30.40878,-3.76765],[30.39548,-3.7304],[30.39054,-3.72821],[30.3896,-3.71918],[30.39093,-3.7101],[30.39514,-3.70444],[30.42028,-3.64963],[30.46886,-3.53501],[30.67108,-3.41335],[30.63297,-3.34892],[30.84206,-3.25535],[30.84549,-3.16108],[30.83485,-3.09698],[30.7933,-3.06235],[30.82111,-3.02258],[30.84515,-2.9739],[30.74764,-2.99618],[30.7037,-2.97013],[30.66422,-2.98967],[30.57632,-2.90738],[30.49393,-2.94441],[30.41016,-2.87172],[30.52002,-2.39432],[30.77545,-2.38883],[30.8606,-2.31199],[30.84961,-2.19398],[30.89081,-2.07322],[30.81116,-1.96068],[30.83862,-1.6587],[30.73425,-1.4418],[30.56259,-1.33884],[30.4541,-1.05737],[30.35797,-1.06287],[30.34149,-1.13152],[30.16571,-1.34296],[29.91852,-1.48024],[29.83887,-1.31824],[29.58344,-1.39238],[29.729,0.05493],[29.96796,0.5136],[29.9707,0.8569],[30.22339,0.92281],[30.24536,1.15349],[30.47745,1.20772],[31.30966,2.15693],[31.20255,2.22211],[31.20255,2.29278],[31.16409,2.27906],[31.13937,2.28318],[31.13113,2.26534],[31.07826,2.30033],[31.0714,2.34767],[31.00479,2.4005],[30.97183,2.40461],[30.94711,2.38746],[30.94849,2.36276],[30.9375,2.33532],[30.88531,2.34012],[30.83038,2.42176],[30.74112,2.43274],[30.76035,2.5864],[30.90179,2.88132],[30.76447,3.04178],[30.93613,3.40239],[30.94059,3.50588],[30.85236,3.48601],[30.90866,3.5936],[30.95055,3.63918],[30.94677,3.65391],[30.9866,3.70187],[31.00582,3.70701],[31.02058,3.69708],[31.16547,3.7954],[31.28838,3.79643],[31.52699,3.66282],[31.7038,3.72449],[31.82671,3.82794],[31.96198,3.65596],[31.95854,3.57099],[32.04987,3.59155],[32.07733,3.57099],[32.0842,3.53672],[32.20093,3.50657],[32.21672,3.56448],[32.19578,3.59977],[32.41516,3.74504],[32.72055,3.76782],[32.89307,3.81219],[33.02782,3.89371],[33.18146,3.7793],[33.51173,3.75258],[33.98758,4.23309],[34.05762,4.28342],[34.38721,4.61065],[35.94452,4.62023],[35.95688,4.53467],[36.04134,4.44568],[36.89621,4.4491],[38.14728,3.62992],[38.55927,3.62033],[38.92181,3.51068],[39.56039,3.43392],[39.87076,3.87522],[40.76752,4.28753],[41.16371,3.94372],[41.89774,3.97797],[41.31271,3.14463],[40.98896,2.82869],[40.99548,-0.84042],[41.7,-1.8],[41.7,-49],[-27,-60],[-65.7,-52.5],[-14.5,-6]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[31.33301,35.47856],[33.0249,33.75175],[35.44189,36.02245],[31.33301,35.47856]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[14,36.5],[15,36],[14,35],[14,36.5]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[0,62],[2.5,51.3],[-2,50],[-1.9,49],[-20,53],[0,62]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[180,-35],[161,-19],[167,-12],[180,-22],[180,4],[170,3.7],[127,5.7],[118,2.7],[119.5,5.4],[117.2,7.5],[102.6,8],[102.9158,11.74099],[102.76268,12.07357],[102.70226,12.17158],[102.74139,12.46474],[102.53128,12.68857],[102.49557,12.9256],[102.49763,13.0064],[102.4597,13.08199],[102.43412,13.09026],[102.39155,13.16407],[102.35481,13.29341],[102.35893,13.30945],[102.34503,13.34837],[102.35928,13.39797],[102.3567,13.48095],[102.36168,13.50582],[102.33559,13.53787],[102.33971,13.56023],[102.35498,13.5649],[102.36511,13.5785],[102.40047,13.5679],[102.42537,13.56891],[102.44614,13.56123],[102.48047,13.57091],[102.53849,13.56757],[102.5699,13.58526],[102.57806,13.60486],[102.62501,13.60845],[102.62132,13.61295],[102.60767,13.61562],[102.57231,13.63331],[102.56922,13.64082],[102.54879,13.658],[102.56252,13.68552],[102.5972,13.70803],[102.67084,13.74472],[102.68818,13.75172],[102.7014,13.7684],[102.73161,13.77082],[102.76543,13.85541],[102.78397,13.93207],[102.80388,13.94406],[102.81607,13.96639],[102.90705,14.02119],[102.89726,14.0535],[102.90095,14.0838],[102.92421,14.10744],[102.92378,14.12838],[102.94147,14.15035],[102.92953,14.17952],[103.17535,14.33774],[103.19939,14.32992],[103.68553,14.44],[103.94508,14.34157],[104.05756,14.34589],[104.06636,14.3419],[104.26025,14.37749],[104.50058,14.36984],[104.57817,14.36019],[104.6422,14.42387],[104.66632,14.40234],[104.68357,14.39877],[104.71138,14.43169],[104.72305,14.42188],[104.71687,14.40043],[104.75344,14.40459],[104.80408,14.43867],[104.83429,14.41573],[104.99239,14.3838],[105.05402,14.19783],[105.47905,14.49186],[105.60883,15.0005],[105.46703,15.13005],[105.48866,15.20237],[105.59269,15.2716],[105.58617,15.32823],[105.50308,15.31912],[105.46703,15.33948],[105.49175,15.37921],[105.59372,15.42869],[105.59372,15.50927],[105.60986,15.54871],[105.62616,15.56492],[105.62702,15.59129],[105.63518,15.62742],[105.63612,15.66056],[105.5975,15.72088],[105.49965,15.76681],[105.46291,15.74517],[105.43819,15.75459],[105.40489,15.79424],[105.34241,15.92039],[105.37811,15.98344],[105.39167,15.99136],[105.41931,15.98608],[105.42652,15.99764],[105.41468,16.01661],[105.21263,16.05076],[105.04955,16.10552],[105.01316,16.24401],[104.88235,16.37812],[104.8391,16.45782],[104.77936,16.49041],[104.73919,16.53287],[104.74228,16.62205],[104.76391,16.70953],[104.73953,16.80323],[104.76425,16.85088],[104.73782,16.90968],[104.744,17.0128],[104.81266,17.21853],[104.79841,17.39274],[104.70348,17.52833],[104.46384,17.65515],[104.34368,17.83564],[104.27776,17.8559],[104.22661,17.98069],[104.1116,18.10735],[104.06525,18.21174],[103.97392,18.33823],[103.9286,18.33237],[103.88809,18.29456],[103.85582,18.28673],[103.83659,18.32715],[103.79128,18.3467],[103.70201,18.34214],[103.60931,18.40405],[103.57292,18.40437],[103.51593,18.42978],[103.45963,18.42587],[103.41568,18.44802],[103.30479,18.43206],[103.24265,18.37082],[103.24333,18.34133],[103.29123,18.32357],[103.28899,18.29521],[103.23595,18.28299],[103.16608,18.25511],[103.02429,17.98135],[102.6535,17.83237],[102.40631,17.99963],[102.10968,18.22413],[101.548,17.81538],[101.30493,17.64991],[101.14563,17.46595],[100.95886,17.61654],[101.01757,17.88858],[101.18752,18.05121],[101.16863,18.10409],[101.18134,18.33595],[101.08727,18.38287],[101.05499,18.43988],[101.23215,18.73015],[101.35265,19.04524],[101.25927,19.12733],[101.2373,19.32637],[101.25824,19.58438],[101.11954,19.56836],[101.08898,19.58777],[101.08624,19.59715],[101.03165,19.6185],[100.89844,19.62125],[100.77827,19.49249],[100.63751,19.56432],[100.58258,19.49313],[100.47478,19.5944],[100.42929,19.67152],[100.43341,19.7024],[100.4147,19.7255],[100.40525,19.7646],[100.43907,19.80345],[100.45555,19.84843],[100.50636,19.87264],[100.51709,19.93027],[100.58653,20.1599],[100.56576,20.1757],[100.54945,20.17473],[100.52731,20.14379],[100.51065,20.14895],[100.48697,20.17956],[100.46774,20.196],[100.45246,20.20147],[100.45521,20.22129],[100.44783,20.23546],[100.41607,20.25286],[100.40594,20.28184],[100.38397,20.31082],[100.37556,20.35187],[100.36165,20.35638],[100.35736,20.37408],[100.33195,20.39902],[100.27805,20.40224],[100.25917,20.39677],[100.2475,20.37263],[100.22535,20.35509],[100.22346,20.31839],[100.16579,20.29988],[100.17162,20.24545],[100.10845,20.25221],[100.09266,20.2696],[100.09798,20.31485],[100.07961,20.3678],[99.9567,20.46417],[99.91636,20.44925],[99.90765,20.44977],[99.89121,20.44511],[99.87276,20.44406],[99.86212,20.44326],[99.80186,20.33948],[99.46472,20.3884],[99.56085,20.20035],[99.43691,20.08882],[99.27727,20.11623],[99.06921,20.1101],[98.97789,19.74538],[98.24387,19.68656],[97.85934,19.57014],[97.76733,18.57336],[97.39655,18.47179],[97.62451,18.30238],[97.73849,17.97743],[97.66502,17.87943],[97.90947,17.56745],[98.52951,16.82557],[98.51303,16.69276],[98.69293,16.26873],[98.87421,16.43609],[98.93394,16.3353],[98.84743,16.13356],[98.74512,16.12037],[98.58307,16.07287],[98.5762,15.79754],[98.54736,15.37557],[98.17383,15.15167],[98.3606,14.63674],[99.08295,13.89208],[99.16534,13.72204],[99.18182,13.00723],[99.39331,12.56797],[99.64153,11.78973],[99.32156,11.30266],[98.77859,10.67849],[98.80597,10.47642],[98.76657,10.40459],[98.74924,10.34194],[96.85547,6.40265],[92.42523,20.54794],[92.2728,20.96272],[92.187,21.16],[92.26,21.36],[92.27,21.4328],[92.62,21.43],[92.6,22],[93.22,22.25],[93.4,23.7],[93.34,23.95],[94.155,23.847],[94.17,23.92],[94.25171,24.07405],[94.28,24.23],[94.30175,24.2371],[94.3256,24.2731],[94.6,24.7],[94.78,25.47],[95.2,26],[95.1,26.6],[97.3,27.9],[96.14,29.38],[95.4,29.1],[94.8,29.2],[92.5,27.8],[91.64,27.76],[91.4,28],[89.58,28.18],[88.9,27.32],[88.74,27.47],[88.9,27.86],[88.7,28.1],[88.1,27.87],[85.93,27.942],[81.6,30.5],[81.2,30],[78.73,31.5],[78.77,31.99],[78.4,32.5],[79.3,32.5],[79,34.3],[78.3,34.6],[78,35.5],[76.1,35.8],[76,36.55],[75.15,37],[72.5,36.9],[71.1,36.1],[71.65,35.44],[71.45,35],[70.985,34.54],[71.18,34.36],[71.092,34.118],[70.88,33.97],[70.5,33.94],[69.908,34.04],[69.869,33.96],[70,33.75],[70.13,33.73],[70.34,33.34],[70.013,33.14],[69.57,33.09],[69.24,32.45],[69.3,31.9],[68.1,31.6],[66.393,30.934],[66.2,29.8],[62.5,29.4],[60.87,29.86],[61.53,29.0165],[61.66,28.77],[61.96,28.54],[62.43,28.42],[62.6,28.25],[62.795,28.28],[62.86,27.25],[63.24,27.25],[63.327,27.13],[63.25,27.1],[63.25,26.84],[63.18,26.83],[63.18,26.65],[62.3,26.5],[62.2,26.28],[61.85,26.22],[61.84,25.75],[61.68,25.67],[56.5,-21],[180,-65],[180,-35]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[138.7,46.7],[145.5,44.5],[145.2,43.7],[146,43.3],[142,18],[122,24.3],[138.7,46.7]]]}},{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-180,7],[-148,7],[-151,-12],[-171.5,-10.75],[-171,-16],[-152,-19],[-180,-55],[-180,7]]]}}]}};
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="800" height="560" viewBox="0, 0, 800, 560">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="900" height="560" viewBox="0, 0, 900, 560">
<defs>
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="-360.5" y1="177.987" x2="-362" y2="172.362" gradientTransform="matrix(1, 0, 0, 1, 934, -132.362)">
<stop offset="0" stop-color="#444444"/>
<path d="M747,210 L747,224 L745,234 L747,234 L748.594,226 L753.406,226 L755,234 L757,234 L755,224 L754,224 L749,224 L749,210 L747,210 z M753,210 L753,212 L755,212 L755,210 L753,210 z M741,213 C740,213 738.5,215.239 738.5,218 C738.5,220.761 740,223 741,223 L743,223 C741.619,223 740,220.761 740,218 C740,215.239 741.619,213 743,213 L741,213 z M756,213 C755,213 753.5,215.239 753.5,218 C753.5,220.761 755,223 756,223 L758,223 C756.619,223 755,220.761 755,218 C755,215.239 756.619,213 758,213 L756,213 z M764.5,213 C763.119,213 762,215.239 762,218 C762,220.761 763.119,223 764.5,223 C765.881,223 767,220.761 767,218 C767,215.239 765.881,213 764.5,213 z" fill="#989898" id="path25145-3"/>
</g>
</symbol>
- <symbol id="route-power" viewBox="660 200 60 60">
+ <symbol id="route-power" viewBox="780 200 60 60">
<g id="#g3890">
- <path d="M680,208 L680,209 L682,209 L682,208 L680,208 z M684,208 L684,209 L686,209 L686,208 L684,208 z M694,208 L694,209 L696,209 L696,208 L694,208 z M698,208 L698,209 L700,209 L700,208 L698,208 z M680.312,213 C679.647,216.533 677.267,218.5 675,218.5 L674,218.5 L674,219.5 L675,219.5 C676.042,219.5 677.082,219.196 678,218.594 L678,219.5 L679,219.5 C681.879,219.5 684.615,217.022 685.312,213 L684.312,213 C683.647,216.533 681.267,218.5 679,218.5 L678.125,218.5 C679.686,217.42 680.885,215.509 681.312,213 L680.312,213 z M694.687,213 C695.385,217.022 698.121,219.5 701,219.5 L702,219.5 L702,218.594 C702.918,219.196 703.958,219.5 705,219.5 L706,219.5 L706,218.5 L705,218.5 C702.733,218.5 700.353,216.533 699.687,213 L698.687,213 C699.115,215.509 700.314,217.42 701.875,218.5 L701,218.5 C698.733,218.5 696.353,216.533 695.687,213 L694.687,213 z" fill="#989898" id="rect4103-5"/>
- <path d="M688,208 L688,210 L679,210 L679,212 L688,212 L688,234 L692,234 L692,212 L701,212 L701,210 L692,210 L692,208 L688,208 z" fill="#B5B5B5" id="rect4101-1"/>
+ <path d="M800,208 L800,209 L802,209 L802,208 L800,208 z M804,208 L804,209 L806,209 L806,208 L804,208 z M814,208 L814,209 L816,209 L816,208 L814,208 z M818,208 L818,209 L820,209 L820,208 L818,208 z M800.313,213 C799.647,216.533 797.267,218.5 795,218.5 L794,218.5 L794,219.5 L795,219.5 C796.042,219.5 797.082,219.196 798,218.594 L798,219.5 L799,219.5 C801.879,219.5 804.615,217.022 805.313,213 L804.313,213 C803.647,216.533 801.267,218.5 799,218.5 L798.125,218.5 C799.686,217.42 800.885,215.509 801.313,213 L800.313,213 z M814.688,213 C815.385,217.022 818.121,219.5 821,219.5 L822,219.5 L822,218.594 C822.918,219.196 823.958,219.5 825,219.5 L826,219.5 L826,218.5 L825,218.5 C822.733,218.5 820.353,216.533 819.688,213 L818.688,213 C819.115,215.509 820.314,217.42 821.875,218.5 L821,218.5 C818.733,218.5 816.353,216.533 815.688,213 L814.688,213 z" fill="#989898" id="rect4103-5"/>
+ <path d="M808,208 L808,210 L799,210 L799,212 L808,212 L808,234 L812,234 L812,212 L821,212 L821,210 L812,210 L812,208 L808,208 z" fill="#B5B5B5" id="rect4101-1"/>
</g>
<g id="g22802">
<g id="g22804">
- <path d="M696.969,245.469 L694.031,249.531 L683.031,241.531 L685.969,237.469 z" fill="#46682F" id="path22806"/>
- <path d="M694.125,245.406 L696.875,249.594 L708.875,241.594 L706.125,237.406 z" fill="#70372F" id="path22808"/>
- <path d="M671.125,245.419 L673.875,249.575 L685.875,241.575 L683.125,237.419 z" fill="#2C5476" id="path22810"/>
+ <path d="M816.969,245.469 L814.031,249.531 L803.031,241.531 L805.969,237.469 z" fill="#46682F" id="path22806"/>
+ <path d="M814.125,245.406 L816.875,249.594 L828.875,241.594 L826.125,237.406 z" fill="#70372F" id="path22808"/>
+ <path d="M791.125,245.419 L793.875,249.575 L805.875,241.575 L803.125,237.419 z" fill="#2C5476" id="path22810"/>
</g>
- <path d="M696.375,246.281 L694.625,248.719 L683.625,240.719 L685.375,238.281 z" fill="#8CD05F" id="path22814"/>
- <path d="M694.656,246.25 L696.344,248.75 L708.344,240.75 L706.656,238.25 z" fill="#E06D5F" id="path22818"/>
- <path d="M671.656,246.263 L673.344,248.763 L685.344,240.763 L683.656,238.263 z" fill="#58A9ED" id="path22820"/>
- <path d="M710,239.5 C710,240.881 708.881,242 707.5,242 C706.119,242 705,240.881 705,239.5 C705,238.119 706.119,237 707.5,237 C708.881,237 710,238.119 710,239.5 z" fill="#70372F" id="path22822"/>
- <path d="M675,247.5 C675,248.881 673.881,250 672.5,250 C671.119,250 670,248.881 670,247.5 C670,246.119 671.119,245 672.5,245 C673.881,245 675,246.119 675,247.5 z" fill="#2C5476" id="path22824"/>
- <path d="M687,239.5 C687,240.881 685.881,242 684.5,242 C683.119,242 682,240.881 682,239.5 C682,238.119 683.119,237 684.5,237 C685.881,237 687,238.119 687,239.5 z" fill="#395E53" id="path22826"/>
- <path d="M698,247.5 C698,248.881 696.881,250 695.5,250 C694.119,250 693,248.881 693,247.5 C693,246.119 694.119,245 695.5,245 C696.881,245 698,246.119 698,247.5 z" fill="#5B502F" id="path22828"/>
- <path d="M709,239.5 C709,240.328 708.328,241 707.5,241 C706.672,241 706,240.328 706,239.5 C706,238.672 706.672,238 707.5,238 C708.328,238 709,238.672 709,239.5 z" fill="#FFFFFF" id="path22830"/>
- <path d="M697,247.5 C697,248.328 696.328,249 695.5,249 C694.672,249 694,248.328 694,247.5 C694,246.672 694.672,246 695.5,246 C696.328,246 697,246.672 697,247.5 z" fill="#FFFFFF" id="path22832"/>
- <path d="M686,239.5 C686,240.328 685.328,241 684.5,241 C683.672,241 683,240.328 683,239.5 C683,238.672 683.672,238 684.5,238 C685.328,238 686,238.672 686,239.5 z" fill="#FFFFFF" id="path22834"/>
- <path d="M674,247.5 C674,248.328 673.328,249 672.5,249 C671.672,249 671,248.328 671,247.5 C671,246.672 671.672,246 672.5,246 C673.328,246 674,246.672 674,247.5 z" fill="#FFFFFF" id="path22836"/>
+ <path d="M816.375,246.281 L814.625,248.719 L803.625,240.719 L805.375,238.281 z" fill="#8CD05F" id="path22814"/>
+ <path d="M814.656,246.25 L816.344,248.75 L828.344,240.75 L826.656,238.25 z" fill="#E06D5F" id="path22818"/>
+ <path d="M791.656,246.263 L793.344,248.763 L805.344,240.763 L803.656,238.263 z" fill="#58A9ED" id="path22820"/>
+ <path d="M830,239.5 C830,240.881 828.881,242 827.5,242 C826.119,242 825,240.881 825,239.5 C825,238.119 826.119,237 827.5,237 C828.881,237 830,238.119 830,239.5 z" fill="#70372F" id="path22822"/>
+ <path d="M795,247.5 C795,248.881 793.881,250 792.5,250 C791.119,250 790,248.881 790,247.5 C790,246.119 791.119,245 792.5,245 C793.881,245 795,246.119 795,247.5 z" fill="#2C5476" id="path22824"/>
+ <path d="M807,239.5 C807,240.881 805.881,242 804.5,242 C803.119,242 802,240.881 802,239.5 C802,238.119 803.119,237 804.5,237 C805.881,237 807,238.119 807,239.5 z" fill="#395E53" id="path22826"/>
+ <path d="M818,247.5 C818,248.881 816.881,250 815.5,250 C814.119,250 813,248.881 813,247.5 C813,246.119 814.119,245 815.5,245 C816.881,245 818,246.119 818,247.5 z" fill="#5B502F" id="path22828"/>
+ <path d="M829,239.5 C829,240.328 828.328,241 827.5,241 C826.672,241 826,240.328 826,239.5 C826,238.672 826.672,238 827.5,238 C828.328,238 829,238.672 829,239.5 z" fill="#FFFFFF" id="path22830"/>
+ <path d="M817,247.5 C817,248.328 816.328,249 815.5,249 C814.672,249 814,248.328 814,247.5 C814,246.672 814.672,246 815.5,246 C816.328,246 817,246.672 817,247.5 z" fill="#FFFFFF" id="path22832"/>
+ <path d="M806,239.5 C806,240.328 805.328,241 804.5,241 C803.672,241 803,240.328 803,239.5 C803,238.672 803.672,238 804.5,238 C805.328,238 806,238.672 806,239.5 z" fill="#FFFFFF" id="path22834"/>
+ <path d="M794,247.5 C794,248.328 793.328,249 792.5,249 C791.672,249 791,248.328 791,247.5 C791,246.672 791.672,246 792.5,246 C793.328,246 794,246.672 794,247.5 z" fill="#FFFFFF" id="path22836"/>
</g>
</symbol>
- <symbol id="route-ferry" viewBox="600 200 60 60">
+ <symbol id="route-ferry" viewBox="660 200 60 60">
<g id="g25015">
<g id="g25017">
- <path d="M636.969,245.469 L634.031,249.531 L623.031,241.531 L625.969,237.469 z" fill="#46682F" id="path25019"/>
- <path d="M634.125,245.406 L636.875,249.594 L648.875,241.594 L646.125,237.406 z" fill="#70372F" id="path25021"/>
- <path d="M611.125,245.419 L613.875,249.575 L625.875,241.575 L623.125,237.419 z" fill="#2C5476" id="path25023"/>
+ <path d="M696.969,245.469 L694.031,249.531 L683.031,241.531 L685.969,237.469 z" fill="#46682F" id="path25019"/>
+ <path d="M694.125,245.406 L696.875,249.594 L708.875,241.594 L706.125,237.406 z" fill="#70372F" id="path25021"/>
+ <path d="M671.125,245.419 L673.875,249.575 L685.875,241.575 L683.125,237.419 z" fill="#2C5476" id="path25023"/>
</g>
- <path d="M636.375,246.281 L634.625,248.719 L623.625,240.719 L625.375,238.281 z" fill="#8CD05F" id="path25027"/>
- <path d="M634.656,246.25 L636.344,248.75 L648.344,240.75 L646.656,238.25 z" fill="#E06D5F" id="path25031"/>
- <path d="M611.656,246.263 L613.344,248.763 L625.344,240.763 L623.656,238.263 z" fill="#58A9ED" id="path25033"/>
- <path d="M650,239.5 C650,240.881 648.881,242 647.5,242 C646.119,242 645,240.881 645,239.5 C645,238.119 646.119,237 647.5,237 C648.881,237 650,238.119 650,239.5 z" fill="#70372F" id="path25035"/>
- <path d="M615,247.5 C615,248.881 613.881,250 612.5,250 C611.119,250 610,248.881 610,247.5 C610,246.119 611.119,245 612.5,245 C613.881,245 615,246.119 615,247.5 z" fill="#2C5476" id="path25037"/>
- <path d="M627,239.5 C627,240.881 625.881,242 624.5,242 C623.119,242 622,240.881 622,239.5 C622,238.119 623.119,237 624.5,237 C625.881,237 627,238.119 627,239.5 z" fill="#395E53" id="path25039"/>
- <path d="M638,247.5 C638,248.881 636.881,250 635.5,250 C634.119,250 633,248.881 633,247.5 C633,246.119 634.119,245 635.5,245 C636.881,245 638,246.119 638,247.5 z" fill="#5B502F" id="path25041"/>
- <path d="M649,239.5 C649,240.328 648.328,241 647.5,241 C646.672,241 646,240.328 646,239.5 C646,238.672 646.672,238 647.5,238 C648.328,238 649,238.672 649,239.5 z" fill="#FFFFFF" id="path25043"/>
- <path d="M637,247.5 C637,248.328 636.328,249 635.5,249 C634.672,249 634,248.328 634,247.5 C634,246.672 634.672,246 635.5,246 C636.328,246 637,246.672 637,247.5 z" fill="#FFFFFF" id="path25045"/>
- <path d="M626,239.5 C626,240.328 625.328,241 624.5,241 C623.672,241 623,240.328 623,239.5 C623,238.672 623.672,238 624.5,238 C625.328,238 626,238.672 626,239.5 z" fill="#FFFFFF" id="path25047"/>
- <path d="M614,247.5 C614,248.328 613.328,249 612.5,249 C611.672,249 611,248.328 611,247.5 C611,246.672 611.672,246 612.5,246 C613.328,246 614,246.672 614,247.5 z" fill="#FFFFFF" id="path25049"/>
+ <path d="M696.375,246.281 L694.625,248.719 L683.625,240.719 L685.375,238.281 z" fill="#8CD05F" id="path25027"/>
+ <path d="M694.656,246.25 L696.344,248.75 L708.344,240.75 L706.656,238.25 z" fill="#E06D5F" id="path25031"/>
+ <path d="M671.656,246.263 L673.344,248.763 L685.344,240.763 L683.656,238.263 z" fill="#58A9ED" id="path25033"/>
+ <path d="M710,239.5 C710,240.881 708.881,242 707.5,242 C706.119,242 705,240.881 705,239.5 C705,238.119 706.119,237 707.5,237 C708.881,237 710,238.119 710,239.5 z" fill="#70372F" id="path25035"/>
+ <path d="M675,247.5 C675,248.881 673.881,250 672.5,250 C671.119,250 670,248.881 670,247.5 C670,246.119 671.119,245 672.5,245 C673.881,245 675,246.119 675,247.5 z" fill="#2C5476" id="path25037"/>
+ <path d="M687,239.5 C687,240.881 685.881,242 684.5,242 C683.119,242 682,240.881 682,239.5 C682,238.119 683.119,237 684.5,237 C685.881,237 687,238.119 687,239.5 z" fill="#395E53" id="path25039"/>
+ <path d="M698,247.5 C698,248.881 696.881,250 695.5,250 C694.119,250 693,248.881 693,247.5 C693,246.119 694.119,245 695.5,245 C696.881,245 698,246.119 698,247.5 z" fill="#5B502F" id="path25041"/>
+ <path d="M709,239.5 C709,240.328 708.328,241 707.5,241 C706.672,241 706,240.328 706,239.5 C706,238.672 706.672,238 707.5,238 C708.328,238 709,238.672 709,239.5 z" fill="#FFFFFF" id="path25043"/>
+ <path d="M697,247.5 C697,248.328 696.328,249 695.5,249 C694.672,249 694,248.328 694,247.5 C694,246.672 694.672,246 695.5,246 C696.328,246 697,246.672 697,247.5 z" fill="#FFFFFF" id="path25045"/>
+ <path d="M686,239.5 C686,240.328 685.328,241 684.5,241 C683.672,241 683,240.328 683,239.5 C683,238.672 683.672,238 684.5,238 C685.328,238 686,238.672 686,239.5 z" fill="#FFFFFF" id="path25047"/>
+ <path d="M674,247.5 C674,248.328 673.328,249 672.5,249 C671.672,249 671,248.328 671,247.5 C671,246.672 671.672,246 672.5,246 C673.328,246 674,246.672 674,247.5 z" fill="#FFFFFF" id="path25049"/>
</g>
- <path d="M627,205.969 L626,206.969 L626,208.969 L623,208.969 L622,209.969 L622,216.875 L624,216.156 L624,211.969 L625,210.969 L627,210.969 L627,215.062 L628,214.688 L628,210.969 L632,210.969 L632,214.5 L633,214.781 L633,210.969 L635,210.969 L636,211.969 L636,215.594 L638,216.156 L638,209.969 L637,208.969 L634,208.969 L634,206.969 L633,205.969 L627,205.969 z M630,214.969 L619,218.969 L619,228.031 C618.979,228.024 618.958,228.007 618.938,228 C617.518,227.513 616.407,227.031 616.407,227.031 C616.077,226.883 615.693,226.924 615.401,227.137 C615.109,227.35 614.953,227.703 614.993,228.062 C615.033,228.421 615.263,228.731 615.594,228.875 C615.594,228.875 616.816,229.393 618.313,229.906 C619.81,230.42 621.548,230.969 623,230.969 C624.453,230.969 626.191,230.42 627.688,229.906 C629.185,229.393 630.407,228.875 630.407,228.875 C630.407,228.875 631.518,228.393 632.938,227.906 C634.357,227.42 636.119,226.969 637,226.969 C637.881,226.969 639.643,227.42 641.062,227.906 C642.482,228.393 643.594,228.875 643.594,228.875 C643.924,229.023 644.307,228.983 644.599,228.77 C644.891,228.557 645.047,228.204 645.007,227.844 C644.967,227.485 644.738,227.175 644.406,227.031 C644.406,227.031 643.184,226.513 641.687,226 C641.465,225.924 641.231,225.856 641,225.781 L641,217.969 L630,214.969 z M637,228.969 C635.548,228.969 633.809,229.487 632.312,230 C630.815,230.513 629.594,231.031 629.594,231.031 C629.594,231.031 628.482,231.513 627.062,232 C625.643,232.487 623.881,232.969 623,232.969 C622.119,232.969 620.357,232.487 618.937,232 C617.518,231.513 616.406,231.031 616.406,231.031 C616.076,230.883 615.693,230.924 615.401,231.137 C615.109,231.35 614.953,231.703 614.993,232.062 C615.033,232.421 615.262,232.731 615.594,232.875 C615.594,232.875 616.815,233.393 618.312,233.906 C619.809,234.42 621.548,234.969 623,234.969 C624.452,234.969 626.19,234.42 627.687,233.906 C629.184,233.393 630.406,232.875 630.406,232.875 C630.406,232.875 631.518,232.393 632.937,231.906 C634.357,231.42 636.119,230.969 637,230.969 C637.881,230.969 639.643,231.42 641.062,231.906 C642.482,232.393 643.594,232.875 643.594,232.875 C643.924,233.023 644.307,232.983 644.599,232.77 C644.891,232.557 645.047,232.204 645.007,231.844 C644.967,231.485 644.738,231.175 644.406,231.031 C644.406,231.031 643.184,230.513 641.687,230 C640.19,229.487 638.452,228.969 637,228.969 z" fill="currentColor" id="route-ferry-stroke"/>
+ <path d="M687,205.969 L686,206.969 L686,208.969 L683,208.969 L682,209.969 L682,216.875 L684,216.156 L684,211.969 L685,210.969 L687,210.969 L687,215.062 L688,214.688 L688,210.969 L692,210.969 L692,214.5 L693,214.781 L693,210.969 L695,210.969 L696,211.969 L696,215.594 L698,216.156 L698,209.969 L697,208.969 L694,208.969 L694,206.969 L693,205.969 L687,205.969 z M690,214.969 L679,218.969 L679,228.031 C678.979,228.024 678.958,228.007 678.938,228 C677.518,227.513 676.407,227.031 676.407,227.031 C676.077,226.883 675.693,226.924 675.401,227.137 C675.109,227.35 674.953,227.703 674.993,228.062 C675.033,228.421 675.263,228.731 675.594,228.875 C675.594,228.875 676.816,229.393 678.313,229.906 C679.81,230.42 681.548,230.969 683,230.969 C684.453,230.969 686.191,230.42 687.688,229.906 C689.185,229.393 690.407,228.875 690.407,228.875 C690.407,228.875 691.518,228.393 692.938,227.906 C694.357,227.42 696.119,226.969 697,226.969 C697.881,226.969 699.643,227.42 701.062,227.906 C702.482,228.393 703.594,228.875 703.594,228.875 C703.924,229.023 704.307,228.983 704.599,228.77 C704.891,228.557 705.047,228.204 705.007,227.844 C704.967,227.485 704.738,227.175 704.406,227.031 C704.406,227.031 703.184,226.513 701.687,226 C701.465,225.924 701.231,225.856 701,225.781 L701,217.969 L690,214.969 z M697,228.969 C695.548,228.969 693.809,229.487 692.312,230 C690.815,230.513 689.594,231.031 689.594,231.031 C689.594,231.031 688.482,231.513 687.062,232 C685.643,232.487 683.881,232.969 683,232.969 C682.119,232.969 680.357,232.487 678.937,232 C677.518,231.513 676.406,231.031 676.406,231.031 C676.076,230.883 675.693,230.924 675.401,231.137 C675.109,231.35 674.953,231.703 674.993,232.062 C675.033,232.421 675.262,232.731 675.594,232.875 C675.594,232.875 676.815,233.393 678.312,233.906 C679.809,234.42 681.548,234.969 683,234.969 C684.452,234.969 686.19,234.42 687.687,233.906 C689.184,233.393 690.406,232.875 690.406,232.875 C690.406,232.875 691.518,232.393 692.937,231.906 C694.357,231.42 696.119,230.969 697,230.969 C697.881,230.969 699.643,231.42 701.062,231.906 C702.482,232.393 703.594,232.875 703.594,232.875 C703.924,233.023 704.307,232.983 704.599,232.77 C704.891,232.557 705.047,232.204 705.007,231.844 C704.967,231.485 704.738,231.175 704.406,231.031 C704.406,231.031 703.184,230.513 701.687,230 C700.19,229.487 698.452,228.969 697,228.969 z" fill="currentColor" id="route-ferry-stroke"/>
</symbol>
- <symbol id="route-tram" viewBox="540 200 60 60">
+ <symbol id="route-tram" viewBox="600 200 60 60">
<g id="railway-subway-3">
- <path d="M576.031,232 L577,234 L578,235 L579.5,234 L578.531,232 z" fill="#989898" id="path4893-1"/>
- <path d="M563.5,232 L562.531,234 L561.531,235 L560.031,234 L561,232 z" fill="#989898" id="path5119-4"/>
- <path d="M565,208 L559,214 L559,229 L561,231 L579,231 L581,229 L581,214 L575,208 L565,208 z M566,210 L574,210 L574,212 L566,212 L566,210 z M562,214 L564,214 L576,214 L578,214 L579,215 L579,219 L576,221 L564,221 L561,219 L561,215 L562,214 z M561,225 L564,225 L566,227 L566,228 L562,228 L561,227 L561,225 z M576,225 L579,225 L579,227 L578,228 L574,228 L574,227 L576,225 z" fill="#989898" id="rect5077-7"/>
+ <path d="M636.031,232 L637,234 L638,235 L639.5,234 L638.531,232 z" fill="#989898" id="path4893-1"/>
+ <path d="M623.5,232 L622.531,234 L621.531,235 L620.031,234 L621,232 z" fill="#989898" id="path5119-4"/>
+ <path d="M625,208 L619,214 L619,229 L621,231 L639,231 L641,229 L641,214 L635,208 L625,208 z M626,210 L634,210 L634,212 L626,212 L626,210 z M622,214 L624,214 L636,214 L638,214 L639,215 L639,219 L636,221 L624,221 L621,219 L621,215 L622,214 z M621,225 L624,225 L626,227 L626,228 L622,228 L621,227 L621,225 z M636,225 L639,225 L639,227 L638,228 L634,228 L634,227 L636,225 z" fill="#989898" id="rect5077-7"/>
</g>
<g id="g22976">
<g id="g22978">
- <path d="M576.969,245.469 L574.031,249.531 L563.031,241.531 L565.969,237.469 z" fill="#46682F" id="path22980"/>
- <path d="M574.125,245.406 L576.875,249.594 L588.875,241.594 L586.125,237.406 z" fill="#70372F" id="path22982"/>
- <path d="M551.125,245.419 L553.875,249.575 L565.875,241.575 L563.125,237.419 z" fill="#2C5476" id="path22984"/>
+ <path d="M636.969,245.469 L634.031,249.531 L623.031,241.531 L625.969,237.469 z" fill="#46682F" id="path22980"/>
+ <path d="M634.125,245.406 L636.875,249.594 L648.875,241.594 L646.125,237.406 z" fill="#70372F" id="path22982"/>
+ <path d="M611.125,245.419 L613.875,249.575 L625.875,241.575 L623.125,237.419 z" fill="#2C5476" id="path22984"/>
</g>
- <path d="M576.375,246.281 L574.625,248.719 L563.625,240.719 L565.375,238.281 z" fill="#8CD05F" id="path22988"/>
- <path d="M574.656,246.25 L576.344,248.75 L588.344,240.75 L586.656,238.25 z" fill="#E06D5F" id="path22992"/>
- <path d="M551.656,246.263 L553.344,248.763 L565.344,240.763 L563.656,238.263 z" fill="#58A9ED" id="path22994"/>
- <path d="M590,239.5 C590,240.881 588.881,242 587.5,242 C586.119,242 585,240.881 585,239.5 C585,238.119 586.119,237 587.5,237 C588.881,237 590,238.119 590,239.5 z" fill="#70372F" id="path22996"/>
- <path d="M555,247.5 C555,248.881 553.881,250 552.5,250 C551.119,250 550,248.881 550,247.5 C550,246.119 551.119,245 552.5,245 C553.881,245 555,246.119 555,247.5 z" fill="#2C5476" id="path22998"/>
- <path d="M567,239.5 C567,240.881 565.881,242 564.5,242 C563.119,242 562,240.881 562,239.5 C562,238.119 563.119,237 564.5,237 C565.881,237 567,238.119 567,239.5 z" fill="#395E53" id="path23000"/>
- <path d="M578,247.5 C578,248.881 576.881,250 575.5,250 C574.119,250 573,248.881 573,247.5 C573,246.119 574.119,245 575.5,245 C576.881,245 578,246.119 578,247.5 z" fill="#5B502F" id="path23002"/>
- <path d="M589,239.5 C589,240.328 588.328,241 587.5,241 C586.672,241 586,240.328 586,239.5 C586,238.672 586.672,238 587.5,238 C588.328,238 589,238.672 589,239.5 z" fill="#FFFFFF" id="path23004"/>
- <path d="M577,247.5 C577,248.328 576.328,249 575.5,249 C574.672,249 574,248.328 574,247.5 C574,246.672 574.672,246 575.5,246 C576.328,246 577,246.672 577,247.5 z" fill="#FFFFFF" id="path23006"/>
- <path d="M566,239.5 C566,240.328 565.328,241 564.5,241 C563.672,241 563,240.328 563,239.5 C563,238.672 563.672,238 564.5,238 C565.328,238 566,238.672 566,239.5 z" fill="#FFFFFF" id="path23008"/>
- <path d="M554,247.5 C554,248.328 553.328,249 552.5,249 C551.672,249 551,248.328 551,247.5 C551,246.672 551.672,246 552.5,246 C553.328,246 554,246.672 554,247.5 z" fill="#FFFFFF" id="path23010"/>
+ <path d="M636.375,246.281 L634.625,248.719 L623.625,240.719 L625.375,238.281 z" fill="#8CD05F" id="path22988"/>
+ <path d="M634.656,246.25 L636.344,248.75 L648.344,240.75 L646.656,238.25 z" fill="#E06D5F" id="path22992"/>
+ <path d="M611.656,246.263 L613.344,248.763 L625.344,240.763 L623.656,238.263 z" fill="#58A9ED" id="path22994"/>
+ <path d="M650,239.5 C650,240.881 648.881,242 647.5,242 C646.119,242 645,240.881 645,239.5 C645,238.119 646.119,237 647.5,237 C648.881,237 650,238.119 650,239.5 z" fill="#70372F" id="path22996"/>
+ <path d="M615,247.5 C615,248.881 613.881,250 612.5,250 C611.119,250 610,248.881 610,247.5 C610,246.119 611.119,245 612.5,245 C613.881,245 615,246.119 615,247.5 z" fill="#2C5476" id="path22998"/>
+ <path d="M627,239.5 C627,240.881 625.881,242 624.5,242 C623.119,242 622,240.881 622,239.5 C622,238.119 623.119,237 624.5,237 C625.881,237 627,238.119 627,239.5 z" fill="#395E53" id="path23000"/>
+ <path d="M638,247.5 C638,248.881 636.881,250 635.5,250 C634.119,250 633,248.881 633,247.5 C633,246.119 634.119,245 635.5,245 C636.881,245 638,246.119 638,247.5 z" fill="#5B502F" id="path23002"/>
+ <path d="M649,239.5 C649,240.328 648.328,241 647.5,241 C646.672,241 646,240.328 646,239.5 C646,238.672 646.672,238 647.5,238 C648.328,238 649,238.672 649,239.5 z" fill="#FFFFFF" id="path23004"/>
+ <path d="M637,247.5 C637,248.328 636.328,249 635.5,249 C634.672,249 634,248.328 634,247.5 C634,246.672 634.672,246 635.5,246 C636.328,246 637,246.672 637,247.5 z" fill="#FFFFFF" id="path23006"/>
+ <path d="M626,239.5 C626,240.328 625.328,241 624.5,241 C623.672,241 623,240.328 623,239.5 C623,238.672 623.672,238 624.5,238 C625.328,238 626,238.672 626,239.5 z" fill="#FFFFFF" id="path23008"/>
+ <path d="M614,247.5 C614,248.328 613.328,249 612.5,249 C611.672,249 611,248.328 611,247.5 C611,246.672 611.672,246 612.5,246 C613.328,246 614,246.672 614,247.5 z" fill="#FFFFFF" id="path23010"/>
</g>
</symbol>
- <symbol id="route-detour" viewBox="480 200 60 60">
- <path d="M497,214 L495,216 L495,231 L497,233 L525,233 L527,231 L527,216 L525,214 L497,214 z M513,219 L518,223.5 L513,228 L512,227 L512,225 L506,225 L505,224 L505,223 L506,222 L512,222 L512,220 L513,219 z" fill="#EAB056" id="path22874"/>
+ <symbol id="route-detour" viewBox="540 200 60 60">
+ <path d="M557,214 L555,216 L555,231 L557,233 L585,233 L587,231 L587,216 L585,214 L557,214 z M573,219 L578,223.5 L573,228 L572,227 L572,225 L566,225 L565,224 L565,223 L566,222 L572,222 L572,220 L573,219 z" fill="#EAB056" id="path22874"/>
<g id="g22876">
<g id="g22878">
- <path d="M516.969,245.469 L514.031,249.531 L503.031,241.531 L505.969,237.469 z" fill="#46682F" id="path22880"/>
- <path d="M514.125,245.406 L516.875,249.594 L528.875,241.594 L526.125,237.406 z" fill="#70372F" id="path22882"/>
- <path d="M491.125,245.419 L493.875,249.575 L505.875,241.575 L503.125,237.419 z" fill="#2C5476" id="path22884"/>
+ <path d="M576.969,245.469 L574.031,249.531 L563.031,241.531 L565.969,237.469 z" fill="#46682F" id="path22880"/>
+ <path d="M574.125,245.406 L576.875,249.594 L588.875,241.594 L586.125,237.406 z" fill="#70372F" id="path22882"/>
+ <path d="M551.125,245.419 L553.875,249.575 L565.875,241.575 L563.125,237.419 z" fill="#2C5476" id="path22884"/>
</g>
- <path d="M516.375,246.281 L514.625,248.719 L503.625,240.719 L505.375,238.281 z" fill="#8CD05F" id="path22888"/>
- <path d="M514.656,246.25 L516.344,248.75 L528.344,240.75 L526.656,238.25 z" fill="#E06D5F" id="path22892"/>
- <path d="M491.656,246.263 L493.344,248.763 L505.344,240.763 L503.656,238.263 z" fill="#58A9ED" id="path22894"/>
- <path d="M530,239.5 C530,240.881 528.881,242 527.5,242 C526.119,242 525,240.881 525,239.5 C525,238.119 526.119,237 527.5,237 C528.881,237 530,238.119 530,239.5 z" fill="#70372F" id="path22896"/>
- <path d="M495,247.5 C495,248.881 493.881,250 492.5,250 C491.119,250 490,248.881 490,247.5 C490,246.119 491.119,245 492.5,245 C493.881,245 495,246.119 495,247.5 z" fill="#2C5476" id="path22898"/>
- <path d="M507,239.5 C507,240.881 505.881,242 504.5,242 C503.119,242 502,240.881 502,239.5 C502,238.119 503.119,237 504.5,237 C505.881,237 507,238.119 507,239.5 z" fill="#395E53" id="path22900"/>
- <path d="M518,247.5 C518,248.881 516.881,250 515.5,250 C514.119,250 513,248.881 513,247.5 C513,246.119 514.119,245 515.5,245 C516.881,245 518,246.119 518,247.5 z" fill="#5B502F" id="path22902"/>
- <path d="M529,239.5 C529,240.328 528.328,241 527.5,241 C526.672,241 526,240.328 526,239.5 C526,238.672 526.672,238 527.5,238 C528.328,238 529,238.672 529,239.5 z" fill="#FFFFFF" id="path22904"/>
- <path d="M517,247.5 C517,248.328 516.328,249 515.5,249 C514.672,249 514,248.328 514,247.5 C514,246.672 514.672,246 515.5,246 C516.328,246 517,246.672 517,247.5 z" fill="#FFFFFF" id="path22906"/>
- <path d="M506,239.5 C506,240.328 505.328,241 504.5,241 C503.672,241 503,240.328 503,239.5 C503,238.672 503.672,238 504.5,238 C505.328,238 506,238.672 506,239.5 z" fill="#FFFFFF" id="path22908"/>
- <path d="M494,247.5 C494,248.328 493.328,249 492.5,249 C491.672,249 491,248.328 491,247.5 C491,246.672 491.672,246 492.5,246 C493.328,246 494,246.672 494,247.5 z" fill="#FFFFFF" id="path22910"/>
+ <path d="M576.375,246.281 L574.625,248.719 L563.625,240.719 L565.375,238.281 z" fill="#8CD05F" id="path22888"/>
+ <path d="M574.656,246.25 L576.344,248.75 L588.344,240.75 L586.656,238.25 z" fill="#E06D5F" id="path22892"/>
+ <path d="M551.656,246.263 L553.344,248.763 L565.344,240.763 L563.656,238.263 z" fill="#58A9ED" id="path22894"/>
+ <path d="M590,239.5 C590,240.881 588.881,242 587.5,242 C586.119,242 585,240.881 585,239.5 C585,238.119 586.119,237 587.5,237 C588.881,237 590,238.119 590,239.5 z" fill="#70372F" id="path22896"/>
+ <path d="M555,247.5 C555,248.881 553.881,250 552.5,250 C551.119,250 550,248.881 550,247.5 C550,246.119 551.119,245 552.5,245 C553.881,245 555,246.119 555,247.5 z" fill="#2C5476" id="path22898"/>
+ <path d="M567,239.5 C567,240.881 565.881,242 564.5,242 C563.119,242 562,240.881 562,239.5 C562,238.119 563.119,237 564.5,237 C565.881,237 567,238.119 567,239.5 z" fill="#395E53" id="path22900"/>
+ <path d="M578,247.5 C578,248.881 576.881,250 575.5,250 C574.119,250 573,248.881 573,247.5 C573,246.119 574.119,245 575.5,245 C576.881,245 578,246.119 578,247.5 z" fill="#5B502F" id="path22902"/>
+ <path d="M589,239.5 C589,240.328 588.328,241 587.5,241 C586.672,241 586,240.328 586,239.5 C586,238.672 586.672,238 587.5,238 C588.328,238 589,238.672 589,239.5 z" fill="#FFFFFF" id="path22904"/>
+ <path d="M577,247.5 C577,248.328 576.328,249 575.5,249 C574.672,249 574,248.328 574,247.5 C574,246.672 574.672,246 575.5,246 C576.328,246 577,246.672 577,247.5 z" fill="#FFFFFF" id="path22906"/>
+ <path d="M566,239.5 C566,240.328 565.328,241 564.5,241 C563.672,241 563,240.328 563,239.5 C563,238.672 563.672,238 564.5,238 C565.328,238 566,238.672 566,239.5 z" fill="#FFFFFF" id="path22908"/>
+ <path d="M554,247.5 C554,248.328 553.328,249 552.5,249 C551.672,249 551,248.328 551,247.5 C551,246.672 551.672,246 552.5,246 C553.328,246 554,246.672 554,247.5 z" fill="#FFFFFF" id="path22910"/>
</g>
- <path d="M497,216.013 L497,216.513 L497,230.513 L497,231.013 L497.5,231.013 L524.5,231.013 L525,231.013 L525,230.513 L525,216.513 L525,216.013 L524.5,216.013 L497.5,216.013 L497,216.013 z M498,217.013 L524,217.013 L524,230.013 L498,230.013 L498,217.013 z" fill="#B68943" id="rect22914"/>
+ <path d="M557,216.013 L557,216.513 L557,230.513 L557,231.013 L557.5,231.013 L584.5,231.013 L585,231.013 L585,230.513 L585,216.513 L585,216.013 L584.5,216.013 L557.5,216.013 L557,216.013 z M558,217.013 L584,217.013 L584,230.013 L558,230.013 L558,217.013 z" fill="#B68943" id="rect22914"/>
</symbol>
- <symbol id="route-train" viewBox="420 200 60 60">
- <path d="M443.5,211 L442,212 L441.531,214 L438.25,214 C437.696,214 437.384,214.463 437.25,215 L437,216 C436.866,216.537 437.446,217 438,217 L462,217 C462.554,217 463.134,216.537 463,216 L462.75,215 C462.616,214.463 462.304,214 461.75,214 L458.969,214 L458.5,212 L457,211 L456,212 L456.469,214 L444.031,214 L444.5,212 L443.5,211 z M441.5,215 C441.776,215 442,215.224 442,215.5 C442,215.776 441.776,216 441.5,216 C441.224,216 441,215.776 441,215.5 C441,215.224 441.224,215 441.5,215 z M458.5,215 C458.776,215 459,215.224 459,215.5 C459,215.776 458.776,216 458.5,216 C458.224,216 458,215.776 458,215.5 C458,215.224 458.224,215 458.5,215 z M440.563,218 L440.094,220 L437.25,220 C436.696,220 436.384,220.463 436.25,221 L436,222 C435.866,222.537 436.446,223 437,223 L463,223 C463.554,223 464.134,222.537 464,222 L463.75,221 C463.616,220.463 463.304,220 462.75,220 L460.406,220 L459.938,218 L457.438,218 L457.906,220 L442.594,220 L443.063,218 L440.563,218 z M440.5,221 C440.776,221 441,221.224 441,221.5 C441,221.776 440.776,222 440.5,222 C440.224,222 440,221.776 440,221.5 C440,221.224 440.224,221 440.5,221 z M459.5,221 C459.776,221 460,221.224 460,221.5 C460,221.776 459.776,222 459.5,222 C459.224,222 459,221.776 459,221.5 C459,221.224 459.224,221 459.5,221 z M439.156,224 L438.688,226 L436.25,226 C435.696,226 435.384,226.463 435.25,227 L435,228 C434.866,228.537 435.446,229 436,229 L464,229 C464.554,229 465.134,228.537 465,228 L464.75,227 C464.616,226.463 464.304,226 463.75,226 L461.813,226 L461.344,224 L458.844,224 L459.313,226 L441.188,226 L441.656,224 L439.156,224 z M439.5,227 C439.776,227 440,227.224 440,227.5 C440,227.776 439.776,228 439.5,228 C439.224,228 439,227.776 439,227.5 C439,227.224 439.224,227 439.5,227 z M460.5,227 C460.776,227 461,227.224 461,227.5 C461,227.776 460.776,228 460.5,228 C460.224,228 460,227.776 460,227.5 C460,227.224 460.224,227 460.5,227 z M437.719,230 L437,233 L438.5,234 L439.5,233 L440.219,230 L437.719,230 z M460.281,230 L461,233 L462,234 L463.5,233 L462.781,230 L460.281,230 z" fill="#989898" id="rect17528-7-8"/>
+ <symbol id="route-train" viewBox="480 200 60 60">
+ <path d="M503.5,211 L502,212 L501.531,214 L498.25,214 C497.696,214 497.384,214.463 497.25,215 L497,216 C496.866,216.537 497.446,217 498,217 L522,217 C522.554,217 523.134,216.537 523,216 L522.75,215 C522.616,214.463 522.304,214 521.75,214 L518.969,214 L518.5,212 L517,211 L516,212 L516.469,214 L504.031,214 L504.5,212 L503.5,211 z M501.5,215 C501.776,215 502,215.224 502,215.5 C502,215.776 501.776,216 501.5,216 C501.224,216 501,215.776 501,215.5 C501,215.224 501.224,215 501.5,215 z M518.5,215 C518.776,215 519,215.224 519,215.5 C519,215.776 518.776,216 518.5,216 C518.224,216 518,215.776 518,215.5 C518,215.224 518.224,215 518.5,215 z M500.562,218 L500.094,220 L497.25,220 C496.696,220 496.384,220.463 496.25,221 L496,222 C495.866,222.537 496.446,223 497,223 L523,223 C523.554,223 524.134,222.537 524,222 L523.75,221 C523.616,220.463 523.304,220 522.75,220 L520.406,220 L519.938,218 L517.438,218 L517.906,220 L502.594,220 L503.062,218 L500.562,218 z M500.5,221 C500.776,221 501,221.224 501,221.5 C501,221.776 500.776,222 500.5,222 C500.224,222 500,221.776 500,221.5 C500,221.224 500.224,221 500.5,221 z M519.5,221 C519.776,221 520,221.224 520,221.5 C520,221.776 519.776,222 519.5,222 C519.224,222 519,221.776 519,221.5 C519,221.224 519.224,221 519.5,221 z M499.156,224 L498.688,226 L496.25,226 C495.696,226 495.384,226.463 495.25,227 L495,228 C494.866,228.537 495.446,229 496,229 L524,229 C524.554,229 525.134,228.537 525,228 L524.75,227 C524.616,226.463 524.304,226 523.75,226 L521.812,226 L521.344,224 L518.844,224 L519.312,226 L501.188,226 L501.656,224 L499.156,224 z M499.5,227 C499.776,227 500,227.224 500,227.5 C500,227.776 499.776,228 499.5,228 C499.224,228 499,227.776 499,227.5 C499,227.224 499.224,227 499.5,227 z M520.5,227 C520.776,227 521,227.224 521,227.5 C521,227.776 520.776,228 520.5,228 C520.224,228 520,227.776 520,227.5 C520,227.224 520.224,227 520.5,227 z M497.719,230 L497,233 L498.5,234 L499.5,233 L500.219,230 L497.719,230 z M520.281,230 L521,233 L522,234 L523.5,233 L522.781,230 L520.281,230 z" fill="#989898" id="rect17528-7-8"/>
<g id="g22838">
<g id="g22840">
- <path d="M456.969,245.469 L454.031,249.531 L443.031,241.531 L445.969,237.469 z" fill="#46682F" id="path22842"/>
- <path d="M454.125,245.406 L456.875,249.594 L468.875,241.594 L466.125,237.406 z" fill="#70372F" id="path22844"/>
- <path d="M431.125,245.419 L433.875,249.575 L445.875,241.575 L443.125,237.419 z" fill="#2C5476" id="path22846"/>
+ <path d="M516.969,245.469 L514.031,249.531 L503.031,241.531 L505.969,237.469 z" fill="#46682F" id="path22842"/>
+ <path d="M514.125,245.406 L516.875,249.594 L528.875,241.594 L526.125,237.406 z" fill="#70372F" id="path22844"/>
+ <path d="M491.125,245.419 L493.875,249.575 L505.875,241.575 L503.125,237.419 z" fill="#2C5476" id="path22846"/>
</g>
- <path d="M456.375,246.281 L454.625,248.719 L443.625,240.719 L445.375,238.281 z" fill="#8CD05F" id="path22850"/>
- <path d="M454.656,246.25 L456.344,248.75 L468.344,240.75 L466.656,238.25 z" fill="#E06D5F" id="path22854"/>
- <path d="M431.656,246.263 L433.344,248.763 L445.344,240.763 L443.656,238.263 z" fill="#58A9ED" id="path22856"/>
- <path d="M470,239.5 C470,240.881 468.881,242 467.5,242 C466.119,242 465,240.881 465,239.5 C465,238.119 466.119,237 467.5,237 C468.881,237 470,238.119 470,239.5 z" fill="#70372F" id="path22858"/>
- <path d="M435,247.5 C435,248.881 433.881,250 432.5,250 C431.119,250 430,248.881 430,247.5 C430,246.119 431.119,245 432.5,245 C433.881,245 435,246.119 435,247.5 z" fill="#2C5476" id="path22860"/>
- <path d="M447,239.5 C447,240.881 445.881,242 444.5,242 C443.119,242 442,240.881 442,239.5 C442,238.119 443.119,237 444.5,237 C445.881,237 447,238.119 447,239.5 z" fill="#395E53" id="path22862"/>
- <path d="M458,247.5 C458,248.881 456.881,250 455.5,250 C454.119,250 453,248.881 453,247.5 C453,246.119 454.119,245 455.5,245 C456.881,245 458,246.119 458,247.5 z" fill="#5B502F" id="path22864"/>
- <path d="M469,239.5 C469,240.328 468.328,241 467.5,241 C466.672,241 466,240.328 466,239.5 C466,238.672 466.672,238 467.5,238 C468.328,238 469,238.672 469,239.5 z" fill="#FFFFFF" id="path22866"/>
- <path d="M457,247.5 C457,248.328 456.328,249 455.5,249 C454.672,249 454,248.328 454,247.5 C454,246.672 454.672,246 455.5,246 C456.328,246 457,246.672 457,247.5 z" fill="#FFFFFF" id="path22868"/>
- <path d="M446,239.5 C446,240.328 445.328,241 444.5,241 C443.672,241 443,240.328 443,239.5 C443,238.672 443.672,238 444.5,238 C445.328,238 446,238.672 446,239.5 z" fill="#FFFFFF" id="path22870"/>
- <path d="M434,247.5 C434,248.328 433.328,249 432.5,249 C431.672,249 431,248.328 431,247.5 C431,246.672 431.672,246 432.5,246 C433.328,246 434,246.672 434,247.5 z" fill="#FFFFFF" id="path22872"/>
+ <path d="M516.375,246.281 L514.625,248.719 L503.625,240.719 L505.375,238.281 z" fill="#8CD05F" id="path22850"/>
+ <path d="M514.656,246.25 L516.344,248.75 L528.344,240.75 L526.656,238.25 z" fill="#E06D5F" id="path22854"/>
+ <path d="M491.656,246.263 L493.344,248.763 L505.344,240.763 L503.656,238.263 z" fill="#58A9ED" id="path22856"/>
+ <path d="M530,239.5 C530,240.881 528.881,242 527.5,242 C526.119,242 525,240.881 525,239.5 C525,238.119 526.119,237 527.5,237 C528.881,237 530,238.119 530,239.5 z" fill="#70372F" id="path22858"/>
+ <path d="M495,247.5 C495,248.881 493.881,250 492.5,250 C491.119,250 490,248.881 490,247.5 C490,246.119 491.119,245 492.5,245 C493.881,245 495,246.119 495,247.5 z" fill="#2C5476" id="path22860"/>
+ <path d="M507,239.5 C507,240.881 505.881,242 504.5,242 C503.119,242 502,240.881 502,239.5 C502,238.119 503.119,237 504.5,237 C505.881,237 507,238.119 507,239.5 z" fill="#395E53" id="path22862"/>
+ <path d="M518,247.5 C518,248.881 516.881,250 515.5,250 C514.119,250 513,248.881 513,247.5 C513,246.119 514.119,245 515.5,245 C516.881,245 518,246.119 518,247.5 z" fill="#5B502F" id="path22864"/>
+ <path d="M529,239.5 C529,240.328 528.328,241 527.5,241 C526.672,241 526,240.328 526,239.5 C526,238.672 526.672,238 527.5,238 C528.328,238 529,238.672 529,239.5 z" fill="#FFFFFF" id="path22866"/>
+ <path d="M517,247.5 C517,248.328 516.328,249 515.5,249 C514.672,249 514,248.328 514,247.5 C514,246.672 514.672,246 515.5,246 C516.328,246 517,246.672 517,247.5 z" fill="#FFFFFF" id="path22868"/>
+ <path d="M506,239.5 C506,240.328 505.328,241 504.5,241 C503.672,241 503,240.328 503,239.5 C503,238.672 503.672,238 504.5,238 C505.328,238 506,238.672 506,239.5 z" fill="#FFFFFF" id="path22870"/>
+ <path d="M494,247.5 C494,248.328 493.328,249 492.5,249 C491.672,249 491,248.328 491,247.5 C491,246.672 491.672,246 492.5,246 C493.328,246 494,246.672 494,247.5 z" fill="#FFFFFF" id="path22872"/>
</g>
</symbol>
- <symbol id="route-bus" viewBox="360 200 60 60">
- <path d="M382,208 L380,210 L380,228 L381,229 L401,229 L402,228 L402,210 L400,208 L382,208 z M387,210 L395,210 L395,212 L387,212 L387,210 z M383,214 L385,214 L397,214 L399,214 L400,215 L400,219 L397,221 L385,221 L382,219 L382,215 L383,214 z M382,224 L385,224 L387,226 L387,227 L383,227 L382,226 L382,224 z M397,224 L400,224 L400,226 L399,227 L395,227 L395,226 L397,224 z" fill="#989898" id="rect5077-9"/>
- <path d="M381,230 L386,230 L386,232 L385,233 L382,233 L381,232 z" fill="#989898" id="path22279"/>
- <path d="M396,230 L401,230 L401,232 L400,233 L397,233 L396,232 z" fill="#989898" id="path22281"/>
+ <symbol id="route-bus" viewBox="420 200 60 60">
+ <path d="M442,208 L440,210 L440,228 L441,229 L461,229 L462,228 L462,210 L460,208 L442,208 z M447,210 L455,210 L455,212 L447,212 L447,210 z M443,214 L445,214 L457,214 L459,214 L460,215 L460,219 L457,221 L445,221 L442,219 L442,215 L443,214 z M442,224 L445,224 L447,226 L447,227 L443,227 L442,226 L442,224 z M457,224 L460,224 L460,226 L459,227 L455,227 L455,226 L457,224 z" fill="#989898" id="rect5077-9"/>
+ <path d="M441,230 L446,230 L446,232 L445,233 L442,233 L441,232 z" fill="#989898" id="path22279"/>
+ <path d="M456,230 L461,230 L461,232 L460,233 L457,233 L456,232 z" fill="#989898" id="path22281"/>
<g id="g22697-4">
<g id="g22699-6">
- <path d="M396.969,245.469 L394.031,249.531 L383.031,241.531 L385.969,237.469 z" fill="#46682F" id="path22701-2"/>
- <path d="M394.125,245.406 L396.875,249.594 L408.875,241.594 L406.125,237.406 z" fill="#70372F" id="path22703-6"/>
- <path d="M371.125,245.419 L373.875,249.575 L385.875,241.575 L383.125,237.419 z" fill="#2C5476" id="path22705-7"/>
+ <path d="M456.969,245.469 L454.031,249.531 L443.031,241.531 L445.969,237.469 z" fill="#46682F" id="path22701-2"/>
+ <path d="M454.125,245.406 L456.875,249.594 L468.875,241.594 L466.125,237.406 z" fill="#70372F" id="path22703-6"/>
+ <path d="M431.125,245.419 L433.875,249.575 L445.875,241.575 L443.125,237.419 z" fill="#2C5476" id="path22705-7"/>
</g>
- <path d="M396.375,246.281 L394.625,248.719 L383.625,240.719 L385.375,238.281 z" fill="#8CD05F" id="path22709-0"/>
- <path d="M394.656,246.25 L396.344,248.75 L408.344,240.75 L406.656,238.25 z" fill="#E06D5F" id="path22713-1"/>
- <path d="M371.656,246.263 L373.344,248.763 L385.344,240.763 L383.656,238.263 z" fill="#58A9ED" id="path22715-7"/>
- <path d="M410,239.5 C410,240.881 408.881,242 407.5,242 C406.119,242 405,240.881 405,239.5 C405,238.119 406.119,237 407.5,237 C408.881,237 410,238.119 410,239.5 z" fill="#70372F" id="path22717-4"/>
- <path d="M375,247.5 C375,248.881 373.881,250 372.5,250 C371.119,250 370,248.881 370,247.5 C370,246.119 371.119,245 372.5,245 C373.881,245 375,246.119 375,247.5 z" fill="#2C5476" id="path22719-8"/>
- <path d="M387,239.5 C387,240.881 385.881,242 384.5,242 C383.119,242 382,240.881 382,239.5 C382,238.119 383.119,237 384.5,237 C385.881,237 387,238.119 387,239.5 z" fill="#395E53" id="path22721-0"/>
- <path d="M398,247.5 C398,248.881 396.881,250 395.5,250 C394.119,250 393,248.881 393,247.5 C393,246.119 394.119,245 395.5,245 C396.881,245 398,246.119 398,247.5 z" fill="#5B502F" id="path22723-7"/>
- <path d="M409,239.5 C409,240.328 408.328,241 407.5,241 C406.672,241 406,240.328 406,239.5 C406,238.672 406.672,238 407.5,238 C408.328,238 409,238.672 409,239.5 z" fill="#FFFFFF" id="path22725-7"/>
- <path d="M397,247.5 C397,248.328 396.328,249 395.5,249 C394.672,249 394,248.328 394,247.5 C394,246.672 394.672,246 395.5,246 C396.328,246 397,246.672 397,247.5 z" fill="#FFFFFF" id="path22727-1"/>
- <path d="M386,239.5 C386,240.328 385.328,241 384.5,241 C383.672,241 383,240.328 383,239.5 C383,238.672 383.672,238 384.5,238 C385.328,238 386,238.672 386,239.5 z" fill="#FFFFFF" id="path22729-7"/>
- <path d="M374,247.5 C374,248.328 373.328,249 372.5,249 C371.672,249 371,248.328 371,247.5 C371,246.672 371.672,246 372.5,246 C373.328,246 374,246.672 374,247.5 z" fill="#FFFFFF" id="path22731-4"/>
+ <path d="M456.375,246.281 L454.625,248.719 L443.625,240.719 L445.375,238.281 z" fill="#8CD05F" id="path22709-0"/>
+ <path d="M454.656,246.25 L456.344,248.75 L468.344,240.75 L466.656,238.25 z" fill="#E06D5F" id="path22713-1"/>
+ <path d="M431.656,246.263 L433.344,248.763 L445.344,240.763 L443.656,238.263 z" fill="#58A9ED" id="path22715-7"/>
+ <path d="M470,239.5 C470,240.881 468.881,242 467.5,242 C466.119,242 465,240.881 465,239.5 C465,238.119 466.119,237 467.5,237 C468.881,237 470,238.119 470,239.5 z" fill="#70372F" id="path22717-4"/>
+ <path d="M435,247.5 C435,248.881 433.881,250 432.5,250 C431.119,250 430,248.881 430,247.5 C430,246.119 431.119,245 432.5,245 C433.881,245 435,246.119 435,247.5 z" fill="#2C5476" id="path22719-8"/>
+ <path d="M447,239.5 C447,240.881 445.881,242 444.5,242 C443.119,242 442,240.881 442,239.5 C442,238.119 443.119,237 444.5,237 C445.881,237 447,238.119 447,239.5 z" fill="#395E53" id="path22721-0"/>
+ <path d="M458,247.5 C458,248.881 456.881,250 455.5,250 C454.119,250 453,248.881 453,247.5 C453,246.119 454.119,245 455.5,245 C456.881,245 458,246.119 458,247.5 z" fill="#5B502F" id="path22723-7"/>
+ <path d="M469,239.5 C469,240.328 468.328,241 467.5,241 C466.671,241 466,240.328 466,239.5 C466,238.672 466.671,238 467.5,238 C468.328,238 469,238.672 469,239.5 z" fill="#FFFFFF" id="path22725-7"/>
+ <path d="M457,247.5 C457,248.328 456.328,249 455.5,249 C454.671,249 454,248.328 454,247.5 C454,246.672 454.671,246 455.5,246 C456.328,246 457,246.672 457,247.5 z" fill="#FFFFFF" id="path22727-1"/>
+ <path d="M446,239.5 C446,240.328 445.328,241 444.5,241 C443.672,241 443,240.328 443,239.5 C443,238.672 443.672,238 444.5,238 C445.328,238 446,238.672 446,239.5 z" fill="#FFFFFF" id="path22729-7"/>
+ <path d="M434,247.5 C434,248.328 433.328,249 432.5,249 C431.672,249 431,248.328 431,247.5 C431,246.672 431.672,246 432.5,246 C433.328,246 434,246.672 434,247.5 z" fill="#FFFFFF" id="path22731-4"/>
</g>
</symbol>
+ <symbol id="route-horse" viewBox="360 200 60 60">
+ <g id="g22697-52">
+ <g id="g22699-662">
+ <path d="M396.969,245.469 L394.031,249.531 L383.031,241.531 L385.969,237.469 z" fill="#46682F" id="path22701-42"/>
+ <path d="M394.125,245.406 L396.875,249.594 L408.875,241.594 L406.125,237.406 z" fill="#70372F" id="path22703-52"/>
+ <path d="M371.125,245.419 L373.875,249.575 L385.875,241.575 L383.125,237.419 z" fill="#2C5476" id="path22705-62"/>
+ </g>
+ <path d="M396.375,246.281 L394.625,248.719 L383.625,240.719 L385.375,238.281 z" fill="#8CD05F" id="path22709-32"/>
+ <path d="M394.656,246.25 L396.344,248.75 L408.344,240.75 L406.656,238.25 z" fill="#E06D5F" id="path22713-92"/>
+ <path d="M371.656,246.263 L373.344,248.763 L385.344,240.763 L383.656,238.263 z" fill="#58A9ED" id="path22715-22"/>
+ <path d="M410,239.5 C410,240.881 408.881,242 407.5,242 C406.119,242 405,240.881 405,239.5 C405,238.119 406.119,237 407.5,237 C408.881,237 410,238.119 410,239.5 z" fill="#70372F" id="path22717-92"/>
+ <path d="M375,247.5 C375,248.881 373.881,250 372.5,250 C371.119,250 370,248.881 370,247.5 C370,246.119 371.119,245 372.5,245 C373.881,245 375,246.119 375,247.5 z" fill="#2C5476" id="path22719-52"/>
+ <path d="M387,239.5 C387,240.881 385.881,242 384.5,242 C383.119,242 382,240.881 382,239.5 C382,238.119 383.119,237 384.5,237 C385.881,237 387,238.119 387,239.5 z" fill="#395E53" id="path22721-82"/>
+ <path d="M398,247.5 C398,248.881 396.881,250 395.5,250 C394.119,250 393,248.881 393,247.5 C393,246.119 394.119,245 395.5,245 C396.881,245 398,246.119 398,247.5 z" fill="#5B502F" id="path22723-12"/>
+ <path d="M409,239.5 C409,240.328 408.328,241 407.5,241 C406.672,241 406,240.328 406,239.5 C406,238.672 406.672,238 407.5,238 C408.328,238 409,238.672 409,239.5 z" fill="#FFFFFF" id="path22725-42"/>
+ <path d="M397,247.5 C397,248.328 396.328,249 395.5,249 C394.672,249 394,248.328 394,247.5 C394,246.672 394.672,246 395.5,246 C396.328,246 397,246.672 397,247.5 z" fill="#FFFFFF" id="path22727-182"/>
+ <path d="M386,239.5 C386,240.328 385.328,241 384.5,241 C383.672,241 383,240.328 383,239.5 C383,238.672 383.672,238 384.5,238 C385.328,238 386,238.672 386,239.5 z" fill="#FFFFFF" id="path22729-22"/>
+ <path d="M374,247.5 C374,248.328 373.328,249 372.5,249 C371.672,249 371,248.328 371,247.5 C371,246.672 371.672,246 372.5,246 C373.328,246 374,246.672 374,247.5 z" fill="#FFFFFF" id="path22731-432"/>
+ </g>
+ <path d="M387.5,204 C386.119,204 385,205.119 385,206.5 C385,207.881 386.119,209 387.5,209 C388.881,209 390,207.881 390,206.5 C390,205.119 388.881,204 387.5,204 z M401,207.156 L398,211 L393.719,216 L393,216 L391,216 L390,215.656 L390,211 C390,210.446 389.554,210 389,210 L386,210 C385.446,210 385,210.446 385,211 L385,215 L383,215 L379,215 L375,219 L374,225 L376,225 L377,223 L378,220 L379,218.656 L379,222.156 L377,226.5 L377,232 C377,233 377,234 378.5,234 C380,234 380,233 380,232 L380,226.5 L381.156,224 L383,224 L383,226.5 L385.5,232.5 C385.751,233.435 386.405,234 387.25,234 C388.059,234 388.346,233.124 388,232 L386,226.5 L386,224.188 L389,225 L393,225 L393,232 C393,232.5 393,234 394.5,234 C396,234 396,232.5 396,232 L396,225 L401,216 L403,216 L405,217 L406,216 L406,214 L402,211 L401,211 z M385,216 L388,216 L391,219 L391,223 L390,224 L389,223 L389,220 L385,217 z" fill="currentColor" id="route-horse-stroke"/>
+ </symbol>
<symbol id="route-foot" viewBox="300 200 60 60">
<g id="g22697-5">
<g id="g22699-66">
<path d="M644.749,110 L644.499,109 C644.365,108.463 644.053,108 643.499,108 L641.561,108 L641.092,106 L638.592,106 L639.061,108 L635.625,108 L637.213,111 L643.749,111 C644.303,111 644.883,110.537 644.749,110 z M640.25,110 C639.974,110 639.75,109.776 639.75,109.5 C639.75,109.224 639.974,109 640.25,109 C640.526,109 640.75,109.224 640.75,109.5 C640.75,109.776 640.526,110 640.25,110 z" fill="#989898"/>
<path d="M616.75,115 L618.25,116 L619.25,115 L619.969,112 L617.469,112 z" fill="#989898"/>
</g>
- <path d="M630.803,111.655 L636.446,111.686 L636.083,111 L634.495,108 L633.678,106.457 L634.976,106.351 L634.154,105 L632.898,102.936 L634.198,102.83 L633.6,102 L631.438,99 L631.429,98.988 L632.642,98.881 L631.066,96 L629.959,93.973 L629.933,94.095 L629.933,93.937 L628.806,96 L627.253,98.844 L628.465,98.95 L628.429,99 L626.267,102 L625.696,102.792 L626.993,102.897 L625.716,105 L624.919,106.313 L626.217,106.42 L625.38,108 L623.792,111 L623.448,111.649 L625.721,111.618 L625.718,111.627 L629.188,111.646 L629.188,112.147 L629.188,112.649 L629.188,116.023 L630.813,116.023 L630.805,112.658 L630.804,112.156 z" fill="#000000" id="railway-abandoned-tree"/>
+ <path d="M630.803,111.655 L636.446,111.686 L636.083,111 L634.495,108 L633.678,106.457 L634.976,106.351 L634.154,105 L632.898,102.936 L634.198,102.83 L633.6,102 L631.438,99 L631.429,98.988 L632.642,98.881 L631.066,96 L629.959,93.973 L629.933,94.095 L629.933,93.937 L628.806,96 L627.253,98.844 L628.465,98.95 L628.429,99 L626.267,102 L625.696,102.792 L626.993,102.897 L625.716,105 L624.919,106.313 L626.217,106.42 L625.38,108 L623.792,111 L623.448,111.649 L625.721,111.618 L625.718,111.627 L629.188,111.646 L629.188,112.147 L629.188,112.649 L629.188,116.023 L630.813,116.023 L630.805,112.658 L630.804,112.156 z" fill="#555555" id="railway-abandoned-tree"/>
<path d="M649.5,118.937 C650.881,118.937 652,120.056 652,121.437 C652,122.818 650.881,123.937 649.5,123.937 C648.593,123.941 648.127,123.535 647.529,122.937 L612.471,122.937 C611.978,123.615 611.297,123.857 610.5,123.937 C609.119,123.937 608,122.818 608,121.437 C608,120.056 609.119,118.937 610.5,118.937 C611.407,118.933 611.873,119.339 612.471,119.937 L647.529,119.937 C648.022,119.259 648.703,119.017 649.5,118.937 z" fill="currentColor" id="railway-abandoned-stroke"/>
<path d="M616,120.937 L616,121.937 L612.95,121.937 L613,121.437 L612.95,120.937 L616,120.937 z M627,120.937 L622,120.937 L622,121.937 L627,121.937 L627,120.937 z M638,120.937 L633,120.937 L633,121.937 L638,121.937 L638,120.937 z M647.05,120.937 L644,120.937 L644,121.937 L647.05,121.937 L647,121.437 L647.05,120.937 z" fill="inherit" id="railway-abandoned-dashes"/>
<path d="M651,121.437 C651,122.265 650.328,122.937 649.5,122.937 C648.672,122.937 648,122.265 648,121.437 C648,120.609 648.672,119.937 649.5,119.937 C650.328,119.937 651,120.609 651,121.437 z" fill="#FFFFFF" id="path4201"/>
<path d="M591.002,121.5 C591.002,122.328 590.33,123 589.502,123 C588.674,123 588.002,122.328 588.002,121.5 C588.002,120.672 588.674,120 589.502,120 C590.33,120 591.002,120.672 591.002,121.5 z" fill="#FFFFFF" id="path7058"/>
<path d="M552.002,121.5 C552.002,122.328 551.33,123 550.502,123 C549.674,123 549.002,122.328 549.002,121.5 C549.002,120.672 549.674,120 550.502,120 C551.33,120 552.002,120.672 552.002,121.5 z" fill="#FFFFFF" id="path7062"/>
<g id="railway-disused-weed">
- <path d="M564.408,111.625 C567.446,114.703 566.786,116.01 566.786,116.01 C566.786,116.01 566.997,116.049 568.455,116.049 C568.574,112.92 566.162,112.188 564.408,111.625 z" fill="#000000"/>
- <path d="M570.979,116.031 C571.025,114.017 570.715,112.403 570.23,111.109 C569.739,109.8 569.068,108.827 568.397,108.109 C567.121,106.744 565.851,106.309 565.851,106.309 C566.476,106.836 566.979,107.453 567.401,108.109 C568.013,109.061 568.436,110.099 568.722,111.109 C569.454,113.69 569.325,116.044 569.325,116.044 C569.325,116.044 569.897,116.031 570.979,116.031 z" fill="#000000"/>
- <path d="M573.558,108 C571.754,108.807 571.118,110.824 571.118,110.824 L571.165,111 L571.602,112.64 C571.602,112.64 571.601,111.976 571.975,111 C572.296,110.16 572.902,109.088 574.028,108 C574.111,107.92 574.189,107.84 574.278,107.76 C574.018,107.816 573.78,107.9 573.558,108 z" fill="#000000"/>
- <path d="M572.02,116.038 L573.6,116.029 C573.6,116.029 573.37,113.661 575.596,111.703 C573.862,112.201 572.211,113.783 572.02,116.038 z" fill="#000000"/>
+ <path d="M564.408,111.625 C567.446,114.703 566.786,116.01 566.786,116.01 C566.786,116.01 566.997,116.049 568.455,116.049 C568.574,112.92 566.162,112.188 564.408,111.625 z" fill="#555555"/>
+ <path d="M570.979,116.031 C571.025,114.017 570.715,112.403 570.23,111.109 C569.739,109.8 569.068,108.827 568.397,108.109 C567.121,106.744 565.851,106.309 565.851,106.309 C566.476,106.836 566.979,107.453 567.401,108.109 C568.013,109.061 568.436,110.099 568.722,111.109 C569.454,113.69 569.325,116.044 569.325,116.044 C569.325,116.044 569.897,116.031 570.979,116.031 z" fill="#555555"/>
+ <path d="M573.558,108 C571.754,108.807 571.118,110.824 571.118,110.824 L571.165,111 L571.602,112.64 C571.602,112.64 571.601,111.976 571.975,111 C572.296,110.16 572.902,109.088 574.028,108 C574.111,107.92 574.189,107.84 574.278,107.76 C574.018,107.816 573.78,107.9 573.558,108 z" fill="#555555"/>
+ <path d="M572.02,116.038 L573.6,116.029 C573.6,116.029 573.37,113.661 575.596,111.703 C573.862,112.201 572.211,113.783 572.02,116.038 z" fill="#555555"/>
</g>
</symbol>
<symbol id="railway-rail" viewBox="480 80 60 60">
<path d="M94.5,3 C95.881,3 97,4.119 97,5.5 C97,6.881 95.881,8 94.5,8 C93.489,7.97 92.651,7.429 92.26,6.5 L88.029,6.5 L92.027,10.248 C92.652,9.985 92.327,10.068 93,10 C94.381,10 95.5,11.119 95.5,12.5 C95.5,13.881 94.381,15 93,15 C91.619,15 90.5,13.881 90.5,12.5 C90.561,11.895 90.485,12.152 90.669,11.716 L86.5,7.808 L86.5,12.259 C87.49,12.593 87.903,13.534 88,14.5 C88,15.881 86.881,17 85.5,17 C84.119,17 83,15.881 83,14.5 C83.03,13.489 83.571,12.651 84.5,12.26 L84.5,7.74 C83.51,7.407 83.097,6.465 83,5.5 C83,4.119 84.119,3 85.5,3 C86.511,3.03 87.35,3.571 87.74,4.5 L92.26,4.5 C92.593,3.51 93.535,3.097 94.5,3 z M85.5,13.5 C84.948,13.5 84.5,13.948 84.5,14.5 C84.5,15.052 84.948,15.5 85.5,15.5 C86.052,15.5 86.5,15.052 86.5,14.5 C86.5,13.948 86.052,13.5 85.5,13.5 z M93,11.5 C92.448,11.5 92,11.948 92,12.5 C92,13.052 92.448,13.5 93,13.5 C93.552,13.5 94,13.052 94,12.5 C94,11.948 93.552,11.5 93,11.5 z M85.5,4.5 C84.948,4.5 84.5,4.948 84.5,5.5 C84.5,6.052 84.948,6.5 85.5,6.5 C86.052,6.5 86.5,6.052 86.5,5.5 C86.5,4.948 86.052,4.5 85.5,4.5 z M94.5,4.5 C93.948,4.5 93.5,4.948 93.5,5.5 C93.5,6.052 93.948,6.5 94.5,6.5 C95.052,6.5 95.5,6.052 95.5,5.5 C95.5,4.948 95.052,4.5 94.5,4.5 z" fill="currentColor" id="icon-relation-shape"/>
</symbol>
<symbol id="icon-area" viewBox="60 0 20 20">
+ <path d="M66.5,6.5 L73.5,6.5 L73.5,13.5 L66.5,13.5 L66.5,6.5 z" fill="currentColor" fill-opacity="0.253" id="icon-area-fill"/>
<path d="M65.5,3 C64.119,3 63,4.119 63,5.5 C63,6.458 63.543,7.288 64.333,7.708 L64.333,12.292 C63.543,12.712 63,13.542 63,14.5 C63,15.881 64.119,17 65.5,17 C66.458,17 67.288,16.457 67.708,15.667 L72.292,15.667 C72.712,16.457 73.542,17 74.5,17 C75.881,17 77,15.881 77,14.5 C77,13.542 76.457,12.712 75.667,12.292 L75.667,7.708 C76.457,7.288 77,6.458 77,5.5 C77,4.119 75.881,3 74.5,3 C73.531,3 72.696,3.558 72.281,4.365 L72.219,4.333 L67.708,4.333 C67.288,3.543 66.458,3 65.5,3 z M65.5,4.5 C66.052,4.5 66.5,4.948 66.5,5.5 C66.5,6.052 66.052,6.5 65.5,6.5 C64.948,6.5 64.5,6.052 64.5,5.5 C64.5,4.948 64.948,4.5 65.5,4.5 z M74.5,4.5 C75.052,4.5 75.5,4.948 75.5,5.5 C75.5,6.052 75.052,6.5 74.5,6.5 C73.948,6.5 73.5,6.052 73.5,5.5 C73.5,4.948 73.948,4.5 74.5,4.5 z M67.708,6.667 L72.292,6.667 C72.526,7.108 72.892,7.474 73.333,7.708 L73.333,12.292 C72.892,12.526 72.526,12.892 72.292,13.333 L67.708,13.333 C67.474,12.892 67.108,12.526 66.667,12.292 L66.667,7.708 C67.108,7.474 67.474,7.108 67.708,6.667 z M65.5,13.5 C66.052,13.5 66.5,13.948 66.5,14.5 C66.5,15.052 66.052,15.5 65.5,15.5 C64.948,15.5 64.5,15.052 64.5,14.5 C64.5,13.948 64.948,13.5 65.5,13.5 z M74.5,13.5 C75.052,13.5 75.5,13.948 75.5,14.5 C75.5,15.052 75.052,15.5 74.5,15.5 C73.948,15.5 73.5,15.052 73.5,14.5 C73.5,13.948 73.948,13.5 74.5,13.5 z" fill="currentColor" id="icon-area-shape"/>
</symbol>
<symbol id="icon-line" viewBox="40 0 20 20">
- <path d="M53.558,3 C52.21,3 51.116,4.093 51.116,5.442 C51.116,5.688 51.161,5.92 51.228,6.144 L45.144,12.228 C44.92,12.161 44.688,12.116 44.442,12.116 C43.093,12.116 42,13.21 42,14.558 C42,15.907 43.093,17 44.442,17 C45.79,17 46.884,15.907 46.884,14.558 C46.884,14.312 46.839,14.08 46.772,13.856 L52.856,7.772 C53.08,7.839 53.312,7.884 53.558,7.884 C54.907,7.884 56,6.79 56,5.442 C56,4.093 54.907,3 53.558,3 z M53.558,4.465 C54.098,4.465 54.535,4.902 54.535,5.442 C54.535,5.981 54.098,6.419 53.558,6.419 C53.019,6.419 52.581,5.981 52.581,5.442 C52.581,4.902 53.019,4.465 53.558,4.465 z M44.442,13.581 C44.981,13.581 45.419,14.019 45.419,14.558 C45.419,15.098 44.981,15.535 44.442,15.535 C43.902,15.535 43.465,15.098 43.465,14.558 C43.465,14.019 43.902,13.581 44.442,13.581 z" fill="currentColor" id="icon-line-shape"/>
+ <path d="M54.558,3 C53.21,3 52.116,4.093 52.116,5.442 C52.116,5.688 52.161,5.92 52.228,6.144 L46.144,12.228 C45.92,12.161 45.688,12.116 45.442,12.116 C44.093,12.116 43,13.21 43,14.558 C43,15.907 44.093,17 45.442,17 C46.79,17 47.884,15.907 47.884,14.558 C47.884,14.312 47.839,14.08 47.772,13.856 L53.856,7.772 C54.08,7.839 54.312,7.884 54.558,7.884 C55.907,7.884 57,6.79 57,5.442 C57,4.093 55.907,3 54.558,3 z M54.558,4.465 C55.098,4.465 55.535,4.902 55.535,5.442 C55.535,5.981 55.098,6.419 54.558,6.419 C54.019,6.419 53.581,5.981 53.581,5.442 C53.581,4.902 54.019,4.465 54.558,4.465 z M45.442,13.581 C45.981,13.581 46.419,14.019 46.419,14.558 C46.419,15.098 45.981,15.535 45.442,15.535 C44.902,15.535 44.465,15.098 44.465,14.558 C44.465,14.019 44.902,13.581 45.442,13.581 z" fill="currentColor" id="icon-line-shape"/>
</symbol>
<symbol id="icon-point" viewBox="20 0 20 20">
<path d="M29.833,3 C26.612,3 24,5.612 24,8.833 C24,12.055 29.833,17 29.833,17 C29.833,17 35.667,12.055 35.667,8.833 C35.667,5.612 33.055,3 29.833,3 z M30.016,6.5 C31.304,6.5 32.349,7.545 32.349,8.833 C32.349,10.122 31.304,11.167 30.016,11.167 C28.727,11.167 27.682,10.122 27.682,8.833 C27.682,7.545 28.727,6.5 30.016,6.5 z" fill="currentColor" id="icon-point-shape"/>
},
"commit": {
"title": "Bêre veranderinge",
- "description_placeholder": "Kortlikse beskrywing van jou bydraes",
"save": "Bȇre",
"cancel": "Kanseleer",
"warnings": "Waarskuwings",
"barrier/cycle_barrier": {
"name": "Fietshinderpaal"
},
- "barrier/ditch": {
- "name": "Sloot"
- },
"barrier/entrance": {
"name": "Ingang"
},
"shop/car_repair": {
"name": "Werkswinkel"
},
- "shop/chemist": {
- "name": "Apteek"
- },
"shop/clothes": {
"name": "Klere Winkel"
},
"logout": "تسجيل الخروج",
"commit": {
"title": "حفظ التغييرات",
- "description_placeholder": "وصف موجز لمساهماتكم",
"upload_explanation": "التغييرات التي قمتم بتحميلها ستكون مرئية على جميع الخرائط التي تستخدم بيانات خريطة الشارع المفتوح.",
"save": "حفظ",
"cancel": "إلغاء",
},
"add_line": {
"title": "خط",
- "description": "أضف طرق سريعة أو شوارع أو معابر للمشاة أو قنوات وأنفاق أو خطوط أخرى للخريطة.",
- "tail": "اضغط على الخريطة للبدء في رسم طريق أو مسار أو تحويلة."
+ "description": "أضف طرق سريعة، أو شوارع، أو ممرات مشاة، أو قنوات، أو أنفاق، أو خطوط أخرى إلى الخريطة.",
+ "tail": "اضغط على الخريطة للبدء برسم طريق، أو ممر، أو مسار."
},
"add_point": {
"title": "نقطة",
},
"browse": {
"title": "تصفح",
- "description": ".حرك و حجّم الخريطة"
+ "description": "حرك وقرّب الخريطة."
},
"draw_area": {
- "tail": "انقر لإضافة نقاط إلى مساحتك. انقر على النقطة الأولى لإنهاء تحديد المساحة."
+ "tail": "اضغط لإضافة نقاط إلى مساحتك. اضغط على النقطة الأولى لإنهاء تحديد المساحة."
},
"draw_line": {
- "tail": "انقر لإضافة المزيد من النقاط إلى الخط. انقر على الخطوط الأخرى لوصلها مع بعضها البعض، وانقر بشكل مزدوج لإنهاء الخط."
+ "tail": "اضغط لإضافة المزيد من النقاط إلى الخط. اضغط على الخطوط الأخرى لوصلها مع بعضها البعض، واضغط بشكل مزدوج لإنهاء الخط."
}
},
"operations": {
},
"start": {
"annotation": {
- "line": "بدأت خطا.",
- "area": "بدأت منطقة."
+ "line": "بدأت خطًا.",
+ "area": "بدأت مساحة."
}
},
"continue": {
- "key": "م",
+ "key": "A",
"title": "إكمال",
"description": "إكمال هذا الخط.",
"not_eligible": "لا يوجد خط يمكن إكماله هنا.",
"multiple": "يمكن إكمال عدة خطوط هنا. لاختيار خط، اضغط على مفتاح Shift ثم انقر عليه لتحديده.",
"annotation": {
- "line": "إكمال خط.",
- "area": "إكمال مساحة."
+ "line": "تÙ\85 Ø¥Ù\83Ù\85اÙ\84 خط.",
+ "area": "تÙ\85 Ø¥Ù\83Ù\85اÙ\84 Ù\85ساØØ©."
}
},
"cancel_draw": {
- "annotation": "إلغاء الرسم."
+ "annotation": "تم إلغاء الرسم."
+ },
+ "change_role": {
+ "annotation": "تم تغيير دور عضو العلاقة."
},
"change_tags": {
- "annotation": "اÙ\84Ù\88سÙ\88Ù\85 اÙ\84Ù\85تغÙ\8aرة."
+ "annotation": "تÙ\85 تغÙ\8aÙ\8aر اÙ\84Ù\88سÙ\88Ù\85."
},
"circularize": {
"title": "تدوير",
},
"key": "O",
"annotation": {
- "line": "دÙ\88Ù\91ر خطاÙ\8b.",
- "area": "دÙ\88Ù\91ر Ù\85Ù\86Ø·Ù\82ة."
+ "line": "تÙ\85 جعÙ\84 خط دائرÙ\8a.",
+ "area": "تÙ\85 جعÙ\84 Ù\85ساØØ© دائرÙ\8aة."
},
- "not_closed": "هذه لا يمكن جعلها دائرية لأنها ليست حلقة."
+ "not_closed": "هذه لا يمكن جعلها دائرية لأنها ليست حلقة.",
+ "too_large": "هذه لا يمكن جعلها دائرية لأنه لا يوجد جزء كافٍ منها ظاهر.",
+ "connected_to_hidden": "هذه لا يمكن جعلها دائرية لأنها متصلة بعنصر خفي."
},
"orthogonalize": {
"title": "مربع",
},
"commit": {
"title": "حفظ التغييرات",
- "description_placeholder": "وصف مختصر لمساهماتك",
"message_label": "ملخص التغييرات التي قمت بها",
"upload_explanation": "التغييرات التي قمت برفعها سوف تظهر على كل الخرائط التي تستخدم بيانات OpenStreetMap.",
"upload_explanation_with_user": "التغييرات التي قمت برفعها كـ {user} سوف تظهر على كل الخرائط التي تستخدم بيانات OpenStreetMap.",
"title": "صورة الخلفية من خدمة (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "معلومات اشارات المرور من خدمة Mapillary",
"title": "صورة الخلفية لاشارات المرور من خدمة (Mapillary)"
},
"mapillary": {
"name": "حاجز الدرجات الهوائية",
"terms": "حاجز دراجات هوائية"
},
- "barrier/ditch": {
- "name": "خندق",
- "terms": "خندق, مصرف, منخر"
- },
"barrier/entrance": {
"name": "مدخل",
"terms": "مدخل"
"shop/cheese": {
"name": "متجر أجبان"
},
- "shop/chemist": {
- "name": "محل أدوية",
- "terms": "محل أدوية"
- },
"shop/chocolate": {
"name": "متجر شوكولاتة"
},
"key": "D",
"annotation": "Llinies/árees desconectaes.",
"not_connected": "Equí nun hai bastantes llinies/árees que desconectar.",
- "connected_to_hidden": "Nun pue desconeutase porque ta coneutao a una carauterística tapecida."
+ "connected_to_hidden": "Nun pue desconeutase porque ta coneutao a una carauterística tapecida.",
+ "relation": "Nun pue desconeutase porque coneuta miembros d'una rellación."
},
"merge": {
"title": "Entemecer",
+ "description": "Mecer estes carauterístiques.",
"key": "C",
+ "annotation": "Meciéronse {n} carauterístiques.",
"not_eligible": "Eses carauterístiques nun puen amestase",
- "incomplete_relation": "Estes carauterístiques nun puen entemecese porque polo menos una nun se descargó completamente."
+ "not_adjacent": "Eses carauterístiques nun puen mecese porque nun tán coneutaes.",
+ "restriction": "Eses carauterístiques nun puen mecese porque una polo menos ye miembru d'una rellación \"{relation}\".",
+ "incomplete_relation": "Estes carauterístiques nun puen entemecese porque polo menos una nun se descargó completamente.",
+ "conflicting_tags": "Eses carauterístiques nun puen mecese porque dalgún valor de les etiquetes fai conflictu."
},
"move": {
"title": "Mover",
"nothing": "Ren pa refacer."
},
"tooltip_keyhint": "Atayu:",
+ "browser_notice": "Esti editor tien encontu en Firefox, Chrome, Safari, Opera, ya Internet Explorer 11 y superior. Anueva'l restolador o usa Potlatch 2 pa editar el mapa.",
"translate": {
"translate": "Traducir",
"localized_translation_label": "Nome multillingüe",
"zoom_in_edit": "Averar pa editar",
"logout": "zarrar sesión",
"loading_auth": "Coneutando con OpenStreetMap...",
+ "report_a_bug": "Informar d'un fallu",
+ "help_translate": "Ayudar a traducir",
"feature_info": {
"hidden_warning": "{count} carauterístiques tapecíes",
"hidden_details": "Anguaño estes carauterístiques tán tapecíes: {details}"
},
"commit": {
"title": "Guardar cambios",
- "description_placeholder": "Descripción curtia de les collaboraciones",
+ "description_placeholder": "Descripción curtia de les collaboraciones (riquío)",
"message_label": "Comentariu del conxuntu de cambios",
"upload_explanation": "Los cambios que xuba tarán visibles en tolos mapes qu'usen los datos d'OpenStreetMap.",
"upload_explanation_with_user": "Los cambios que xubas como {user} tarán visibles en tolos mapes qu'usen datos d'OpenStreetMap.",
"warnings": "Avisos",
"modified": "Camudáu",
"deleted": "Desaniciáu",
- "created": "Creáu"
+ "created": "Creáu",
+ "about_changeset_comments": "Tocante a los comentarios del conxuntu de cambios",
+ "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments",
+ "google_warning": "Mentasti a Google nesti comentariu: alcuérdate de que copiar de Google Maps ta torgao estrictamente.",
+ "google_warning_link": "http://www.openstreetmap.org/copyright"
},
"contributors": {
"list": "Ediciones de {users}",
"no_results_worldwide": "Nun s'alcontraron resultaos"
},
"geolocate": {
- "title": "Amosar el mio allugamientu"
+ "title": "Amosar el mio allugamientu",
+ "locating": "Llocalizando, aguarda..."
},
"inspector": {
"no_documentation_combination": "Nun hai documentación disponible pa esta combinación d'etiquetes",
"no_documentation_key": "Nun hai documentación disponible pa esta clave",
"show_more": "Ver más",
"view_on_osm": "Ver en openstreetmap.org",
+ "all_fields": "Tolos campos",
"all_tags": "Toles etiquetes",
"all_members": "Tolos miembros",
"all_relations": "Toles rellaciones",
"yes": "Si",
"no": "Non"
},
+ "add": "Amestar",
"none": "Dengún",
"node": "Nuedu",
"way": "Vía",
"description": "Configuración del fondu",
"percent_brightness": "{opacity}% brillu",
"none": "Dengún",
+ "best_imagery": "La meyor fonte d'imáxenes pa esti lugar",
+ "switch": "Volver a esti fondu",
"custom": "Personalizáu",
"custom_button": "Editar fondu personalizáu",
"custom_prompt": "Escribi una plantía d'URL de títulu. Los parámetros válidos son {z}, {x}, {y} pal esquema Z/X/Y y {u} pal esquema QuadTiles.",
+ "fix_misalignment": "Axustar el desplazamientu de les imáxenes",
+ "imagery_source_faq": "¿D'aú vienen estes imáxenes?",
"reset": "reaniciar",
"minimap": {
"description": "Minimapa",
"description": "Puntos",
"tooltip": "Puntos d'interés"
},
+ "traffic_roads": {
+ "description": "Carreteres con tráficu",
+ "tooltip": "Carreteres, cais, etc."
+ },
+ "service_roads": {
+ "description": "Carreteres de serviciu",
+ "tooltip": "Víes de serviciu, pasiellos d'aparcamientu, pistes, etc."
+ },
"paths": {
"description": "Caminos",
"tooltip": "Aceres, siendes peatonales, víes ciclistes, etc."
"view_on_osm": "Ver en OSM",
"facebook": "Compartir en Facebook",
"twitter": "Compartir en Twitter",
- "google": "Compartir en Google+"
+ "google": "Compartir en Google+",
+ "help_link_text": "Detalles"
},
"confirm": {
"okay": "Aceutar",
}
},
"presets": {
+ "categories": {
+ "category-barrier": {
+ "name": "Elementos de barrera"
+ },
+ "category-building": {
+ "name": "Elementos d'edificiu"
+ },
+ "category-golf": {
+ "name": "Elementos de golf"
+ },
+ "category-landuse": {
+ "name": "Elementos d'usu del terrén"
+ },
+ "category-path": {
+ "name": "Elementos de camín"
+ },
+ "category-rail": {
+ "name": "Elementos ferroviarios"
+ },
+ "category-restriction": {
+ "name": "Elementos de torga"
+ },
+ "category-road": {
+ "name": "Elementos de carretera"
+ },
+ "category-route": {
+ "name": "Elementos de ruta"
+ },
+ "category-water-area": {
+ "name": "Elementos acuáticos"
+ },
+ "category-water-line": {
+ "name": "Elementos acuáticos"
+ }
+ },
"fields": {
"access": {
+ "label": "Accesu permitíu",
"options": {
"designated": {
"description": "Accesu permitíu acordies con señales o lleis llocales especifiques",
"title": "Permitíu"
}
},
+ "placeholder": "Ensin especificar",
"types": {
+ "access": "Too",
"bicycle": "Bicicletes",
"foot": "A pie",
"horse": "Caballos",
}
},
"access_simple": {
+ "label": "Accesu permitíu",
"placeholder": "si"
},
"access_toilets": {
"description": {
"label": "Descripción"
},
+ "dock": {
+ "label": "Tipu"
+ },
"drive_through": {
"label": "Carril de compres"
},
"fuel": {
"label": "Combustible"
},
+ "fuel_multi": {
+ "label": "Tipos de combustible"
+ },
"gauge": {
"label": "Anchu de vía"
},
"label": "Handicap",
"placeholder": "1-18"
},
+ "handrail": {
+ "label": "Pasamanes"
+ },
"highway": {
"label": "Tipu"
},
"semi_evergreen": "Semi-perenne"
}
},
+ "leaf_cycle_singular": {
+ "label": "Ciclu de fueyes",
+ "options": {
+ "deciduous": "Caducu",
+ "evergreen": "Perenne",
+ "semi_deciduous": "Semi-caducu",
+ "semi_evergreen": "Semi-perenne"
+ }
+ },
"leaf_type": {
"label": "Tipu de fueya",
"options": {
"needleleaved": "Fueya d'aguya"
}
},
+ "leaf_type_singular": {
+ "label": "Tipu de fueya",
+ "options": {
+ "broadleaved": "Fueya ancha",
+ "leafless": "Sin fueya",
+ "needleleaved": "Fueya d'aguya"
+ }
+ },
"leisure": {
"label": "Tipu"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Direición",
+ "options": {
+ "backward": "P'atrás",
+ "forward": "P'alantre"
+ }
+ },
"park_ride": {
"label": "Aparcamientu con tresporte públicu"
},
"underground": "Baxo tierra"
}
},
+ "payment_multi": {
+ "label": "Tipos de pagu"
+ },
"phone": {
"label": "Teléfonu",
"placeholder": "+31 42 123 4567"
"railway": {
"label": "Tipu"
},
+ "recycling_accepts": {
+ "label": "Aceuta"
+ },
"ref": {
"label": "Referencia"
},
"restrictions": {
"label": "Torgues de xiru"
},
+ "rooms": {
+ "label": "Cuartos"
+ },
"route": {
"label": "Tipu"
},
"shop": {
"label": "Tipu"
},
- "sloped_curb": {
- "label": "Cairel accesible"
+ "site": {
+ "label": "Tipu"
},
"smoking": {
"label": "Fumadores",
"sport_racing": {
"label": "Deporte"
},
+ "stars": {
+ "label": "Estrelles"
+ },
+ "stop": {
+ "label": "Tipu de parada",
+ "options": {
+ "all": "Toles víes",
+ "minor": "Carretera menor"
+ }
+ },
"structure": {
"label": "Estructura",
"options": {
},
"placeholder": "Desconocíu"
},
+ "studio": {
+ "label": "Tipu"
+ },
"substation": {
"label": "Tipu"
},
},
"placeholder": "Sólidu, mayormente sólidu, dondu..."
},
+ "traffic_signals": {
+ "label": "Tipu"
+ },
"trail_visibility": {
"label": "Visibilidá del senderu",
"options": {
"name": "Dentista",
"terms": "Estomatólogu,Clínica dental"
},
+ "amenity/doctors": {
+ "name": "Doctor",
+ "terms": "Médicu,Especialista"
+ },
"amenity/dojo": {
"name": "Dojo / Academia d'artes marciales",
"terms": "Ximnasiu"
"barrier/cycle_barrier": {
"name": "Barrera pa bicicletes"
},
- "barrier/ditch": {
- "name": "Riega"
- },
"barrier/entrance": {
"name": "Entrada"
},
"shop/car_repair": {
"name": "Taller d'automóviles"
},
- "shop/chemist": {
- "name": "Droguería"
- },
"shop/clothes": {
"name": "Tienda de ropa"
},
"name": "Fotografía",
"terms": "Fotógrafu,Reveláu,Material fotográficu"
},
+ "shop/religion": {
+ "name": "Artículos relixosos"
+ },
+ "shop/scuba_diving": {
+ "name": "Tienda de merguyu"
+ },
"shop/seafood": {
"name": "Mariscos",
"terms": "Pescadería"
"shop/stationery": {
"name": "Papelería"
},
+ "shop/storage_rental": {
+ "name": "Alquiler d'almacenes"
+ },
"shop/supermarket": {
"name": "Supermercáu",
"terms": "Supermercáu, super"
"shop/vacant": {
"name": "Tienda balera"
},
+ "shop/vacuum_cleaner": {
+ "name": "Tienda d'aspiradores"
+ },
"shop/variety_store": {
"name": "Bazar"
},
"shop/video": {
"name": "Tienda de videos"
},
+ "shop/video_games": {
+ "name": "Tienda de videuxuegos"
+ },
+ "shop/water_sports": {
+ "name": "Tienda de natación/deportes acuáticos"
+ },
+ "shop/weapons": {
+ "name": "Armería"
+ },
"shop/wine": {
"name": "Bodega"
},
"tourism/chalet": {
"name": "Casa d'aldea"
},
+ "tourism/gallery": {
+ "name": "Galería d'arte"
+ },
"tourism/guest_house": {
"name": "Pensión",
"terms": "Pensión, agospiamientu, güespes"
},
"commit": {
"title": "Запис на промените",
- "description_placeholder": "Кратко описание на вашия принос",
"message_label": "Changeset коментари",
"upload_explanation": "Промените, които качвате ще са видими на всички карти използващи данни от OpenStreetMap.",
"upload_explanation_with_user": "Промените, които качвате като {user} ще са видими на всички карти използващи данни от OpenStreetMap.",
"mapillary_images": {
"tooltip": "Снимки за ниво на улицата от Mapillary"
},
- "mapillary_signs": {
- "tooltip": "Пътни знаци от Mapillary"
- },
"mapillary": {
"view_on_mapillary": "Вижте тази снимка на Mapillary"
},
"barrier/cycle_barrier": {
"name": "Велосипедна преграда"
},
- "barrier/ditch": {
- "name": "Канавка"
- },
"barrier/entrance": {
"name": "Вход"
},
"shop/car_repair": {
"name": "Сервиз автомобили"
},
- "shop/chemist": {
- "name": "Дрогерия"
- },
"shop/clothes": {
"name": "Магазин за дрехи"
},
},
"commit": {
"title": "পরিবর্তনগুলিকে সেভ করুন",
- "description_placeholder": "অাপনার সাহায্যের সংক্ষিপ্ত বিবরন",
"save": "সেভ করুন",
"cancel": "বাতিল করুন",
"warnings": "সতর্ক বার্তাসমুহ",
"shop/car_repair": {
"name": "গাড়ি মেরামত-এর দোকান"
},
- "shop/chemist": {
- "name": "কেমিস্ট"
- },
"shop/clothes": {
"name": "জামাকাপড়-এর দোকান"
},
},
"commit": {
"title": "Sačuvajte izmjene",
- "description_placeholder": "Kratak opis Vaših doprinosa",
"upload_explanation": "Promjene koje postavite će biti vidljive na svim kartama koje koriste OpenStreetMap podatke.",
"upload_explanation_with_user": "Promjene koje postavite kao {user} će biti vidljive na svim kartama koje koriste OpenStreetMap podatke.",
"save": "Sačuvajte",
"name": "Biciklistička prepreka",
"terms": "barijera za bicikle,prepreka za bicikle"
},
- "barrier/ditch": {
- "name": "Jarak",
- "terms": "jarak,kanal,rov,prokop"
- },
"barrier/entrance": {
"name": "Ulaz",
"terms": "ulaz,vrata"
"name": "Auto servis",
"terms": "auto servis,radnja za popravku automobila"
},
- "shop/chemist": {
- "name": "Apotekar",
- "terms": "apotekar,hemičar"
- },
"shop/clothes": {
"name": "Prodavnica odjeće",
"terms": "prodavnica odjeće,radnja za prodaju odjeće"
},
"commit": {
"title": "Desa els canvis",
- "description_placeholder": "Breu descripció de les vostres contribucions",
+ "description_placeholder": "Breu descripció de les teves contribucions (necessari)",
"message_label": "Comentari de conjunt de canvis",
"upload_explanation": "Els canvis que deseu seran visibles a tots els mapes que utilitzin dades d'OpenStreetMap.",
"upload_explanation_with_user": "Els canvis que deseu com a {user} seran visibles en tots els mapes que utilitzin dades d'OpenStreetMap.",
"deleted": "Eliminat",
"created": "Creat",
"about_changeset_comments": "Quant als comentaris del conjunt de canvis",
- "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments"
+ "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments",
+ "google_warning": "Has mencionat Google en aquest comentari: recorda que la còpia de Google Maps està estrictament prohibida.",
+ "google_warning_link": "http://www.openstreetmap.org/copyright"
},
"contributors": {
"list": "Edicions fetes per {users}",
"yes": "Sí",
"no": "No"
},
+ "add": "Afegir",
"none": "Cap",
"node": "Node",
"way": "Via",
"percent_brightness": "{opacity}% brillantor",
"none": "Cap",
"best_imagery": "Font d'imatgeria millor coneguda per a aquesta ubicació",
+ "switch": "Senyals de trànsit ",
"custom": "Personalitzar",
"custom_button": "Editar el fons personalitzat",
"custom_prompt": "Introduïu una plantilla d'URL de casella. Els paràmetres vàlids són {z}, {x}, {y} per a l'esquema Z/X/Y i {u} per a l'esquema quadtile.",
+ "fix_misalignment": "Ajusta la alineació de la imatgeria",
"imagery_source_faq": "D'on prové aquesta imatgeria?",
"reset": "reiniciar",
+ "offset": "Arrosega cap a qualsevol lloc de la zona gris de sota per ajustar la alineació de la imatgeria, o entra els valors de la alineació en metres.",
"minimap": {
"description": "Miniatura del mapa",
"tooltip": "Mostrar un mapa amb menys zoom per ajudar a localitzar l'àrea que es mostra actualment."
"title": "Superposició de fotos (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Senyals de Trànsit de Mapillary",
+ "tooltip": "Senyals de trànsit de Mapillary (cal activar la capa de fotografies).",
"title": "Superposició de Senyals de Trànsit (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Característiques de Barrera"
+ },
"category-building": {
"name": "Característiques d'Edificació"
},
"bicycle_parking": {
"label": "Tipus"
},
+ "bin": {
+ "label": "Paperera"
+ },
"boundary": {
"label": "Tipus"
},
"cuisine": {
"label": "Tipus de cuina"
},
+ "currency_multi": {
+ "label": "Tipus de divisa"
+ },
"cycleway": {
"label": "Carrils Bici",
"options": {
"fuel": {
"label": "Carburant"
},
+ "fuel_multi": {
+ "label": "Tipus de combustible"
+ },
"gauge": {
"label": "Ample"
},
"yes": "Sí"
}
},
+ "internet_access/fee": {
+ "label": "Taxa d'accés a Internet"
+ },
+ "kerb": {
+ "label": "Rebaix de vorada"
+ },
"lamp_type": {
"label": "Tipus"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Direcció",
+ "options": {
+ "backward": "Enrere",
+ "forward": "Endavant"
+ }
+ },
"park_ride": {
"label": "Aparca i viatja "
},
"underground": "Subterrani"
}
},
+ "payment_multi": {
+ "label": "Tipus de pagament"
+ },
"phone": {
"label": "Telèfon",
"placeholder": "+31 42 123 4567"
"railway": {
"label": "Tipus"
},
+ "recycling_accepts": {
+ "label": "N'accepta"
+ },
"ref": {
"label": "Referència"
},
"restrictions": {
"label": "Restriccions de gir"
},
+ "rooms": {
+ "label": "Habitacions"
+ },
"route": {
"label": "Tipus"
},
"site": {
"label": "Tipus"
},
- "sloped_curb": {
- "label": "Rampa a la vorera"
- },
"smoking": {
"label": "Apte per a fumadors",
"options": {
"sport_racing": {
"label": "Esport"
},
+ "stars": {
+ "label": "Estrelles"
+ },
+ "stop": {
+ "label": "Tipus de stop",
+ "options": {
+ "all": "Totes direccions",
+ "minor": "Carretera menor"
+ }
+ },
"structure": {
"label": "Estructura",
"options": {
},
"placeholder": "Desconegut"
},
+ "studio": {
+ "label": "Tipus"
+ },
"substation": {
"label": "Tipus"
},
"name": "Telecadira"
},
"aerialway/gondola": {
- "name": "Telecabina"
+ "name": "Telecabina",
+ "terms": "Góndola"
},
"aerialway/magic_carpet": {
"name": "Cinta remuntadora"
"name": "Oficina de correus",
"terms": "Oficina de Correus, Correus, Edifici de Correus, Cartes, Carters"
},
+ "amenity/prison": {
+ "name": "Terrenys de presó"
+ },
"amenity/pub": {
"name": "Pub",
"terms": "Bar, Bar Musical, Pub, Local de copes, Local d'oci nocturn, Bareto"
"terms": "Barrera per a ciclistes, Ciclisme, Bicicleta, Ruta cicloturista, Valla, Tanca, Tancament, Tanca per a bicicletes"
},
"barrier/ditch": {
- "name": "Sèquia",
- "terms": "Sèquia, Canal, Aigua, Via aquífera, Torrent, Conducció d'aigua, Aquífer, Rierol"
+ "name": "Trinxera"
},
"barrier/entrance": {
"name": "Entrada",
"emergency/ambulance_station": {
"name": "Parada d'ambulàncies"
},
+ "emergency/defibrillator": {
+ "name": "Desfibril·lador"
+ },
"emergency/fire_hydrant": {
"name": "Boca d'incendis",
"terms": "Boca d'incendis, presa d'aigua per a bombers, incendi, bombers, sortida d'aigua, aigua"
"name": "Camí per a vianants",
"terms": "Camí per a vianants, carrer peatonal, camí per a peatons, a peu, camí per caminar, vianant, vianants, peató, peatons, transeünt, transeünts, peatonal"
},
+ "highway/give_way": {
+ "name": "Senyal de cediu el pas"
+ },
"highway/living_street": {
"name": "Carrer residencial",
"terms": "Carrer residencial"
"name": "Cul de sac",
"terms": "Girar 180 graus, Canviar de sentit"
},
+ "highway/unclassified": {
+ "name": "Carretera menor / sense classificació"
+ },
"historic": {
"name": "Lloc històric",
"terms": "Lloc històric"
"leisure/adult_gaming_centre": {
"name": "Centre d'oci adult"
},
+ "leisure/bird_hide": {
+ "name": "Observatori d'ocells"
+ },
"leisure/bowling_alley": {
"name": "Bolera"
},
"name": "trencaonades",
"terms": "Escullera,Espigó,Espatller"
},
+ "man_made/bridge": {
+ "name": "Pont"
+ },
"man_made/chimney": {
"name": "Xemeneia"
},
"name": "Botiga de formatge"
},
"shop/chemist": {
- "name": "Farmàcia",
- "terms": "Farmàcia"
+ "name": "Farmàcia"
},
"shop/chocolate": {
"name": "Botiga de xocolata"
"shop/newsagent": {
"name": "Botiga de diaris i revistes"
},
+ "shop/nutrition_supplements": {
+ "name": "Botiga de suplements nutricionals"
+ },
"shop/optician": {
"name": "Òptica"
},
"type/route/hiking": {
"name": "Ruta senderista"
},
+ "type/route/horse": {
+ "name": "Ruta de conducció"
+ },
"type/route/pipeline": {
"name": "Traçat d'una canonada"
},
"line": "Zakulacena čára.",
"area": "Zakulacena plocha."
},
- "not_closed": "Z objektu nelze udělat kruh, protože nejde o smyčku.",
+ "not_closed": "Z objektu nelze udělat kruh, neboť nejde o smyčku.",
"too_large": "Z objektu nelze udělat kruh, protože není vidět dostatečně velká část.",
"connected_to_hidden": "Z objektu nelze udělat kruh, protože je napojen na skrytý objekt."
},
},
"commit": {
"title": "Uložit změny",
- "description_placeholder": "Stručný popis vašich úprav",
+ "description_placeholder": "Stručný popis vašich úprav (povinné)",
"message_label": "Komentář ke změnám",
"upload_explanation": "Vámi provedené změny budou viditelné na všech mapách postavených na datech z OpenStreetMap.",
"upload_explanation_with_user": "Změny provedené pod jménem {user} budou viditelné na všech mapách postavených na datech z OpenStreetMap.",
"percent_brightness": "{opacity}% viditelnost",
"none": "Žádné",
"best_imagery": "Nejlepší známý zdroj podkladů pro toto místo",
+ "switch": "Přepnout zpět na toto pozadí",
"custom": "Vlastní",
"custom_button": "Editovat vlastní pozadí",
"custom_prompt": "Vložte šablonu adres dlaždic. Lze použít tokeny {z}, {x}, {y} pro schéma Z/X/Y a {u} pro hierarchické schéma quadtile.",
"deprecated_tags": "Zastaralé vlastnosti: {tag}"
},
"zoom": {
- "in": "Zvětšit",
- "out": "Zmenšit"
+ "in": "Přiblížit",
+ "out": "Oddálit"
},
"cannot_zoom": "Aktuální nastavení nedovoluje větší zvětšení.",
"full_screen": "Na celou obrazovku",
"title": "Vrstva fotografií (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Dopravní značky z Mapillary",
+ "tooltip": "Dopravní značky z Mapillary (nutné povolit Vrstvu fotografií)",
"title": "Vrstva dopravních značek (Mapillary)"
},
"mapillary": {
"view_on_mapillary": "Zobrazit tento obrázek na Mapillary"
},
"help": {
- "title": "Pomoc",
+ "title": "Nápověda",
"help": "# Pomoc\n\nToto je editor [OpenStreetMap](http://www.openstreetmap.org/), svobodné a otevřené mapy světa, vytvářené jako open-source a open-data. S pomocí editoru můžete přidávat a upravovat data v mapě třeba ve svém okolí, a zlepšovat tak celou mapu pro každého.\n\nVaše úpravy mapy budou viditelné pro každého uživatele OpenStreetMap. Před editací se ovšem musíte [přihlásit](https://www.openstreetmap.org/login).\n\n[iD editor](http://ideditor.com/) je projekt vytvářený spoluprací mnoha lidí, se [zdrojovým kódem na GitHubu](https://github.com/openstreetmap/iD).\n",
"editing_saving": "# Editace a publikace\n\nTento editor pracuje primárně online - právě teď k němu přistupujete prostřednictvím webové stránky.\n\n### Výběr objektů\n\nChcete-li vybrat objekt, jako třeba silnici nebo obchod, klikněte na něj v mapě. Objekt se tím označí, otevře se boční panel s vlastnostmi objektu a zobrazí se nabídka s akcemi, které lze s objektem provést.\n\nMůžete označit a pracovat s několika objekty najednou: podržte klávesu 'Shift', a pak buď postupně označte dotyčné objekty, anebo klikněte na mapu a táhněte myší či prstem - editor označí všechny objekty uvnitř příslušného obdélníku.\n\n### Publikace změn\n\nKdyž provedete nějaké úpravy objektů v mapě, úpravy jsou uloženy lokálně ve vašem prohlížeči. Nelekejte se, když uděláte chybu - úpravy lze vrátit zpět tlačítkem Zpět, a naopak je znovu provést tlačítkem Znovu.\n\nPo dokončení bloku úprav klikněte na 'Uložit' - například když jste upravili jednu část města, a chcete začít úpravy někde jinde. Zobrazí se přehled úprav, které jste provedli, editor tyto úpravy zkontroluje, a když se mu něco nebude zdát, zobrazí varování a návrhy.\n\nKdyž bude všechno v pořádku, můžete přidat krátký komentář s vysvětlením vašich úprav a kliknout znovu 'Uložit'. Úpravy se tímto publikují na [OpenStreetMap.org](http://www.openstreetmap.org/), kde za chvíli budou viditelné pro všechny uživatele a bude na nich možné provádět další úpravy.\n\nPokud nechcete nebo nemůžete úpravy dokončit teď, stačí prostě odejít ze stránky pryč. Až příště navštívíte stránku (na stejném počítači, ve stejném prohlížeči), editor vám nabídne možnost znovu načíst neuložené úpravy.\n\n### Používání editoru\n\nSeznam dostupných klávesových zkratek je k dispozici [zde](http://wiki.openstreetmap.org/wiki/ID/Shortcuts).\n",
"roads": "# Cesty\n\nEditor umožňuje vytvářet, opravovat a mazat silnice, pěšiny, cyklostezky, železnice atd. Zmapovat by mělo jít jakýkoli druh komunikace.\n\n### Výběr\n\nKdyž na cestu kliknete, zbarví se její obrys, otevře se u ní malá nabídka s nástroji a dále boční panel s informacemi o cestě.\n\n### Úpravy\n\nČasto narazíte na cesty, které jen nepřesně sledují pozadí či trasu GPS. Takové cesty můžete zarovnat na správné místo.\n\nNapřed klikněte na cestu, kterou chcete upravit. Cesta se rozsvítí a podél ní se objeví kontrolní uzly, které můžete posunout na správné místo. Pokud chcete přidat další kontrolní body a zpřesnit tak průběh cesty, stačí dvakrát kliknout na kus cesty mezi dvěma uzly - na zvolené místo přibude nový uzel.\n\nKdyž je reálná cesta napojena na jinou, ale v mapě spojeny nejsou, posuňte myší kontrolní uzel jedné cesty nad druhou - cesty se pak spojí. Propojení cest je velmi důležité pro správnou funkci navigací.\n\nTaké můžete posunout najednou celou cestu: buď klikněte na ikonu posunu v menu zobrazeném u cesty nebo stiskněte klávesu `M` a potom klikněte myší pro ukončení posunu. Jen pozor - pokud jsou vůči pozadí či GPS stopě všechny objekty v okolí, pravděpodobně to bude chybným pozadím a ne chybnou polohou objektů.\n\n### Mazání\n\nPokud je cesta úplně špatně, můžete ji zcela odstranit z mapy. Neměli byste se spoléhat pouze na satelitní snímky - mohou být zastaralé nebo zavádějící -, ideální je se přesvědčit na místě, že cesta opravdu neexistuje. Zvlášť při mazání objektů buďte opatrní - výsledek vaší úpravy se projeví v mapě pro všechny její uživatele.\n\nCestu smažete tak, že na ni kliknete a zvolíte ikonu odpadkového koše nebo stisknete klávesu Delete.\n\n### Vytváření\n\nNarazili jste na cestu, která by v mapě měla být, ale není? Klikněte na tlačítko 'Cesta' vlevo nahoře nebo stiskněte klávesu `2` - to vám umožní nakreslit novou cestu.\n\nKlikněte na místo, kde cesta začíná. Pokud cesta vychází z jiné, existující cesty, klikněte na místo, kde se cesty oddělují.\n\nPotom postupně klikejte na body, kudy cesta vede, podle satelitních snímků nebo trasy z GPS. Pokud vaše cesta protíná jinou, je třeba je propojit tak, že kliknete na bod křížení. Nakonec dvakrát klikněte na stejné místo nebo stiskněte klávesu 'Return' nebo 'Enter', cesta se tak ukončí.\n",
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Překážky"
+ },
"category-building": {
"name": "Budovy"
},
"bicycle_parking": {
"label": "Typ"
},
+ "bin": {
+ "label": "Odpadkový koš"
+ },
"boundary": {
"label": "Typ"
},
"cuisine": {
"label": "Kuchyně"
},
+ "currency_multi": {
+ "label": "Měny"
+ },
"cycleway": {
"label": "Cyklopruhy",
"options": {
"fuel": {
"label": "Palivo"
},
+ "fuel_multi": {
+ "label": "Paliva"
+ },
"gauge": {
"label": "Rozchod"
},
"label": "Typ"
},
"internet_access": {
- "label": "Přístup k internetu",
+ "label": "Připojení k internetu",
"options": {
"no": "Ne",
"terminal": "Počítače",
"yes": "Ano"
}
},
+ "internet_access/fee": {
+ "label": "Poplatek za připojení"
+ },
+ "kerb": {
+ "label": "Obrubník"
+ },
"lamp_type": {
"label": "Typ"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Směr",
+ "options": {
+ "backward": "Zpátky",
+ "forward": "Dopředu"
+ }
+ },
"park_ride": {
"label": "Parkoviště P+R"
},
"underground": "Podzemní"
}
},
+ "payment_multi": {
+ "label": "Platební kanály"
+ },
"phone": {
"label": "Telefon",
"placeholder": "+31 42 123 4567"
"restrictions": {
"label": "Omezení odbočování"
},
+ "rooms": {
+ "label": "Pokojů"
+ },
"route": {
"label": "Typ"
},
"site": {
"label": "Typ"
},
- "sloped_curb": {
- "label": "Zkosený obrubník"
- },
"smoking": {
"label": "Kouření",
"options": {
"sport_racing": {
"label": "Sport"
},
+ "stars": {
+ "label": "Hvězdiček"
+ },
+ "stop": {
+ "label": "Typ stopky",
+ "options": {
+ "all": "Ze všech směrů",
+ "minor": "Z vedlejších"
+ }
+ },
"structure": {
"label": "Struktura",
"options": {
"terms": "zábrana pro cyklisty"
},
"barrier/ditch": {
- "name": "Příkop jako překážka",
- "terms": "příkop,járek,jáma,strouha,škarpa,stoka"
+ "name": "Příkop",
+ "terms": "příkop,zákop"
},
"barrier/entrance": {
"name": "Vchod/východ",
"name": "Stanice záchranné služby",
"terms": "ambulance,pohotovost,zdravotní pohotovost,pohotovostní stanice,záchranná služba,služba"
},
+ "emergency/defibrillator": {
+ "name": "Defibrilátor",
+ "terms": "defibrilátor,AED,resuscitace"
+ },
"emergency/fire_hydrant": {
"name": "Požární hydrant",
"terms": "požární hydrant, hasičský hydrant, pumpa"
"name": "Chodník",
"terms": "cesta,silnice,ulice,ulička,chodník,třída,bulvár,avenue,pasáž,stezka,trasa,trať,magistrála,radiála,pěšina"
},
+ "highway/give_way": {
+ "name": "Značka Dej přednost",
+ "terms": "dej přednost v jízdě,dej přednost,značka přednosti v jízdě,vedlejší silnice,vedlejší ulice"
+ },
"highway/living_street": {
"name": "Obytná zóna",
"terms": "obytná zóna"
"name": "Vlnolam",
"terms": "pobřežní hráz,násep,kameny,molo,zábrana"
},
+ "man_made/bridge": {
+ "name": "Most",
+ "terms": "most,lávka,viadukt,akvadukt,ekodukt"
+ },
"man_made/chimney": {
"name": "Komín",
"terms": "komín"
},
"shop/chemist": {
"name": "Drogérie",
- "terms": "drogérie,parfumérie,kosmetika,hygiena,čisticí prostředky"
+ "terms": "drogérie,parfumérie,kosmetika,hygiena,čisticí prostředky,lékárna,léky"
},
"shop/chocolate": {
"name": "Prodejna čokolády",
"name": "Turistická trasa",
"terms": "pěší trasa,trasa pro pěší,turistická značka,turistická trasa,značka pro pěší,klub českých turistů,kčt"
},
+ "type/route/horse": {
+ "name": "Jezdecká trasa",
+ "terms": "jezdecká trasa,koňská trasa,jezdecká stezka,koňská stezka,kůň,koně,jezdec,jezdce"
+ },
"type/route/pipeline": {
"name": "Potrubní trasa",
"terms": "potrubí,potrubní trasa,roura,roury,transport,vodovod,ropovod,produktovod,plynovod,kanál,rozvod"
},
"commit": {
"title": "Gem ændringer",
- "description_placeholder": "Kort beskrivelse af dine bidrag",
+ "description_placeholder": "Skriv en kort beskrivelse af dit bidrag (påkrævet)",
"message_label": "Ændringssætskommentar",
"upload_explanation": "De ændringer du uploader vil blive synlige på alle kort der bruger OpenStreetMap-data.",
"upload_explanation_with_user": "Ændringer du uploader under brugernavnet {user} vil blive synlige på alle kort der bruger OpenStreetMap-data.",
"percent_brightness": "{opacity} % lysstyrke",
"none": "Ingen",
"best_imagery": "Bedst kendte luftfotokilde for denne her lokalitet",
+ "switch": "Skift tilbage til denne baggrund",
"custom": "Brugerdefineret",
"custom_button": "Rediger brugerdefineret baggrund",
"custom_prompt": "Angiv en URL-skabelon for fliser. Gyldige værdier er {z}, {x}, {y} for Z/X/Y-systemet og {u} for quadtile-systemet. ",
"title": "Billedelag (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Trafikskilte fra Mapillary",
+ "tooltip": "Trafikskilte fra Mapillary (fotolag skal være slået til)",
"title": "Trafikskiltelag (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Barrierer objekter"
+ },
"category-building": {
"name": "Bygningsegenskaber"
},
"yes": "Ja"
}
},
+ "internet_access/fee": {
+ "label": "Internet gebyr"
+ },
+ "kerb": {
+ "label": "Ramme"
+ },
"lamp_type": {
"label": "Type"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Retning",
+ "options": {
+ "backward": "Tilbage",
+ "forward": "Forlæns"
+ }
+ },
"park_ride": {
"label": "Park and ride-anlæg"
},
"restrictions": {
"label": "Drejebegrænsninger"
},
+ "rooms": {
+ "label": "Værelser"
+ },
"route": {
"label": "Type"
},
"site": {
"label": "Type"
},
- "sloped_curb": {
- "label": "Sløfekurve"
- },
"smoking": {
"label": "Rygning",
"options": {
"sport_racing": {
"label": "Sport"
},
+ "stars": {
+ "label": "Stjerner"
+ },
+ "stop": {
+ "label": "Stoptype",
+ "options": {
+ "all": "Alle veje",
+ "minor": "Mindre vej"
+ }
+ },
"structure": {
"label": "Struktur",
"options": {
},
"barrier/ditch": {
"name": "Grøft",
- "terms": "Grøft, Grøftekant"
+ "terms": "Grøft"
},
"barrier/entrance": {
"name": "Indgang",
"name": "Udrykningsstation",
"terms": "Ambulancestation, Falckstation"
},
+ "emergency/defibrillator": {
+ "name": "Hjertestarter",
+ "terms": "Hjertestarter, AED"
+ },
"emergency/fire_hydrant": {
"name": "Brandhane",
"terms": "Brandhane"
"name": "Gangsti",
"terms": "Gangsti"
},
+ "highway/give_way": {
+ "name": "Advarselsskilte",
+ "terms": "Advarselsskilte, stopskilte"
+ },
"highway/living_street": {
"name": "Stillevej",
"terms": "Stillevej"
"name": "Bølgebryder",
"terms": "Bølgebryder"
},
+ "man_made/bridge": {
+ "name": "Bro",
+ "terms": "Bro"
+ },
"man_made/chimney": {
"name": "Skorsten",
"terms": "Skorsten"
"terms": "Ostehandler, Ostebutik, Osteforretning"
},
"shop/chemist": {
- "name": "Kemiforhandler",
- "terms": "Kemiforhandler"
+ "name": "Medicinbutik",
+ "terms": "Medicinbutik, Materialist"
},
"shop/chocolate": {
"name": "Chokoladeforretning",
"name": "Vandrerute",
"terms": "Vandrerute, Vandretur, Gårute"
},
+ "type/route/horse": {
+ "name": "Kørerute",
+ "terms": "Kørerute"
+ },
"type/route/pipeline": {
"name": "Rørledningsnet",
"terms": "Rørledningsnet"
},
"commit": {
"title": "Änderungen speichern",
- "description_placeholder": "Eine kurze Beschreibung deiner Beiträge",
+ "description_placeholder": "Eine kurze Beschreibung deiner Beiträge (erforderlich)",
"message_label": "Änderungssatzkommentar",
"upload_explanation": "Änderungen, die du hoch lädst, werden auf allen Karten sichtbar, die OpenStreetMap nutzen.",
"upload_explanation_with_user": "Änderungen, die du als {user} hoch lädst, werden auf allen Karten sichtbar, die OpenStreetMap nutzen.",
"percent_brightness": "{opacity}% Helligkeit",
"none": "Kein Hintergrund",
"best_imagery": "Beste bekannte Bildmaterialquelle für diesen Ort",
+ "switch": "Zu diesem Hintergrund zurück wechseln",
"custom": "Benutzerdefiniert",
"custom_button": "Benutzerdefinierten Hintergrund bearbeiten",
"custom_prompt": "Gib eine Vorlage für eine Kachel-URL ein. Gültige Platzhalter sind {z}, {x}, {y} für das Z/X/Y Schema und {u} für das „quadtile“-Schema.",
"title": "Photo-Überlagerung (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Verkehrszeichen von Mapillary",
+ "tooltip": "Verkehrsschilder von Mapillary (bei aktivierter Fotoebene)",
"title": "Verkehrszeichen-Überlagerung (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Barriere Objekte"
+ },
"category-building": {
"name": "Gebäudefunktionen"
},
"name": "Flächennutzungen"
},
"category-path": {
- "name": "Pfadtypen"
+ "name": "Wegtypen"
},
"category-rail": {
"name": "Schienentypen"
"yes": "Ja"
}
},
+ "internet_access/fee": {
+ "label": "Internetzugangsgebühr"
+ },
+ "kerb": {
+ "label": "Bordsteinabsenkung"
+ },
"lamp_type": {
"label": "Typ"
},
"label": "Länge (Meter)"
},
"level": {
- "label": "Niveau/Etage"
+ "label": "Stockwerk"
},
"levels": {
"label": "Etagen",
"label": "Par",
"placeholder": "3, 4, 5, 6"
},
+ "parallel_direction": {
+ "label": "Richtung",
+ "options": {
+ "backward": "Rückwärts",
+ "forward": "Forwärts"
+ }
+ },
"park_ride": {
"label": "Parken und Reisen"
},
"restrictions": {
"label": "Abbiegebeschränkungen"
},
+ "rooms": {
+ "label": "Räume"
+ },
"route": {
"label": "Typ"
},
"site": {
"label": "Typ"
},
- "sloped_curb": {
- "label": "abgeschrägter Bordstein"
- },
"smoking": {
"label": "Rauchen",
"options": {
"sport_racing": {
"label": "Sport"
},
+ "stars": {
+ "label": "Sterne"
+ },
+ "stop": {
+ "label": "Hatestellen-Typ",
+ "options": {
+ "all": "Rechts-Vor-Links Kreuzung",
+ "minor": "Nebenstraße"
+ }
+ },
"structure": {
"label": "Struktur",
"options": {
"terms": "Tankstelle, Tanke"
},
"amenity/grave_yard": {
- "name": "Friedhof",
- "terms": "Friedhof"
+ "name": "Gräberfeld",
+ "terms": "Gräberfeld, kleiner Friedhof"
},
"amenity/grit_bin": {
"name": "Streugutkiste",
},
"barrier/ditch": {
"name": "Graben",
- "terms": "Graben, Straßengraben"
+ "terms": "Graben, Straßengraben, Rinne"
},
"barrier/entrance": {
"name": "Eingang",
"name": "Rettungswache",
"terms": "Rettungswache"
},
+ "emergency/defibrillator": {
+ "name": "Defibrillator",
+ "terms": "Defibrillator, Defi, Schockgeber"
+ },
"emergency/fire_hydrant": {
"name": "Hydrant",
"terms": "Hydrant,Löschwasserentnahmestelle"
"name": "Fußweg",
"terms": "Fußweg, Fußgängerweg, Fußpfad"
},
+ "highway/give_way": {
+ "name": "Vorfahrt gewähren",
+ "terms": "Vorfahrt gewähren-Zeichen, Vorrang gewähren-Zeichen"
+ },
"highway/living_street": {
"name": "Verkehrsberuhigter Bereich, auch „Spielstraße“ genannt",
"terms": "Verkehrsberuhigter Bereich, Wohnstraße, Spielstraße"
"name": "Wellenbrecher",
"terms": "Wellenbrecher, Buhnen"
},
+ "man_made/bridge": {
+ "name": "Brücke",
+ "terms": "Brücke, Brückenbauwerk, Steg, Übergang"
+ },
"man_made/chimney": {
"name": "Schornstein",
"terms": "Schornstein, Kamin"
"terms": "Stromgenerator"
},
"power/line": {
- "name": "Hauptstromleitung",
+ "name": "Hochspannungsleitung",
"terms": "Stromleitung"
},
"power/minor_line": {
- "name": "Nebenstromleitung",
+ "name": "Mittel-/Niederspannungsleitung",
"terms": "Niederspannungsleitung, Mittelspannungsleitung, Freileitung, Niederspannungsfreileitung, Mittelspannungsfreileitung"
},
"power/pole": {
- "name": "Nebenstrommast",
+ "name": "Strommast",
"terms": "Strommast, Stromleitungsmast"
},
"power/sub_station": {
"terms": "Umspannwerk, Transformatorenstation, Schaltanlage"
},
"power/tower": {
- "name": "Hauptstrommast",
- "terms": "Hochspannungsmast"
+ "name": "Hochspannungsmast",
+ "terms": "Hauptstrommast"
},
"power/transformer": {
"name": "Transformator",
- "terms": "Transformator"
+ "terms": "Transformator, Umspannwerk"
},
"public_transport/platform": {
"name": "Bahn-/Bussteig ",
},
"shop/chemist": {
"name": "Drogerie",
- "terms": "Drogerie"
+ "terms": "Apotheke, Drogerie"
},
"shop/chocolate": {
"name": "Schokoladeladen",
},
"shop/optician": {
"name": "Optiker",
- "terms": "Optiker"
+ "terms": "Brillengeschäft"
},
"shop/organic": {
"name": "Bioladen",
"name": "Wanderroute",
"terms": "Wanderweg, Fernwanderweg, Pilgerweg, Trekking"
},
+ "type/route/horse": {
+ "name": "Reitroute",
+ "terms": "Reitwanderroute, Reitroute, Wanderreitroute"
+ },
"type/route/pipeline": {
"name": "Pipelinenetz",
"terms": "Pipeline"
"modes": {
"add_area": {
"title": "Περιοχή",
- "description": "Προσθήκη πάρκων, λιμνών ή άλλων περιοχών στο χάρτη.",
- "tail": "Πατήστε στο χάρτη για να αρχίσετε τη σχεδίαση μιας περιοχής, όπως πάρκο, λίμνη ή κτήριο."
+ "description": "Προσθήκη πάρκων, λιμνών ή άλλων περιοχών στον χάρτη.",
+ "tail": "Πατήστε στον χάρτη για να αρχίσετε τη σχεδίαση μιας περιοχής, όπως πάρκο, λίμνη ή κτίριο."
},
"add_line": {
"title": "Γραμμή",
- "description": "Προσθήκη λεωφόρων, οδών, πεζόδρομων, καναλιών ή άλλων γραμμών στο χάρτη.",
- "tail": "Πατήστε στο χάρτη για να αρχίσετε τη σχεδίαση ενός δρόμου, μονοπατιού ή διαδρομής."
+ "description": "Προσθήκη λεωφόρων, οδών, πεζόδρομων, καναλιών ή άλλων γραμμών στον χάρτη.",
+ "tail": "Πατήστε στον χάρτη για να αρχίσετε τη σχεδίαση ενός δρόμου, μονοπατιού ή διαδρομής."
},
"add_point": {
"title": "Σημείο",
- "description": "Προσθήκη εστιατορίων, μνημείων, γραμματοκιβωτίων ή άλλων σημείων στο χάρτη.",
- "tail": "Πατήστε στο χάρτη για να προσθέσετε ένα σημείο."
+ "description": "Προσθήκη εστιατορίων, μνημείων, γραμματοκιβωτίων ή άλλων σημείων στον χάρτη.",
+ "tail": "Πατήστε στον χάρτη για να προσθέσετε ένα σημείο."
},
"browse": {
"title": "Επισκόπηση",
},
"commit": {
"title": "Αποθήκευση Αλλαγών",
- "description_placeholder": "Σύντομη περιγραφή των συνεισφορών σας",
+ "description_placeholder": "Σύντομη περιγραφή των συνεισφορών σας (απαιτείται)",
"message_label": "Σχόλιο αλλαγών",
"upload_explanation": "Οι αλλαγές που θα ανεβάσετε θα είναι ορατές σε όλους τους χάρτες που χρησιμοποιούν δεδομένα OpenStreetMap.",
"upload_explanation_with_user": "Οι αλλαγές που θα ανεβάσετε ως {user} θα είναι ορατές σε όλους τους χάρτες που χρησιμοποιούν δεδομένα OpenStreetMap.",
"deleted": "Διαγράφηκε",
"created": "Δημιουργήθηκε",
"about_changeset_comments": "Σχετικά με τα σχόλια αλλαγών",
- "google_warning": "Αναφέρατε την Google σε αυτό το σχόλιο: θυμηθείτε πως η αντιγραφή από τους Χάρτες Google απαγορεύεται αυστηρά."
+ "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/El:Good_changeset_comments",
+ "google_warning": "Αναφέρατε την Google σε αυτό το σχόλιο: θυμηθείτε πως η αντιγραφή από τους Χάρτες Google απαγορεύεται αυστηρά.",
+ "google_warning_link": "http://www.openstreetmap.org/copyright/el"
},
"contributors": {
"list": "Επεξεργασίες από {users}",
"description": "Δεδομένα Χάρτη",
"data_layers": "Στρώσεις δεδομένων",
"fill_area": "Γέμισμα περιοχών",
- "map_features": "Χαρακτηριστικά Χάρτη"
+ "map_features": "Χαρακτηριστικά Χάρτη",
+ "autohidden": "Αυτά τα χαρακτηριστικά έχουν κρυφθεί αυτόματα γιατί θα εμφανίζονταν πάρα πολλά στην οθόνη. Μπορείτε να εστιάσετε για να τα επεξεργαστείτε."
},
"feature": {
"points": {
"description": "Σημεία",
"tooltip": "Σημεία Ενδιαφέροντος"
},
+ "traffic_roads": {
+ "description": "Δρόμοι Κυκλοφορίας"
+ },
"service_roads": {
- "description": "Δρόμοι εξυπηρέτησης"
+ "description": "Δρόμοι Εξυπηρέτησης",
+ "tooltip": "Δρόμοι εξυπηρέτησης, διάδρομοι στάθμευσης, διαδρομές, κτλ."
},
"paths": {
"description": "Μονοπάτια",
"description": "Κτίρια",
"tooltip": "Κτίρια, Καταφύγια, Γκαράζ, κτλ."
},
+ "landuse": {
+ "description": "Χαρακτηριστικά Χρήσης γης"
+ },
"boundaries": {
"description": "Όρια",
"tooltip": "Διοικητικά Όρια"
"description": "Χαρακτηριστικά Νερού"
},
"rail": {
+ "description": "Χαρακτηριστικά Σιδηροδρόμου",
"tooltip": "Σιδηρόδρομοι"
},
"power": {
"facebook": "Διαμοιρασμός στο Facebook",
"twitter": "Διαμοιρασμός στο Twitter",
"google": "Διαμοιρασμός στο Google+",
+ "help_html": "Οι αλλαγές σας θα εμφανιστούν στο \"Κανονικό\" στρώμα σε λίγα λεπτά. Στα άλλα στρώματα, και ορισμένα χαρακτηριστικά, ίσως χρειαστούν περισσότερο χρόνο.",
"help_link_text": "Λεπτομέρειες"
},
"confirm": {
},
"intro": {
"navigation": {
- "title": "Πλοήγηση"
+ "title": "Πλοήγηση",
+ "select": "Τα χαρακτηριστικά του χάρτη αναπαρίστανται με τρεις τρόπους: σημεία, γραμμές ή περιοχές. Όλα τα χαρακτηριστικά μπορούν να επιλεχθούν με ένα κλικ πάνω τους. **Κάντε κλικ στο σημείο για να το επιλέξετε.**",
+ "search": "Μπορείτε επίσης να αναζητάτε χαρακτηριστικά στην τρέχουσα προβολή ή παγκόσμια. **Ψάξτε για '{name}'**"
},
"points": {
"title": "Σημεία",
+ "add": "Τα σημείο μπορούν να χρησιμοποιηθούν για να αναπαραστήσουν χαρακτηριστικά όπως καταστήματα, εστιατόρια και μνημεία. Σημαδεύουν μία συγκεκριμένη τοποθεσία και περιγράφουν τι είναι εκεί. **Κάντε κλικ στο {button} κουμπί Σημείο για να προσθέσετε ένα νέο σημείο.**",
"search": "Υπάρχουν πολλά διαφορετικά χαρακτηριστικά που μπορούν να αναπαρασταθούν με σημεία. Το σημείο που μόλις προσθέσατε είναι μία Καφετέρια. **Αναζητήστε για '{name}'**",
"describe": "Το σημείο είναι τώρα σημειωμένο σαν καφετέρια. Χρησιμοποιώντας τον επεξεργαστή χαρακτηριστικών, μπορούμε να προσθέσουμε περισσότερες πληροφορίες σχετικά με το χαρακτηριστικό. **Προσθέστε ένα όνομα**"
},
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Χαρακτηριστικά Εμποδίων"
+ },
"category-building": {
"name": "Χαρακτηριστικά Κτηρίου"
},
"title": "Προορισμός"
},
"dismount": {
- "description": "Η πρόσβαση επιτρέπεται αλλά ο αναβάτης πρέπει να κατέβει."
+ "description": "Η πρόσβαση επιτρέπεται αλλά ο αναβάτης πρέπει να κατέβει.",
+ "title": "Αποσύνδεση"
},
"no": {
"description": "Η πρόσβαση δεν επιτρέπεται στο ευρύ κοινό",
"shared_lane": {
"description": "Ποδηλατολωρίδα χωρίς διαχωρισμό από την κίνηση αυτοκινήτων",
"title": "Κοινόχρηστη λωρίδα ποδηλάτων"
+ },
+ "track": {
+ "description": "Μία ποδηλατολωρίδα χωρισμένη από την κίνηση με φυσικό εμπόδιο"
}
},
"types": {
"name": "Κυκλικός Φράκτης",
"terms": "Εμπόδιο ποδηλάτων, Εμπόδιο που αποτρέπει τη διάβαση μηχανοκίνητων πχ σε γέφυρες"
},
- "barrier/ditch": {
- "name": "Χαντάκι",
- "terms": "Χαντάκι, Αυλάκι, Τάφρος"
- },
"barrier/entrance": {
"name": "Είσοδος",
"terms": "Είσοδος, πόρτα"
"name": "Κυματοθραύστης",
"terms": "Κυματοθραύστης"
},
+ "man_made/chimney": {
+ "name": "Καμινάδα",
+ "terms": "Υψικάμινος"
+ },
"man_made/embankment": {
"name": "Ανάχωμα"
},
+ "man_made/flagpole": {
+ "name": "Ιστός σημαίας",
+ "terms": "Κοντάρι σημαίας, σημαιάκι"
+ },
"man_made/lighthouse": {
"name": "Φάρος",
"terms": "Φάρος"
"name": "Υδραυλικά Έργα",
"terms": "Υδραυλικά έργα"
},
+ "military/checkpoint": {
+ "name": "Σημείο ελέγχου"
+ },
"natural": {
"name": "Φυσικό",
"terms": "Φύση, Φυσικό"
"name": "Σχέση",
"terms": "Σχέση, Συσχέτιση"
},
+ "roundabout": {
+ "name": "Κυκλικός κόμβος",
+ "terms": "Κυκλική πλατεία, στρογγυλή πλατεία, δαχτυλίδι"
+ },
"route/ferry": {
"name": "Διαδρομή Πορθμείου",
"terms": "Δρομολόγιο Πορθμείου"
"shop/baby_goods": {
"name": "Κατάστημα Βρεφικών Ειδών"
},
+ "shop/bag": {
+ "name": "Κατάστημα αποσκευών",
+ "terms": "τσάντες, τσαντάκια, πορτοφόλια, βαλίτσες, σακβουαγιάζ, σακίδια, σάκοι"
+ },
"shop/bakery": {
"name": "Αρτοποιείο",
"terms": "Αρτοποιείο, Φούρνος"
},
+ "shop/bathroom_furnishing": {
+ "name": "Κατάστημα εξοπλισμού μπάνιου",
+ "terms": "τουαλέτες, μπανιέρες, πλακάκια, νιπτήρες, ντουλάπια, καζανάκια, μπιντέδες, ντουζιέρες"
+ },
"shop/beauty": {
"name": "Κατάστημα Ομορφιάς"
},
"name": "Τυροπωλείο",
"terms": "Τυροκομείο, φέτα, κασέρι, τυριά, γραβιέρα"
},
- "shop/chemist": {
- "name": "Χημείο",
- "terms": "Χημείο, Χημικός"
- },
"shop/clothes": {
"name": "Κατάστημα Ένδυσης",
"terms": "Κατάστημα ενδυμάτων, κατάστημα ρούχων"
"name": "Κοσμηματοπωλείο",
"terms": "Χρυσοχοείο, Κοσμηματοπώλης, Κοσμηματοπωλείο"
},
+ "shop/kiosk": {
+ "name": "Περίπτερο"
+ },
"shop/laundry": {
"name": "Καθαριστήριο",
"terms": "Πλυντήριο"
"name": "Κατάστημα μουσικών οργάνων",
"terms": "Κατάστημα μουσικών οργάνων"
},
+ "shop/newsagent": {
+ "name": "Πρακτορείο τύπου",
+ "terms": "κέντρο τύπου, εφημερίδες, περιοδικά"
+ },
"shop/optician": {
"name": "Οπτικός",
"terms": "Οπτικός"
"terms": "φωτογράφος"
},
"shop/seafood": {
- "name": "Κατάστημα Θαλασσινών"
+ "name": "Κατάστημα Θαλασσινών",
+ "terms": "θαλασσινά, ψάρια, ψαράδικο, ιχθυοπωλείο"
},
"shop/shoes": {
"name": "Κατάστημα Υπόδησης",
},
"commit": {
"title": "Save Changes",
- "description_placeholder": "Brief description of your contributions",
+ "description_placeholder": "Brief description of your contributions (required)",
"message_label": "Changeset comment",
"upload_explanation": "The changes you upload will be visible on all maps that use OpenStreetMap data.",
"upload_explanation_with_user": "The changes you upload as {user} will be visible on all maps that use OpenStreetMap data.",
"percent_brightness": "{opacity}% brightness",
"none": "None",
"best_imagery": "Best known imagery source for this location",
+ "switch": "Switch back to this background",
"custom": "Custom",
"custom_button": "Edit custom background",
"custom_prompt": "Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.",
"title": "Photo Overlay (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Traffic signs from Mapillary",
+ "tooltip": "Traffic signs from Mapillary (must enable Photo Overlay)",
"title": "Traffic Sign Overlay (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Barrier Features"
+ },
"category-building": {
"name": "Building Features"
},
"bicycle_parking": {
"label": "Type"
},
+ "bin": {
+ "label": "Waste Bin"
+ },
"boundary": {
"label": "Type"
},
"cuisine": {
"label": "Cuisine"
},
+ "currency_multi": {
+ "label": "Currency Types"
+ },
"cycleway": {
"label": "Bike Lanes",
"options": {
"fuel": {
"label": "Fuel"
},
+ "fuel_multi": {
+ "label": "Fuel Types"
+ },
"gauge": {
"label": "Gauge"
},
"underground": "Underground"
}
},
+ "payment_multi": {
+ "label": "Payment Types"
+ },
"phone": {
"label": "Telephone",
"placeholder": "+44 207 123456"
"railway": {
"label": "Type"
},
+ "recycling_accepts": {
+ "label": "Accepts"
+ },
"ref": {
"label": "Reference"
},
"site": {
"label": "Type"
},
- "sloped_curb": {
- "label": "Sloped Curb"
- },
"smoking": {
"label": "Smoking",
"options": {
"dedicated": "Dedicated to smokers (e.g. smokers' club)",
"isolated": "In smoking areas, physically isolated",
"no": "No smoking anywhere",
- "outside": "Allowed outside"
- }
+ "outside": "Allowed outside",
+ "separated": "In smoking areas, not physically isolated",
+ "yes": "Allowed everywhere"
+ },
+ "placeholder": "No, Separated, Yes..."
+ },
+ "smoothness": {
+ "label": "Smoothness",
+ "options": {
+ "bad": "Robust Wheels: trekking bike, car, rickshaw",
+ "excellent": "Thin Rollers: rollerblade, skateboard",
+ "good": "Thin Wheels: racing bike",
+ "horrible": "Off-Road: heavy duty off-road vehicle",
+ "impassable": "Impassable / No wheeled vehicle",
+ "intermediate": "Wheels: city bike, wheelchair, scooter",
+ "very_bad": "High Clearance: light duty off-road vehicle",
+ "very_horrible": "Specialised off-road: tractor, ATV"
+ },
+ "placeholder": "Thin Rollers, Wheels, Off-Road..."
+ },
+ "social_facility_for": {
+ "label": "People served",
+ "placeholder": "Homeless, Disabled, Child, etc"
+ },
+ "source": {
+ "label": "Source"
+ },
+ "sport": {
+ "label": "Sport"
+ },
+ "sport_ice": {
+ "label": "Sport"
+ },
+ "sport_racing": {
+ "label": "Sport"
},
"structure": {
+ "label": "Structure",
+ "options": {
+ "bridge": "Bridge",
+ "cutting": "Cutting",
+ "embankment": "Embankment",
+ "ford": "Ford",
+ "tunnel": "Tunnel"
+ },
"placeholder": "Unknown"
},
+ "studio": {
+ "label": "Type"
+ },
"substation": {
"label": "Type"
},
+ "supervised": {
+ "label": "Supervised"
+ },
+ "surface": {
+ "label": "Surface"
+ },
+ "tactile_paving": {
+ "label": "Tactile Paving"
+ },
"takeaway": {
+ "label": "Takeaway",
"options": {
"no": "No",
+ "only": "Takeaway Only",
"yes": "Yes"
- }
+ },
+ "placeholder": "Yes, No, Takeaway Only..."
},
"toilets/disposal": {
- "label": "Toilet Disposal"
+ "label": "Toilet Disposal",
+ "options": {
+ "bucket": "Bucket",
+ "chemical": "Chemical"
+ }
},
"tourism": {
"label": "Type"
"name": "Relation"
},
"shop/alcohol": {
- "name": "Off license"
+ "name": "Off licence (Alcohol shop)"
+ },
+ "shop/chemist": {
+ "name": "Chemist"
},
"shop/farm": {
"name": "Farm Shop"
"shop/jewelry": {
"name": "Jeweller"
},
+ "shop/shoes": {
+ "name": "Shoe Shop"
+ },
"tourism/camp_site": {
"terms": "camping"
},
"percent_brightness": "{opacity}% brightness",
"none": "None",
"best_imagery": "Best known imagery source for this location",
+ "switch": "Switch back to this background",
"custom": "Custom",
"custom_button": "Edit custom background",
"custom_prompt": "Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.",
"title": "Photo Overlay (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Traffic signs from Mapillary",
+ "tooltip": "Traffic signs from Mapillary (must enable Photo Overlay)",
"title": "Traffic Sign Overlay (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Barrier Features"
+ },
"category-building": {
"name": "Building Features"
},
"terminal": "Terminal"
}
},
+ "internet_access/fee": {
+ "label": "Internet Access Fee"
+ },
+ "kerb": {
+ "label": "Curb Ramp"
+ },
"lamp_type": {
"label": "Type"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Direction",
+ "options": {
+ "forward": "Forward",
+ "backward": "Backward"
+ }
+ },
"park_ride": {
"label": "Park and Ride"
},
"restrictions": {
"label": "Turn Restrictions"
},
+ "rooms": {
+ "label": "Rooms"
+ },
"route": {
"label": "Type"
},
"site": {
"label": "Type"
},
- "sloped_curb": {
- "label": "Sloped Curb"
- },
"smoking": {
"label": "Smoking",
"placeholder": "No, Separated, Yes...",
"sport_racing": {
"label": "Sport"
},
+ "stars": {
+ "label": "Stars"
+ },
+ "stop": {
+ "label": "Stop Type",
+ "options": {
+ "all": "All Ways",
+ "minor": "Minor Road"
+ }
+ },
"structure": {
"label": "Structure",
"placeholder": "Unknown",
},
"amenity/bbq": {
"name": "Barbecue/Grill",
- "terms": "bbq"
+ "terms": "bbq,grill"
},
"amenity/bench": {
"name": "Bench",
},
"amenity/pharmacy": {
"name": "Pharmacy",
- "terms": "drug,medicine"
+ "terms": "drug*,med*,prescription"
},
"amenity/place_of_worship": {
"name": "Place of Worship",
"terms": ""
},
"barrier/ditch": {
- "name": "Ditch",
+ "name": "Trench",
"terms": ""
},
"barrier/entrance": {
"name": "Ambulance Station",
"terms": "EMS,EMT,rescue"
},
+ "emergency/defibrillator": {
+ "name": "Defibrillator",
+ "terms": ""
+ },
"emergency/fire_hydrant": {
"name": "Fire Hydrant",
"terms": ""
"name": "Foot Path",
"terms": "hike,hiking,trackway,trail,walk"
},
+ "highway/give_way": {
+ "name": "Yield Sign",
+ "terms": "give way,yield,sign"
+ },
"highway/living_street": {
"name": "Living Street",
"terms": ""
},
"highway/stop": {
"name": "Stop Sign",
- "terms": "stop sign"
+ "terms": "stop,halt,sign"
},
"highway/street_lamp": {
"name": "Street Lamp",
"name": "Breakwater",
"terms": ""
},
+ "man_made/bridge": {
+ "name": "Bridge",
+ "terms": ""
+ },
"man_made/chimney": {
"name": "Chimney",
"terms": ""
"terms": ""
},
"shop/chemist": {
- "name": "Chemist",
- "terms": ""
+ "name": "Drugstore",
+ "terms": "med*,drug*,gift"
},
"shop/chocolate": {
"name": "Chocolate Store",
"name": "Hiking Route",
"terms": ""
},
+ "type/route/horse": {
+ "name": "Riding Route",
+ "terms": ""
+ },
"type/route/pipeline": {
"name": "Pipeline Route",
"terms": ""
},
"commit": {
"title": "Guardar cambios",
- "description_placeholder": "Breve descripción de tus contribuciones",
+ "description_placeholder": "Breve descripción de sus contribuciones (requerido)",
"message_label": "Comentario del conjunto de cambios",
"upload_explanation": "Los cambios que sube serán visibles en todos los mapas que usen datos de OpenStreetMap.",
"upload_explanation_with_user": "Los cambios que sube como {user} serán visibles en todos los mapas que usen datos de OpenStreetMap.",
"percent_brightness": "{opacity}% brillo",
"none": "Ninguno",
"best_imagery": "La mejor fuente de imágenes para esta ubicación",
+ "switch": "Volver a este fondo",
"custom": "Personalizado",
"custom_button": "Editar fondo personalizado",
"custom_prompt": "Introduzca la URL de una plantilla de teselas. Los símbolos válidos son {z}, {x}, {y} para el esquema Z/X/Y y {u} para el esquema quadtile.",
"title": "Superposición de fotos (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Señales de tráfico de Mapillary",
+ "tooltip": "Señales de tráfico de Mapillary (debe permitir superposición de fotos)",
"title": "Superposición de señal de tráfico (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Elementos de barrera"
+ },
"category-building": {
"name": "Elementos de edificio"
},
"yes": "Sí"
}
},
+ "internet_access/fee": {
+ "label": "Pago por acceso a Internet"
+ },
+ "kerb": {
+ "label": "Rampa de bordillo/cordón"
+ },
"lamp_type": {
"label": "Tipo"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Dirección",
+ "options": {
+ "backward": "Hacia atrás",
+ "forward": "Hacia adelante"
+ }
+ },
"park_ride": {
"label": "Aparcamiento disuasorio"
},
"restrictions": {
"label": "Restricciones de giro"
},
+ "rooms": {
+ "label": "Habitaciones"
+ },
"route": {
"label": "Tipo"
},
"site": {
"label": "Tipo"
},
- "sloped_curb": {
- "label": "Bordillo inclinado"
- },
"smoking": {
"label": "Fumar",
"options": {
"sport_racing": {
"label": "Deporte"
},
+ "stars": {
+ "label": "Estrellas"
+ },
+ "stop": {
+ "label": "Tipo de parada",
+ "options": {
+ "all": "Todas las vías",
+ "minor": "Camino menor"
+ }
+ },
"structure": {
"label": "Estructura",
"options": {
},
"amenity/atm": {
"name": "Cajero automático",
- "terms": "cajero automático, dinero, efectivo, banco"
+ "terms": "cajero automático, retiro, dinero, efectivo, banco"
},
"amenity/bank": {
"name": "Banco",
"terms": "casino, azar, casa de juego, ruleta, black jack, póquer, tragamoneda"
},
"amenity/charging_station": {
- "name": "Estación de carga",
- "terms": "recarga, electricidad, eléctrico, estación de carga para vehículos eléctricos"
+ "name": "Estación de carga eléctrica",
+ "terms": "recarga, electricidad, eléctrico, estación de carga para vehículo eléctrico, punto de recarga, electrolinera"
},
"amenity/childcare": {
"name": "Guardería/Cuidado de niños",
},
"amenity/college": {
"name": "Terreno de instituto",
- "terms": "instituto, instituto, terreno, área, suelo, facultad"
+ "terms": "terreno, área, suelo, instituto, univerisdad"
},
"amenity/community_centre": {
"name": "Centro Comunitario",
},
"amenity/hospital": {
"name": "Recinto hospitalario",
- "terms": "Recinto hospitalario, hospital, clínica, terreno, área, suelo"
+ "terms": "terreno, área, suelo, hospitalario, hospital, clínica, sanatorio, consultorio"
},
"amenity/hunting_stand": {
"name": "Puesto de caza",
"terms": "caza, puesto, caseta"
},
"amenity/kindergarten": {
- "name": "Terreno de preescolar/Jardín de infancia",
- "terms": "preescolar, jardín de infancia, parvulario, parvulos, terreno, área, suelo"
+ "name": "Terreno de preescolar o jardín de infancia",
+ "terms": "terreno, área, suelo, preescolar, preprimaria, jardín de infancia, jardín de niños, kinder, parvulario, párvulos"
},
"amenity/library": {
"name": "Biblioteca",
"terms": "correo, oficina de correos, casa de correos, estafeta de correos"
},
"amenity/prison": {
- "name": "Terreno de la prisión",
- "terms": "prisión, presion, cárcel, carcel"
+ "name": "Terreno de prisión",
+ "terms": "terreno, área, suelo, prisión, cárcel, carceleta, celda, penal, penitenciaria, presidio, reclusión, encierro, correccional, detención"
},
"amenity/pub": {
"name": "Pub",
"terms": "desecho, inodoro, taza, letrina, baño, aseo, lavabo, casa rodante, autocaravana, motorhome"
},
"amenity/school": {
- "name": "Terreno de escuela",
- "terms": "recinto escolar, escolar, escuela, colegio, instituto, terreno, área, suelo"
+ "name": "Terreno escolar",
+ "terms": "terreno, área, suelo, recinto escolar, escolar, escuela, colegio, centro educativo, unidad educativa, primaria, secundaria, secundario, instituto"
},
"amenity/shelter": {
"name": "Refugio",
"terms": "ayuntamiento, alcaldía, municipio, municipalidad, municipal, concejo, consistorio, cabildo, gobierno local, gobierno municipal, alcalde, intendente, concejales, ediles, comuna, casa consistorial"
},
"amenity/university": {
- "name": "Terreno de universidad",
- "terms": "universidad, campus, colegio mayor, facultad, terreno, área, suelo"
+ "name": "Terreno universitario",
+ "terms": "terreno, área, suelo, universidad, campus, colegio mayor, facultad, universitario, claustro"
},
"amenity/vending_machine/cigarettes": {
"name": "Máquina expendedora de cigarrillos",
},
"barrier/ditch": {
"name": "Zanja",
- "terms": "zanja, foso, cuneta"
+ "terms": "zanja, trinchera, foso, fosa"
},
"barrier/entrance": {
"name": "Entrada / Apertura de barrera",
"name": "Estación de ambulancias",
"terms": "Estación de ambulancia, ambulacias"
},
+ "emergency/defibrillator": {
+ "name": "Desfibrilador",
+ "terms": "desfibrilador, resucitador, reanimador, restablecedor, ritmo cardíaco"
+ },
"emergency/fire_hydrant": {
"name": "Hidrante contra incendios",
"terms": "boca de incendio,hidrante de incendio, hidrante contra incendios"
},
"highway/cycleway": {
"name": "Ciclovía",
- "terms": "Camino para bicicletas, senda ciclable, sendero ciclista, carril bici, bicisenda, ciclovía, carril para bicicletas, pista para ciclistas"
+ "terms": "camino, senda, sendero, carril bici, bicisenda, ciclovía, ciclorruta, pista, ciclista, ciclismo, bicicleta, bici"
},
"highway/footway": {
"name": "Acera peatonal",
- "terms": "camino, sendero, acera, vereda, andén, banqueta, peatón, peatonal"
+ "terms": "camino, senda, sendero, acera, vereda, andén, banqueta, peatón, peatonal"
+ },
+ "highway/give_way": {
+ "name": "Señal de ceda el paso",
+ "terms": "ceder el paso, dar el paso, señal, signo, cartel, detención"
},
"highway/living_street": {
"name": "Calle residencial",
},
"highway/path": {
"name": "Sendero",
- "terms": "vereda, sendero, senda, camino, vía, calzada, ramal, trocha, atajo, travesía, huella, rastro"
+ "terms": "vereda, sendero, senda, camino, vía, ramal, trocha, atajo, travesía, huella, rastro"
},
"highway/pedestrian": {
"name": "Calle peatonal",
},
"highway/primary": {
"name": "Carretera primaria",
- "terms": "carretera primaria, carretera principal, vía principal"
+ "terms": "carretera, camino, senda, calle, avenida, ruta, vía, primaria, primordial, principal, arteria"
},
"highway/primary_link": {
"name": "Enlace de carretera primaria",
},
"highway/residential": {
"name": "Calle urbana",
- "terms": "calle urbana, calle residencial"
+ "terms": "calle, avenida, ruta, vía, boulevar, bulevar, paseo, residencial, urbana, domiciliaria"
},
"highway/rest_area": {
"name": "Área de descanso",
"terms": "Área de descanso, apartadero"
},
"highway/road": {
- "name": "Carretera sin categoría conocida",
- "terms": "calle, ronda, carril, ruta, arteria, rúa, trayecto, carretera, paseo, camino, vía"
+ "name": "Carretera desconocida",
+ "terms": "carretera, camino, senda, calle, avenida, ruta, vía, desconocida, temporal"
},
"highway/secondary": {
"name": "Carretera secundaria",
- "terms": "Carretera secundaria, vía secundaria"
+ "terms": "carretera, camino, senda, calle, avenida, ruta, vía, secundaria"
},
"highway/secondary_link": {
"name": "Enlace de carretera secundaria",
},
"highway/service": {
"name": "Vía de servicio",
- "terms": "vía de servicio, calle de servicio, servicio"
+ "terms": "camino, senda, calle, vía, servicio, callejón, pasaje, acceso, ingreso"
},
"highway/service/alley": {
"name": "Callejón",
"terms": "farola, iluminación, alumbrado, alumbrado público, farol, lámpara, fanal"
},
"highway/tertiary": {
- "name": "Carretera local",
- "terms": "Carretera terciaria, Carretera local"
+ "name": "Carretera terciaria",
+ "terms": "carretera, camino, senda, calle, avenida, ruta, vía, terciaria, local"
},
"highway/tertiary_link": {
"name": "Enlace de carretera local",
"terms": "Enlace a carretera terciaria, Enlace a carretera local, Enlace de carretera local"
},
"highway/track": {
- "name": "Camino o pista rural",
- "terms": "camino, vía, pista, rural, pista forestal, camino forestal. camino agrícola"
+ "name": "Pista o camino rural",
+ "terms": "camino, senda, sendero, calle, vía, pista, rural, forestal, agrícola, campo, sin mantenimiento, offroad, jeep, doble tracción, tractor, 4x4, atv, cuadrimotor, quadratrack, con huella"
},
"highway/traffic_signals": {
"name": "Semáforos",
},
"highway/trunk": {
"name": "Carretera principal",
- "terms": "Carretera principal, carretera nacional, Carretera troncal"
+ "terms": "carretera, avenida, ruta, vía, ruta nacional, troncal, principal"
},
"highway/trunk_link": {
"name": "Enlace de carretera principal",
},
"highway/unclassified": {
"name": "Camino menor / sin clasificación",
- "terms": "carretera, camino, menor, no clasificado, sin clasificación"
+ "terms": "carretera, camino, sendero, vía, menor, no clasificada, sin clasificación"
},
"historic": {
"name": "Lugar histórico",
"terms": "uso del suelo, uso de la tierra, uso de tierras, explotación del suelo, utilización del suelo, uso del terreno, utilización del terreno, ocupación del suelo"
},
"landuse/allotments": {
- "name": "Jardín comunitario",
- "terms": "jardín, huerto, huerta, comunitario, comunal, vecindad"
+ "name": "Huerto comunitario",
+ "terms": "jardín, huerto, huerta, comunitario, comunal, vecindad, huerto urbano"
},
"landuse/basin": {
"name": "Cuenca",
"name": "Rompeolas",
"terms": "cortaolas, rompeolas, malecón"
},
+ "man_made/bridge": {
+ "name": "Puente",
+ "terms": "puente"
+ },
"man_made/chimney": {
"name": "Chimenea",
"terms": "chimenea, fogón, fuego"
"terms": "Pozo de Agua, agua en pozo"
},
"man_made/water_works": {
- "name": "Obras hidráulicas",
- "terms": "obras hidráulicas, obras hidraulicas, obra Hidráulica, obras sanitarias, obras hídricas, infraestructura hidráulica"
+ "name": "Planta potabilizadora de agua",
+ "terms": "potabilizadora, ETAP, planta potabilizadora, abastecimiento de agua, agua potable"
},
"man_made/works": {
"name": "Fábrica",
"terms": "quesería, quesos, lácteos"
},
"shop/chemist": {
- "name": "Droguería / Parafarmacia",
- "terms": "droguería, drogueria, parafarmacia, perfumería, cosméticos, salud, belleza, wellness"
+ "name": "Tienda de suministros médicos",
+ "terms": "suministros médicos, droguería, botica, farmacia sin receta"
},
"shop/chocolate": {
"name": "Chocolatería",
"name": "Ruta de senderismo",
"terms": "Ruta de senderismo, excursionismo, caminata, excursionismo a pie"
},
+ "type/route/horse": {
+ "name": "Ruta a caballo",
+ "terms": "caballo, ruta, ecuestre, equitación, cabalgar, cabalgata"
+ },
"type/route/pipeline": {
"name": "Ruta de tubería",
"terms": "ruta, tubería, gasoducto, oleoducto, conducto, cañería, ducto"
"loading_auth": "OpenStreetMap'iga ühendamine...",
"commit": {
"title": "Salvesta muudatused",
- "description_placeholder": "Muudatuste lühikirjeldus",
"message_label": "Muutuskogumi kommentaar",
"upload_explanation": "Su salvestatavad muudatused on nähtaval kõikidel kaartidel mis kasutavad OpenStreetMap-i andmeid.",
"upload_explanation_with_user": "Su kasutajana {user} salvestatavad muudatused on nähtaval kõikidel kaartidel, mis kasutavad OpenStreetMap-i andmeid.",
"barrier/city_wall": {
"name": "Linnamüür"
},
- "barrier/ditch": {
- "name": "Kraav"
- },
"barrier/fence": {
"name": "Aed"
},
},
"commit": {
"title": "ذخیره تغییرات",
- "description_placeholder": "شرح مختصری از کمک های شما",
"upload_explanation": "تغییراتی که بارگذاری میکنید در همه ی نقشه هایی که از داده های OpenStreetMap استفاده میکنند پدیدار میشوند.",
"upload_explanation_with_user": "تفییراتی که شما به عنوان {user} بارگذاری میکنید در همه ی نقشه هایی که از داده های OpenStreetMap استفاده میکنند پدیدار میشوند.",
"save": "ذخیره",
"name": "مانع مستطیلی",
"terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مانع مستطیلی'، با کاما جدا میشوند>"
},
- "barrier/ditch": {
- "name": "جوی آب",
- "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'Ditch'، با کاما جدا میشوند>"
- },
"barrier/entrance": {
"name": "ورودی",
"terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ورودى'، با کاما جدا میشوند>"
"name": "پنیر فروشی",
"terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پنیر فروشی'، با کاما جدا میشوند>"
},
- "shop/chemist": {
- "name": "داروسازی",
- "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'داروساز'، با کاما جدا میشوند>"
- },
"shop/chocolate": {
"name": "فروشگاه شکلات",
"terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه شکلات'، با کاما جدا میشوند>"
},
"commit": {
"title": "Tallenna muutokset",
- "description_placeholder": "Kuvaile lyhyesti karttaan tehtyjä muutoksia. Kirjoita muokkausten kohdemaan paikallisella kielellä (esimerkiksi Suomessa suomeksi tai ruotsiksi) tai englanniksi.",
"message_label": "Muutossarjan kommentti",
"upload_explanation": "Palvelimelle tallennettavat muutokset tulevat pian näkyviin kaikkiin OpenStreetMap-kartta-aineistoa käyttäviin palveluihin.",
"upload_explanation_with_user": "Muutokset tallennetaan palvelimelle käyttäjätunnisteella {user} ja tulevat pian näkyviin kaikkiin OpenStreetMap-kartta-aineistoa käyttäviin palveluihin.",
"title": "Valokuvat kartalla (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Liikennemerkit (Mapillary)",
"title": "Liikennemerkit kartalla (Mapillary)"
},
"mapillary": {
"bicycle_parking": {
"label": "Tyyppi"
},
+ "bin": {
+ "label": "Jäteastia"
+ },
"boundary": {
"label": "Tyyppi"
},
"cuisine": {
"label": "Ruokakulttuuri"
},
+ "currency_multi": {
+ "label": "Valuutat"
+ },
"cycleway": {
"label": "Pyöräkaistat",
"options": {
"fuel": {
"label": "Polttoaine"
},
+ "fuel_multi": {
+ "label": "Polttonestetyypit"
+ },
"gauge": {
"label": "Raideväli"
},
"shop": {
"label": "Tyyppi"
},
- "sloped_curb": {
- "label": "Viistetty reunakivi"
- },
"smoking": {
"label": "Tupakointi",
"options": {
"barrier/cycle_barrier": {
"name": "Pyöräilyeste"
},
- "barrier/ditch": {
- "name": "Oja"
- },
"barrier/entrance": {
"name": "Sisäänkäynti"
},
"shop/cheese": {
"name": "Juustopuoti"
},
- "shop/chemist": {
- "name": "Kemisti"
- },
"shop/chocolate": {
"name": "Suklaapuoti"
},
+++ /dev/null
-{
- "modes": {
- "add_area": {
- "title": "Area o poligon",
- "description": "Magdagdag ng mga parke, mga gusali, lawa o iba pang mga \"area\" sa mapa.",
- "tail": "Mag-click sa mapa upang simulan ang pagguhit ng isang lugar, tulad ng isang parke, lawa, o gusali."
- },
- "add_line": {
- "title": "Linya o guhit",
- "description": "Magdagdag ng mga kalsada o kalye, mga daanang pantao, kanal o iba pang mga linya sa mapa.",
- "tail": "Mag-click sa mapa upang simulan ang pagguhit ng isang linya tulad ng kalsada, daanang pantao, o ruta."
- },
- "add_point": {
- "title": "Punto o tuldok",
- "description": "Magdagdag ng kainan, monumento, \"postbox\" o iba pang mga punto o tuldok sa mapa.",
- "tail": "Mag-click sa mapa upang magdagdag ng isang punto o tuldok."
- },
- "browse": {
- "title": "Mag-browse",
- "description": "I-pan at i-zoom ang mapa."
- },
- "draw_area": {
- "tail": "I-click upang magdagdag ng mga node sa iyong polygon o area. I-click ang unang node upang isarado ang polygon o area."
- },
- "draw_line": {
- "tail": "I-click upang magdagdag ng higit pang mga node sa linya. Mag-click sa iba pang mga linya upang kumonekta sa kanila, at i-double click upang tapusin ang linya."
- }
- },
- "operations": {
- "add": {
- "annotation": {
- "point": "Idinagdag ng isang punto o tuldok.",
- "vertex": "Nagdagdag ng node sa isang way.",
- "relation": "Nagdagdag ng relation."
- }
- },
- "start": {
- "annotation": {
- "line": "Nagsimula ng isang linya.",
- "area": "Nagsimula sa isang area o polygon."
- }
- },
- "continue": {
- "key": "S",
- "title": "Ipagpatuloy",
- "description": "Ipagpatuloy ang linyang ito.",
- "not_eligible": "Walang linyang maaring ipagpatuloy dito.",
- "annotation": {
- "line": "Karugtong ng isang linya.",
- "area": "Nagpatuloy sa pagguhit ng area o poligon."
- }
- },
- "cancel_draw": {
- "annotation": "Kinansela ang pagguhit."
- },
- "change_tags": {
- "annotation": "Pinalitan ang mga tag."
- },
- "circularize": {
- "title": "Pina-bilog",
- "description": {
- "line": "Gawin pabilog ang linyang ito.",
- "area": "Gawin pabilog ang area o poligong ito."
- },
- "key": "O",
- "annotation": {
- "line": "Ginawang pabilog and isang linya.",
- "area": "Ginawang pabilog and isang area o poligon."
- },
- "not_closed": "Hindi ito maaaring gawing pabilog dahil hindi ito isang \"loop\".",
- "too_large": "Hindi na ito maaaring gawing pabilog dahil hindi sapat ang kasalukuyang nakikita sa mapa."
- },
- "orthogonalize": {
- "title": "Iskawalado",
- "description": {
- "line": "Gawing iskwalado ang mga kanto ng linyang ito.",
- "area": "Gawing iskwalado ang mga kanto ng area o poligong ito."
- },
- "key": "S",
- "annotation": {
- "line": "Ginawang iskawalado ang bawat kanto ng linya.",
- "area": "Ginawang iskawalado ang bawat kanto ng area o poligon."
- },
- "not_squarish": "Hindi maaring gawing iskwalado.",
- "too_large": "Hindi ito maaaring gawing iskuwalado dahil hindi sapat ang kasalukuyang nakikita sa mapa."
- },
- "straighten": {
- "title": "Ituwid",
- "description": "Ituwid ang linyang ito.",
- "key": "S",
- "annotation": "Naituwid ang linya.",
- "too_bendy": "Hindi naituwid dahil masyadong kurbado."
- },
- "delete": {
- "title": "Burahin",
- "description": "Burahin ito sa mapa.",
- "annotation": {
- "point": "Binura ang isang point o tuldok.",
- "vertex": "Binura ang isang node mula sa way o linya.",
- "line": "Binura ang isang linya.",
- "area": "Binura ang isang area o poligon.",
- "relation": "Binura ang isang \"relation\".",
- "multiple": "Binura ang {n} bagay sa mapa."
- }
- },
- "add_member": {
- "annotation": "Dinagdag ang kasapi o miyembro ng relation."
- },
- "delete_member": {
- "annotation": "Inalis ang kasapi o miyembro ng relation."
- },
- "connect": {
- "annotation": {
- "point": "Dinugtong ang isang \"way\" sa isang punto o tuldok.",
- "vertex": "Dinugtong ang isang \"way\" sa isa pang \"way\".",
- "line": "Dinugtong ang isang \"way\" sa isang linya.",
- "area": "Dinugtong ang isang \"way\" sa isang area o poligon."
- }
- },
- "disconnect": {
- "title": "Alisin ang pagkakadugtong",
- "description": "Alisin sa pagkakadugtong ang mga linya / poligon.",
- "key": "D",
- "annotation": "Naalis sa pagkakadugtong ang mga linya / poligon."
- },
- "merge": {
- "title": "Pagsamahin",
- "description": "Pagdugtungin ang mga linyang ito.",
- "key": "C",
- "annotation": "Dinugtung ang {n} linya.",
- "not_eligible": "Ang mga bagay na ito ay hindi maaaring pagsamahin.",
- "not_adjacent": "Hindi mapagsama ang linyang ito dahil sila ay hindi konektado.",
- "incomplete_relation": "Hindi maaaring ipagsama o i-merge dahil ang isa sa mga ito ay hindi pa ganap na nai-download."
- },
- "move": {
- "title": "Ilipat ng posisyon",
- "description": "Ilipat ang posisyon.",
- "key": "M",
- "annotation": {
- "point": "Inilipat ang posisyon ng isang punto o tuldok.",
- "vertex": "Inilipat ang posisyon ng isang \"node\" na sa isang \"way\".",
- "line": "Inilipat ang posisyon ng isang linya.",
- "area": "Inilipat ang posisyon ng isang area o poligon.",
- "multiple": "Inilipat ang posisyon ang maraming bagay."
- }
- },
- "rotate": {
- "title": "Paikutin",
- "description": "Paikutin ang bagay na ito mula sa kanyang \"center point\".",
- "key": "R",
- "annotation": {
- "line": "Pinaikot ang linya.",
- "area": "Pinaikot ang area o poligon."
- }
- },
- "reverse": {
- "title": "Baliktarin",
- "description": "Baliktarin ang direksyon ng linyang ito.",
- "key": "V",
- "annotation": "Binaliktad ang direksyon ng linya."
- },
- "split": {
- "title": "Hatiin",
- "description": {
- "line": "Hatiin sa dalawa ang linya mula sa node na ito.",
- "area": "Hatiin ang hangganan ng lugar na ito sa dalawa."
- },
- "key": "X",
- "annotation": {
- "line": "Hattin ang linya.",
- "area": "Hatiin ang hangganan ng area o poligon.",
- "multiple": "Hattin ang {n} linya/area o poligon."
- },
- "not_eligible": "Hindi maaaring hatiin ang linya mula sa umpisa o dulong \"node\" nito."
- }
- },
- "undo": {
- "tooltip": "I-undo:{action}",
- "nothing": "Walang ma-undo"
- },
- "redo": {
- "tooltip": "i-redo: {action}",
- "nothing": "Walang ma-redo."
- },
- "browser_notice": "Ang editor na ito ay suportado sa Firefox, Chrome, Safari, Opera, at Internet Explorer 9 at sa mas mataas pang bersion. I-upgrade ang inyong browser o gamitin Potlatch 2 upang i-edit ng mapa.",
- "translate": {
- "localized_translation_language": "Pumili ng wika",
- "localized_translation_name": "Pangalan"
- },
- "zoom_in_edit": "Mag-zoom in para makapag-edit",
- "logout": "Mag-logout",
- "loading_auth": "Kumokonekta sa OpenStreetMap ...",
- "report_a_bug": "I-ulat ang bug",
- "status": {
- "error": "Hindi maka-konekta sa API."
- },
- "commit": {
- "title": "I-save ang mga binago.",
- "description_placeholder": "Maikling paglalarawan ng iyong mga ambag o edits",
- "message_label": "Mag-commit mensahe",
- "upload_explanation": "Ang mga pagbabagong na-upload ay makikita sa lahat ng mapang gumagamit ng datos ng OpenStreetMap.",
- "save": "I-save",
- "cancel": "Kanselahin",
- "warnings": "Mga babala",
- "modified": "Binago",
- "deleted": "Binura",
- "created": "Nilikha"
- },
- "contributors": {
- "list": "Edits nina {users}",
- "truncated_list": "Edits nina {users} at {count} iba pa"
- },
- "geocoder": {
- "search": "Maghanap sa buong mundo ...",
- "no_results_visible": "Walang mga resulta sa kasalukuyang lugar sa mapa",
- "no_results_worldwide": "Walang mga resultang natagpuan"
- },
- "geolocate": {
- "title": "Ipakita ang kasalukuyang lokasyon."
- },
- "inspector": {
- "no_documentation_combination": "Walang documentation para sa kumbinasyon ng mga tag na ginamit",
- "no_documentation_key": "Walang \"documentation\" na magagamit para sa \"key\" na ito.",
- "show_more": "Higit pang detalye",
- "view_on_osm": "Tingnan sa openstreetmap.org",
- "all_tags": "Lahat ng tags",
- "all_members": "Lahat ng kasapi",
- "all_relations": "Lahat ng \"relation\"",
- "new_relation": "Bagong relation ...",
- "choose": "Pumili ng uri ng \"features\"",
- "results": "{n} mga resulta para sa {search}",
- "reference": "Tingnan sa OpenStreetMap Wiki",
- "back_tooltip": "Baguhin ang \"feature\"",
- "remove": "Alisin",
- "search": "Mag-search",
- "feature_list": "Mag-hanap ng \"feature\"",
- "edit": "I-edit ang \"feature\"",
- "none": "Wala",
- "node": "Node",
- "way": "Way",
- "relation": "Relation",
- "location": "Lokasyon"
- },
- "background": {
- "title": "\"Background\" o \"imagery\"",
- "description": "Mga setting ng \"background\" o \"imagery\"",
- "percent_brightness": "{opacity}% Pagkalinaw",
- "none": "Wala",
- "custom": "Custom",
- "fix_misalignment": "Ayusin ang pagkakahanay ng \"imagery\"",
- "reset": "I-reset"
- },
- "restore": {
- "heading": "Mayroon kang hindi na-save ng mga pagbabago",
- "description": "Ibig mo bang ibalik ang mga hindi na-save na pagbabago mula sa isang nakaraang session sa pag-edit?",
- "restore": "Ibalik",
- "reset": "I-reset"
- },
- "save": {
- "title": "I-save",
- "help": "I-save ang mga pagbabago sa OpenStreetMap upang makita ng ibang gumagamit ng datos.",
- "no_changes": "Walang mga pagbabago upang i-save.",
- "error": "May error habang sinusubukang i-save",
- "uploading": "Ina-upload ang mga pagbabago sa OpenStreetMap.",
- "unsaved_changes": "Mayroon kang hindi na-save ng mga pagbabago"
- },
- "success": {
- "edited_osm": "Nag-edit sa OSM!",
- "view_on_osm": "Tingnan sa OSM",
- "facebook": "I-share sa Facebook",
- "twitter": "I-share sa Twitter",
- "google": "I-share sa Google+"
- },
- "confirm": {
- "okay": "Okay"
- },
- "splash": {
- "welcome": "Maligayang pagdating sa iD OpenStreetMap editor",
- "text": "Ang iD ay isang simple ngunit magandang editor para sa pag-edit ng libreng mapa ng buong mundo. Ito ay bersyon {version}. Para sa karagdagang impormasyon tingnan ang {website} at i-ulat ang mga bugs sa {github}.",
- "walkthrough": "Simulan ang \"Walkthrough\"",
- "start": "Simulan ang pag-edit"
- },
- "source_switch": {
- "live": "live",
- "lose_changes": "Mayroon kang hindi na-save ang mga pagbabago. Mawawala ang pagbabagong ito kung lilipat sa ibang map server. Sigurado ka bang gusto mong lumipat ng server?",
- "dev": "dev"
- },
- "tag_reference": {
- "description": "Paglalarawan",
- "on_wiki": "{tag} sa wiki.osm.org",
- "used_with": "Kabilang sa gingamait ang {type}"
- },
- "validations": {
- "untagged_point": "Walang tag na punto o tuldok",
- "untagged_line": "Walang tag na linya",
- "untagged_area": "Walang tag na area o poligon",
- "many_deletions": "Nagbura ka ng {n} bagay sa mapa. Sigurado ka bang gusto mong gawin ito? Ito ay tatanggalin sa mapa na nakikita sa openstreetmap.org.",
- "tag_suggests_area": "Ang tag na {tag} ay kalimitang para sa mga area o poligon sublait ito ay nasa linya lamang.",
- "untagged_tooltip": "Pumili ng uri ng \"feature\" na naglalarawan kung ano ang {geometry} na ito.",
- "deprecated_tags": "Hindi na ginagamit na \"tag\": {tags}"
- },
- "zoom": {
- "in": "i-zoom in",
- "out": "I-zoom out"
- },
- "cannot_zoom": "Hindi na pwedeng mag-zoom out sa kasalukuyang \"mode\".",
- "gpx": {
- "local_layer": "Lokal na GPX file",
- "drag_drop": "I-drag at i-drop ang .gpx file mula sa inyong \"computer\" sa pahinang ito, o i-click ang button sa kanan upang mag-browse",
- "zoom": "I-zoom sa GPX track",
- "browse": "Mag-browse ng .gpx file"
- },
- "intro": {
- "navigation": {
- "header": "Ang \"header\" ay nagpapakita kung anong uri ng \"feature\" ito."
- },
- "points": {
- "title": "Mga Punto o tuldok",
- "choose": "**Pumili ng Cafe mula sa talaan.**",
- "describe": "Ang punto o tuldok na ito ay minarkahan bilang \"cafe\". Gamit ang \"feature editor\", maari tayong magdagdag ng iba pang impormasyon. **Magdagdag ng pangalan**"
- },
- "areas": {
- "title": "Mga area o poligon",
- "search": "**Hanapin ang '{name}'.**",
- "choose": "**Pliin ang \"Playground\" mula sa talaan.**",
- "describe": "**Magdagdag ng pangalan at isara ang \"feature editor\"**"
- },
- "lines": {
- "title": "Mga linya",
- "add": "Ang mga linya ay ginagamit para kumatawan sa mga \"feature\" na gaya ng mga kalsada, riles ng tren at ilog. **I-click ang button para sa \"Linya\" upang magdagdag ng bagong linya. **",
- "start": "**Simulan ang linya sa pamamagitan ng pag-click sa dulo ng kalsada.**",
- "road": "**Piliin ang \"Road\" mula sa talaan**"
- },
- "startediting": {
- "title": "Umpisahan ang pag-edit",
- "save": "Huwag kalimutan na regular na i-save ang iyong mga binago!",
- "start": "Simulan ang pagma-mapa!"
- }
- },
- "presets": {
- "fields": {
- "address": {
- "label": "Address",
- "placeholders": {
- "number": "123",
- "street": "Kalsada",
- "city": "Siyudad"
- }
- },
- "aerialway": {
- "label": "Uri"
- },
- "aeroway": {
- "label": "Uri"
- },
- "amenity": {
- "label": "Uri"
- },
- "artwork_type": {
- "label": "Uri"
- },
- "atm": {
- "label": "ATM"
- },
- "barrier": {
- "label": "Uri"
- },
- "bicycle_parking": {
- "label": "Uri"
- },
- "boundary": {
- "label": "Uri"
- },
- "building": {
- "label": "Gusali"
- },
- "building_area": {
- "label": "Gusali"
- },
- "capacity": {
- "label": "Kapasidad"
- },
- "construction": {
- "label": "Uri"
- },
- "crossing": {
- "label": "Uri"
- },
- "entrance": {
- "label": "Uri"
- },
- "fire_hydrant/type": {
- "label": "Uri"
- },
- "generator/type": {
- "label": "Uri"
- },
- "highway": {
- "label": "Uri"
- },
- "historic": {
- "label": "Uri"
- },
- "information": {
- "label": "Uri"
- },
- "internet_access": {
- "options": {
- "wlan": "Wifi"
- }
- },
- "landuse": {
- "label": "Uri"
- },
- "leisure": {
- "label": "Uri"
- },
- "man_made": {
- "label": "Uri"
- },
- "name": {
- "label": "Pangalan"
- },
- "office": {
- "label": "Uri"
- },
- "parking": {
- "label": "Uri"
- },
- "piste/type": {
- "label": "Uri"
- },
- "place": {
- "label": "Uri"
- },
- "power": {
- "label": "Uri"
- },
- "railway": {
- "label": "Uri"
- },
- "relation": {
- "label": "Uri"
- },
- "restriction": {
- "label": "Uri"
- },
- "route": {
- "label": "Uri"
- },
- "route_master": {
- "label": "Uri"
- },
- "service": {
- "label": "Uri"
- },
- "shelter_type": {
- "label": "Uri"
- },
- "shop": {
- "label": "Uri"
- },
- "studio_type": {
- "label": "Uri"
- },
- "tourism": {
- "label": "Uri"
- },
- "tracktype": {
- "label": "Uri"
- },
- "tree_type": {
- "label": "Uri"
- },
- "water": {
- "label": "Uri"
- },
- "waterway": {
- "label": "Uri"
- },
- "wetland": {
- "label": "Uri"
- },
- "wood": {
- "label": "Uri"
- }
- },
- "presets": {
- "building": {
- "name": "Gusali"
- }
- }
- }
-}
\ No newline at end of file
},
"commit": {
"title": "Sauvegarder vos modifications",
- "description_placeholder": "Description succinte de vos contributions",
+ "description_placeholder": "Brève description de vos contributions (requis)",
"message_label": "Commentaire de changeset",
"upload_explanation": "Les modifications envoyées seront visibles sur toutes les cartes qui utilisent les données d'OpenStreetMap.",
"upload_explanation_with_user": "Les modifications envoyées en tant que {user} seront visibles sur toutes les cartes qui utilisent les données d'OpenStreetMap.",
"percent_brightness": "{opacity}% luminosité",
"none": "Aucun",
"best_imagery": "Meilleure source d'imagerie connue pour cet endroit",
+ "switch": "Revenir à cet arrière-plan",
"custom": "Personnalisé",
"custom_button": "Modifier le fond personnalisé",
"custom_prompt": "Saisir un template d'URL de tuile. Les symboles sont {z}, {x}, {y} pour la structure Z/X/Y et {u} pour la balance des domaines.",
},
"mapillary_images": {
"tooltip": "Photos de rue depuis Mapillary",
- "title": "Surcouche photo (Mapillary)"
+ "title": "Surcouche Photo (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Signaux routiers de Mapillary",
+ "tooltip": "Panneaux de signalisation de Mapillary (nécessite la Surcouche Photo)",
"title": "Surcouche de signaux routiers (Mapillary)"
},
"mapillary": {
},
"areas": {
"title": "Polygone",
- "add": "Les zones sont utilisées pour montrer les forntières d'éleme,ts comme des lacs, batiments et des zones résidentielles. Elles peuvent aussi être utilisées pour cartographier plus en détail des élements que l'on peut cartographier comme des points. **Cliquer sur le {button} zone pour ajouter une nouvelle zone. ",
+ "add": "Les zones sont utilisées pour montrer les frontières d’éléments comme des lacs, bâtiments et des zones résidentielles. Elles peuvent aussi être utilisées pour cartographier plus en détail des éléments que l'on peut cartographier comme des points. **Cliquer sur le {button} zone pour ajouter une nouvelle zone. ",
"corner": "Dessinez la zone en positionnant les noeuds qui forment la frontière de la zone. **Cliquer sur l'un des coins du terrain de jeux pour démarrer. ",
"place": "Dessinez le polygone en ajoutant des nœuds. Terminez le polygone en cliquant sur le nœud de départ. **Dessinez un polygone pour l'aire de jeu.**",
"search": "**Rechercher '{name}'.**",
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Éléments de barrières"
+ },
"category-building": {
"name": "Éléments pour bâtiments"
},
"yes": "Oui"
}
},
+ "internet_access/fee": {
+ "label": "Frais d'accès à Internet"
+ },
+ "kerb": {
+ "label": "Batteau de trottoir"
+ },
"lamp_type": {
"label": "Type"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Direction",
+ "options": {
+ "backward": "Vers l'arrière",
+ "forward": "Vers l'avant"
+ }
+ },
"park_ride": {
"label": "Parking-relais"
},
"restrictions": {
"label": "Interdictions de tourner"
},
+ "rooms": {
+ "label": "Chambres"
+ },
"route": {
"label": "Type"
},
"site": {
"label": "Type de site"
},
- "sloped_curb": {
- "label": "Bateau - abaissement de trottoir"
- },
"smoking": {
"label": "Fumeur",
"options": {
"sport_racing": {
"label": "Sport"
},
+ "stars": {
+ "label": "Étoiles"
+ },
+ "stop": {
+ "label": "Type de stop",
+ "options": {
+ "all": "Tous les chemins",
+ "minor": "Routes secondaires"
+ }
+ },
"structure": {
"label": "Structure",
"options": {
"terms": "Chicane vélos, Barrière vélos"
},
"barrier/ditch": {
- "name": "Fossé",
- "terms": "Fossé"
+ "name": "Tranchée",
+ "terms": "Tranchée,Cheminement,Retranchement,Boyau"
},
"barrier/entrance": {
"name": "Ouverture",
},
"building/apartments": {
"name": "Résidence",
- "terms": "Appartements"
+ "terms": "appartements"
},
"building/barn": {
"name": "Grange",
"terms": "Hôpital, Clinique"
},
"building/hotel": {
- "name": "Hôtel",
- "terms": "Hôtel"
+ "name": "Bâtiment d'hôtel",
+ "terms": "hôtel,hotel"
},
"building/house": {
"name": "Maison",
"name": "Station d'ambulance",
"terms": "Station d'ambulance"
},
+ "emergency/defibrillator": {
+ "name": "Défibrillateur",
+ "terms": "Défibrillateura "
+ },
"emergency/fire_hydrant": {
"name": "Borne incendie",
"terms": "Borne incendie, borne-fontaine, borne fontaine, bouche d'incendie"
"terms": "Traversée de rue,Passage clouté"
},
"footway/crosswalk": {
- "name": "Passage pour piétons",
+ "name": "Passage piéton (zebra)",
"terms": "Passage piéton, Zébra, Passage zébré"
},
"footway/sidewalk": {
"terms": "Passage piéton "
},
"highway/crosswalk": {
- "name": "Passage piéton",
+ "name": "Passage piéton (zebra)",
"terms": "Passage piéton, Zébra, Passage zébré"
},
"highway/cycleway": {
"name": "Voie piétonne",
"terms": "Chemin piétonnier, Sentier"
},
+ "highway/give_way": {
+ "name": "Cédez-le-passage",
+ "terms": "Cédez-le-passage"
+ },
"highway/living_street": {
"name": "Zone de rencontre",
"terms": "Zone de rencontre"
"terms": "Mémorial, Monument aux morts, statue, buste, stèle, plaque"
},
"historic/monument": {
- "name": "Monument commémoratif",
+ "name": "Grand monument commémoratif",
"terms": "Grand mémorial"
},
"historic/ruins": {
"terms": "Piste de course à pied"
},
"leisure/slipway": {
- "name": "Plan incliné",
- "terms": "Cale de lancement, Cale, Cale de mise à l'eau"
+ "name": "Mise à l'eau",
+ "terms": "Cale de lancement, Cale, Cale de mise à l'eau, Rampe de mise à l'eau"
},
"leisure/sports_centre": {
"name": "Centre sportif / Salle de gymnastique",
"terms": "Centre sportif,Salle de sport"
},
"leisure/sports_centre/swimming": {
- "name": "Piscine",
- "terms": "Piscine"
+ "name": "Centre aquatique",
+ "terms": "Piscine,Stade nautique,Stade aquatique"
},
"leisure/stadium": {
"name": "Stade",
"name": "Brise-lames",
"terms": "Brise-lames"
},
+ "man_made/bridge": {
+ "name": "Pont",
+ "terms": "Pont"
+ },
"man_made/chimney": {
"name": "Cheminée",
"terms": "Cheminée"
"terms": "Source"
},
"natural/tree": {
- "name": "Arbre remarquable",
+ "name": "Arbre",
"terms": "Arbre"
},
"natural/tree_row": {
"terms": "Vente de fromages"
},
"shop/chemist": {
- "name": "Pharmacie",
- "terms": "Pharmacie"
+ "name": "Parapharmacie",
+ "terms": "Droguerie,pharmacie"
},
"shop/chocolate": {
"name": "Chocolatier",
},
"tourism/artwork": {
"name": "Œuvre d'art",
- "terms": "Œuvre d'art"
+ "terms": "Œuvre d'art,statue,peinture,sculpture"
},
"tourism/attraction": {
"name": "Attraction touristique",
},
"tourism/hotel": {
"name": "Hôtel",
- "terms": "Hôtel"
+ "terms": "bâtiment d'hôtel,hotel"
},
"tourism/information": {
"name": "Informations",
"name": "Sentier pédestre",
"terms": "Sentier pédestre"
},
+ "type/route/horse": {
+ "name": "Itinéraire équestre",
+ "terms": "Trajet équestre"
+ },
"type/route/pipeline": {
"name": "Trajet de pipeline",
"terms": "Pipeline, gazoduc, oléoduc"
},
"commit": {
"title": "Gardar os cambios",
- "description_placeholder": "Breve descrición das túas contribucións",
"message_label": "Comentario sobre o conxunto de cambios",
"upload_explanation": "Os cambios que subas serán visibles en tódolos mapas que usen os datos de OpenStreetMap.",
"upload_explanation_with_user": "Os cambios que subas como {user} serán visibles en tódolos mapas que usen os datos de OpenStreetMap.",
"shop/car_repair": {
"name": "Taller de reparación de vehículos"
},
- "shop/chemist": {
- "name": "Droguería"
- },
"shop/clothes": {
"name": "Tenda de roupa"
},
--- /dev/null
+{
+ "modes": {
+ "add_area": {
+ "title": "વિસ્તાર",
+ "description": "પાર્ક્સ, ઈમારતો, તડાઓ અથવા અન્ય વિસ્તારોં ને નક્શા મા ઉમેરો.",
+ "tail": "પાર્ક્સ, તડાવો, વિસ્તારોં કે મકાન ને નક્શા મા દોરવા માટે નક્શા પર ક્લિક કરો."
+ },
+ "add_line": {
+ "title": "રેખા",
+ "description": "હાઇવે, ગલિયો, ફુટ પાથ, નહેર અથવા અન્ય રેખાઓ ને નક્શા મા ઉમેરો.",
+ "tail": "રસ્તો કે પાથ કે માર્ગ દોરવા માટે નખશા પર ક્લિક કરો."
+ },
+ "add_point": {
+ "title": "બિંદુ",
+ "description": "હોટેલ, સ્મારકો, પોસ્ટ બૉક્સ અને બીજી બદ્ધી વસ્તુઓને નક્શા મા ઉમેરો.",
+ "tail": "નક્શા પર પોઈન્ટ નાખવા માટે ક્લિક કરો."
+ },
+ "browse": {
+ "title": "બ્રાઉજ઼",
+ "description": "નક્શા ને પૅન અને જ઼ૂમ કરો."
+ },
+ "draw_area": {
+ "tail": "નોડ ને નક્શા મા નાખવા માટે ક્લિક કરો. વિસ્તાર પૂર્ણ કરવા માટે પ્રથમ નોડ પર ક્લિક કરો"
+ },
+ "draw_line": {
+ "tail": "રેખા મા હાજી વધારે નોડ્સ નાખવા માટે રેખા પર ક્લિક કરો. અન્ય લીટીઓ પર ક્લિક કરો તેમને સાથે જોડાવા માટે અને રેખા પૂર્ણ કરવા માટે ડબલ -ક્લિક કરો."
+ }
+ },
+ "operations": {
+ "add": {
+ "annotation": {
+ "point": " ઍક પોઈન્ટ ઉમેરીયો.",
+ "vertex": "નોડ માર્ગ મા ઉમેરયૂ ચે.",
+ "relation": "એક સંબંધ ઉમેરયૂ"
+ }
+ },
+ "start": {
+ "annotation": {
+ "line": "ઍક લીટી ચાલુ કરી.",
+ "area": "વિસ્તાર શરૂ કરયૂ."
+ }
+ },
+ "continue": {
+ "key": "ઍ",
+ "title": "ચાલુ રહો.",
+ "description": "લીટી ની ચાલુ રાખો.",
+ "not_eligible": "કાય ભી રેખા અહીં ચાલુ નહીં રહી શકે.",
+ "multiple": "અહીં અનેક લિટીયો ચાલુ થઈ શકે છે. ઍમાની ઍક લીટી ની ચુનવા માટે, 'શિફ્ટ' કી ની દબાવી ને લીટી પર ક્લિક કરો.",
+ "annotation": {
+ "line": "લીટી ને દોરવાનુ ચાલુ રાખિયુ.",
+ "area": "વિસ્તાર ને દોરવાનુ ચાલુ રાખિયુ."
+ }
+ },
+ "cancel_draw": {
+ "annotation": "દોરવાનુ બંધ કરયૂ."
+ },
+ "change_role": {
+ "annotation": "સંબંધ મા સભ્યા ની ભૂમિકા બદલી છે."
+ },
+ "change_tags": {
+ "annotation": "ટૅગ્સ બદલાયા છે."
+ },
+ "circularize": {
+ "title": "ગોળ આકાર બનાઓ.",
+ "description": {
+ "line": "આ લીટી ને ગોળ આકાર મા પરિવર્તીત કરો.",
+ "area": " વિસ્તાર ને ગોળ આકાર મા પરિવર્તીત કરો."
+ },
+ "key": "ઑ",
+ "annotation": {
+ "line": "લીટી ને ગોળ આકાર મા બદળીયુ.",
+ "area": "વિસ્તાર ને ગોળ આકાર મા બદળીયુ."
+ },
+ "not_closed": "આ ગોળ આકાર મા બદલી નહી શકે કેંમ્કે ઍ લૂપ નથી",
+ "too_large": "આ ગોળ આકાર મા બદલાઈ નહીં શકે કેમકે ઍ સંપૂર્ણ દેખાતુ નથી.",
+ "connected_to_hidden": "આ ગોળ આકાર મા બદલાઈ નહીં શકે કેમકે ઍ છુપાયેલા લક્ષણ સાથે જોડાઈલૂ છે."
+ },
+ "orthogonalize": {
+ "title": "ચોરસ",
+ "description": {
+ "line": "આ લીટી ના ખૂનાઓ ને ચોરસ કરો.",
+ "area": "આ વિસ્તાર ના ખૂનાઓ ની ચોરસ બનાઓ."
+ },
+ "key": "ઍસ",
+ "annotation": {
+ "line": "લીટી ના ખૂનાઓં ને ચોરસ કરિયા છે.",
+ "area": "વિસ્તાર ના ખૂનાઓં ને ચોરસ કરિયા છે."
+ },
+ "not_squarish": "આના ખૂનાઓ ચોરસ નહીં કરી શકાય કેમકે ઍ ચોરસ નથી.",
+ "too_large": "આના ખૂનાઓ ચોરસ નહીં કરી શકાય કેમકે ઍ આ લક્ષણ પૂર્ણ રૂપે દેખાતુ નથી.",
+ "connected_to_hidden": "આના ખૂનાઓ ચોરસ નહીં કરી શકાય કેમકે ઍ છુપાયલા લક્ષણ સાથે જૂડાયલૂ છે."
+ },
+ "straighten": {
+ "title": "સીધુ કરવાનુ.",
+ "description": "લીટી ને સીધી કરવાની.",
+ "key": "ઍસ",
+ "annotation": "લીટી ને સીધી કરી.",
+ "too_bendy": "આ લીટી ને સીધી નહીં કરાય કેમકે ઍ વાંકી છે.",
+ "connected_to_hidden": "આ લીટી ને સીધી નહીં કરાય કેમકે ઍ છુપાયલા લક્ષણ સાથે જોડાયલો છે."
+ },
+ "delete": {
+ "title": "ડેલીટ",
+ "description": "ઑબ્જેક્ટ ને હમેશ માટે ડેલીટ કરો.",
+ "annotation": {
+ "point": "પોઈન્ટ ને ડેલીટ કરો.",
+ "vertex": "નોડ ની રસ્તા પર થી ડેલીટ કરો.",
+ "line": "લીટી ને ડેલીટ કરો.",
+ "area": "વિસ્તાર ને ડેલીટ કરો.",
+ "relation": "સંબંધ ને ડેલીટ કરો.",
+ "multiple": "ડેલીટ {સંખ} ઑબ્જેક્ટ્સ."
+ }
+ }
+ },
+ "splash": {
+ "welcome": "ઓપેન સ્ટ્રીટ માપ ના આઇ ડી ઍડિટર મા આપનુ સ્વાગત છે."
+ }
+}
\ No newline at end of file
},
"commit": {
"title": "Spremi promjene",
- "description_placeholder": "Kratki opis tvojih doprinosa",
+ "description_placeholder": "Kratak opis tvog doprinosa (obavezno)",
"message_label": "Komentar promjene",
"upload_explanation": "Promjene koje postaviš biti će vidljive na svim kartama koje koriste podatke OpenStreetMap-a.",
"upload_explanation_with_user": "Promjene koje postaviš kao {user} biti će vidljive na svim kartama koje koriste podatke OpenStreetMap-a.",
"yes": "Da",
"no": "Ne"
},
+ "add": "Dodaj",
"none": "Nijedna",
"node": "Točka",
"way": "Put",
"percent_brightness": "{opacity}% svjetline",
"none": "Nijedna",
"best_imagery": "Najpoznatiji izvornik snimaka za ovo područje",
+ "switch": "Vrati nazad na ovu pozadinu",
"custom": "Podesivo",
"custom_button": "Uredi prilagođenu pozadinu",
"custom_prompt": "Unesi URL predložak za popločavanje. Ispravni znakovi su {z}, {x}, {y} za Z/X/Y shemu i {u} za quadtile shemu.",
"title": "Foto preklop (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Prometni znakovi s Mapillary servisa",
+ "tooltip": "Prometni znakovi s Mapillary servisa (mora biti uključen foto preklop)",
"title": "Preklop prometnih znakova (Mapillary)"
},
"mapillary": {
"site": {
"label": "Vrsta"
},
- "sloped_curb": {
- "label": "Spušteni rubnjak"
- },
"smoking": {
"label": "Pušenje",
"options": {
"barrier/cycle_barrier": {
"name": "Biciklistička prepreka"
},
- "barrier/ditch": {
- "name": "Prokop",
- "terms": "jarak,rov,prokop,šanac,jama,kanal"
- },
"barrier/entrance": {
"name": "Ulaz",
"terms": "ulaz "
"shop/cheese": {
"name": "Prodavaonica sira"
},
- "shop/chemist": {
- "name": "Drogerija",
- "terms": "ljekarna, farmacija, apoteka"
- },
"shop/chocolate": {
"name": "Prodavaonica čokolade"
},
},
"commit": {
"title": "Módosítások mentése",
- "description_placeholder": "A közreműködésed rövid összefoglalója",
+ "description_placeholder": "A közreműködéseid rövid leírása (kötelező)",
"message_label": "Módosításcsomag megjegyzés",
"upload_explanation": "Az általad feltöltött változtatások minden OpenStreetMapet használó térképen láthatóak lesznek.",
"upload_explanation_with_user": "Az általad {user} néven feltöltött változtatások minden OpenStreetMapet használó térképen láthatóak lesznek.",
"yes": "Igen",
"no": "Nem"
},
+ "add": "Hozzáadás",
"none": "Nincs",
"node": "Csomópont",
"way": "Út",
"percent_brightness": "{opacity}% fényerő",
"none": "Nincs",
"best_imagery": "Legjobb ismert légifeltétel ehhez a helyszínhez",
+ "switch": "Visszaváltás erre a háttérre",
"custom": "Egyéni",
"custom_button": "Egyedi háttér szerkesztése",
"custom_prompt": "Adj meg egy csempe URL sablont. Érvényes tokenek: {z}, {x}, {y} a Z/X/Y rendszerű URL-ekhez és {u} a kvadratikusakhoz.",
"title": "Fotó réteg (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Közlekedési táblák a Mapillary-ből",
+ "tooltip": "Közlekedési táblák a Mapillaryről (be kell kapcsolni a fotó réteget)",
"title": "Közlekedési tábla réteg (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Akadály elemek"
+ },
"category-building": {
"name": "Épület elemek"
},
"bicycle_parking": {
"label": "Típus"
},
+ "bin": {
+ "label": "Szemetes kuka"
+ },
"boundary": {
"label": "Típus"
},
"cuisine": {
"label": "Konyha"
},
+ "currency_multi": {
+ "label": "Pénznem típusok"
+ },
"cycleway": {
"label": "Kerékpáros sávok",
"options": {
"fuel": {
"label": "Üzemanyag"
},
+ "fuel_multi": {
+ "label": "Üzemanyag típusok"
+ },
"gauge": {
"label": "Nyomtáv"
},
"yes": "Igen"
}
},
+ "internet_access/fee": {
+ "label": "Internetelérés díja"
+ },
+ "kerb": {
+ "label": "Járdaszegély rámpa"
+ },
"lamp_type": {
"label": "Típus"
},
"label": "Golfpálya par száma",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Irány",
+ "options": {
+ "backward": "Hátra",
+ "forward": "Előre"
+ }
+ },
"park_ride": {
"label": "P+R"
},
"underground": "Földalatti parkoló"
}
},
+ "payment_multi": {
+ "label": "Fizetési típusok"
+ },
"phone": {
"label": "Telefonszám",
"placeholder": "+36 1 123 45 67"
"railway": {
"label": "Típus"
},
+ "recycling_accepts": {
+ "label": "Elfogad"
+ },
"ref": {
"label": "Azonosító"
},
"restrictions": {
"label": "Kanyarodási korlátozások"
},
+ "rooms": {
+ "label": "Szobák"
+ },
"route": {
"label": "Típus"
},
"site": {
"label": "Típus"
},
- "sloped_curb": {
- "label": "Kerekített szélű járda"
- },
"smoking": {
"label": "Dohányzó",
"options": {
"sport_racing": {
"label": "Sport"
},
+ "stars": {
+ "label": "Csillagok"
+ },
+ "stop": {
+ "label": "Elsőbbségadás típusa",
+ "options": {
+ "all": "Összes út",
+ "minor": "Alsóbbrendű út"
+ }
+ },
"structure": {
"label": "Szerkezet",
"options": {
},
"barrier/ditch": {
"name": "Árok",
- "terms": "Ã\81rok"
+ "terms": "árok, gödör"
},
"barrier/entrance": {
"name": "Bejárat",
"name": "Mentőállomás",
"terms": "Mentőautó állomás"
},
+ "emergency/defibrillator": {
+ "name": "Defibrillátor",
+ "terms": "Defibrillátor"
+ },
"emergency/fire_hydrant": {
"name": "Tűzcsap",
"terms": "Tűzcsap"
"name": "Gyalogút",
"terms": "Járda"
},
+ "highway/give_way": {
+ "name": "Elsőbbségadás kötelező tábla",
+ "terms": "elsőbbségadás"
+ },
"highway/living_street": {
"name": "Pihenőút",
"terms": "Pihenő-lakóút"
"name": "Hullámtörő",
"terms": "Hullámtörő"
},
+ "man_made/bridge": {
+ "name": "Híd",
+ "terms": "híd"
+ },
"man_made/chimney": {
"name": "Kémény",
"terms": "füstelvezető"
},
"shop/chemist": {
"name": "Drogéria",
- "terms": "Drogéria"
+ "terms": "drogéria, gyógyszertár"
},
"shop/chocolate": {
"name": "Csokoládébolt",
"name": "Turistaút",
"terms": "Túraút, Gyalogtúra"
},
+ "type/route/horse": {
+ "name": "Lovaglóút",
+ "terms": "lovagló út, lovagló útvonal, lovas út, lovas útvonal"
+ },
"type/route/pipeline": {
"name": "Csővezeték útvonal",
"terms": "Csővezeték útvonal"
},
"commit": {
"title": "Պահել փոփոխութիւնները։",
- "description_placeholder": "Ձեր ներդրումների համառօտ ամփոփումը",
"message_label": "Փոփոխութեան մեկնաբանութիւն",
"upload_explanation": "Փոփոխութիւնները տեսանելի կը լինեն ՕփենՍթրիթՄէփ տուեալներ օգտագործող բոլոր քարտէզներում։",
"upload_explanation_with_user": "Փոփոխութիւններն, որ վերբեռնում էք որպէս {user} տեսանելի կը լինեն ՕփենՍթրիթՄէփ տուեալներ օգտագործող բոլոր քարտէզներում։",
},
"commit": {
"title": "Simpan Perubahan",
- "description_placeholder": "Deskripsi singkat kontribusi Anda",
"message_label": "Komentar set perubahan",
"upload_explanation": "Perubahan yang anda unggah akan tampil di seluruh peta yang menggunakan data OpenStreetMap.",
"upload_explanation_with_user": "Perubahan yang anda unggah sebagai {user} akan tampil di seluruh peta yang menggunakan data OpenStreetMap.",
"barrier/city_wall": {
"name": "Dinding Kota"
},
- "barrier/ditch": {
- "name": "Parit"
- },
"barrier/entrance": {
"name": "Pintu Masuk"
},
"shop/cheese": {
"name": "Toko Keju"
},
- "shop/chemist": {
- "name": "Toko Kimia"
- },
"shop/chocolate": {
"name": "Toko Cokelat"
},
},
"commit": {
"title": "Vista breytingar",
- "description_placeholder": "Stutt lýsing á breytingum þínum",
"upload_explanation": "Breytingarnar sem þú gerir verða sýnilegar á öllum kortum sem nota OpenStreetMap gögn.",
"upload_explanation_with_user": "Breytingarnar sem þú gerir sem {user} verða sýnilegar á öllum kortum sem nota OpenStreetMap gögn.",
"save": "Vista",
"barrier/cycle_barrier": {
"name": "Hjólahindrun"
},
- "barrier/ditch": {
- "name": "Skurður"
- },
"barrier/entrance": {
"name": "Inngangur"
},
"shop/car_repair": {
"name": "Bílaverkstæði"
},
- "shop/chemist": {
- "name": "Apótek"
- },
"shop/clothes": {
"name": "Fataverslun"
},
},
"commit": {
"title": "Salva le modifiche",
- "description_placeholder": "Una breve descrizione delle tue modifiche",
+ "description_placeholder": "Una breve descrizione delle tue modifiche (obbligatoria)",
"message_label": "Commento al gruppo di modifiche",
"upload_explanation": "Le modifiche che carichi saranno visibili su tutte le mappe che usano i dati di OpenStreetMap.",
"upload_explanation_with_user": "Le modifiche che carichi come {user} saranno visibili su tutte le mappe che usano i dati di OpenStreetMap.",
"percent_brightness": "{opacity}% luminosità",
"none": "Nessuno",
"best_imagery": "Migliore sorgente di immagini per questo luogo",
+ "switch": "Ritorna a questo sfondo",
"custom": "Personalizzato",
"custom_button": "Modifica sfondo personalizzato",
"custom_prompt": "Inserisci l'URL dello schema dei tasselli. Valori validi sono {z}, {x}, {y} per lo schema Z/X/Y e {u} per lo schema QuadTile.",
"title": "Livello Foto (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Segnali stradali da Mapillary",
+ "tooltip": "Segnali stradali da Mapillary (necessita attivazione Livello Foto)",
"title": "Livello Segnali Stradali (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Barriere"
+ },
"category-building": {
"name": "Edifici"
},
"yes": "Sì"
}
},
+ "internet_access/fee": {
+ "label": "Accesso ad Internet a pagamento"
+ },
+ "kerb": {
+ "label": "Rampa sul cordolo"
+ },
"lamp_type": {
"label": "Tipo"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Direzione",
+ "options": {
+ "backward": "A ritroso",
+ "forward": "In avanti"
+ }
+ },
"park_ride": {
"label": "Parcheggio di Interscambio"
},
"restrictions": {
"label": "Obblighi di svolta"
},
+ "rooms": {
+ "label": "Stanze"
+ },
"route": {
"label": "Tipo"
},
"site": {
"label": "Tipo"
},
- "sloped_curb": {
- "label": "Cordolo inclinato"
- },
"smoking": {
"label": "Zona fumatori",
"options": {
"sport_racing": {
"label": "Sport"
},
+ "stars": {
+ "label": "Stelle"
+ },
+ "stop": {
+ "label": "Tipo di Stop",
+ "options": {
+ "all": "Tutte le strade",
+ "minor": "Solo strade minori"
+ }
+ },
"structure": {
"label": "Struttura",
"options": {
"terms": "Barriera Biciclette"
},
"barrier/ditch": {
- "name": "Fossato",
- "terms": "Fosso"
+ "name": "Trincea",
+ "terms": "trincea,fossato"
},
"barrier/entrance": {
"name": "Entrata",
"name": "Stazione ambulanze",
"terms": "Stazione ambulanze"
},
+ "emergency/defibrillator": {
+ "name": "Defibrillatore",
+ "terms": "dae,defibrillatore"
+ },
"emergency/fire_hydrant": {
"name": "Idrante",
"terms": " Pompa antincendio "
"name": "Percorso pedonale",
"terms": "percorso battuto,viale,pista pedonale,strada,corsia,percorso,sentiero,cammino,strada,rotta,via,traiettoria,camminata"
},
+ "highway/give_way": {
+ "name": "Dare la precedenza",
+ "terms": "precedenza,dare precedenza,cartello"
+ },
"highway/living_street": {
"name": "Strada residenziale prevalentemente pedonale",
"terms": "Living Street"
"name": "Frangiflutti",
"terms": "Frangifrutti"
},
+ "man_made/bridge": {
+ "name": "Ponte",
+ "terms": "ponte,viadotto,pontile,arco,strallato,cavalcavia"
+ },
"man_made/chimney": {
"name": "Ciminiera",
"terms": "torre,camino"
"name": "Percorso escursionistico",
"terms": "sentiero,escursione,gita,rotta,percorso,passeggiata,cammino"
},
+ "type/route/horse": {
+ "name": "Ippovia",
+ "terms": "cavallo,strada,ippica,sentiero,equitazione"
+ },
"type/route/pipeline": {
"name": "Condotta",
"terms": "Itinerario conduttura"
},
"commit": {
"title": "編集結果を保存",
- "description_placeholder": "貢献のための簡単な解説",
+ "description_placeholder": "投稿内容についての短い説明(必須)",
"message_label": "変更セットコメント",
"upload_explanation": "あなたがアップロードした編集内容は、OpenStreetMapを利用しているすべてのユーザが閲覧できるようになります。",
"upload_explanation_with_user": "編集した内容を {user} アカウントでアップロードし、OpenStreetMapを利用しているすべてのユーザが閲覧できるようにします。",
"deleted": "削除した地物",
"created": "作成した地物",
"about_changeset_comments": "変更セットのコメントについて",
- "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments"
+ "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments",
+ "google_warning": "コメントの中で Google に触れていますが、 Google マップからのコピーは絶対に禁止です。",
+ "google_warning_link": "http://www.openstreetmap.org/copyright"
},
"contributors": {
"list": "{users} による編集",
"no_results_worldwide": "検索結果がありません"
},
"geolocate": {
- "title": "編集画面を現在地へ移動"
+ "title": "編集画面を現在地へ移動",
+ "locating": "位置情報を取得中です。しばらくお待ちください。"
},
"inspector": {
"no_documentation_combination": "このタグの組み合わせに関する解説はありません",
"yes": "はい",
"no": "いいえ"
},
+ "add": "追加",
"none": "なし",
"node": "ノード",
"way": "ウェイ",
"percent_brightness": "明度 {opacity}%",
"none": "なし",
"best_imagery": "表示中の場所に最適な航空写真",
+ "switch": "背景に切り替え",
"custom": "カスタム",
"custom_button": "カスタム背景の編集",
"custom_prompt": "タイルURLのテンプレートを入力してください。有効なトークンは、Z/X/Y方式ならば{z}, {x} , {y}、quadtile方式ならば{u}です。",
+ "fix_misalignment": "画像の位置を調整",
"imagery_source_faq": "この写真の出典元",
"reset": "設定リセット",
+ "offset": "画像の位置を調整するには、灰色のエリアのどこかをドラッグするか、ずれ幅をメートル単位で入力するかしてください。",
"minimap": {
"description": "ミニマップ",
"tooltip": "現在表示中の周辺をズームアウトして表示"
"tooltip": "地点情報"
},
"traffic_roads": {
+ "description": "公道",
"tooltip": "道路、街路など"
},
"service_roads": {
"tooltip": "私道、駐車場内経路、農道など"
},
"paths": {
- "description": "山道",
+ "description": "歩道・小道",
"tooltip": "歩道、自転車道など"
},
"buildings": {
"title": "写真の重ね合わせ (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Mapillary から交通標識を取得します",
"title": "交通標識の重ね合わせ (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "障害物"
+ },
"category-building": {
"name": "建物"
},
"bicycle_parking": {
"label": "種類"
},
+ "bin": {
+ "label": "ゴミ箱"
+ },
"boundary": {
"label": "タイプ"
},
"cuisine": {
"label": "料理の種類"
},
+ "currency_multi": {
+ "label": "通貨の種類"
+ },
"cycleway": {
"label": "自転車通行帯",
"options": {
"entrance": {
"label": "タイプ"
},
- "except": {
- "label": "例外"
- },
"fax": {
"label": "FAX",
"placeholder": "+31 42 123 4567"
"fuel": {
"label": "ガソリンスタンド"
},
+ "fuel_multi": {
+ "label": "燃料の種類"
+ },
"gauge": {
"label": "軌間"
},
"underground": "地下"
}
},
+ "payment_multi": {
+ "label": "支払い方法"
+ },
"phone": {
"label": "電話番号",
"placeholder": "+31 42 123 4567"
"railway": {
"label": "路線種別"
},
+ "recycling_accepts": {
+ "label": "リサイクル可能な素材"
+ },
"ref": {
"label": "管理番号"
},
"site": {
"label": "タイプ"
},
- "sloped_curb": {
- "label": "歩道のすりつけ勾配"
- },
"smoking": {
"label": "喫煙の可否",
"options": {
},
"placeholder": "不明"
},
+ "studio": {
+ "label": "スタジオの種類"
+ },
"substation": {
"label": "タイプ"
},
"name": "レンタサイクル",
"terms": "レンタサイクル"
},
+ "amenity/bicycle_repair_station": {
+ "name": "自転車修理店",
+ "terms": "自転車修理店, 自転車店(修理)"
+ },
"amenity/biergarten": {
"name": "ビアガーデン",
"terms": "ビアガーデン"
"terms": "時計"
},
"amenity/college": {
- "name": "大学の敷地",
+ "name": "短大・高専・専門学校の敷地",
"terms": "キャンパス"
},
"amenity/community_centre": {
"name": "病院の敷地",
"terms": "病院の敷地"
},
+ "amenity/hunting_stand": {
+ "name": "狩猟スタンド",
+ "terms": "狩猟スタンド"
+ },
"amenity/kindergarten": {
"name": "保育園/幼稚園の敷地",
"terms": "幼稚園の敷地, 保育園の敷地"
"name": "郵便局",
"terms": "郵便局"
},
+ "amenity/prison": {
+ "name": "刑務所の敷地",
+ "terms": "刑務所, 刑務所の敷地, 監獄, 拘置所, 少年院"
+ },
"amenity/pub": {
"name": "居酒屋",
"terms": "パブ, 居酒屋, 焼き鳥屋"
"name": "新聞自動販売機",
"terms": "新聞, 自動販売機, 自販機"
},
+ "amenity/vending_machine/parcel_pickup_dropoff": {
+ "terms": "自動販売機, 自販機"
+ },
"amenity/vending_machine/parking_tickets": {
"name": "パーキングチケット発給機",
"terms": "パーキングチケット, パーキングメーター, 駐車券, 券売機, 自動券売機, 自動販売機, 自販機, 自動発券機, 発券機"
"name": "ゴミ箱",
"terms": "ゴミ箱, ごみ箱"
},
+ "amenity/waste_disposal": {
+ "name": "ゴミ収集ボックス",
+ "terms": "ゴミステーション, ゴミ集積所, ゴミ捨て場, ゴミ置き場, ゴミ, ゴミ箱, ゴミコンテナ, ゴミ回収, ダストボックス"
+ },
+ "amenity/water_point": {
+ "name": "キャンピングカー用の給水施設",
+ "terms": "給水, 補給, 給水所, キャンピングカー, 給水塔, 飲料水, 飲水, 飲み水, キャンプ場, オートキャンプ場"
+ },
"area": {
"name": "エリア",
"terms": "エリア, 領域, 範囲"
"terms": "自転車止め"
},
"barrier/ditch": {
- "name": "堀",
- "terms": "å \80"
+ "name": "塹å£\95ã\83»ç©ºå \80",
+ "terms": "塹å£\95, 空å \80, å \80, æº\9d, è°·"
},
"barrier/entrance": {
"name": "出入口",
"terms": "教会"
},
"building/college": {
- "name": "大学の建物",
- "terms": "大学の建物"
+ "name": "短大・高専・専門学校の建物",
+ "terms": "短大, 高専, 高等専門学校, 短期大学, 専門, 専門学校"
},
"building/commercial": {
"name": "オフィスビル",
"name": "転回場",
"terms": "転回場, 車回し"
},
+ "highway/unclassified": {
+ "name": "一般道(2車線未満)"
+ },
"historic": {
"name": "史跡",
"terms": "史跡, 歴史的建造物"
},
"landuse/forest": {
"name": "人工林",
- "terms": "人工林, 二次林, 営林, 保安林, 鉄道林, 防風林"
+ "terms": "人工林, 二次林, 営林, 保安林, 鉄道林, 防風林, 森林(人工)"
},
"landuse/garages": {
"name": "車庫",
},
"leisure/pitch": {
"name": "スポーツ競技場",
- "terms": "スポーツ競技場, 運動場"
+ "terms": "スポーツ競技場, 運動場, 競技場, グラウンド"
},
"leisure/pitch/american_football": {
"name": "アメリカンフットボール場",
"name": "貯蔵タンク",
"terms": "貯蔵タンク, タンク"
},
+ "man_made/surveillance": {
+ "name": "監視カメラ",
+ "terms": "監視カメラ, 監視装置"
+ },
"man_made/survey_point": {
"name": "観測設備",
"terms": "観測設備, 観測地点, 測候所"
},
"natural/wood": {
"name": "自然林",
- "terms": "自然林, 原生林"
+ "terms": "自然林, 原生林, 森林(自然)"
},
"office": {
"name": "オフィス",
"terms": "古美術品店, アンティークショップ"
},
"shop/art": {
- "name": "美術品販売店"
+ "name": "美術品販売店",
+ "terms": "現代美術の商店"
},
"shop/baby_goods": {
"name": "赤ちゃん用品店",
"name": "チーズ店",
"terms": "チーズ店"
},
- "shop/chemist": {
- "name": "薬品・化粧品店",
- "terms": "薬品店, 化粧品店"
- },
"shop/chocolate": {
"name": "チョコレート店",
"terms": "チョコレート店"
"name": "衣料品店",
"terms": "衣料品店, 洋服店, 呉服店"
},
+ "shop/coffee": {
+ "name": "コーヒー豆販売店",
+ "terms": "コーヒー豆専門店"
+ },
"shop/computer": {
"name": "コンピューター店",
"terms": "コンピューター店, パソコン店"
},
"shop/deli": {
"name": "惣菜屋",
- "terms": "惣菜屋, 弁当屋"
+ "terms": "惣菜屋, 弁当屋, デリカ"
},
"shop/department_store": {
"name": "百貨店",
"name": "新聞・雑誌店",
"terms": "新聞, 雑誌, マガジン, ニュース, スタンド"
},
+ "shop/nutrition_supplements": {
+ "name": "栄養サプリ販売店",
+ "terms": "栄養サプリメント販売店, サプリ専門店, サプリメント専門店"
+ },
"shop/optician": {
"name": "メガネ",
"terms": "メガネ, 眼鏡, メガネ屋, 眼鏡屋"
"terms": "刺青屋"
},
"shop/tea": {
- "name": "茶åº\97",
- "terms": "茶舗"
+ "name": "茶è\88\97",
+ "terms": "茶舗, 茶店(販売)"
},
"shop/ticket": {
"name": "チケット店",
"terms": "銃砲店"
},
"shop/window_blind": {
- "name": "ブラインドカーテン専門店"
+ "name": "ブラインドカーテン専門店",
+ "terms": "ブラインド販売店"
},
"shop/wine": {
"name": "ワイン店",
},
"tourism/information": {
"name": "観光案内",
- "terms": "観光案内, 案内, 案内板, 案内所"
+ "terms": "観光案内, 案内, 案内板, 案内所, インフォメーション"
},
"tourism/motel": {
"name": "モーテル",
"terms": "直進禁止"
},
"type/restriction/no_u_turn": {
- "name": "転回禁止",
- "terms": "転回禁止, Uターン禁止"
+ "name": "Uターン禁止",
+ "terms": "Uターン禁止"
},
"type/restriction/only_left_turn": {
- "name": "左折のみ可",
- "terms": "左折のみ可"
+ "name": "左折専用",
+ "terms": "左折専用, 左折のみ"
},
"type/restriction/only_right_turn": {
- "name": "右折のみ可",
- "terms": "右折のみ可"
+ "name": "右折専用",
+ "terms": "右折専用, 右折のみ"
},
"type/restriction/only_straight_on": {
"name": "直進のみ可",
"terms": "水路"
},
"waterway/boatyard": {
- "name": "造船所"
+ "name": "小型船造船所",
+ "terms": "造船所, 小型船造船所"
},
"waterway/canal": {
"name": "運河",
"browse": {
"title": "ಜಾಲಾಟ",
"description": "ನಕ್ಷೆಯನ್ನು ಪ್ಯಾನ್ ಮತ್ತು ಜೂಮ್ ಮಾಡಿರಿ."
+ },
+ "draw_area": {
+ "tail": "ನಿಮ್ಮ ಕ್ಷೇತ್ರಕ್ಕೆ ಚುಕ್ಕೆಗಳನ್ನು ಸೇರಿಸಲು ಕ್ಲಿಕ್ ಮಾಡಿ. ಅದನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಮೊದಲು ಸೇರಿಸಿದ ಚುಕ್ಕೆಯನ್ನು ಒತ್ತಿ. "
+ },
+ "draw_line": {
+ "tail": "ಗೆರೆಗಳಿಗೆ ಚುಕ್ಕೆಗಳನ್ನು ಸೇರಿಸಲು ಕ್ಲಿಕ್ ಮಾಡಿ. ಅವುಗಳನ್ನು ಬೇರೆ ಗೆರೆಗಳಿಗೆ ಸೇರಿಸಲು ಅವುಗಳ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ. ಗೆರೆಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಅದರ ಮೇಲೆ ಎರಡು ಸಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ. "
}
},
"operations": {
"add": {
"annotation": {
"point": "ಒಂದು ಬಿಂದುವನ್ನು ಸೇರಿಸಲಾಯಿತು.",
+ "vertex": "ದಾರಿಗೆ ಒಂದು ಜಾಲಘಟಕವನ್ನು ಸೇರಿಸಲಾಗಿದೆ",
"relation": "ರಿಲೇಷನ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ."
}
},
"cancel_draw": {
"annotation": "ಚಿತ್ರವನ್ನು ರದ್ದುಗೊಳಿಸು."
},
+ "change_role": {
+ "annotation": "ಸಂಬಂಧದ ಒಂದು ಅಂಶದ ಪಾತ್ರವನ್ನು ಬದಲಿಸಲಾಗಿದೆ. "
+ },
"change_tags": {
"annotation": "ಹೆಸರು ಪಟ್ಟಿಯ ಬದಲಾವಣೆ."
},
"annotation": {
"line": "ರೇಖೆಯನ್ನು ವೃತ್ತಾಕಾರ ಮಾಡಲಾಯಿತು.",
"area": "ಪ್ರದೇಶವನ್ನು ವೃತ್ತಾಕಾರ ಮಾಡಲಾಯಿತು."
- }
+ },
+ "not_closed": "ಈ ವಸ್ತುವನ್ನು ವೃತ್ತಾಕಾರವಾಗಿ ಬದಲಾಯಿಸಲು ಆಗುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಎದು ಕುಣಿಕೆಯಲ್ಲ. "
},
"orthogonalize": {
"title": "ಚೌಕ",
"annotation": {
"line": "ರೇಖೆಯ ಅಂಚುಗಳನ್ನು ಚೌಕಾಕಾರಗೊಳಿಸಲಾಯಿತು.",
"area": "ಪ್ರದೇಶದ ಅಂಚುಗಳನ್ನು ಚೌಕಾಕಾರಗೊಳಿಸಲಾಯಿತು."
- }
+ },
+ "not_squarish": "ಈ ವಸ್ತುವನ್ನು ಚೌಕವಾಗಿ ಬದಲಾಯಿಸಲು ಆಗುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಎದು ಚೌಕದ ಆಕಾರದಲ್ಲಿಲ್ಲ.",
+ "too_large": "ಈ ವಸ್ತುವನ್ನು ಚೌಕಾಕಾರಕ್ಕೆ ಬದಲಿಸಲು ಆಗುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಈ ವಸ್ತು ಪೂರ್ತಿಯಾಗಿ ಕಾಣುತ್ತಿಲ್ಲ. ",
+ "connected_to_hidden": "ಈ ವಸ್ತುವನ್ನು ಚೌಕವಾಗಿ ಬದಲಾಯಿಸಲು ಆಗುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಎದು ಒಂದು ಗುಪ್ತ ವಸ್ತುವಿಗೆ ಸೇರಿಕೊಂಡಿದೆ. "
},
"straighten": {
"title": "ನೇರಗೊಳಿಸು",
"description": "ಈ ರೇಖೆಯನ್ನು ನೇರಗೊಳಿಸು.",
"key": "S",
- "annotation": "ರೇಖೆಯನ್ನು ನೇರಗೊಳಿಸಲಾಯಿತು"
+ "annotation": "ರೇಖೆಯನ್ನು ನೇರಗೊಳಿಸಲಾಯಿತು",
+ "too_bendy": "ಈ ರಸ್ತೆಯನ್ನು ನೇರ ಪಡಿಸುವಿದಕ್ಕೆ ಆಗುವುದಿಲ್ಲ. ಈ ರಸ್ತೆ ತುಂಬಾ ತಿರುಗಿಕೊಂಡಿದೆ.",
+ "connected_to_hidden": "ಈ ಗೆರೆಯನ್ನು ನೇರ ಮಾಡಲು ಆಗುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಎದು ಒಂದು ಗುಪ್ತ ವಸ್ತುವಿಗೆ ಸೇರಿಕೊಂಡಿದೆ. "
},
"delete": {
"title": "ಅಳಿಸು",
+ "description": "ಈ ವಸ್ತು / ಬಗೆಯನ್ನು ಶಾಸ್ವತವಾಗಿ ಅಳಿಸು.",
"annotation": {
"point": "ಬಿಂದುವನ್ನು ಅಳಿಸಲಾಯಿತು.",
+ "vertex": "ಜಾಲಘಟಕವನ್ನು ಈ ದಾರಿಯಿಂದ ಅಳಿಸಲಾಗಿದೆ. ",
"line": "ರೇಖೆಯನ್ನು ಅಳಿಸಲಾಯಿತು.",
"area": "ಪ್ರದೇಶವನ್ನು ಅಳಿಸಲಾಯಿತು.",
"relation": "ರಿಲೇಷನ್ ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ.",
"multiple": "{n} ವಸ್ತುಗಳನ್ನು ಅಳಿಸಲಾಯಿತು."
}
},
+ "add_member": {
+ "annotation": "ಹೊಸ ಅಂಶವನ್ನು ಸಂಬಂಧಕ್ಕೆ ಸೇರಿಸಲಾಗಿದೆ. "
+ },
+ "delete_member": {
+ "annotation": "ಒಂದು ಅಂಶವನ್ನು ಸಂಬಂಧದಿಂದ ತೆಗೆಯಲಾಗಿದೆ. "
+ },
+ "connect": {
+ "annotation": {
+ "point": "ದಾರಿಯನ್ನು ಒಂದು ಚುಕ್ಕೆಗೆ ಸೇರಿಸಲಾಗಿದೆ.",
+ "vertex": "ಒಂದು ದಾರಿಯನ್ನು ಇನೊಂದಕ್ಕೆ ಸೇರಿಸಲಾಗಿದೆ.",
+ "line": "ದಾರಿಯನ್ನು ಒಂದು ಗೆರೆಗೆ ಸೇರಿಸಲಾಗಿದೆ.",
+ "area": "ದಾರಿಯನ್ನು ಒಂದು ಕ್ಷೇತ್ರಕ್ಕೆ ಸೇರಿಸಲಾಗಿದೆ."
+ }
+ },
"disconnect": {
"title": "ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸು",
- "key": "D"
+ "description": "ಈ ದಾರಿಗಳನ್ನು ಅಥವಾ ಕ್ಷೇತ್ರಗಳನ್ನು, ಒಂದರಿಂದ ಇನ್ನೊಂದನ್ನು ಬೇರ್ಪಡಿಸಿ. ",
+ "key": "D",
+ "annotation": "ಈ ದಾರಿಗಳನ್ನು ಅಥವಾ ಕ್ಷೇತ್ರಗಳನ್ನು ಬೇರ್ಪಡಿಸಿ. ",
+ "not_connected": "ಬೇರ್ಪಡಿಸಲು ಸಾಕಾಗುವಷ್ಟು ದಾರಿಗಳು ಅಥವಾ ಕ್ಷೇತ್ರಗಳಿಲ್ಲ.",
+ "connected_to_hidden": "ಗುಪ್ತ ವಸ್ತುವಿಗೆ ಸೇರ್ಪಡೆಯಾದುದರಿಂದ, ಈ ವಸ್ತುವನ್ನು ಬೇರ್ಪಡಿಸಲಾಗುವುದಿಲ್ಲ. ",
+ "relation": "ಈ ವಸ್ತುಗಳು ಒಂದು ಸಂಬಂಧದ ಅಂಶವಾಗಿರುವುದರಿಂದ, ಇದನ್ನು ಬೇರ್ಪಡಿಸಲಾಗುವುದಿಲ್ಲ. "
},
"merge": {
"title": "ವಿಲೀನಗೊಳಿಸು",
- "key": "C"
+ "description": "ಈ ವಸ್ತುಗಳನ್ನು ಸೇರಿಸಿ.",
+ "key": "C",
+ "annotation": "{ನ} ವಸ್ತುಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ",
+ "not_eligible": "ಈ ವಸ್ತುಗಳನ್ನು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ.",
+ "not_adjacent": "ಈ ವಸ್ತುಗಳು ಒಂದಕ್ಕೊಂದರ ಜೊತೆಗೆ ಕೂಡಿಲ್ಲ, ಆದುದರಿಂದ ಇವಗುಳನ್ನು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ. ",
+ "restriction": "ಈ ವಸ್ತುಗಳನ್ನು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಕನಿಷ್ಟ ಒಂದು ವಸ್ತು ಒಂದು {ಸಂಬಂಧಕ್ಕೆ} ಸೇರಿದೆ. "
},
"move": {
"title": "ಸರಿಸು",
"key": "M",
"annotation": {
"point": "ಒಂದು ಬಿಂದುವನ್ನು ಸರಿಸಲಾಯಿತು.",
+ "vertex": "ದಾರಿಯಲ್ಲಿರುವ ಒಂದು ಚುಕ್ಕೆಯನ್ನು ಸರಿಸಲಾಯಿತು. ",
"line": "ರೇಖೆಯನ್ನು ಸರಿಸಲಾಯಿತು.",
"area": "ಪ್ರದೇಶವನ್ನು ಸರಿಸಲಾಯಿತು.",
"multiple": "ಬಹುವಿಧದ ವಸ್ತುಗಳನ್ನು ಸರಿಸಲಾಯಿತು"
},
"rotate": {
"title": "ತಿರುಗಿಸು",
+ "description": "ಈ ವಸ್ತುವನ್ನು ಅದರ ಮದ್ಯದಿಂದ ತಿರುಗಿಸಿ. ",
"key": "R",
"annotation": {
"line": "ರೇಖೆಯನ್ನು ತಿರುಗಿಸು",
},
"reverse": {
"title": "ಹಿಮ್ಮುಖ",
+ "description": "ಈ ಗೆರೆಯನ್ನು ಅಭಿಮುಖ ದಿಕ್ಕಿನಲ್ಲಿ ಚಲಿಸುವಂತೆ ಮಾಡಿ. ",
"key": "V",
"annotation": "ರೇಖೆಯನ್ನು ಹಿಮ್ಮುಖಗೊಳಿಸು"
},
"line": "ರೇಖೆಯನ್ನು ವಿಭಜಿಸು",
"area": "ಒಂದು ಪ್ರದೇಶದ ಗಡಿಯನ್ನು ವಿಭಜಿಸು.",
"multiple": "{n} ಪ್ರದೇಶದ ಗಡಿಗಳನ್ನು ವಿಭಜಿಸು."
+ },
+ "not_eligible": "ಗೆರೆಗಳನ್ನು ಶುರುವಿನಿಂದ ಅಥವಾ ಕೊನೆಯಿಂದ ವಿಭಜಿಸಲಾಗುವುದಿಲ್ಲ.",
+ "multiple_ways": "ವಿಭಜನೇ ಆಯ್ಕೆ ಉಪಯೋಗಿಸಲು ತುಂಬಾ ಗೆರೆಗಳಿವೆ. ",
+ "connected_to_hidden": "ಈ ವಸ್ತು ಇನ್ನೊದು ಗುಪ್ತ ವಸ್ತುವಿಗೆ ಸೇರಿಕೊಂಡಿದೆ. ಆದುದರಿಂದ ಇದನ್ನು ವಿಭಜಿಸಲಾಗುವುದಿಲ್ಲ. "
+ },
+ "restriction": {
+ "help": {
+ "select": "ರಸ್ತೆ ಭಾಗವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಈ ಬಟನನ್ನ ಒತ್ತಿ. ",
+ "toggle_on": " {ತಿರುಗು ನಿರ್ಬಂಧವನ್ನು} ಸೇರಿಸಲು ಈ ಬಟನನ್ನ ಒತ್ತಿ. ",
+ "toggle_off": "{ತಿರುಗು ನಿರ್ಬಂಧವನ್ನು} ತೆಗೆಯಲು ಈ ಬತನನ್ನ ಒತ್ತಿ. "
+ },
+ "annotation": {
+ "create": "ತಿರುಗು ನಿರ್ಬಂಧವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.",
+ "delete": "ತಿರುಗು ನಿರ್ಬಂಧವನ್ನು ತೆಗೆಯಲಾಗಿದೆ. "
}
}
},
"nothing": "ಮರಳಿಮಾಡಲು ಏನು ಇಲ್ಲ."
},
"tooltip_keyhint": "ಕಿರುಹಾದಿ",
+ "browser_notice": "ಸಫಾರಿ, ಗೂಗಲ್, ಫಯರ್ಫಾಕ್ಸ್ ಮತ್ತು ಇಂಟರ್ನೆಟ್ ಎಕ್ಸ್ಪ್ಲೋರರ್ 11 ಈ ಎಡಿಟರನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ಬ್ರೌಸೆರನ್ನು ಉನ್ನತೀಕರಿಸಿ ಅಥವಾ ಈ ನಕ್ಷೆ ಬಡಸಿಲರು ಪೊಟ್ಲಾಚ್ 2 ಅನ್ನು ಉಪಯೋಗಿಸಿ. ",
"translate": {
"translate": "ಭಾಷಾಂತರಿಸು",
"localized_translation_label": "ಬಹುಭಾಷಿಕ ಹೆಸರು.",
"zoom_in_edit": "ಸಂಪಾದಿಸಲು ಜೂಮ್ ಇನ್ ಮಾಡಿ",
"logout": "ಲಾಗ್ ಔಟ್",
"loading_auth": "ಓಪನ್ ಸ್ಟ್ರೀಟ್ ಮ್ಯಾಪ್ ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ.....",
+ "report_a_bug": "ದೋಷವನ್ನು ವಿವರಿಸಿ. ",
+ "help_translate": "ಅನುವಾದಕ್ಕೆ ನೀವು ಸಹಾಯಮಾಡಿ. ",
+ "feature_info": {
+ "hidden_warning": "{ಎಣಿಕೆ} ಗುಪ್ತ ವಸ್ತುಗಳು.",
+ "hidden_details": "ಈ ವಸ್ತುಗಳು ಸಧ್ಯಕ್ಕೆ ಗುಪ್ತ ರೂಪದಲ್ಲಿವೆ. {ವಿವರಗಳು}"
+ },
+ "status": {
+ "error": "ಎ ಪಿ ಐ ಗೆ ಈಗ ಸಂಪರ್ಕ ಮಾಡಲಾಗುವುದಿಲ್ಲ."
+ },
"commit": {
"title": "ಬದಲಾವಣೆಯನ್ನು ಉಳಿಸು",
- "description_placeholder": "ನಿಮ್ಮ ಕೊಡುಗೆಗಳ ಸಂಕ್ಷಿಪ್ತ ವಿವರಣೆ",
+ "description_placeholder": "ನೀವು ಮಾಡಿದ ಬದಲಾವಣೆಗಳ ಬಗ್ಗೆ ಒಂದು ಚಿಕ್ಕ ವಿವರಣೆ (ಅವಶ್ಯಕ).",
+ "upload_explanation": "ನೀವು ಉಪ್ಲೋಡ್ ಮಾಡುವ ಎಲ್ಲ ಮಾಹಿತಿ ಆಥಾವ ಬದಲಾವಣೆಗಳು ಓಪನ್ಸ್ಟ್ರೀಟ್ಮ್ಯಾಪ್ ಮಾಹಿತಿ ಉಪಯೋಗಿಸುವ ಎಲ್ಲ ನಕ್ಷೆಗಲ್ಲಿ ವ್ಯಕ್ತವಾಗುತ್ತದೆ. ",
+ "upload_explanation_with_user": "{ನಿಮ್ಮ ಹೆಸರಿನಿಲ್ಲಿ} ಉಪ್ಲೋಡ್ ಮಾಡುವ ಎಲ್ಲ ಮಾಹಿತಿ ಆಥಾವ ಬದಲಾವಣೆಗಳು ಓಪನ್ಸ್ಟ್ರೀಟ್ಮ್ಯಾಪ್ ಮಾಹಿತಿ ಉಪಯೋಗಿಸುವ ಎಲ್ಲ ನಕ್ಷೆಗಲ್ಲಿ ವ್ಯಕ್ತವಾಗುತ್ತದೆ. ",
"save": "ಉಳಿಸು",
"cancel": "ರದ್ದು ಮಾಡು",
"changes": "{count} ಬದಲಾವಣೆಗಳು",
"warnings": "ಎಚ್ಚರಿಕೆಗಳು",
"modified": "ಮಾರ್ಪಡಿಸು",
"deleted": "ಅಳಿಸಲಾಯಿತು",
- "created": "ರಚಿಸಲಾಯಿತು"
+ "created": "ರಚಿಸಲಾಯಿತು",
+ "google_warning": "ನೀವು ಈ ಹೇಳಿಕೆಯಲ್ಲಿ ಗೂಗಲ್ ಅನ್ನು ಉಲ್ಲೇಖಿಸಿದ್ದೀರ. ಗೂಗಲ್ ಮಾಪ್ಸ್ ನಿಂದ ಮಾಹಿತಿ ಪಡೆಯುವುದು ನಿಷೇಧಿಸಿದೆ. "
},
"contributors": {
"list": "ಸಂಪಾದನೆಗಳು {ಬಳಕೆದಾರ ಮೂಲಕ}"
},
"infobox": {
- "geometry": "",
+ "selected": "{ನ} ಆಯ್ಕೆಯಾಗಿದೆ.",
+ "geometry": "ಜಾಮಿತಿ",
"closed": "ಮುಚ್ಚಿದ",
"center": "ಮಧ್ಯ",
"perimeter": "ಪರಿಧಿ",
"area": "ಪ್ರದೇಶ",
"centroid": "ಮಧ್ಯಬಿಂದು",
"location": "ಸ್ಥಳ",
- "metric": "ಮೆಟ್ರಿಕ್"
+ "metric": "ಮೆಟ್ರಿಕ್",
+ "imperial": "ಸಾರ್ವಭೌಮ "
},
"geometry": {
"point": "ಬಿಂದು",
+ "vertex": "ತುದಿ",
"line": "ರೇಖೆ",
- "area": "ಪ್ರದೇಶ"
+ "area": "ಪ್ರದೇಶ",
+ "relation": "ಸಂಭಂಧ"
},
"geocoder": {
"search": "ಪ್ರಪಂಚದಾದ್ಯಂತ ಹುಡುಕು......",
+ "no_results_visible": "ವ್ಯಕ್ತ ನಕ್ಷೆ ಎಲ್ಲೆಯಲ್ಲಿ ಯಾವ ಬದಲಾವಣೆಗಳು ಇಲ್ಲ. ",
"no_results_worldwide": "ಯಾವುದೇ ಫಲಿತಾಂಶಗಳು ಕಂಡುಬರಲಿಲ್ಲ"
},
"geolocate": {
- "title": "ನನ್ನ ಸ್ಥಳವನ್ನು ತೋರಿಸಿ"
+ "title": "ನನ್ನ ಸ್ಥಳವನ್ನು ತೋರಿಸಿ",
+ "locating": "ಪತ್ತೆ ಹಚ್ಚುತ್ತಿದೆ. ದವವಿತ್ತು ಸ್ವಲ್ಪ ಸಮಯ ಕಾಯಿರಿ. "
},
"inspector": {
"show_more": "ಇನ್ನೂ ತೋರಿಸು",
+ "view_on_osm": "ಓಪನ್ ಸ್ಟ್ರೀಟ್ ಮ್ಯಾಪ್.ಆರ್ಗ್ ನಲ್ಲಿ ನೋಡಿ. ",
+ "all_fields": "ಎಲ್ಲ ವರ್ಗಗಳು. ",
+ "all_tags": "ಎಲ್ಲ ಹೆಸರುಪಟ್ಟಿಗಳು",
+ "all_members": "ಎಲ್ಲ ಅಂಶಗಳು.",
+ "all_relations": "ಎಲ್ಲ ಸಂಭಂದಗಳು.",
+ "new_relation": "ಹೊಸ ನಂಟು",
"role": "ಪಾತ್ರ",
+ "reference": "ಓಪನ್ಸ್ಟ್ರೀಟ್ಮ್ಯಾಪ್ ವಿಕಿ ನಲ್ಲಿ ನೋಡಿ.",
"back_tooltip": "ಲಕ್ಷಣವನ್ನು ಬದಲಿಸು",
"remove": "ತೆಗೆದುಹಾಕು",
"search": "ಹುಡುಕು",
"yes": "ಹೌದು",
"no": "ಇಲ್ಲ"
},
- "none": "ಯಾವುದೂ ಇಲ್ಲದ",
- "node": "ಯಾವುದೂ ಇಲ್ಲದ",
+ "add": "ಸೇರಿಸಿ",
+ "none": "ಯಾವುದೂ ಇಲ್ಲ",
+ "node": "ಯಾವುದೂ ಇಲ್ಲ",
"way": "ದಾರಿ",
- "location": "ಸ್ಥಳ"
+ "relation": "ಸಂಬಂಧ",
+ "location": "ಸ್ಥಳ",
+ "add_fields": "ವರ್ಗವನ್ನು ಸೇರಿಸಿ. "
},
"background": {
"title": "ಹಿನ್ನೆಲೆ",
- "none": "ಯಾವುದೂ ಇಲ್ಲದ"
+ "description": "ಹಿನ್ನಲೆ ವ್ಯವಸ್ತೆಗಳು",
+ "none": "ಯಾವುದೂ ಇಲ್ಲ",
+ "custom": "ಅನುಸರಣ",
+ "minimap": {
+ "description": "ಚಿಕ್ಕ ನಕ್ಷೆ"
+ }
+ },
+ "map_data": {
+ "title": "ನಕ್ಷೆ ಮಾಹಿತಿ.",
+ "description": "ನಕ್ಷೆ ಮಾಹಿತಿ."
},
"feature": {
"points": {
- "description": "ಬಿಂದುಗಳು"
+ "description": "ಬಿಂದುಗಳು",
+ "tooltip": "ಆಸಕ್ತಿಯ ಅಂಶಗಳು."
+ },
+ "traffic_roads": {
+ "description": "ಸಂಚಾರಿ ರಸ್ತೆಗಳು",
+ "tooltip": "ಹೆದ್ದಾರಿಗಳು, ಬೀದಿಗಳು, ಇತ್ಯಾದಿ. "
+ },
+ "service_roads": {
+ "description": "ಸೌಕರ್ಯ ರಸ್ತೆಗಳು. ",
+ "tooltip": "ಸೌಕರ್ಯ ರಸ್ತೆಗಳು; ಗಾಡಿ ನಿಲ್ಲ್ಸುವ ಸ್ಥಳಗಳು; ಹಾದಿಗಳು... ಇತ್ಯಾದಿ."
},
"paths": {
- "description": "ಪಥ",
+ "description": "ಹಾದಿ",
"tooltip": "ಪಾದಚಾರಿ ಮಾರ್ಗಗಳು, ಕಾಲುದಾರಿಗಳು, ಸೈಕಲ್ ಮಾರ್ಗಗಳು, ಇತ್ಯಾದಿ"
},
"buildings": {
"tooltip": "ಕಟ್ಟಡಗಳು, ತಂಗುದಾಣಗಳು, ಗ್ಯಾರೇಜುಗಳು, ಇತ್ಯಾದಿ"
},
"landuse": {
+ "description": "ನೆಲಉಪಯುಕ್ತ ಲಕ್ಷಣಗಳು. ",
"tooltip": "ಕಾಡುಗಳು, ಕೃಷಿಭೂಮಿ, ಉದ್ಯಾನಗಳು, ಗೃಹ, ವಾಣಿಜ್ಯ, ಇತ್ಯಾದಿ"
},
"boundaries": {
"tooltip": "ವಿದ್ಯುತ್ ಸಂಪರ್ಕಗಳು, ವಿದ್ಯುತ್ ಉತ್ಪಾದನಾ ಘಟಕಗಳು, ಉಪಕೇಂದ್ರಗಳು ಇತ್ಯಾದಿ"
},
"past_future": {
+ "description": "ಭೌತ / ಭವಿಷ್ಯ",
"tooltip": "ಪ್ರಸ್ತಾವಿಸಿದ, ನಿರ್ಮಾಣ ಹಂತದ, ಕೈಬಿಟ್ಟ, ಕೆಡವಲಾದ ಇತ್ಯಾದಿ"
},
"others": {
}
},
"area_fill": {
+ "wireframe": {
+ "description": "ತುಂಬುಇಲ್ಲ (ವಯರ್ಫ್ರೇಮ್)",
+ "tooltip": "ವಯರ್ಫ್ರೇಮ್ ಅಳವಡಿಸುವುದರಿಂದ ಹಿಂದಿನ ಸೆಟಿಲೈಟ್ ಚಿತ್ರ ಸ್ಪಷ್ಟವಾಗಿ ಕಾಣುತ್ತದೆ."
+ },
"partial": {
- "description": ""
+ "description": "ಅರೆ ತುಂಬು"
+ },
+ "full": {
+ "description": "ಪೂರ್ಣ ತುಂಬು"
}
},
"restore": {
+ "heading": "ಉಳಿಸದ ಬದಲಾವಣೆಗಳಿವೆ.",
+ "description": "ಮುಂಚೆ ತಿದ್ದಿದ ವಸ್ತುಗಳನ್ನು ಮಾರುಕಳಿಸಬೇಕೆ?",
"restore": "ಪುನಃಸ್ಥಾಪನೆ",
"reset": "ಮರುಹೊಂದಿಸು"
},
"save": {
"title": "ಉಳಿಸು",
+ "help": "ಮಾಡಿದ ಬದಲಾವಣೆಗಳನ್ನು ಓಪನ್ ಸ್ಟ್ರೀಟ್ ಮ್ಯಾಪ್ ಮೇಲೆ ವ್ಯಕ್ತಗೊಳಿಸಲು, ಕಾರ್ಯವನ್ನು ಉಳಿಸಿ. ",
+ "no_changes": "ಉಳಿಸಲು ಏನೂ ಬದಲಾವಣೆಗಳು ಇಲ್ಲ. ",
+ "error": "ನೇವು ಮಾಡಿದ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸುವಾಗ ಪ್ರಮಾದ ಉಂಟಾಯಿತು. ",
+ "unknown_error_details": "ಅಂತರಜಾಲದ ಸಂಪರ್ಕ ಇರುವುದೆಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ",
+ "uploading": "ಮಾಡಿದ ಬದಲಾವಣೆಗಳು ಓಪನ್ ಸ್ಟ್ರೀಟ್ ಮ್ಯಾಪ್ ಗೆ ಉಪ್ಲೋಡ್ ಆಗುತ್ತಿದೆ. ",
+ "unsaved_changes": "ಉಳಿಸದ ಬದಲಾವಣೆಗಳಿವೆ.",
"conflict": {
+ "header": "ವಿರೋಧವಿರುವ ಬದಲಾವಣೆಗಳನ್ನು ಪರಿಹರಿಸಿ. ",
+ "count": "{ಮೊತ್ತ} ದಲ್ಲಿ {ಸಂಖೆ} ವಿರೋಧ.",
"previous": "<ಹಿಂದಿನ",
"next": "ಮುಂದಿನ>",
- "restore": "ಪುನಃಸ್ಥಾಪನೆ"
+ "keep_local": "ನನ್ನ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಿ. ",
+ "keep_remote": "ಅವರ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಿ",
+ "restore": "ಪುನಃಸ್ಥಾಪನೆ",
+ "done": "ಎಲ್ಲ ವಿರೋಧಗಳನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ! ",
+ "help": "ಇನ್ನೋಬರು ನೀವು ಬದಲಾಯಿಸಿದೆ ವಸ್ತುಗಳನ್ನೇ ಮಾರ್ಪಡಿಸಿದರೆ. \nವಿರೋಧದ ಬಗ್ಗೆ ವಿವರ ಬೇಕಾದಲ್ಲಿ ಕೆಳಗಿರುವ ಎಲ್ಲ ಬದಲಾಯಿಸಿದೆ ವಸ್ತುಗಳನ್ನು ಒತ್ತಿ ಮತ್ತು ನೀವು ಮಾಡಿರುವ ಬದಲಾವಣೆ ಉಳಿಸುತ್ತೀರೋ ಅಥವಾ ಆವರು ಮಾಡಿದ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸುತ್ತಿರೋ ನಿರ್ಧರಿಸಿ. \n"
}
},
"success": {
"just_edited": "ನೀವು ಈಗ ಓಪನ್ ಸ್ಟ್ರೀಟ್ ಮ್ಯಾಪ್ ಸಂಪಾದಿಸಿದಿರಿ.",
+ "view_on_osm": "ಓ ಎಸ್ ಎಂ ನಲ್ಲಿ ನೋಡಿ. ",
"facebook": "ಫೇಸ್ ಬುಕ್ ನಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಿರಿ",
"twitter": "ಟ್ವಿಟರ ನಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಿರಿ",
- "google": "ಗೂಗಲ್+ ನಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಿರಿ"
+ "google": "ಗೂಗಲ್+ ನಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಿರಿ",
+ "help_link_text": "ವಿವರಗಳು"
},
"confirm": {
"okay": "ಸರಿ",
"cancel": "ರದ್ದು ಮಾಡು"
},
"splash": {
- "start": "ಸಂಪಾದಿಸಿ"
+ "welcome": "ಓಪನ್ ಸ್ಟ್ರೀಟ್ ಮ್ಯಾಪ್ ಐಡಿ ಎಡಿಟರಿಗೆ ಸ್ವಾಗತ!",
+ "start": "ಬದಲಿಸಿ"
},
"tag_reference": {
- "description": "ವಿವರಣೆ"
+ "description": "ವಿವರಣೆ",
+ "used_with": "{ಮಾದರಿ} ಜೊತೆಗೆ ಬಳಸಿ. "
+ },
+ "validations": {
+ "untagged_point": "ಹೆಸರುಪಟ್ಟಿಯಿಲ್ಲದ ಚುಕ್ಕೆ. ",
+ "untagged_line": "ಹೆಸರುಪಟ್ಟಿಯಿಲ್ಲದ ಗೆರೆ. ",
+ "untagged_area": "ಹೆಸರುಪಟ್ಟಿಯಿಲ್ಲದ ಕ್ಷೇತ್ರ."
},
"zoom": {
"in": "ಹಿಗ್ಗಿಸು",
},
"intro": {
"navigation": {
- "title": "ಸಂಚರಣೆ"
+ "title": "ಸಂಚರಣೆ",
+ "choose": "ಪಟ್ಟಿಯಲ್ಲಿರುವ {ಹೆಸರನ್ನು} ಆಯ್ಕೆ ಮಾಡಲು ಒಂದನ್ನು ಆರಿಸಿ. "
+ },
+ "points": {
+ "title": "ಚುಕ್ಕೆಗಳು. "
},
"areas": {
- "title": "ಪ್ರದೇಶ"
+ "title": "ಪ್ರದೇಶ",
+ "search": "{ಹೆಸರನ್ನು} ಹುಡುಕಿ. ",
+ "choose": "ಕೆಳಗಿರುವ ಪಟ್ಟಿಯಿಂದ \"ಆಟದ ಮೈದಾನ\" ವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ. ",
+ "describe": "ಹೆಸರನ್ನು ಸೇರಿಸಿ ನಂತರ ಫೇಚರ್ ಎಡಿಟರನ್ನ ಮುಚ್ಚಲು ಈ ಬಟನ್ ಅನ್ನು ಒತ್ತಿ. "
},
"lines": {
- "title": "ರೇಖೆಗಳು"
+ "title": "ರೇಖೆಗಳು",
+ "add": "ರಸ್ತೆಗಳು, ರೈಲುಹಳಿಗಳು, ನದಿಗಳು, ಮುಂತಾದನ್ನು ಚಿತ್ರಿಸಲು ಗೆರೆಗಳನ್ನು ಬಳಸಲಾಗುವುದು. ಹೊಸ ಗೆರೆಯನ್ನು ಸೇರಿಸಲು ಈ {ಬಟನನ್ನು} ಒತ್ತಿ. ",
+ "start": "**ರಸ್ತೆಯ ಕೊನೆಯ ಭಾಗವನ್ನು ಒತ್ತಿಹಿಡಿದು ಗೆರೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ.",
+ "finish": "ಗೆರೆಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಕೊನೆಯ ಚುಕ್ಕೆಯನ್ನು ಮತ್ತೆ ಒತ್ತಿ. **ಗೆರೆಯನ್ನು ಪೂರ್ಣಗಿಳಿಸಿ**",
+ "road": "ಈ ಪಟ್ಟಿಯಲ್ಲಿರುವ ರಸ್ತೆಗಳಲ್ಲಿ ಒಂದನ್ನು ಆರಿಸಿ ",
+ "residential": "ವಿಭಿನ್ನ ತರಹದ ರಸ್ತೆಗಳಿವೆ. ಅವುಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾದುದಂದರೆ \"ರೆಸಿಡೆನ್ಶಿಯಲ್\" ರೋಡ್ ಅತವಾ ವಸತಿ ವಿಧದ ರಸ್ತೆ. ",
+ "describe": "ರಸ್ತೆಯನ್ನು ನೇಮಿಸಿ ನಂತರ ಫೀಚರ್ ಎಡಿಟರ್ ಮುಚ್ಚಲು ಈ {ಬಟನ್} ಒತ್ತಿ. ",
+ "restart": "ಈ ರಸ್ತೆ {ಹೆಸರು}-ಅನ್ನು ವಿಭಜಿಸಬೆಕು. ",
+ "wrong_preset": "ನೀವು \"ರೆಸಿಡೆನ್ಶಿಯಲ್\" ಅಥವಾ ವಸತಿ ಪ್ರಧಾನದ ರಸ್ತೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲಿಲ್ಲ. ಪುನಹ ಆಯ್ಕೆ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ. "
},
"startediting": {
- "title": "ಸಂಪಾದನೆ ಪ್ರಾರಂಭಿಸು",
+ "title": "ಬದಲಿಸಲು ಪ್ರಾರಂಭಿಸಿ.",
+ "help": "ಈ ದರ್ಶನವನ್ನು ಮತ್ತೊಮ್ಮೆ ನೋಡಲು ಅಥವಾ ಹೆಚ್ಚಿನ ಮಾಹತಿ ಪಡೆಯಲು ಈ {ಬಟ್ಟನ್ನ್ನು} ಒತ್ತಿ. ",
+ "save": "ನೀವು ಮಾಡಿದ ಬದಲಾವಣೆಗಲ್ನ್ನು ಮರೆಯದೆ ಉಳಿಸಿಕೊಳ್ಳಿ, ",
"start": "ನಕ್ಷೆ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿ!"
}
},
"shop/bakery": {
"name": "ಅಟ್ಟಂಗಡಿ"
},
- "shop/chemist": {
- "name": "ಔಷಧ ವ್ಯಾಪಾರಿ"
- },
"shop/computer": {
"name": "ಗಣಕಯಂತ್ರದ ಅಂಗಡಿ"
},
+++ /dev/null
-{
- "presets": {
- "fields": {
- "address": {
- "label": "주소",
- "placeholders": {
- "city": "도시",
- "street": "길"
- }
- },
- "aeroway": {
- "label": "종류"
- },
- "amenity": {
- "label": "종류"
- },
- "atm": {
- "label": "ATM"
- },
- "bicycle_parking": {
- "label": "종류"
- },
- "building": {
- "label": "건물"
- },
- "building_area": {
- "label": "건물"
- },
- "construction": {
- "label": "종류"
- },
- "crossing": {
- "label": "종류"
- },
- "entrance": {
- "label": "종류"
- },
- "fax": {
- "label": "Fax"
- },
- "highway": {
- "label": "종류"
- },
- "historic": {
- "label": "종류"
- },
- "internet_access": {
- "label": "인터넷 이용 가능 여부",
- "options": {
- "terminal": "터미널",
- "wlan": "Wifi"
- }
- },
- "landuse": {
- "label": "종류"
- },
- "leisure": {
- "label": "종류"
- },
- "maxspeed": {
- "label": "속도 제한"
- },
- "office": {
- "label": "종류"
- },
- "oneway": {
- "label": "일방통행"
- },
- "opening_hours": {
- "label": "말"
- },
- "place": {
- "label": "종류"
- },
- "railway": {
- "label": "종류"
- },
- "religion": {
- "label": "종교"
- },
- "service": {
- "label": "종류"
- },
- "shop": {
- "label": "종류"
- },
- "sport": {
- "label": "운동"
- },
- "tourism": {
- "label": "종류"
- },
- "water": {
- "label": "종류"
- },
- "waterway": {
- "label": "종류"
- },
- "website": {
- "label": "웹사이트"
- },
- "wetland": {
- "label": "종류"
- },
- "wikipedia": {
- "label": "위키페디아"
- }
- },
- "presets": {
- "aeroway/helipad": {
- "name": "헬기 이착륙장"
- },
- "amenity/bank": {
- "name": "은행"
- },
- "amenity/bar": {
- "name": "바"
- },
- "amenity/bicycle_parking": {
- "name": "자전거 보관소"
- },
- "amenity/bicycle_rental": {
- "name": "자전거 대여소"
- },
- "amenity/cafe": {
- "name": "카페"
- },
- "amenity/cinema": {
- "name": "극장"
- },
- "amenity/fast_food": {
- "name": "패스트 푸드"
- },
- "amenity/fire_station": {
- "name": "소방소"
- },
- "amenity/library": {
- "name": "도서관"
- },
- "amenity/pharmacy": {
- "name": "약국"
- },
- "amenity/place_of_worship/christian": {
- "name": "성당"
- },
- "amenity/police": {
- "name": "경찰서"
- },
- "amenity/post_box": {
- "name": "사서함"
- },
- "amenity/post_office": {
- "name": "우체국"
- },
- "amenity/pub": {
- "name": "술집"
- },
- "amenity/restaurant": {
- "name": "식당"
- },
- "amenity/toilets": {
- "name": "화장실"
- },
- "building": {
- "name": "건물"
- },
- "highway/bus_stop": {
- "name": "버스정류장"
- },
- "highway/cycleway": {
- "name": "자전거 도로"
- },
- "highway/footway": {
- "name": "산책로"
- },
- "highway/motorway": {
- "name": "고속도로"
- },
- "highway/path": {
- "name": "경로"
- },
- "highway/primary": {
- "name": "큰도시를 연결하는 국도"
- },
- "highway/residential": {
- "name": "주택가 도로.골목길"
- },
- "highway/secondary": {
- "name": "작은 도시와 마을을 연결하는 도로"
- },
- "highway/service": {
- "name": "주요 서비스-주차장,공원 등과 연계된 도로"
- },
- "highway/steps": {
- "name": "계단"
- },
- "highway/tertiary": {
- "name": "폭 4미터 이상의 넓은 도로.영국의 \"C\"도로."
- },
- "highway/track": {
- "name": "농업/임업용 도로"
- },
- "highway/traffic_signals": {
- "name": "신호등"
- },
- "highway/trunk": {
- "name": "고속도로가 아닌 도로"
- },
- "highway/unclassified": {
- "name": "미분류 도로"
- },
- "historic/monument": {
- "name": "산"
- },
- "landuse/basin": {
- "name": "온천"
- },
- "landuse/construction": {
- "name": "개발중"
- },
- "landuse/forest": {
- "name": "숲"
- },
- "landuse/grass": {
- "name": "목초지"
- },
- "landuse/quarry": {
- "name": "채석장"
- },
- "landuse/vineyard": {
- "name": "포도농장"
- },
- "leisure": {
- "name": "레저"
- },
- "leisure/golf_course": {
- "name": "골프장"
- },
- "leisure/park": {
- "name": "공원"
- },
- "leisure/pitch": {
- "name": "축구,야구,스케이트 등 경기장"
- },
- "leisure/pitch/american_football": {
- "name": "미식 축구장"
- },
- "leisure/pitch/baseball": {
- "name": "야구장"
- },
- "leisure/pitch/basketball": {
- "name": "농구장"
- },
- "leisure/pitch/soccer": {
- "name": "축구장"
- },
- "leisure/pitch/tennis": {
- "name": "테니스장"
- },
- "man_made/lighthouse": {
- "name": "Q"
- },
- "man_made/pier": {
- "name": "방파제"
- },
- "natural/bay": {
- "name": "만"
- },
- "natural/beach": {
- "name": "해변"
- },
- "natural/cliff": {
- "name": "절벽"
- },
- "natural/glacier": {
- "name": "빙하"
- }
- }
- }
-}
\ No newline at end of file
"modes": {
"add_area": {
"title": "공간",
- "description": "지도에 공원, 건물, 호수나 다른 지역을 추가합니다.",
- "tail": "공원, 호수나 건물과 같은, 지역 그리기를 시작하려면 지도를 클릭하세요."
+ "description": "지도에 공원, 건물, 호수나 다른 공간을 추가합니다.",
+ "tail": "공원, 호수나 건물과 같은 공간을 그리기를 시작하려면 지도를 클릭하세요."
},
"add_line": {
"title": "선",
"key": "D",
"annotation": "선/지역을 연결 해제했습니다.",
"not_connected": "여기에 연결 해제할 충분한 선/지역이 없습니다.",
- "connected_to_hidden": "이것은 숨겨진 지물에 연결되어 있기 때문에 연결을 해제할 수 없습니다."
+ "connected_to_hidden": "이것은 숨겨진 지물에 연결되어 있기 때문에 연결을 해제할 수 없습니다.",
+ "relation": "이것은 관계의 구성원들을 연결하고 있기 때문에 연결을 해제할 수 없습니다."
},
"merge": {
"title": "병합",
"not_eligible": "이 지물은 병합할 수 없습니다.",
"not_adjacent": "이 지물은 연결되어 있지 않기 때문에 병합할 수 없습니다.",
"restriction": "이 지물은 적어도 하나가 \"{relation}\" 관계의 구성원이기 때문에 병합할 수 없습니다.",
- "incomplete_relation": "이 지물은 완전히 다운로드되어 있지 않기 때문에 병합할 수 없습니다."
+ "incomplete_relation": "이 지물은 완전히 다운로드되어 있지 않기 때문에 병합할 수 없습니다.",
+ "conflicting_tags": "이 지물은 값이 상반되는 태그들로 인해 병합할 수 없습니다."
},
"move": {
"title": "이동",
},
"commit": {
"title": "바뀜 저장",
- "description_placeholder": "기여에 대한 간단한 설명",
+ "description_placeholder": "기여 사항에 대한 간단한 설명 (필수)",
"message_label": "바뀜집합 댓글",
"upload_explanation": "올린 바뀜은 OpenStreetMap 데이터를 사용하는 모든 지도에 보여집니다.",
"upload_explanation_with_user": "{user} 사용자로 올린 바뀜은 OpenStreetMap 데이터를 사용하는 모든 지도에 보여집니다.",
"modified": "수정됨",
"deleted": "삭제됨",
"created": "만듦",
- "about_changeset_comments": "바뀜집합 댓글에 대해"
+ "about_changeset_comments": "바뀜집합 댓글에 대해",
+ "google_warning": "당신이 이 댓글에 구글을 언급했습니다: 구글 지도에서 복사하는 것이 엄격히 금지됨을 유의하세요."
},
"contributors": {
"list": "{users} 사용자의 편집",
"yes": "예",
"no": "아니오"
},
+ "add": "추가",
"none": "없음",
"node": "노드",
"way": "길",
"description": "배경 설정",
"percent_brightness": "명도 {opacity}%",
"none": "없음",
+ "switch": "이 배경으로 복귀하다",
"custom": "사용자 지정",
"custom_button": "사용자 지정 배경 편집",
"custom_prompt": "타일 URL 템플릿을 입력하세요. 올바른 토큰은 Z/X/Y scheme에 대해 {z}, {x}, {y}이고 quadtile scheme에 대해 {u}입니다.",
+ "fix_misalignment": "영상 오정렬 값을 조절하다",
+ "imagery_source_faq": "이 영상의 출처는 어딥니까?",
"reset": "재설정",
"minimap": {
"description": "미니맵",
"tooltip": "관심 있는 점"
},
"traffic_roads": {
+ "description": "교통도로",
"tooltip": "고속도로, 거리 등"
},
"service_roads": {
"title": "사진 겹치기 (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Mapillary에서 교통 표지판",
"title": "교통 표지판 겹치기 (Mapillary)"
},
"mapillary": {
"relations": "# 관계\n\n관계는 다른 지물을 그룹화하는 OpenStreetMap에 있는 지물의 특수 유형입니다.\n예를 들어, 관계의 일반적인 두 유형은, 특정 프리웨이나 고속도로에 속하는 도로의\n부분을 그룹화하는 *경로 관계*와, 복잡한 지역(도넛처럼 여러 조각이나 구멍이 있는 것)을\n정의하는 여러 선을 그룹화하는 *다중 다각형*입니다.\n\n관계에 있는 지물의 그룹은 *구성원*이라고 부릅니다. 사이드바에서, 지물이\n구성원인 관계를 볼 수 있으며, 그것을 선택하려면 해당 관계를 클릭하세요.\n관계가 선택되면, 사이드바에 나열된 모든 구성원을 볼 수 있고 지도에\n강조됩니다.\n\n대부분의 경우, iD는 편집하는 동안 자동으로 관계를 유지하도록 다룰 것입니다.\n여러분이 알고 있어야 하는 중요한 것은 더 정확하게 다시 그리기 위해 도로의\n부분을 삭제한다면, 새 부분은 원래와 같은 관계의 구성원인지 확인해야 합니다.\n\n## 관계 편집하기\n\n관계를 편집하고 싶으면, 여기에 기초가 있습니다.\n\n관계에 지물을 추가하려면, 지물을 선택하고, 사이드바의 \"모든 관계\" 부분에\n있는 \"+\" 버튼을 클릭하고, 관계를 선택하거나 관계의 이름을 입력하세요.\n\n새 관계를 만드려면, 구성원이어야 할 첫 지물을 선택하고, 사이드바의\n\"모든 관계\" 부분에 있는 \"+\" 버튼을 클릭하고, \"새 관계...\"를 선택하세요.\n\n관계에서 지물을 제거하려면, 지물을 선택하고 제거하려는 관계 옆에 있는\n휴지통 버튼을 클릭하세요.\n\n\"병합\" 도구를 사용하여 구명으로 된 다중 다각형을 만들 수 있습니다. 두 지역(안쪽과\n바깥쪽)을 그리고, 그들 둘 다 선택하기 위해 Shift 키를 누른 채로 각각 클릭한 다음,\n\"병합\" (+) 버튼을 클릭하세요.\n"
},
"intro": {
+ "graph": {
+ "city_hall": "서라벌 시청",
+ "fire_department": "서라벌 소방서",
+ "memory_isle_park": "민속공원",
+ "riverwalk_trail": "강변 오솔길",
+ "w_michigan_ave": "강서대로",
+ "e_michigan_ave": "강동대로",
+ "spring_st": "희춘로",
+ "scidmore_park": "퇴계공원",
+ "petting_zoo": "퇴계 동물원",
+ "n_andrews_st": "세종북로",
+ "s_andrews_st": "세종남로",
+ "n_constantine_st": "고종북로",
+ "s_constantine_st": "고종남로",
+ "rocky_river": "암석강",
+ "railroad_dr": "철도길",
+ "conrail_rr": "남한철도",
+ "st_joseph_river": "원효강",
+ "n_main_st": "중앙북로",
+ "s_main_st": "중앙남로",
+ "water_st": "하천로",
+ "foster_st": "보양로",
+ "portage_river": "항해강",
+ "flower_st": "화초로",
+ "elm_st": "느릅길",
+ "walnut_st": "호두길",
+ "morris_ave": "율곡대로",
+ "east_st": "동방로",
+ "portage_ave": "항해대로"
+ },
"navigation": {
"title": "둘러보기",
"drag": "주 지도 지역은 배경의 위에 OpenStreetMap 데이터를 보여줍니다. 어떤 웹 지도와 같이 드래그하고 스크롤해서 둘러볼 수 있습니다. **지도를 드래그하세요!**",
}
},
"presets": {
+ "categories": {
+ "category-barrier": {
+ "name": "방벽 지물"
+ },
+ "category-building": {
+ "name": "건물 지물"
+ },
+ "category-golf": {
+ "name": "골프 지물"
+ },
+ "category-landuse": {
+ "name": "토지 이용 지물"
+ },
+ "category-path": {
+ "name": "경로 지물"
+ },
+ "category-rail": {
+ "name": "철로 지물"
+ },
+ "category-restriction": {
+ "name": "제한 지물"
+ },
+ "category-road": {
+ "name": "도로 지물"
+ },
+ "category-route": {
+ "name": "노선 지물"
+ },
+ "category-water-area": {
+ "name": "수역 지물"
+ },
+ "category-water-line": {
+ "name": "수역 지물"
+ }
+ },
"fields": {
"access": {
"label": "허가된 통행",
"bicycle_parking": {
"label": "유형"
},
+ "bin": {
+ "label": "쓰레기통"
+ },
"boundary": {
"label": "유형"
},
"cuisine": {
"label": "요리 종류"
},
+ "currency_multi": {
+ "label": "통용 통화"
+ },
"cycleway": {
"label": "자전거 차선",
"options": {
"title": "없음"
},
"opposite": {
- "description": "일방 통행로에 양방향으로 이동하는 자전거 차선"
+ "description": "일방 통행로에 양방향으로 이동하는 자전거 차선",
+ "title": "역방향 통행 자전거 도로"
+ },
+ "opposite_lane": {
+ "description": "교통 흐름의 방향을 거슬러 향하는 자전거 전용 도로"
+ },
+ "share_busway": {
+ "description": "버스 전용 차선을 겸하는 자전거 도로"
},
"track": {
"title": "자전거 트랙"
"shop": {
"label": "유형"
},
- "sloped_curb": {
- "label": "경사진 커브"
- },
"smoking": {
"label": "흡연",
"options": {
"barrier/cycle_barrier": {
"name": "자전거 방벽"
},
- "barrier/ditch": {
- "name": "구거"
- },
"barrier/entrance": {
"name": "입구"
},
"shop/cheese": {
"name": "치즈 가게"
},
- "shop/chemist": {
- "name": "화학품점"
- },
"shop/chocolate": {
"name": "초콜릿 가게"
},
},
"commit": {
"title": "Išsaugoti pakeitimus",
- "description_placeholder": "Trumpas jūsų indėlio aprašymas",
"message_label": "Pakeitimo komentaras",
"upload_explanation": "Jūsų įkeliami pakeitimai bus matomi visuose žemėlapiuose, naudojančiuose OpenStreetMap duomenis.",
"upload_explanation_with_user": "Pakeitimai, kuriuos jūs įkeliate kaip naudotojas {user} bus matomi visuose žemėlapiuose, naudojančiuose OpenStreetMap duomenis.",
"shop": {
"label": "Tipas"
},
- "sloped_curb": {
- "label": "Nužemintas šaligatvis"
- },
"smoking": {
"label": "Rūkymas",
"options": {
"name": "Dviračių barjeras",
"terms": "dviračių barjeras"
},
- "barrier/ditch": {
- "name": "Griovys",
- "terms": "griovys"
- },
"barrier/entrance": {
"name": "Įėjimas",
"terms": "įėjimas"
"name": "Sūrių parduotuvė",
"terms": "sūrio parduotuvė"
},
- "shop/chemist": {
- "name": "Vaistinė"
- },
"shop/chocolate": {
"name": "Šokolado parduotuvė",
"terms": "šokolado parduotuvė"
},
"commit": {
"title": "Saglabāt izmaiņas",
- "description_placeholder": "Īss apraksts par jūsu ieguldījumu",
"save": "Saglabāt",
"cancel": "Atcelt",
"warnings": "Brīdinājumi",
"barrier/cycle_barrier": {
"name": "Veloceliņa barjera"
},
- "barrier/ditch": {
- "name": "Grāvis"
- },
"barrier/entrance": {
"name": "Ieeja"
},
"shop/car_repair": {
"name": "Auto remontdarbnīca"
},
- "shop/chemist": {
- "name": "Aptiekārs"
- },
"shop/clothes": {
"name": "Apģērba veikals"
},
--- /dev/null
+{
+ "modes": {
+ "add_area": {
+ "title": "പ്രദേശം"
+ },
+ "add_line": {
+ "title": "രേഖ"
+ },
+ "add_point": {
+ "title": "ബിന്ദു"
+ }
+ },
+ "operations": {
+ "continue": {
+ "title": "തുടരുക"
+ }
+ },
+ "presets": {
+ "fields": {
+ "access": {
+ "types": {
+ "access": "എല്ലാം",
+ "bicycle": "സൈക്കിളുകള്",
+ "horse": "കുതിരകള്"
+ }
+ },
+ "address": {
+ "placeholders": {
+ "city": "നഗരം",
+ "country": "രാജ്യം",
+ "district": "ജില്ല",
+ "place": "പ്രദേശം",
+ "postcode": "പോസ്റ്റ്കോഡ്",
+ "state": "സംസ്ഥാനം"
+ }
+ },
+ "aerialway": {
+ "label": "തരം"
+ },
+ "atm": {
+ "label": "എടിഎം"
+ }
+ }
+ }
+}
\ No newline at end of file
},
"commit": {
"title": "Aanpassingen Opslaan",
- "description_placeholder": "Een korte omschrijving van je bijdragen",
+ "description_placeholder": "Een korte omschrijving van je bijdragen (verplicht)",
"message_label": "Opmerking bij wijzigingen",
"upload_explanation": "De aanpassingen die je uploadt worden zichtbaar op alle kaarten die de gegevens van OpenStreetMap gebruiken.",
"upload_explanation_with_user": "De aanpassingen die je als {user} uploadt worden zichtbaar op alle kaarten die de gegevens van OpenStreetMap gebruiken.",
"percent_brightness": "Helderheid: {opacity}%",
"none": "Geen",
"best_imagery": "Beste bekende afbeeldingsbron voor deze locatie",
+ "switch": "Selecteer terug deze achtergrond",
"custom": "Aangepast",
"custom_button": "Aangepaste achtergrond aanpassen",
"custom_prompt": "Voeg een tegel-URL-sjabloon toe. Geldige placeholders zijn {z}, {x}, {y} voor het Z/X/Y-schema en {u} voor het quadtile-schema.",
"facebook": "Deel op Facebook",
"twitter": "Deel op Twitter",
"google": "Deel op Google+",
- "help_html": "Je wijzigingen zouden binnen enkele minuten zichtbaar moeten zijn in de \"Standaard\"-laag. Andere lagen, en sommige kenmerken, kunnen langer duren.",
+ "help_html": "Je wijzigingen zouden binnen enkele minuten zichtbaar moeten zijn in de \"Standaard\"-laag. Het updaten van sommige soorten objecten kan langer duren. Andere lagen dan de \"Standaard\"-laag worden minder vaak bijgewerkt.",
"help_link_text": "Meer hierover, in het Engels",
"help_link_url": "https://wiki.openstreetmap.org/wiki/FAQ#I_have_just_made_some_changes_to_the_map._How_do_I_get_to_see_my_changes.3F"
},
"title": "Foto-laag (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Verkeerslichten uit Mapillary",
+ "tooltip": "Verkeerslichten uit Mapillary (foto-laag moet geactiveerd zijn)",
"title": "Herkende-verkeersborden-laag (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Afscheidingsobjecten"
+ },
"category-building": {
"name": "Gebouwobjecten"
},
"label": "Gebouw"
},
"capacity": {
- "label": "Inhoud",
+ "label": "Capaciteit",
"placeholder": "50, 100, 200 …"
},
"cardinal_direction": {
"placeholder": "+31 42 123 4567"
},
"fee": {
- "label": "Tarief"
+ "label": "Betalend"
},
"fire_hydrant/type": {
"label": "TYpe",
"label": "Internettoegang",
"options": {
"no": "Nee",
- "terminal": "Computer",
- "wired": "Vast netwerk",
+ "terminal": "Op voorziene computer(s)",
+ "wired": "Bekabeld",
"wlan": "Wifi",
"yes": "Ja"
}
},
+ "internet_access/fee": {
+ "label": "Internettoegang is betalend"
+ },
+ "kerb": {
+ "label": "Stoeprand"
+ },
"lamp_type": {
"label": "Type"
},
"label": "Openingstijden"
},
"operator": {
- "label": "Uitbatend bedrijf"
+ "label": "Uitbatende organizatie"
},
"par": {
"label": "Par",
"placeholder": "3, 4, 5 …"
},
+ "parallel_direction": {
+ "label": "Richting",
+ "options": {
+ "backward": "Achteruit t.o.v. richting in OSM",
+ "forward": "Vooruit t.o.v. richting in OSM"
+ }
+ },
"park_ride": {
"label": "Parkeren en Reizen"
},
"restrictions": {
"label": "Afslagbeperkingen"
},
+ "rooms": {
+ "label": "Aantal kamers"
+ },
"route": {
"label": "Type"
},
"site": {
"label": "Type"
},
- "sloped_curb": {
- "label": "Schuine stoeprand"
- },
"smoking": {
"label": "Roken",
"options": {
"sport_racing": {
"label": "Sport"
},
+ "stars": {
+ "label": "Aantal sterren"
+ },
+ "stop": {
+ "label": "Type van stopbord",
+ "options": {
+ "all": "Alle wegen moeten stoppen",
+ "minor": "Alleen kleine wegen moeten stoppen"
+ }
+ },
"structure": {
"label": "Constructie",
"options": {
"label": "Afhaal",
"options": {
"no": "Nee",
- "only": "Alleen Afhaal",
+ "only": "Alleen afhaal",
"yes": "Ja"
},
- "placeholder": "Ja, Nee, Alleen Afhaal …"
+ "placeholder": "Ja, Nee, Alleen afhaal …"
},
"toilets/disposal": {
"label": "Afvoer",
"terms": "dancing,bar,uitgaan,disco"
},
"amenity/parking": {
- "name": "Parking",
- "terms": "parkeerplaats"
+ "name": "Autoparking",
+ "terms": "parking,parkeerplaats,garage,parkeergarage,parkeergebouw"
},
"amenity/parking_entrance": {
"name": "Ingang/Uitgang van Parkingcomplex",
"terms": "inrit,uitrit"
},
"amenity/parking_space": {
- "name": "Parkeerplaats"
+ "name": "Parkeerplaats binnen parkeergelegenheid",
+ "terms": "individuele parkeerplaats"
},
"amenity/pharmacy": {
"name": "Apotheek",
"terms": "fiets,fietshek,barrière,veiligheid,afsluiting,hekjes"
},
"barrier/ditch": {
- "name": "Gracht",
- "terms": "gracht,sloot,water"
+ "name": "Droge gracht",
+ "terms": "loopgraaf,loopgraven"
},
"barrier/entrance": {
"name": "Doorgang",
},
"building/apartments": {
"name": "Appartementen",
- "terms": "flatgebouw,flats,appartementsgebouw,wolkenkrabber,woongebouw,residentie"
+ "terms": "flatgebouw,flats,appartementsgebouw,wolkenkrabber,woongebouw,residentie,apartementen"
},
"building/barn": {
"name": "Schuur",
},
"building/hotel": {
"name": "Hotelgebouw",
- "terms": "hotel"
+ "terms": "hotel,kamers"
},
"building/house": {
"name": "Huis",
"emergency/ambulance_station": {
"name": "Ambulancestandplaats"
},
+ "emergency/defibrillator": {
+ "name": "Defibrillator"
+ },
"emergency/fire_hydrant": {
"name": "Brandkraan"
},
"terms": "bushalte"
},
"highway/corridor": {
- "name": "Gang in Gebouw"
+ "name": "Gang in gebouw",
+ "terms": "binnen,binnenshuis,hal"
},
"highway/crossing": {
"name": "Zebrapad"
"name": "Wandelpad",
"terms": "voetpad"
},
+ "highway/give_way": {
+ "name": "Voorrangsbord",
+ "terms": "voorrangsteken,haaientanden"
+ },
"highway/living_street": {
"name": "Woonerf"
},
"name": "Hulpdienst toegangsweg"
},
"highway/service/parking_aisle": {
- "name": "Rijbaan in parkeergelegenheid"
+ "name": "Rijbaan in parkeergelegenheid",
+ "terms": "parkingweg,parkingas"
},
"highway/services": {
"name": "Stopplaats aan Autoweg met Veel Faciliteiten",
"terms": "expressweg,autostrade,autosnelweg"
},
"highway/turning_circle": {
- "name": "Keerplein"
+ "name": "Keerplein",
+ "terms": "draaicirkel,pijpekop,pijpenkop,einde van de straat,cul-de-sac"
},
"highway/unclassified": {
"name": "Kleine openbare weg"
"man_made/breakwater": {
"name": "Golfbreker"
},
+ "man_made/bridge": {
+ "name": "Brug",
+ "terms": "tunnel,overspanning,brugomtrek,brugoppervlak"
+ },
"man_made/chimney": {
"name": "Industriële schoorsteen"
},
},
"public_transport/platform": {
"name": "Perron",
- "terms": "perron"
+ "terms": "spoorwegperron,spoorwegplatform,treinperron,treinplatform,tramperron,tramhalte,tramplatform,metroperron,metrohalte,metroplatform,busperron,bushalte,busplatform,platform"
},
"public_transport/stop_position": {
"name": "Stopplaats"
},
"railway/platform": {
"name": "Spoorperron",
- "terms": "spoorwegperron,treinperron,tramperron,metroperron"
+ "terms": "spoorwegperron,spoorwegplatform,treinperron,treinplatform,tramperron,tramplatform,metroperron,metroplatform"
},
"railway/rail": {
"name": "Spoorweg",
"name": "Kaaswinkel"
},
"shop/chemist": {
- "name": "Drogist",
- "terms": "apotheek,apotheker,apothekerij"
+ "name": "Geneesmiddelenwinkel zonder apotheker",
+ "terms": "apotheek,apoteek,geneesmiddelen"
},
"shop/chocolate": {
"name": "Chocoladewinkel",
},
"tourism/hotel": {
"name": "Hotel",
- "terms": "hotel"
+ "terms": "hotelgebouw,kamers"
},
"tourism/information": {
"name": "Informatie",
"name": "Beperking"
},
"type/restriction/no_left_turn": {
- "name": "Niet Links Afslaan"
+ "name": "Niet links afslaan",
+ "terms": "links afslaan verboden,links inslaan verboden,niet links inslaan,niet naar links"
},
"type/restriction/no_right_turn": {
- "name": "Niet Rechts Afslaan"
+ "name": "Niet rechts afslaan",
+ "terms": "rechts afslaan verboden,rechts inslaan verboden,niet rechts inslaan,niet naar rechts"
},
"type/restriction/no_straight_on": {
"name": "Niet Rechtdoor"
},
"type/restriction/no_u_turn": {
- "name": "Niet Omkeren"
+ "name": "Niet omkeren",
+ "terms": "geen U-bocht,U-bocht verboden,omkeren verboden,omdraaien verboden,verboden om te draaien,verboden om te keren,niet omdraaien"
},
"type/restriction/only_left_turn": {
- "name": "Enkel Links Afslaan"
+ "name": "Enkel links afslaan"
},
"type/restriction/only_right_turn": {
- "name": "Enkel Rechts Afslaan"
+ "name": "Enkel rechts afslaan"
},
"type/restriction/only_straight_on": {
- "name": "Niet Afslaan",
- "terms": "rechtdoor,niet,draaien,afslaan"
+ "name": "Enkel rechtdoor",
+ "terms": "rechtdoor,niet draaien,niet afslaan,niet inslaan,draaien verboden,afslaan verboden, draaien verboden"
},
"type/route": {
"name": "Route"
"name": "Wandelroute"
},
"type/route/hiking": {
- "name": "Wandelpad"
+ "name": "Wandelroute"
+ },
+ "type/route/horse": {
+ "name": "Ruiterroute"
},
"type/route/pipeline": {
"name": "Pijpleidingstraject"
"help_translate": "Hjelp til med oversettelse",
"commit": {
"title": "Lagre endringer",
- "description_placeholder": "Kort beskrivelse av dine bidrag",
"message_label": "Kommentar til endringssettet",
"save": "Lagre",
"cancel": "Avbryt",
"barrier/cycle_barrier": {
"name": "Sykkelhinder"
},
- "barrier/ditch": {
- "name": "Grøft"
- },
"barrier/entrance": {
"name": "Inngang"
},
"shop/cheese": {
"name": "Ostebutikk"
},
- "shop/chemist": {
- "name": "Apotek"
- },
"shop/chocolate": {
"name": "Sjokoladebutikk"
},
},
"commit": {
"title": "Zapisz zmiany",
- "description_placeholder": "Zwięzły opis twoich zmian",
+ "description_placeholder": "Zwięzły opis twoich zmian (wymagany)",
"message_label": "Opis zmian",
"upload_explanation": "Zmiany, które wyślesz będą widoczne na wszystkich mapach używających danych OpenStreetMap.",
"upload_explanation_with_user": "Zmiany, które wyślesz jako {user} będą widoczne na wszystkich mapach używających danych OpenStreetMap.",
"deleted": "Usunięto",
"created": "Utworzono",
"about_changeset_comments": "Jak dobrze opisywać zmiany.",
- "about_changeset_comments_link": "http://wiki.openstreetmap.org/wiki/Pl:Good_changeset_comments"
+ "about_changeset_comments_link": "http://wiki.openstreetmap.org/wiki/Pl:Good_changeset_comments",
+ "google_warning": "W tym komentarzu wspomniałeś o Google: pamiętaj że kopiowanie informacji z Google Maps jest surowo zabronione. ",
+ "google_warning_link": "http://www.openstreetmap.org/copyright"
},
"contributors": {
"list": "Edycje użytkowników {users}",
"yes": "Tak",
"no": "Nie"
},
+ "add": "Dodaj",
"none": "Brak",
"node": "Węzeł",
"way": "Droga",
"percent_brightness": "jasność {opacity}%",
"none": "Brak",
"best_imagery": "Najlepsza znana warstwa podkładu dla tego obszaru",
+ "switch": "Wróć do tego podkładu",
"custom": "Własne",
"custom_button": "Edycja własnego podkładu",
"custom_prompt": "Wprowadź szablon URL dla kafelków. Dozwolone elementy to {z}, {x}, {y} dla schematu Z/X/Y oraz {u} dla schematu quadtile.",
"fix_misalignment": "Wyrównaj przesunięcie podkładu",
"imagery_source_faq": "Skąd pochodzi ta warstwa?",
"reset": "resetuj",
+ "offset": "Przeciągnij na szare pole poniżej, aby dostosować obrazek, lub wprowadź wartości przesunięcia w metrach.",
"minimap": {
"description": "Minimapa",
"tooltip": "Pokaż oddaloną mapę, aby pomóc zlokalizować wyświetlany obszar."
"title": "Nakładka zdjęć (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Znaki drogowe z serwisu Mapillary",
"title": "Nakładka z znakami drogowymi (Mapillary)"
},
"mapillary": {
"title": "Nawigacja",
"drag": "Główny obszar mapy pokazuje dane OpenStreetMap na tle podkładu. Możesz poruszać się po niej, przeciągając i przewijając tak jak po każdej mapie internetowej. **Przeciągnij mapę!**",
"select": "Obiekty na mapie reprezentowane są przez punkty, linie i obszary. Wszystkie mogą zostać zaznaczone przez kliknięcie na nich. **Kliknij na punkcie, aby go zaznaczyć.**",
+ "search": "Możesz także wyszukiwać obiekty aktualnie widoczne w oknie, lub gdziekolwiek indziej na świecie. **Wyszukaj \"{name}\"**",
"choose": "**Naciśnij {name} z listy by wybrać ten obiekt.",
"chosen": "Wspaniale! {name} jest teraz zaznaczony. **Zamknij edytor obiektów przez naciśnięcie {button} przycisku."
},
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Przeszkody"
+ },
"category-building": {
"name": "Budynek"
},
"bicycle_parking": {
"label": "Typ"
},
+ "bin": {
+ "label": "Kosz na śmieci"
+ },
"boundary": {
"label": "Typ"
},
"cuisine": {
"label": "Kuchnia"
},
+ "currency_multi": {
+ "label": "Typy środków płatności"
+ },
"cycleway": {
"label": "Pasy rowerowe",
"options": {
"title": "Kontrapas"
},
"opposite_lane": {
- "description": "Kontrapas - pas rowerowy na którym ruch odbywa się w przeciwnym kierunku niż kierunek ruchu pasa drogi przy której leży."
+ "description": "Kontrapas - pas rowerowy na którym ruch odbywa się w przeciwnym kierunku niż kierunek ruchu pasa drogi przy której leży.",
+ "title": "Kontrapas rowerowy"
},
"share_busway": {
"description": "Pas rowerowy dzielony z buspasem",
"title": "Pas rowerowy dzielony z buspasem"
},
"shared_lane": {
- "description": "Pas rowerowy nieoddzielony od pasa ruchu"
+ "description": "Pas rowerowy nieoddzielony od pasa ruchu",
+ "title": "Współdzielony pas rowerowy"
},
"track": {
"description": "Pas rowerowy wydzielony z jezdni fizyczną barierą",
"fuel": {
"label": "Paliwo"
},
+ "fuel_multi": {
+ "label": "Rodzaje paliw"
+ },
"gauge": {
"label": "Wskaźnik"
},
"yes": "Tak"
}
},
+ "internet_access/fee": {
+ "label": "Płatny dostęp do Internetu"
+ },
+ "kerb": {
+ "label": "Krawężnik"
+ },
"lamp_type": {
"label": "Typ"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Kierunek",
+ "options": {
+ "backward": "Do tyłu",
+ "forward": "Do przodu"
+ }
+ },
"park_ride": {
"label": "Parkuj i jedź"
},
"underground": "Podziemny"
}
},
+ "payment_multi": {
+ "label": "Rodzaje płatności"
+ },
"phone": {
"label": "Telefon",
"placeholder": "+48 42 123 4567"
"piste/grooming": {
"label": "Ratrakowanie",
"options": {
+ "backcountry": "Obozowisko",
"skating": "Łyżwiarstwo"
}
},
"nordic": "Kombinacja norweska",
"playground": "Nauka jazdy na nartach",
"sled": "Tor saneczkowy",
+ "sleigh": "Sanie",
"snow_park": "Snowpark"
}
},
"restrictions": {
"label": "Zakazy/nakazy skrętu"
},
+ "rooms": {
+ "label": "Liczba pokoi"
+ },
"route": {
"label": "Typ"
},
},
"service_rail": {
"options": {
+ "crossover": "Rozjazd",
+ "siding": "Bocznica",
"spur": "Bocznica",
"yard": "Tor na stacji rozrządowej"
}
"site": {
"label": "Typ"
},
- "sloped_curb": {
- "label": "Podjazd dla wózków"
- },
"smoking": {
"label": "Dla palących",
"options": {
"sport_racing": {
"label": "Sport"
},
+ "stars": {
+ "label": "Gwiazdki"
+ },
"structure": {
"label": "Struktura",
"options": {
"terms": "Wyciąg narciarski gondolowy, Gondola"
},
"aerialway/magic_carpet": {
- "name": "wyciąg narciarski dywanowy",
+ "name": "Wyciąg narciarski dywanowy",
"terms": "Narciarski pas transmisyjny dla dzieci, "
},
"aerialway/platter": {
"terms": "wypożyczalnia"
},
"amenity/bicycle_repair_station": {
- "name": "Samoobsługowa stacja naprawy rowerów"
+ "name": "Samoobsługowa stacja naprawy rowerów",
+ "terms": "Naprawa rowerów"
},
"amenity/biergarten": {
"name": "Ogródek piwny",
"terms": "wymiana walut"
},
"amenity/bus_station": {
- "name": "Dworzec autobusowy"
+ "name": "Dworzec autobusowy",
+ "terms": "Przystanek autobusowy"
},
"amenity/cafe": {
"name": "Kawiarnia",
"terms": "Klub nocny,"
},
"amenity/parking": {
- "name": "Parking samochodowy"
+ "name": "Parking samochodowy",
+ "terms": "Parking dla samochodów"
},
"amenity/parking_entrance": {
"name": "Wjazd/wyjazd z parkingu/garażu"
"name": "Półka bookcrossingowa"
},
"amenity/recycling": {
- "name": "Recykling"
+ "name": "Recykling",
+ "terms": "Recykling, Recyklizacja"
},
"amenity/register_office": {
"name": "Urząd stanu cywilnego"
"terms": "teren uniwersytetu,teren akademii,teren politechniki"
},
"amenity/vending_machine/cigarettes": {
- "name": "Automat z papierosami"
+ "name": "Automat z papierosami",
+ "terms": "Automat z papierosami"
},
"amenity/vending_machine/condoms": {
- "name": "Automat z prezerwatywami"
+ "name": "Automat z prezerwatywami",
+ "terms": "Automat z prezerwatywami"
},
"amenity/vending_machine/drinks": {
- "name": "Automat z napojami"
+ "name": "Automat z napojami",
+ "terms": "Automat z napojami"
},
"amenity/vending_machine/news_papers": {
- "name": "Automat z gazetami"
+ "name": "Automat z gazetami",
+ "terms": "Automat z gazetami"
+ },
+ "amenity/vending_machine/parcel_pickup_dropoff": {
+ "name": "Poczkomat z funkcją nadawania przesyłek"
+ },
+ "amenity/vending_machine/parking_tickets": {
+ "name": "Parkomat",
+ "terms": "Parkomat"
+ },
+ "amenity/vending_machine/public_transport_tickets": {
+ "name": "Automat z biletami komunikacji publicznej"
},
"amenity/vending_machine/sweets": {
- "name": "Automat z przekąskami"
+ "name": "Automat z przekąskami",
+ "terms": "Automat z przekąskami"
},
"amenity/vending_machine/vending_machine": {
- "name": "Automat sprzedający"
+ "name": "Automat sprzedający",
+ "terms": "Automat do sprzedaży"
},
"amenity/veterinary": {
"name": "Weterynarz",
"name": "Kosz na śmieci",
"terms": "kosz,kubeł,śmietnik"
},
+ "amenity/waste_disposal": {
+ "name": "Śmietnik"
+ },
"area": {
"name": "Obszar",
"terms": "obszar,obręb,powierzchnia"
"name": "Przegroda antyrowerowa"
},
"barrier/ditch": {
- "name": "Rów",
- "terms": "rów,wykop"
+ "name": "Rów"
},
"barrier/entrance": {
"name": "Wejście",
"terms": "bunkier, schron,"
},
"building/cabin": {
- "name": "Chata"
+ "name": "Chata",
+ "terms": "Kabina"
},
"building/cathedral": {
"name": "Budynek katedry"
"terms": "Szklarnia"
},
"building/hospital": {
- "name": "Budynek szpitala"
+ "name": "Budynek szpitala",
+ "terms": "Budynek Szpitalny"
},
"building/hotel": {
"name": "Budynek hotelu"
"name": "Budynek przedszkola"
},
"building/public": {
- "name": "Budynek publiczny"
+ "name": "Budynek publiczny",
+ "terms": "budynek użyteczności publicznej"
},
"building/residential": {
"name": "Budynek mieszkalny",
"terms": "blok, kamienica, dom, czynszówka"
},
"building/retail": {
- "name": "Budynek handlu detalicznego"
+ "name": "Budynek handlu detalicznego",
+ "terms": "handel detaliczny"
},
"building/roof": {
"name": "Zadaszenie",
"name": "Budynek szkolny"
},
"building/semidetached_house": {
- "name": "Bliźniak"
+ "name": "Bliźniak",
+ "terms": "Dom bliźniaczy"
},
"building/shed": {
"name": "Szopa",
"terms": "uniwersytet, szkoła wyższa, wydział, uczelnia"
},
"building/warehouse": {
- "name": "Magazyn"
+ "name": "Magazyn",
+ "terms": "Magazyn"
},
"craft": {
- "name": "Rzemiosło"
+ "name": "Rzemiosło",
+ "terms": "rzemieślnicy"
},
"craft/basket_maker": {
- "name": "Wikliniarz"
+ "name": "Wikliniarz",
+ "terms": "wikilina"
},
"craft/beekeeper": {
- "name": "Pszczelarz"
+ "name": "Pszczelarz",
+ "terms": "Miód"
},
"craft/blacksmith": {
"name": "Kowal",
"terms": "zegarmistrz"
},
"craft/confectionery": {
- "name": "Sklep ze słodyczami"
+ "name": "Sklep ze słodyczami",
+ "terms": "Słodycze"
},
"craft/dressmaker": {
- "name": "Krawiec"
+ "name": "Krawiec",
+ "terms": "Krawcowa"
},
"craft/electrician": {
"name": "Elektryk",
"name": "Tartak"
},
"craft/scaffolder": {
- "name": "Rusztowania"
+ "name": "Rusztowania",
+ "terms": "Wyrób rusztowań"
},
"craft/sculpter": {
"name": "Rzeźbiarz"
"name": "Tapicer"
},
"craft/watchmaker": {
- "name": "Zegarmistrz"
+ "name": "Zegarmistrz",
+ "terms": "zegarki"
},
"craft/window_construction": {
- "name": "Montaż okien"
+ "name": "Montaż okien",
+ "terms": "Monter okien"
},
"craft/winery": {
"name": "Winnica",
"name": "Stacja pogotowia ratunkowego",
"terms": "pogotowie ratunkowe"
},
+ "emergency/defibrillator": {
+ "name": "Defibrylator"
+ },
"emergency/fire_hydrant": {
"name": "Hydrant",
"terms": "hydrant"
"terms": "telefon,alarmowy,alarm"
},
"entrance": {
- "name": "Wejście/wyjście"
+ "name": "Wejście/wyjście",
+ "terms": "Wejście, Wyjście"
},
"footway/crossing": {
"name": "Przejście dla pieszych"
},
"footway/crosswalk": {
- "name": "Przejście dla pieszych z zebrą"
+ "name": "Przejście dla pieszych z zebrą",
+ "terms": "zebra"
},
"footway/sidewalk": {
"name": "Chodnik",
"ford": {
"name": "Bród"
},
+ "golf/green": {
+ "name": "green"
+ },
"golf/hole": {
"name": "dołek na polu golfowym "
},
"name": "Poprzeczna przeszkoda wodna",
"terms": "Przeszkoda wodna, Golf woda"
},
+ "golf/rough": {
+ "name": "rough",
+ "terms": "rough"
+ },
+ "golf/tee": {
+ "name": "rzutnia"
+ },
"golf/water_hazard": {
- "name": "Przeszkoda Wodna"
+ "name": "Przeszkoda Wodna",
+ "terms": "Niebezpieczeństwo wodne"
},
"highway": {
"name": "Droga",
"terms": "droga,szlak,ulica"
},
"highway/bridleway": {
- "name": "Droga dla koni",
+ "name": "Droga tylko dla koni",
"terms": "jazda konna,szlak jeździecki,szlak konny"
},
"highway/bus_stop": {
"name": "Korytarz (w budynku)"
},
"highway/crossing": {
- "name": "Przejście dla pieszych"
+ "name": "Przejście dla pieszych",
+ "terms": "Przejście drogowe"
},
"highway/crosswalk": {
- "name": "Przejście dla pieszych"
+ "name": "Przejście dla pieszych",
+ "terms": "Przejście drogowe"
},
"highway/cycleway": {
"name": "Droga rowerowa",
"name": "Droga/ścieżka dla pieszych",
"terms": "pobocze,bulwar,ścieżka,deptak,szosa,spacer"
},
+ "highway/give_way": {
+ "name": "Ustąp pierwszeństwa przejazdu"
+ },
"highway/living_street": {
"name": "Droga w oznaczonej strefie zamieszkania",
"terms": "strefa,zamieszkania,zamieszkała,droga,ulica"
"terms": "rampa,wjazd,wyjazd,zjazd"
},
"highway/raceway": {
- "name": "Tor wyścigowy"
+ "name": "Tor wyścigowy",
+ "terms": "tor samochodowy"
},
"highway/residential": {
"name": "Droga lokalna",
"name": "Dojazd dla służb ratowniczych"
},
"highway/service/parking_aisle": {
- "name": "Uliczka parkingowa"
+ "name": "Uliczka parkingowa",
+ "terms": "podjazd parkingowy"
},
"highway/services": {
"name": "Miejsce Obsługi Podróżnych (MOP)",
"terms": "rampa,wjazd,wyjazd,zjazd"
},
"highway/track": {
- "name": "Droga polna lub leśna"
+ "name": "Droga polna lub leśna",
+ "terms": "trakt leśny"
},
"highway/traffic_signals": {
"name": "Sygnalizacja świetlna",
"terms": "kapliczka,przydrożna"
},
"junction": {
- "name": "Skrzyżowanie"
+ "name": "Skrzyżowanie",
+ "terms": "krzyżówka"
},
"landuse": {
"name": "Zagospodarowanie terenu",
"terms": "cmentarz"
},
"landuse/churchyard": {
- "name": "Dziedziniec kościelny"
+ "name": "Dziedziniec kościelny",
+ "terms": "Plac kościelny"
},
"landuse/commercial": {
"name": "Obszar biurowo-biznesowy"
"terms": "ziemia uprawna,grunty rolne"
},
"landuse/farmland": {
- "name": "Pola uprawne"
+ "name": "Pola uprawne",
+ "terms": "Uprawy"
},
"landuse/farmyard": {
"name": "Teren z zabudowaniami rolniczymi",
"terms": "Las"
},
"landuse/garages": {
- "name": "Garaże"
+ "name": "Garaże",
+ "terms": "garaże"
},
"landuse/grass": {
"name": "Trawa",
"terms": "trawa, trawnik, "
},
"landuse/industrial": {
- "name": "Obszar przemysłowy"
+ "name": "Obszar przemysłowy",
+ "terms": "Teren przemysłowy"
},
"landuse/landfill": {
"name": "Wysypisko",
"terms": "kamieniołom, żwirownia, kruszywo,kopalnia odkrywkowa"
},
"landuse/residential": {
- "name": "Zabudowa mieszkaniowa"
+ "name": "Zabudowa mieszkaniowa",
+ "terms": "Teren zamieszkały"
},
"landuse/retail": {
"name": "Obszar handlowy"
"name": "Czatownia ornitologiczna"
},
"leisure/bowling_alley": {
- "name": "Kręgielnia"
+ "name": "Kręgielnia",
+ "terms": "Kręgle"
},
"leisure/dog_park": {
- "name": "Park dla psów"
+ "name": "Park dla psów",
+ "terms": "psi park"
},
"leisure/firepit": {
- "name": "Miejsce na ognisko"
+ "name": "Miejsce na ognisko",
+ "terms": "ognisko"
},
"leisure/garden": {
"name": "Ogród",
"terms": "boisko do koszykówki "
},
"leisure/pitch/rugby_league": {
- "name": "Boisko rugby league"
+ "name": "Boisko rugby league",
+ "terms": "Boisko rugby "
},
"leisure/pitch/rugby_union": {
- "name": "Boisko rugby league"
+ "name": "Boisko rugby union",
+ "terms": "Boisko rugby "
},
"leisure/pitch/skateboard": {
"name": "Skate park",
"terms": "pochylnia"
},
"leisure/sports_centre": {
- "name": "Ośrodek Sportu / Siłownia"
+ "name": "Ośrodek Sportu / Siłownia",
+ "terms": "siłownia"
+ },
+ "leisure/sports_centre/swimming": {
+ "name": "Pływalnia",
+ "terms": "basen"
},
"leisure/stadium": {
"name": "Stadion",
"name": "Obiekty sztuczne"
},
"man_made/adit": {
- "name": "Sztolnia"
+ "name": "Sztolnia",
+ "terms": "Tunel kopalniany"
},
"man_made/breakwater": {
- "name": "Falochron"
+ "name": "Falochron",
+ "terms": "bodiony"
+ },
+ "man_made/bridge": {
+ "name": "Most/wiadukt"
},
"man_made/chimney": {
- "name": "Komin"
+ "name": "Komin",
+ "terms": "kominek"
},
"man_made/cutline": {
"name": "Przecinka leśna"
},
"man_made/embankment": {
- "name": "Nasyp"
+ "name": "Nasyp",
+ "terms": "nasyp techniczny"
},
"man_made/flagpole": {
- "name": "Maszt flagowy"
+ "name": "Maszt flagowy",
+ "terms": "flaga"
},
"man_made/gasometer": {
"name": "Zbiornik gazu"
"terms": "latarnia"
},
"man_made/mast": {
- "name": "Maszt radiowy"
+ "name": "Maszt radiowy",
+ "terms": "Wieża radiowa"
},
"man_made/observation": {
"name": "Wieża obserwacyjna",
"terms": "wieża obserwacyjna"
},
"man_made/petroleum_well": {
- "name": "Szyb naftowy"
+ "name": "Szyb naftowy",
+ "terms": "kopalnia ropy"
},
"man_made/pier": {
"name": "Molo",
"terms": "wieża ciśnień"
},
"man_made/water_well": {
- "name": "Studnia"
+ "name": "Studnia",
+ "terms": "studnia"
},
"man_made/water_works": {
"name": "Zakład uzdatniania wody",
"terms": "fabryka, zakład"
},
"military/airfield": {
- "name": "Lotnisko wojskowe"
+ "name": "Lotnisko wojskowe",
+ "terms": "baza lotnicza"
},
"military/barracks": {
- "name": "Koszary"
+ "name": "Koszary",
+ "terms": "budynek kompanii"
},
"military/bunker": {
"name": "Bunkier",
"terms": "Rogatka wojskowa"
},
"military/naval_base": {
- "name": "Port wojenny"
+ "name": "Port wojenny",
+ "terms": "baza marynarki wojennej"
},
"military/obstacle_course": {
"name": "Kurs Przeszkód",
"terms": "szczyt,wierzchołek"
},
"natural/saddle": {
- "name": "Przełęcz"
+ "name": "Przełęcz",
+ "terms": "przełęcz górska"
},
"natural/scree": {
"name": "Rumowisko",
"terms": "terapeuta"
},
"office/travel_agent": {
- "name": "Biuro podróży"
+ "name": "Biuro podróży",
+ "terms": "biuro podróży zagranicznych, biuro podróży krajowych"
},
"piste": {
"name": "Trasa narciarska",
"terms": "izolowane zabudowania"
},
"place/locality": {
- "name": "Okolica"
+ "name": "Okolica",
+ "terms": "Miejsce"
},
"place/neighbourhood": {
- "name": "Sąsiedztwo"
+ "name": "Sąsiedztwo",
+ "terms": "osiedle"
},
"place/suburb": {
"name": "Dzielnica"
"terms": "podstacja energetyczna"
},
"power/tower": {
- "name": "Wieża wysokiego napięcia"
+ "name": "Wieża wysokiego napięcia",
+ "terms": "wieża HV"
},
"power/transformer": {
"name": "Transformator",
"name": "Miejsce oczekiwania"
},
"public_transport/stop_position": {
- "name": "Miejsce zatrzymania"
+ "name": "Miejsce zatrzymania",
+ "terms": "linia zatrzymania"
},
"railway": {
"name": "Kolej",
"terms": "alkohol"
},
"shop/anime": {
- "name": "Sklep z anime"
+ "name": "Sklep z anime",
+ "terms": "sklep anime"
},
"shop/antiques": {
"name": "Antykwariat",
"terms": "sklep z antykami, antyki"
},
"shop/baby_goods": {
- "name": "Sklep z artykułami dla dzieci i niemowląt"
+ "name": "Sklep z artykułami dla dzieci i niemowląt",
+ "terms": "sklep niemowlęcy"
},
"shop/bag": {
"name": "Sklep z torebkami/walizkami",
"terms": "sery"
},
"shop/chemist": {
- "name": "Drogeria",
- "terms": "apteka"
+ "name": "Drogeria"
},
"shop/chocolate": {
"name": "Sklep z czekoladą",
"name": "Sklep z kosmetykami",
"terms": "kosmetyki,drogeria"
},
+ "shop/craft": {
+ "name": "Sklep z rzemiosłem artystycznym",
+ "terms": "rzemiosło artystyczne"
+ },
"shop/curtain": {
"name": "Sklep z zasłonami",
"terms": "zasłony"
"name": "Sklep z ogniami sztucznymi",
"terms": "fajerwerki"
},
+ "shop/radiotechnics": {
+ "name": "Sklep z częściami elektronicznymi"
+ },
"shop/religion": {
"name": "Sklep z dewocjonaliami",
"terms": "dewocjonalia"
"name": "Szlak pieszy",
"terms": "szlak górski,szlak alpejski,szlak turystyki pieszej"
},
+ "type/route/horse": {
+ "name": "Szlak konny"
+ },
"type/route/pipeline": {
"name": "Trasa rurociągu",
"terms": "przebieg rurociągu"
},
"commit": {
"title": "Salvar Alterações",
- "description_placeholder": "Descrição curta e clara de suas contribuições",
+ "description_placeholder": "Breve descrição de suas contribuições (obrigatório)",
"message_label": "Comentário para o conjunto de alterações",
"upload_explanation": "As alterações que você enviar ficarão visíveis em todos os mapas que usam dados do OpenStreetMap. Atenção: NÃO é permitido copiar nomes de ruas do Google Maps, Bing, mapas impressos ou quaisquer fontes que possuam copyright.",
"upload_explanation_with_user": "As alterações que você enviar como {user} estarão visíveis em todos os mapas que usam os dados do OpenStreetMap.<br><br>\n<b>Atenção:</b> NÃO é permitido copiar nomes de ruas do Google Maps, Bing, mapas impressos ou quaisquer fontes que possuam copyright.",
"yes": "Sim",
"no": "Não"
},
+ "add": "Adicionar",
"none": "Nenhum",
"node": "Ponto",
"way": "Linha",
"percent_brightness": "Brilho de {opacity}%",
"none": "Nenhum",
"best_imagery": "Melhor imagem de satélite conhecida para esta localização",
+ "switch": "Voltar para este fundo de tela",
"custom": "Customizado",
"custom_button": "Editar fundo de tela personalizado",
"custom_prompt": "Informe um modelo de URL de quadrículas. Tokens válidos são {z}, {x}, {y} para o esquema Z/X/Y e {u} para o esquema quadtile.",
"title": "Camada de Fotos (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Placas de trânsito do Mapillary",
+ "tooltip": "Sinais de trânsito do Mapillary (Camada de Foto deve ser habilitada)",
"title": "Camada de Placas de Trânsito (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Elementos de Barreira"
+ },
"category-building": {
"name": "Tipos de Edificações"
},
"title": "Destino"
},
"dismount": {
- "description": "Acesso permitido mas cavaleiro deve desmontar",
+ "description": "Acesso permitido, mas deve-se descer da bicicleta/motocicleta/animal",
"title": "Desmontar"
},
"no": {
"title": "Proibido"
},
"permissive": {
- "description": "Acesso livre e autorizado (mas cancelável) pelo dono",
+ "description": "Acesso permitido pelo dono, mas revogável a qualquer momento",
"title": "Autorizado"
},
"private": {
"bicycle_parking": {
"label": "Tipo"
},
+ "bin": {
+ "label": "Lixeira"
+ },
"boundary": {
"label": "Tipo"
},
"cuisine": {
"label": "Culinária"
},
+ "currency_multi": {
+ "label": "Tipos de Moeda"
+ },
"cycleway": {
"label": "Ciclofaixas",
"options": {
"lane": {
- "description": "Uma ciclofaixa, ou seja, sem segregação fisica, apenas separada do trânsito de automóveis por uma linha pintada.",
+ "description": "Uma ciclofaixa sem segregação fisica, ou seja, apenas separada do trânsito de automóveis por uma linha pintada e eventualmente tachões.",
"title": "Ciclofaixa padrão"
},
"none": {
"title": "Ciclofaixa na contramão"
},
"opposite_lane": {
- "description": "Uma ciclofaixa que segue em ambos sentidos em uma via de mão única",
+ "description": "Uma ciclofaixa que segue no sentido contrário ao dos automóveis",
"title": "Ciclofaixa no sentido contrário"
},
"share_busway": {
"title": "Ciclofaixa compartilhada"
},
"track": {
- "description": "Uma ciclofaixa separada do trânsito por uma barreira física",
+ "description": "Uma ciclofaixa separada dos automóveis por uma barreira física",
"title": "Ciclovia paralela"
}
},
"fuel": {
"label": "Combustível"
},
+ "fuel_multi": {
+ "label": "Tipos de Combustível"
+ },
"gauge": {
"label": "Bitola"
},
"yes": "Sim"
}
},
+ "internet_access/fee": {
+ "label": "Taxa para acesso à Internet"
+ },
+ "kerb": {
+ "label": "Meio-fio"
+ },
"lamp_type": {
"label": "Tipo"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Direção",
+ "options": {
+ "backward": "Contrária à direção da linha",
+ "forward": "Igual à direção da linha"
+ }
+ },
"park_ride": {
"label": "Estacionamento de Intercâmbio"
},
"underground": "Subterrâneo"
}
},
+ "payment_multi": {
+ "label": "Tipos de Pagamento"
+ },
"phone": {
"label": "Telefone",
"placeholder": "+55 11 0982 1098"
"railway": {
"label": "Tipo"
},
+ "recycling_accepts": {
+ "label": "Aceita"
+ },
"ref": {
"label": "Código de referência"
},
"restrictions": {
"label": "Restrições de curva"
},
+ "rooms": {
+ "label": "Número de quartos ou apartamentos"
+ },
"route": {
"label": "Tipo"
},
"site": {
"label": "Tipo"
},
- "sloped_curb": {
- "label": "Rampa no Meio-fio"
- },
"smoking": {
"label": "Fumantes",
"options": {
"sport_racing": {
"label": "Esporte"
},
+ "stars": {
+ "label": "Estrelas"
+ },
+ "stop": {
+ "label": "Tipo de parada obrigatória",
+ "options": {
+ "all": "De todas as direções",
+ "minor": "Na(s) via(s) de hierarquia inferior"
+ }
+ },
"structure": {
"label": "Estrutura",
"options": {
"label": "Largura (Metros)"
},
"wikipedia": {
- "label": "Wikipédia"
+ "label": "Artigo na Wikipédia"
}
},
"presets": {
"terms": "Aerovia"
},
"aeroway/aerodrome": {
- "name": "Aeroporto",
- "terms": "Aeroporto"
+ "name": "Aeroporto ou aeródromo",
+ "terms": "Aeroporto, aeródromo"
},
"aeroway/apron": {
"name": "Pátio de Aeródromo",
"terms": "Serviço"
},
"amenity/arts_centre": {
- "name": "Centro/Escola de Artes",
- "terms": "Centro de Artes, Escola de Artes, Artes, Centro Artístico, Escola Artística, Teatro, Cinema, Espetáculo, Exposições"
+ "name": "Centro Cultural",
+ "terms": "Centro de Artes, Artes, Centro Artístico, Teatro, Cinema, Espetáculo, Exposições, Galeria, Exposição, Cultura, Espaço Cultural, Pintura, Artes Plásticas"
},
"amenity/atm": {
"name": "Caixa Eletrônico",
"terms": "Cafeteria, Café"
},
"amenity/car_rental": {
- "name": "Aluguel de Carros",
+ "name": "Locadora de veículos",
"terms": "Aluguel de Veículos, locadora, locadora de carros, carros, veículos, automóveis"
},
"amenity/car_sharing": {
"terms": "Carsharing, "
},
"amenity/car_wash": {
- "name": "Lavagem de Veículos",
- "terms": "Lavagem de Veículos, Lava jato"
+ "name": "Lava a Jato",
+ "terms": "Lavagem de Veículos, Lava jato, lava rápido, lava-a-jato, lava-jato"
},
"amenity/casino": {
"name": "Cassino",
- "terms": "jogos de azar"
+ "terms": "jogos de azar, aposta"
},
"amenity/charging_station": {
"name": "Eletroposto",
"terms": "Eletroposto, Estação de Recarga, Estação de Carga Elétrica, Tomada de Cargamento, Tomada de Recarga"
},
"amenity/childcare": {
- "name": "Berçário/Creche",
+ "name": "Berçário ou Creche",
"terms": "Berçário, Creche, Maternal, Jardim de infância, Cuidados infantis"
},
"amenity/cinema": {
"terms": "Cinema, Sala de Cinema"
},
"amenity/clinic": {
- "name": "Clínica",
+ "name": "Clínica ou Posto de Saúde",
"terms": "Clínica, Consultório, Posto de Saúde, Médico, Atendimento médico especializado, hospital"
},
"amenity/clock": {
},
"amenity/community_centre": {
"name": "Centro Comunitário",
- "terms": "Centro comunitário, Salão de festas e eventos"
+ "terms": "Centro comunitário, Salão de festas e eventos, centro social, associação de moradores"
},
"amenity/compressed_air": {
- "name": "Ar Comprimido",
- "terms": "Ar Comprimido"
+ "name": "Bomba de ar comprimido",
+ "terms": "Ar Comprimido, calibragem, calibrar, pneu, bicicleta"
},
"amenity/courthouse": {
"name": "Tribunal",
"terms": "Dentista, Odontologista"
},
"amenity/doctors": {
- "name": "Médico",
+ "name": "Consultório médico",
"terms": "Clínica, Doutor, Hospital, Saúde, Atendimento médico"
},
"amenity/dojo": {
"terms": "Judô, Karatê, hapkidô, jiu-jítsu, ju-jitsu boxe, savate, ninjitsu, esgrima, luta olímpica, krav magá, capoeira, artes marciais, luta, taekwondo, kickboxing"
},
"amenity/drinking_water": {
- "name": "Água Potável",
+ "name": "Bebedouro",
"terms": "Água Potável, Bebedouro, fonte"
},
"amenity/embassy": {
"terms": "fast food, lanchonete, lanches, Lancheria, comida rápida"
},
"amenity/ferry_terminal": {
- "name": "Terminal de Ferry",
+ "name": "Terminal de balsa",
"terms": "Terminal de Ferry Boat, Ferry Boat, Balsa, Barco"
},
"amenity/fire_station": {
},
"amenity/fuel": {
"name": "Posto de Combustível",
- "terms": "Posto de Gasolina"
+ "terms": "Posto de Gasolina, Combustíveis, Posto de Combustíveis, Combustível, Diesel, Gasolina, GNV, Etanol, Abastecimento, Carro"
},
"amenity/grave_yard": {
"name": "Cemitério Paroquial",
"terms": "Livros"
},
"amenity/marketplace": {
- "name": "Mercado municipal",
- "terms": "Feira"
+ "name": "Mercado ou feira",
+ "terms": "Feira, mercado, mercado municipal, feirinha"
},
"amenity/motorcycle_parking": {
"name": "Estacionamento de motos",
},
"amenity/nightclub": {
"name": "Boate",
- "terms": "Discoteca, Boate, Casa Noturna"
+ "terms": "Discoteca, Boate, Casa Noturna, boite, "
},
"amenity/parking": {
"name": "Estacionamento",
},
"amenity/pharmacy": {
"name": "Farmácia",
- "terms": "Farmácia, Drogaria, Farmácia de Manipulação"
+ "terms": "Farmácia, Drogaria, Farmácia de Manipulação, remédio, medicamento"
},
"amenity/place_of_worship": {
"name": "Local de Prática Religiosa",
"name": "Agência de Correios",
"terms": "Correios, Encomendas, Transporte, Log, Cargas"
},
+ "amenity/prison": {
+ "name": "Presídio",
+ "terms": "Cela, Cadeia"
+ },
"amenity/pub": {
"name": "Bar",
"terms": "Pub, botequim, boteco, buteco"
"terms": "Banco de Alimentos"
},
"amenity/social_facility/group_home": {
- "name": "Lar de Idosos",
- "terms": "Alberque, casa de repouso, Casa de idosos"
+ "name": "Asilo",
+ "terms": "Albergue, casa de repouso, Casa de idosos, asilo, ancionato, clínica geriátrica,"
},
"amenity/social_facility/homeless_shelter": {
"name": "Abrigo para moradores de rua",
- "terms": "Refúgio para Desabrigados"
+ "terms": "Refúgio para Desabrigados, albergue, abrigo, mendigo, sopão"
},
"amenity/studio": {
- "name": "Estúdio",
- "terms": "Estúdio"
+ "name": "Estúdio de rádio ou de gravação",
+ "terms": "Estúdio, rádio, ensaio, música, banda, gravação"
},
"amenity/swimming_pool": {
"name": "Piscina",
"terms": "Banheiros, Sanitário, WC, Lavabo, Toalete"
},
"amenity/townhall": {
- "name": "Paço Municipal",
+ "name": "Paço Municipal ou Prefeitura",
"terms": "Prefeitura"
},
"amenity/university": {
- "name": "Área Universitária",
+ "name": "Universidade ou Faculdade",
"terms": "Área de Universidade, Faculdade, Área de Faculdade, Centro Universitário"
},
"amenity/vending_machine/cigarettes": {
},
"amenity/vending_machine/condoms": {
"name": "Máquina de Venda de Preservativos",
- "terms": "Máquinas de venda de preservativos"
+ "terms": "Máquinas de venda de preservativos, camisinha"
},
"amenity/vending_machine/drinks": {
"name": "Máquina de Venda de Bebidas",
- "terms": "Máquina de Venda de Bebidas"
+ "terms": "Máquina de Venda de Bebidas, refrigerante, lata, latinha"
},
"amenity/vending_machine/excrement_bags": {
"name": "Máquina de Vendas de Sacola de Excrementos",
},
"amenity/vending_machine/sweets": {
"name": "Máquina de Venda de Lanches",
- "terms": "Salgados, Doces, Petiscos"
+ "terms": "Salgados, Doces, Petiscos, salgadinho"
},
"amenity/vending_machine/vending_machine": {
"name": "Máquina de Venda",
"terms": "Cesto de Lixo, Lixeira, Balde de Lixo"
},
"amenity/waste_disposal": {
- "name": "Container de Lixo não Reciclável",
+ "name": "Contêiner de lixo não reciclável",
"terms": "lixo, resíduos, container"
},
"amenity/water_point": {
},
"barrier/bollard": {
"name": "Pilarete",
- "terms": "Pilar, Poste, Cabeço, Pedestal, Estaca"
+ "terms": "Pilar, Poste, Cabeço, Pedestal, Estaca, frade"
},
"barrier/cattle_grid": {
"name": "Mata-burro",
},
"barrier/ditch": {
"name": "Vala",
- "terms": "Vala"
+ "terms": "Fosso, trincheira"
},
"barrier/entrance": {
"name": "Entrada",
"terms": "Edifício, Prédio, Edificação"
},
"building/apartments": {
- "name": "Apartamentos",
- "terms": "Apartamentos"
+ "name": "Edifício de apartamentos",
+ "terms": "Apartamentos, prédio, residencial, edifício, quitenete, kitnet, condomínio"
},
"building/barn": {
"name": "Celeiro",
"terms": "Colégio técnico, Ensino profissionalizante, Educação profissional"
},
"building/commercial": {
- "name": "Edifício de Negócios",
- "terms": "Edifício de Negócios, Edifício Comercial, Prédio Comercial"
+ "name": "Edifício de escritórios",
+ "terms": "Edifício de Negócios, Edifício Comercial, Prédio Comercial, edifício de escritórios, prédio de escritórios"
},
"building/construction": {
"name": "Edifício em construção",
"terms": "Edifício Industrial"
},
"building/kindergarten": {
- "name": "Edifício da pré-escola",
+ "name": "Edifício de pré-escola",
"terms": "Pré-escola, Centro de educação infantil, CEI, Jardim de infância"
},
"building/public": {
"terms": "Edifício Residencial"
},
"building/retail": {
- "name": "Edifício de Atividade de Vendas",
- "terms": "Edifício de Atividade de Vendas, Edifício de Varejo"
+ "name": "Edifício de varejo ou loja",
+ "terms": "Edifício de Atividade de Vendas, Edifício de Varejo, loja"
},
"building/roof": {
- "name": "Teto",
- "terms": "Telhado, Cobertura"
+ "name": "Telhado ou cobertura",
+ "terms": "Telhado, Cobertura, teto"
},
"building/school": {
- "name": "Edifício da Escola",
- "terms": "Edifício Escolar"
+ "name": "Edifício escolar",
+ "terms": "Edifício Escolar, escola"
},
"building/semidetached_house": {
"name": "Casa Geminada",
"terms": "Armazém, Depósito, Almoxarifado"
},
"craft": {
- "name": "Artesanato",
- "terms": "arte, trabalho manual"
+ "name": "Profissional manual",
+ "terms": "arte, trabalho manual, ofício, serviço"
},
"craft/basket_maker": {
"name": "Cesteiro",
"terms": "Carpinteiro, Marceneiro, marcenaria, Carpintaria"
},
"craft/carpet_layer": {
- "name": "Colocador de Carpete",
- "terms": "Colocador de Carpete"
+ "name": "Instalador de Carpete",
+ "terms": "Colocador de Carpete, instalação"
},
"craft/caterer": {
- "name": "Fornecedor de Mantimentos",
- "terms": "Fornecedor de Mantimentos, Aprovisionador"
+ "name": "Fornecedor de refeições",
+ "terms": "Fornecedor de Mantimentos, Aprovisionador, cozinheiro, encomenda, marmita, PF, refeição,"
},
"craft/clockmaker": {
"name": "Relojoeiro",
"terms": "Relógios, relojoaria"
},
"craft/confectionery": {
- "name": "Doçaria",
+ "name": "Doceiro",
"terms": "doçaria, confeitaria, doces"
},
"craft/dressmaker": {
"terms": "Vidraceiro"
},
"craft/handicraft": {
- "name": "Artesanato",
- "terms": "Artesanato"
+ "name": "Artesão",
+ "terms": "Artesanato, artesão, trabalho manual,"
},
"craft/hvac": {
- "name": "HVAC",
- "terms": "HVAC, Refrigeração, Aquecimento, Ventilação"
+ "name": "Técnico de ar condicionado",
+ "terms": "HVAC, Refrigeração, Aquecimento, Ventilação, ar condicionado"
},
"craft/insulator": {
"name": "Isolador",
"terms": "Ourives"
},
"craft/key_cutter": {
- "name": "Chaveiro",
+ "name": "Copiador de chaves",
"terms": "Chaveiro"
},
"craft/locksmith": {
- "name": "Serralheiro",
+ "name": "Chaveiro",
"terms": "Chaveiro"
},
"craft/metal_construction": {
"name": "Construção Metálica",
- "terms": "Construção Metálica"
+ "terms": "Construção Metálica, corrimão, toldo, rampa, porta, ferreiro, solda"
},
"craft/optician": {
"name": "Ótica",
},
"craft/tiler": {
"name": "Ladrilheiro",
- "terms": "Ladrilheiro"
+ "terms": "Ladrilheiro, lajota, assentamento"
},
"craft/tinsmith": {
"name": "Funileiro",
"name": "Posto de Ambulâncias",
"terms": "Primeiros socorros, Parada de Ambulâncias, Garagem de Ambulâncias"
},
+ "emergency/defibrillator": {
+ "name": "Desfibrilador",
+ "terms": "desfibrilador automático externo, dea"
+ },
"emergency/fire_hydrant": {
"name": "Hidrante",
"terms": "Hidrante, extintor, incêndio, mangueira"
"name": "Caminho de Pedestre",
"terms": "Via de Pedestre, Caminho de Pedestre, Passeio, Calçada"
},
+ "highway/give_way": {
+ "name": "Sinalização “dê a preferência”",
+ "terms": "dê a preferência, dar a preferência, preferencial"
+ },
"highway/living_street": {
"name": "Via Compartilhada",
- "terms": "Rua de Convivência, Rua Preferencial a Pedestres"
+ "terms": "Rua de Convivência, Rua Preferencial a Pedestres,espaço compartilhado,rua compartilhada"
},
"highway/mini_roundabout": {
"name": "Mini-Rotatória",
"terms": "Pista de Corrida de Automóveis, Autódromo, Kartódromo"
},
"highway/residential": {
- "name": "Via Residencial",
- "terms": "Via Residencial, Rua Residencial"
+ "name": "Via local residencial",
+ "terms": "Via Residencial, Rua Residencial, rua local"
},
"highway/rest_area": {
"name": "Área de Repouso",
"terms": "Via de Serviço"
},
"highway/service/alley": {
- "name": "Beco",
- "terms": "Beco"
+ "name": "Beco de serviço",
+ "terms": "Beco,viela,viela sanitária,ruela"
},
"highway/service/drive-through": {
"name": "Drive-Thru",
"terms": "Corredor de Estacionamento"
},
"highway/services": {
- "name": "Área de Serviço",
- "terms": "Área de Serviço"
+ "name": "Posto de Serviços",
+ "terms": "Área de Serviço, Posto de combustíveis, posto de gasolina, combustíveis, borracharia, lava jato, serviços, loja de conveniências"
},
"highway/steps": {
"name": "Escada",
"terms": "Degraus, Escada, Escadaria"
},
"highway/stop": {
- "name": "Placa de Pare",
- "terms": "Sinal de Pare, Placa Pare"
+ "name": "Parada obrigatória",
+ "terms": "Sinal de Pare, Placa Pare, pare, parada obrigatória"
},
"highway/street_lamp": {
"name": "Poste de Luz",
"terms": "Balão de Retorno"
},
"highway/unclassified": {
- "name": "Estrada Vicinal",
- "terms": "Via sem classificação, Estrada de Terra, Rodovia sem pavimentação,"
+ "name": "Via local não residencial",
+ "terms": "Via sem classificação, Estrada de Terra, Rodovia sem pavimentação,via local,vicinal,estrada"
},
"historic": {
"name": "Local Histórico",
"terms": "Adro, Entorno da Igreja, Terreno Adjacente à Igreja"
},
"landuse/commercial": {
- "name": "Área de Negócios",
- "terms": "Área de Negócios, Área Comercial"
+ "name": "Área de escritórios e negócios",
+ "terms": "Área de Negócios, Área Comercial, escritórios"
},
"landuse/construction": {
"name": "Construção",
"terms": "Residencial, residências"
},
"landuse/retail": {
- "name": "Área de Vendas",
- "terms": "Área de Vendas, Área de Varejo, Comércio, Varejista, Comercial, Vendas"
+ "name": "Área de comércio e varejo",
+ "terms": "Área de Vendas, Área de Varejo, Comércio, Varejista, Comercial, Vendas, lojas"
},
"landuse/vineyard": {
"name": "Vinha",
"terms": "Reserva florestal, floresta"
},
"leisure/park": {
- "name": "Parque / Praça",
+ "name": "Parque ou Praça",
"terms": "Parque, praça"
},
"leisure/picnic_table": {
"name": "Molhe/Quebra-Mar",
"terms": "Molhe, Quebra-Mar"
},
+ "man_made/bridge": {
+ "name": "Ponte",
+ "terms": "ponte, viaduto, rio, rodovia, estrada, rua,"
+ },
"man_made/chimney": {
"name": "Chaminé",
"terms": "Lareira, Forno, Fábrica, Indústria, Gás"
"terms": "Escritório Financeiro, Financeiro"
},
"office/government": {
- "name": "Escritório do Governo",
- "terms": "Gabinete do Governo, Escritório do Governo"
+ "name": "Órgão governamental",
+ "terms": "Gabinete, escritório, governo, secretaria, organização, departamento"
},
"office/insurance": {
"name": "Seguradora",
"terms": "médico, consultório, doutor, consulta"
},
"office/political_party": {
- "name": "Partido Político",
+ "name": "Escritório de Partido Político",
"terms": "política, político, partido, gabinete"
},
"office/research": {
},
"shop/chemist": {
"name": "Loja de Cosméticos e Higiene",
- "terms": "Loja de Cosméticos e Higiene Pessoal"
+ "terms": "farmácia, drogaria, cosmético, higiene, maquiagem, banho"
},
"shop/chocolate": {
"name": "Loja de Chocolates",
"terms": "Perfumaria, Cosméticos, Loja de Cosméticos, Beleza"
},
"shop/craft": {
- "name": "Loja de Artes e Artesanato",
- "terms": "loja de artesanato"
+ "name": "Loja de materiais artísticos ou para artesanato",
+ "terms": "loja de artesanato, desenho, material, papelaria, pintura, arte, biscuit"
},
"shop/curtain": {
"name": "Loja de Cortinas",
"terms": "Delicatessen"
},
"shop/department_store": {
- "name": "Loja de Departamento",
+ "name": "Loja de Departamentos",
"terms": "Loja de Departamento"
},
"shop/doityourself": {
"terms": "Loja de Presentes"
},
"shop/greengrocer": {
- "name": "Verdureira",
+ "name": "Verdureira ou quitanda",
"terms": "Quitanda, Quitandeiro, Loja de frutas e verduras, Frutaria, Verduraria"
},
"shop/hairdresser": {
"terms": "Técnico de Chaves e Cadeados, Cópia de Chaves, Conserto de Cadeados"
},
"shop/lottery": {
- "name": "Lotérica",
+ "name": "Casa lotérica",
"terms": "Loteria, Casa Lotérica, Mega Sena, Quina, Casa de Apostas, Apostas"
},
"shop/mall": {
- "name": "Galeria Comercial/Shopping",
+ "name": "Shopping ou Galeria de lojas",
"terms": "Shopping Center, Galeria Comercial"
},
"shop/massage": {
"terms": "casa de penhores, loja"
},
"shop/pet": {
- "name": "Loja de animais",
- "terms": "Pet Shop, Veterinário, Animais de estimação"
+ "name": "Loja de animais ou artigos para animais",
+ "terms": "Pet Shop, Veterinário, Animais de estimação, cão, cães, gato"
},
"shop/photo": {
"name": "Loja de Fotografia",
"terms": "Loja de Mergulho"
},
"shop/seafood": {
- "name": "Peixaria / Frutos do mar",
- "terms": "Peixaria, Pescado, Petisqueira, Loja de Frutos do Mar, Camarão, Lagosta, Peixes"
+ "name": "Peixaria ou loja de frutos do mar",
+ "terms": "Peixaria, Pescado, Petisqueira, Loja de Frutos do Mar, Camarão, Lagosta, Peixes, peixeiro"
},
"shop/second_hand": {
"name": "Brechó",
},
"shop/stationery": {
"name": "Papelaria",
- "terms": "Papelaria"
+ "terms": "Papelaria, material de escritório, material escolar, xerox, cópia"
},
"shop/storage_rental": {
"name": "Aluguel de Armazenamento",
},
"tourism/gallery": {
"name": "Galeria de Arte",
- "terms": "Arte, Galeria, Exposição, Artes Plásticas, Cultura"
+ "terms": "Arte, Galeria, Exposição, Artes Plásticas, Cultura, museu"
},
"tourism/guest_house": {
"name": "Guesthouse",
"name": "Rota de Caminhada",
"terms": "Rota de Trekking"
},
+ "type/route/horse": {
+ "name": "Rota de Equitação",
+ "terms": "Rota de Montaria, Trilha de Equitação"
+ },
"type/route/pipeline": {
"name": "Rota de Tubulação",
"terms": "Rota de Tubulação, Faixa de Dutos"
},
"commit": {
"title": "Gravar Alterações",
- "description_placeholder": "Breve descrição das suas alterações",
+ "description_placeholder": "Pequena descrição das tuas contribuições (necessário)",
"message_label": "Descrição das alterações",
"upload_explanation": "As alterações que enviar ficarão visíveis em todos os mapas que usem dados do OpenStreetMap.",
"upload_explanation_with_user": "As alterações que enviar como {user} ficarão visíveis em todos os mapas que usem dados do OpenStreetMap.",
"deleted": "Eliminado",
"created": "Criado",
"about_changeset_comments": "Sobre comentários de changesets",
- "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments"
+ "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments",
+ "google_warning": "Mencionou o Google no seu comentário: lembre-se que copiar do Google Mapas é estritamente proibido.",
+ "google_warning_link": "http://www.openstreetmap.org/copyright"
},
"contributors": {
"list": "Edições de {users}",
"yes": "Sim",
"no": "Não"
},
+ "add": "Adicionar",
"none": "Nenhum",
"node": "Nó",
"way": "Linha",
"percent_brightness": "{opacity}% transparente",
"none": "Nenhum",
"best_imagery": "Melhor fonte de imagem para esse lugar",
+ "switch": "Mudar para este fundo",
"custom": "Personalizado",
"custom_button": "Editar fundo personalizando",
"custom_prompt": "Introduzir um URL válido. Tokens válidos são {z}, {x}, {y} para esquemas Z/X/Y e {u} para esquemas QuadTile.",
+ "fix_misalignment": "Ajudar o alienamento da imagem ",
"imagery_source_faq": "De onde vem essa imagem?",
"reset": "reiniciar",
+ "offset": "Arrasta para a área cinzenta abaixo para ajustar o alienamento da imagem, ou insira os valores em metros. ",
"minimap": {
"description": "Mini-mapa",
"tooltip": "Mostra um pequeno mapa com uma área mais abrangente que ajuda a localizar a área que está a editar."
"title": "Camada de Fotos (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Placas de trânsito do Mapillary",
+ "tooltip": "Sinais de trânsito do Mapillary (\"Photo Overlay\" tem de estar ativado)",
"title": "Camada de Placas de Trânsito (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Tipos de barreira"
+ },
"category-building": {
"name": "Tipos de edifícios"
},
"name": "Tipos de restrição"
},
"category-road": {
- "name": "Tipos de Rodovia"
+ "name": "Tipos de rodovia"
},
"category-route": {
"name": "Tipos de rota"
"yes": "Sim"
}
},
+ "internet_access/fee": {
+ "label": "Taxa de acesso à internet"
+ },
+ "kerb": {
+ "label": "Rampa"
+ },
"lamp_type": {
"label": "Tipo"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Direção",
+ "options": {
+ "backward": "Para trás",
+ "forward": "Para à frente"
+ }
+ },
"park_ride": {
"label": "Estacionamento de intercâmbio"
},
"restrictions": {
"label": "Restrições de viragem"
},
+ "rooms": {
+ "label": "Quartos"
+ },
"route": {
"label": "Tipo"
},
"site": {
"label": "Tipo"
},
- "sloped_curb": {
- "label": "Lancil inclinado"
- },
"smoking": {
"label": "Fumar",
"options": {
"sport_racing": {
"label": "Desporto"
},
+ "stars": {
+ "label": "Estrelas"
+ },
+ "stop": {
+ "label": "Tipo de stop",
+ "options": {
+ "all": "Todas as estradas",
+ "minor": "Só para estradas menores"
+ }
+ },
"structure": {
"label": "Estrutura",
"options": {
"terms": "Bicicleta"
},
"barrier/ditch": {
- "name": "Fosso sem água",
- "terms": "Sem Água, Seca, Vala sem Água, Vala Seca, Trincheira sem Água, Trincheira Seca"
+ "name": "Fosso / Vala / Trincheira (seca)",
+ "terms": "Trench"
},
"barrier/entrance": {
"name": "Entrada",
"name": "Central de ambulâncias",
"terms": "Ambulance Station, Ambulância, Ambulâncias"
},
+ "emergency/defibrillator": {
+ "name": "Desfibrilador",
+ "terms": "Defibrillator "
+ },
"emergency/fire_hydrant": {
"name": "Boca de incêndio",
"terms": "Fire Hydrant, Hidrante, Marco de Água, Marco de Incêndio"
"name": "Caminho pedonal",
"terms": "Andar, Caminho, Estrada, Pé, Pedestre, Percurso, Rua, Ruela, Trajectória, Trilha, Trilho, Via, Viela, Caminho Pedonal"
},
+ "highway/give_way": {
+ "name": "Sinal de cedência",
+ "terms": "Tield Sign"
+ },
"highway/living_street": {
"name": "Zona de coexistência",
"terms": "Living Street, Zona de Peões"
"name": "Molhe",
"terms": "Breakwater"
},
+ "man_made/bridge": {
+ "name": "Ponte",
+ "terms": "Bridge, Viaduto"
+ },
"man_made/chimney": {
"name": "Chaminé",
"terms": "Chimney"
},
"shop/chemist": {
"name": "Parafarmácia",
- "terms": "Chemist, Para-farmácia, Para farmácia, Medicamento, Medicamentos, Não sujeito a receita médica"
+ "terms": "Drugstore"
},
"shop/chocolate": {
"name": "Loja de chocolates",
"name": "Rota de caminhada",
"terms": "Hiking Route, Rota de Escalagem"
},
+ "type/route/horse": {
+ "name": "Rota de equitação",
+ "terms": "Riding Route"
+ },
"type/route/pipeline": {
"name": "Rota de gasoduto / oleoduto",
"terms": "Pipeline Route"
"terms": "Dam, Usina, Hidrelétrica, Hidroelétrica, Hidro-elétrica, Hidro elétrica"
},
"waterway/ditch": {
- "name": "Fosso / vala / trincheira",
+ "name": "Fosso / Vala / Trincheira",
"terms": "Vala, Trincheira, Represa"
},
"waterway/dock": {
},
"commit": {
"title": "Salveaza modificarile",
- "description_placeholder": "O scurtă descriere a contribuției tale.",
"save": "Salveaza",
"cancel": "Renunță",
"changes": "{count} Modificări",
},
"commit": {
"title": "Сохранить изменения",
- "description_placeholder": "Краткое описание ваших правок",
+ "description_placeholder": "Короткое описание к вашим изменениям (обязательно)",
"message_label": "Краткое описание ваших правок",
"upload_explanation": "Сделанные вами изменения появятся на всех картах, использующих данные OpenStreetMap.",
"upload_explanation_with_user": "Изменения, сделанные вами под именем {user}, появятся на всех картах, использующих данные OpenStreetMap.",
"deleted": "Удалён",
"created": "Создан",
"about_changeset_comments": "О комментариях к пакетам правок",
- "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/RU:Good_changeset_comments"
+ "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/RU:Good_changeset_comments",
+ "google_warning": "Вы упомянули Google в этом комментарии. Не забывайте, что копирование из Google Карт строго запрещено.",
+ "google_warning_link": "https://www.openstreetmap.org/copyright/ru"
},
"contributors": {
"list": "Отредактировано {users}",
"yes": "Да",
"no": "Нет"
},
+ "add": "Добавить",
"none": "Нет",
"node": "Точка",
"way": "Линия",
"percent_brightness": "яркость {opacity}%",
"none": "Отключить",
"best_imagery": "Наилучший источник космоснимков из известных для этой территории",
+ "switch": "Переключить обратно на эту подложку",
"custom": "Настраиваемый",
"custom_button": "Указать собственный слой",
"custom_prompt": "Введите шаблон URL для тайлов. Допустимы переменные {z}, {x}, {y} для схемы Z/X/Y и {u} для схемы quadtile.",
+ "fix_misalignment": "Установка смещения слоя",
"imagery_source_faq": "Кто предоставляет этот космоснимок?",
"reset": "сброс",
+ "offset": "Перетащите серую область ниже, чтобы отрегулировать смещение слоя, или введите значения смещения в метрах.",
"minimap": {
"description": "Мини-карта",
"tooltip": "Показать уменьшенную карту, чтобы помочь найти отображаемую в данный момент область."
"title": "Фотографии с Mapillary"
},
"mapillary_signs": {
- "tooltip": "Дорожные знаки с Mapillary",
+ "tooltip": "Дорожные знаки с Mapillary (должны быть включены Фотографии с Mapillary)",
"title": "Слой дорожных знаков с Mapillary"
},
"mapillary": {
"bicycle_parking": {
"label": "Тип велосипедной парковки"
},
+ "bin": {
+ "label": "Урна"
+ },
"boundary": {
"label": "Тип границы"
},
"cuisine": {
"label": "Кухня"
},
+ "currency_multi": {
+ "label": "Типы валюты"
+ },
"cycleway": {
"label": "Велосипедные дорожки",
"options": {
"fuel": {
"label": "Топливо"
},
+ "fuel_multi": {
+ "label": "Виды топлива"
+ },
"gauge": {
"label": "Колея"
},
"yes": "Да"
}
},
+ "internet_access/fee": {
+ "label": "Плата за доступ в Интернет"
+ },
"lamp_type": {
"label": "Тип"
},
"label": "Паровое поле",
"placeholder": "3, 4, 5…"
},
+ "parallel_direction": {
+ "label": "Направление",
+ "options": {
+ "backward": "Обратное",
+ "forward": "Прямое"
+ }
+ },
"park_ride": {
"label": "Перехватывающая парковка"
},
"underground": "Подземная"
}
},
+ "payment_multi": {
+ "label": "Способы оплаты"
+ },
"phone": {
"label": "Телефон",
"placeholder": "+7 495 1234567"
"railway": {
"label": "Тип"
},
+ "recycling_accepts": {
+ "label": "Принимает"
+ },
"ref": {
"label": "Номер / идентификатор"
},
"restrictions": {
"label": "Запрет манёвров"
},
+ "rooms": {
+ "label": "Номера"
+ },
"route": {
"label": "Тип маршрута"
},
"site": {
"label": "Тип"
},
- "sloped_curb": {
- "label": "Заниженный бордюр"
- },
"smoking": {
"label": "Курение",
"options": {
"sport_racing": {
"label": "Вид спорта"
},
+ "stars": {
+ "label": "Звёзды"
+ },
"structure": {
"label": "Сооружение",
"options": {
},
"placeholder": "не указано"
},
+ "studio": {
+ "label": "Тип"
+ },
"substation": {
"label": "Тип"
},
"name": "Барьер для велосипедистов",
"terms": "Барьер для велосипедистов, Велосипедное препятствие, барьер"
},
- "barrier/ditch": {
- "name": "Траншея",
- "terms": "канава, ров"
- },
"barrier/entrance": {
"name": "Безпрепятственный проход / лаз",
"terms": "вход, дыра, проход, лаз"
"name": "Магазин сыров",
"terms": "магазин сыра, магазин сыров, сыр, сыры, сырный магазин"
},
- "shop/chemist": {
- "name": "Бытовая химия",
- "terms": "Бытовая химия"
- },
"shop/chocolate": {
"name": "Магазин шоколада",
"terms": "шоколад"
"name": "Пешеходный Маршрут",
"terms": "туризм, туристическая прогулка, маршрут"
},
+ "type/route/horse": {
+ "name": "Конно-верховой маршрут"
+ },
"type/route/pipeline": {
"name": "Трубопроводный маршрут",
"terms": "трубопровод"
},
"commit": {
"title": "වෙනස්කම් සුරකින්න",
- "description_placeholder": "ඔබේ දායකත්වය පිළිබද කෙටි සටහනක්",
"upload_explanation": "ඔබ ඇතුලත් කරන ලද වෙනස්කම් OpenStreetMap දත්ත බාවිතා කරන සියලු සිතියම් තුල දිස්වනු ඇත",
"upload_explanation_with_user": "{user} වශයෙන් ඔබ ඇතුලත් කරන ලද වෙනස්කම් OpenStreetMap දත්ත බාවිතා කරන සියලු සිතියම් තුල දිස්වනු ඇත",
"save": "සුරකින්න",
},
"commit": {
"title": "Ukladanie zmien",
- "description_placeholder": "Stručný popis vašich úprav",
"message_label": "Krátky popis ukladaných zmien",
"upload_explanation": "Zmeny, ktoré nahráte, budú viditeľné na všetkých mapách, ktoré používajú údaje z OpenStreetMap.",
"upload_explanation_with_user": "Zmeny, ktoré nahráte ako {user}, budú viditeľné na všetkých mapách, ktoré používajú údaje z OpenStreetMap.",
"cuisine": {
"label": "Druh jedla"
},
+ "currency_multi": {
+ "label": "Typy mien"
+ },
"cycleway": {
"label": "Cyklopruh",
"options": {
"fuel": {
"label": "Palivo"
},
+ "fuel_multi": {
+ "label": "Typy palív"
+ },
"gauge": {
"label": "Rozchod"
},
"yes": "Áno"
}
},
+ "internet_access/fee": {
+ "label": "Poplatok za prístup k Internetu"
+ },
"lamp_type": {
"label": "Typ"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Smer",
+ "options": {
+ "backward": "Dozadu",
+ "forward": "Dopredu"
+ }
+ },
"park_ride": {
"label": "Odstavné parkovisko"
},
"underground": "Podzemné"
}
},
+ "payment_multi": {
+ "label": "Typy platieb"
+ },
"phone": {
"label": "Telefón",
"placeholder": "+31 42 123 4567"
"railway": {
"label": "Typ"
},
+ "recycling_accepts": {
+ "label": "Prijíma"
+ },
"ref": {
"label": "Referenčné čislo"
},
"restrictions": {
"label": "Zákazy odbočovanie"
},
+ "rooms": {
+ "label": "Izby"
+ },
"route": {
"label": "Typ"
},
"shop": {
"label": "Typ"
},
- "sloped_curb": {
- "label": "Znížený obrubník"
+ "site": {
+ "label": "Typ"
},
"smoking": {
"label": "Fajčenie",
"sport_racing": {
"label": "Šport"
},
+ "stars": {
+ "label": "Hviezdičky"
+ },
+ "stop": {
+ "options": {
+ "all": "Všetky cesty",
+ "minor": "Vedľajšia cesta"
+ }
+ },
"structure": {
"label": "Štruktúra",
"options": {
},
"placeholder": "Neznáme"
},
+ "studio": {
+ "label": "Typ"
+ },
"substation": {
"label": "Typ"
},
"name": "Zábrana pre cyklistov",
"terms": "Zabrana pre cyklistov,bicykel,bicykle,zatarasa,zátarasa"
},
- "barrier/ditch": {
- "name": "Priekopa",
- "terms": "priekopa,jarok,jama,garat,kanál,kanal,stoka"
- },
"barrier/entrance": {
"name": "Priechod",
"terms": "vchod,východ,vychod,únikový východ,unikovy vychod,brána,brana,dvere,vráta,vrata"
"name": "Spúšťanie lodí",
"terms": "Spustanie lodi,dok,lodenica,klzacka,kĺzačka"
},
+ "leisure/sports_centre": {
+ "name": "Športové centrum / Gym"
+ },
+ "leisure/sports_centre/swimming": {
+ "name": "Zariadenie s plavárňou"
+ },
"leisure/stadium": {
"name": "Štadión",
"terms": "stadion,futbal,futbalovy stadion,futbalový štadión,ihrisko"
"name": "Pretekárska dráha (nemotoristická)",
"terms": "pretekarska draha (nemotoristicka),zavodná dráha,zavodna draha"
},
+ "leisure/water_park": {
+ "name": "Vodný park"
+ },
"line": {
"name": "Čiara",
"terms": "ciara,cesta,trat,kanal,trasa,trať,trat"
"name": "Vlnolam",
"terms": "nasym,kamene,kameňe,mólo,zabrana,zábrana"
},
+ "man_made/bridge": {
+ "name": "Most"
+ },
+ "man_made/chimney": {
+ "name": "Komín"
+ },
"man_made/cutline": {
"name": "Lesný priesek",
"terms": "lesny priesek,čistina,cistina,rúbaň,ruban,rúbanisko,rubanisko,holina"
"name": "Obchod so tarožitnosťami",
"terms": "obchod so starozitnostami,starozitnosti,starožitnosti,starý nábytok,stary nabytok"
},
+ "shop/art": {
+ "name": "Umelecký obchod"
+ },
"shop/baby_goods": {
"name": "Obchod s detskými potrebami",
"terms": "obchod s detskymi potrebami"
"terms": "syr,syry,korbáčiki,korbaciky,oštiepok,ostiepok,oštiepky,ostiepky"
},
"shop/chemist": {
- "name": "Drogéria",
- "terms": "drogeria"
+ "name": "Drogéria"
},
"shop/chocolate": {
"name": "Obchod s čokoládou",
"name": "Obchod s odevami",
"terms": "odevy,odev,šaty,saty,oblečenie,obchod s oblečením,oblecienie,obchod s oblecenim"
},
+ "shop/coffee": {
+ "name": "Kaviareň"
+ },
"shop/computer": {
"name": "Obchod s výpočtovou technikou",
"terms": "obchod s vypoctovou technikou,pocitace,počitače,elektro,elektronika,vypoctova technika,výpočtová technika"
"name": "Koliba",
"terms": "salas,salaš,chata"
},
+ "tourism/gallery": {
+ "name": "Umelecká galéria"
+ },
"tourism/guest_house": {
"name": "Penzión",
"terms": "penzion,ubytovanie,hostel,hotel,ubytovňa,ubytovna"
},
"commit": {
"title": "Shrani spremembe",
- "description_placeholder": "Kratek opis vaših sprememb",
"upload_explanation": "Spremembe, ki ji boste naložili, bodo vidne na vseh zemljevidih, ki uporabljajo podatke OpenStreetMap.",
"upload_explanation_with_user": "Spremembe, ki jih boste naložili kot {user}, bodo vidne na vseh zemljevidih, ki uporabljajo podatke OpenStreetMap.",
"save": "Shrani",
}
},
"presets": {
+ "categories": {
+ "category-barrier": {
+ "name": "Vrsta ovire"
+ },
+ "category-building": {
+ "name": "Tipi zgradb"
+ },
+ "category-golf": {
+ "name": "Vrste golfa"
+ },
+ "category-landuse": {
+ "name": "Vrste zemljišča"
+ },
+ "category-path": {
+ "name": "Vrste poti"
+ },
+ "category-rail": {
+ "name": "Tipi železnice"
+ },
+ "category-restriction": {
+ "name": "Vrste prepovedi"
+ },
+ "category-road": {
+ "name": "Tipi povezav"
+ },
+ "category-route": {
+ "name": "Značilnosti cest"
+ },
+ "category-water-area": {
+ "name": "Vrste voda"
+ },
+ "category-water-line": {
+ "name": "Vrste voda"
+ }
+ },
"fields": {
"access": {
+ "label": "Dovoljen dostop",
"options": {
"designated": {
"description": "Dostop je dovoljen v skladu z znaki ali posebnimi krajevnimi zakoni",
"description": "Dostop je dovoljen samo za dostavo",
"title": "Za dostavo"
},
+ "dismount": {
+ "description": "Dovoljen dostop, toda jezdec razjaha",
+ "title": "Razjahati"
+ },
"no": {
"description": "Dostop za splošno javnosto NI dovoljen",
"title": "Prepovedano"
"title": "Dovoljeno"
}
},
+ "placeholder": "Ni določeno",
"types": {
+ "access": "Vse",
"bicycle": "Kolesarji",
"foot": "Peš",
"horse": "Konji",
}
},
"access_simple": {
+ "label": "Dovoljen dostop",
"placeholder": "da"
},
"access_toilets": {
"label": "Naslov",
"placeholders": {
"city": "Mesto",
+ "conscriptionnumber": "123",
"country": "Država",
"district": "Okrožje",
"hamlet": "Zaselek",
"amenity": {
"label": "Vrsta"
},
+ "area/highway": {
+ "label": "Vrsta"
+ },
"artist": {
"label": "Umetnik"
},
"barrier": {
"label": "Vrsta"
},
+ "bench": {
+ "label": "Klop"
+ },
"bicycle_parking": {
"label": "Vrsta"
},
+ "bin": {
+ "label": "Koš za odpadke"
+ },
"boundary": {
"label": "Vrsta"
},
+ "brand": {
+ "label": "Znamka"
+ },
"building": {
"label": "Zgradba"
},
"construction": {
"label": "Vrsta"
},
+ "content": {
+ "label": "Vsebina"
+ },
"country": {
"label": "Država"
},
"covered": {
"label": "Pokrito"
},
+ "craft": {
+ "label": "Vrsta"
+ },
"crop": {
"label": "Kulturna rastlina"
},
"cuisine": {
"label": "Kuhinja"
},
+ "currency_multi": {
+ "label": "Vrste valut"
+ },
+ "cycleway": {
+ "label": "Pasovi za kolesarje",
+ "options": {
+ "lane": {
+ "description": "Pas za kolesarje, ki je s črto ločen od avtomobilskega prometa",
+ "title": "Običajen pas za kolesarje"
+ },
+ "none": {
+ "description": "Brez pasu za kolesarje",
+ "title": "Brez"
+ },
+ "opposite": {
+ "description": "Obojesmerni pas za kolesarje v enosmerni ulici",
+ "title": "Pas za kolesarje v nasprotni smeri"
+ },
+ "opposite_lane": {
+ "description": "Pas za kolesarje, ki poteka v nasprotni smeri prometa",
+ "title": "Nasprotni pas za kolesarje"
+ },
+ "share_busway": {
+ "description": "Pas za kolesarje, ki je deljen z voznim pasom za avtobuse",
+ "title": "Pas za kolesarje, ki je deljen z avtobusi"
+ },
+ "shared_lane": {
+ "description": "Pas za kolesarje, ki ni ločen od avtomobilskega prometa",
+ "title": "Deljen pas za kolesarje"
+ },
+ "track": {
+ "description": "Pas za kolesarje, ki je s fizično oviro ločen od avtomobilskega prometa",
+ "title": "Kolesarska steza"
+ }
+ },
+ "placeholder": "brez",
+ "types": {
+ "cycleway:left": "Leva stran",
+ "cycleway:right": "Desna stran"
+ }
+ },
+ "delivery": {
+ "label": "Dostava"
+ },
"denomination": {
"label": "Denominacija"
},
"description": {
"label": "Opis"
},
+ "diaper": {
+ "label": "Previjalnica"
+ },
+ "dock": {
+ "label": "Vrsta"
+ },
+ "drive_through": {
+ "label": "Storitev za avtomobile"
+ },
"electrified": {
"label": "Elektrifikacija",
"options": {
"fuel": {
"label": "Bencinska črpalka"
},
+ "fuel_multi": {
+ "label": "Vrste goriva"
+ },
"gauge": {
"label": "Širina tirov"
},
+ "gender": {
+ "label": "Spol",
+ "options": {
+ "female": "Ženski",
+ "male": "Moški",
+ "unisex": "Za oba spola"
+ },
+ "placeholder": "Neznano"
+ },
"generator/method": {
"label": "Način"
},
"label": "Hendikep",
"placeholder": "1-18"
},
+ "handrail": {
+ "label": "Ograja"
+ },
"highway": {
"label": "Vrsta"
},
"incline": {
"label": "Naklon"
},
+ "incline_steps": {
+ "label": "Naklon",
+ "options": {
+ "down": "Dol",
+ "up": "Gor"
+ }
+ },
"information": {
"label": "Vrsta"
},
"layer": {
"label": "Plast"
},
+ "leaf_cycle": {
+ "options": {
+ "deciduous": "Listavci",
+ "evergreen": "Zimzelene",
+ "mixed": "Mešano",
+ "semi_deciduous": "Pollistavci",
+ "semi_evergreen": "Polzimzelene"
+ }
+ },
+ "leaf_cycle_singular": {
+ "options": {
+ "deciduous": "Listavci",
+ "evergreen": "Zimzelene"
+ }
+ },
+ "leaf_type": {
+ "label": "Vrsta listov",
+ "options": {
+ "broadleaved": "Širokolistne",
+ "needleleaved": "Iglavci"
+ }
+ },
"leisure": {
"label": "Vrsta"
},
"underground": "Podzemno"
}
},
+ "payment_multi": {
+ "label": "Vrste plačila"
+ },
"phone": {
"label": "Telefon",
"placeholder": "+386 31 123 4567"
"railway": {
"label": "Vrsta"
},
+ "recycling_accepts": {
+ "label": "Sprejme"
+ },
"ref": {
"label": "Referenca"
},
"service": {
"label": "Vrsta"
},
+ "service/bicycle/chain_tool": {
+ "options": {
+ "no": "Ne",
+ "undefined": "Predpostavljeno: NE",
+ "yes": "Da"
+ }
+ },
+ "service/bicycle/pump": {
+ "options": {
+ "no": "Ne",
+ "undefined": "Predpostavljeno: NE",
+ "yes": "Da"
+ }
+ },
+ "service_rail": {
+ "label": "Vrsta storitve"
+ },
"shelter": {
"label": "Bivak"
},
"shop": {
"label": "Vrsta"
},
- "sloped_curb": {
- "label": "Klančina s pločnika (NA OSM NE OBSTAJA!)"
+ "site": {
+ "label": "Vrsta"
},
"smoking": {
"label": "Kajenje",
},
"placeholder": "Neznano"
},
+ "studio": {
+ "label": "Vrsta"
+ },
+ "substation": {
+ "label": "Vrsta"
+ },
"supervised": {
"label": "Nadzorovano"
},
"tactile_paving": {
"label": "Talni taktilni sistem"
},
+ "takeaway": {
+ "label": "Za domov",
+ "options": {
+ "no": "Ne",
+ "only": "Samo za domov",
+ "yes": "Da"
+ },
+ "placeholder": "Da, Ne, Samo za domov "
+ },
"toilets/disposal": {
"label": "Odstranjevanje odpadkov",
"options": {
},
"placeholder": "Trdno, pretežno trdno, mehko..."
},
+ "traffic_signals": {
+ "label": "Vrsta"
+ },
"trail_visibility": {
"label": "Vidnost poti",
"options": {
"name": "Izposoja koles",
"terms": "najem koles,rent-a-bike"
},
+ "amenity/bicycle_repair_station": {
+ "name": "Stojalo za popravilo koles"
+ },
"amenity/boat_rental": {
"name": "Izposoja plovil",
"terms": "najem čolnov,rent-a-boat,izposoja čolnov"
"name": "Avtopralnica",
"terms": "pralnica avtomobilov,avtomobilska pralnica,pralnica"
},
+ "amenity/casino": {
+ "name": "igralnica"
+ },
"amenity/charging_station": {
"name": "Polnilna postaja",
"terms": "elektro črpalka,polnilni terminal"
"name": "Ura",
"terms": "čas"
},
+ "amenity/community_centre": {
+ "name": "Središče skupnosti"
+ },
"amenity/compressed_air": {
"name": "Zračni kompresor",
"terms": "polnenje pnevmatik,pumpa"
"name": "Zobozdravnik",
"terms": "stomatolog,ortodont"
},
+ "amenity/doctors": {
+ "name": "Zdravnik"
+ },
"amenity/dojo": {
"name": "Dojo in šola borilnih veščin",
"terms": "borilne veščine,dojo,dojang"
"name": "Hitra prehrana",
"terms": "hitra hrana"
},
+ "amenity/ferry_terminal": {
+ "name": "Pristanišče za trajekt"
+ },
"amenity/fire_station": {
"name": "Gasilska postaja",
"terms": "gasilci"
"name": "Tržnica",
"terms": "trg"
},
+ "amenity/motorcycle_parking": {
+ "name": "Parkirišče za motorje"
+ },
"amenity/nightclub": {
"name": "Nočni klub",
"terms": "disko,diskoteka"
"name": "Vzhod/izhod v parkirno hišo",
"terms": "Uvoz/izvoz iz parkirne hiše"
},
+ "amenity/parking_space": {
+ "name": "Parkirni prostor"
+ },
"amenity/pharmacy": {
"name": "Lekarna",
"terms": "farmacija,zdravila,apoteka"
"name": "Restavracija",
"terms": "gostilna,gostinski obrat"
},
+ "amenity/sanitary_dump_station": {
+ "name": "Odlaganje fekalij za avtodome"
+ },
"amenity/school": {
"name": "Šolski center",
"terms": "akademija,univerza,fakulteta,oddelek,dvorana,inštitut"
"name": "Banka hrane",
"terms": "banka s hrano"
},
+ "amenity/social_facility/group_home": {
+ "name": "Dom za starejše"
+ },
"amenity/social_facility/homeless_shelter": {
"name": "Zatočišče za brezdomce",
"terms": "zavetišče za brezdomce"
"name": "Mestna hiša",
"terms": "magistrat,rotovž"
},
+ "amenity/vending_machine/cigarettes": {
+ "name": "Avtomat za cigarete"
+ },
+ "amenity/vending_machine/condoms": {
+ "name": "Avtomat za kondome"
+ },
+ "amenity/vending_machine/drinks": {
+ "name": "Avtomat za pijače"
+ },
+ "amenity/vending_machine/excrement_bags": {
+ "name": "Avtomat za vrečke za iztrebke"
+ },
+ "amenity/vending_machine/news_papers": {
+ "name": "Avtomat za časopis"
+ },
+ "amenity/vending_machine/parcel_pickup_dropoff": {
+ "name": "Avtomat za pošiljanje/prevzem paketov"
+ },
+ "amenity/vending_machine/parking_tickets": {
+ "name": "Avtomat za parkirne listke"
+ },
+ "amenity/vending_machine/public_transport_tickets": {
+ "name": "Avtomat za vozovnice javnega potniškega prometa"
+ },
+ "amenity/vending_machine/sweets": {
+ "name": "Avtomat za prigrizke"
+ },
+ "amenity/vending_machine/vending_machine": {
+ "name": "Avtomat"
+ },
"amenity/veterinary": {
"name": "Veterinar",
"terms": "veterinarska klinika,klinika za pse,klinika za mačke"
"name": "Koš za odpadke",
"terms": "koš za smeti,smetnjak"
},
+ "amenity/waste_disposal": {
+ "name": "Zabojnik za odpadke"
+ },
+ "amenity/water_point": {
+ "name": "Pitna voda za avtodome"
+ },
"area": {
"name": "Mnogokotnik",
"terms": "poligon,območje"
},
+ "area/highway": {
+ "name": "Površina ceste"
+ },
"barrier": {
"name": "Ovira",
"terms": "prepreka,pregrada"
"terms": "kolesarska ovira,ovira za kolo"
},
"barrier/ditch": {
- "name": "Jarek",
- "terms": "grapa"
+ "name": "Jarek"
},
"barrier/entrance": {
"name": "Vhod",
"name": "Koča",
"terms": "kabina,brunarica"
},
+ "building/cathedral": {
+ "name": "Katedrala"
+ },
+ "building/chapel": {
+ "name": "Zgradba kapelice"
+ },
+ "building/church": {
+ "name": "Cerkvena zgradba"
+ },
+ "building/college": {
+ "name": "Univerzitetno poslopje"
+ },
"building/commercial": {
"name": "Poslovna stavba",
"terms": "pisarne"
"name": "Urar",
"terms": "urar,urarstvo,popravljanje ur"
},
+ "craft/confectionery": {
+ "name": "Slaščičarna"
+ },
"craft/dressmaker": {
"name": "Šiviljstvo",
"terms": "šivilja,krojač"
"name": "Oknarstvo",
"terms": "izdelava oken"
},
+ "craft/winery": {
+ "name": "Kletarstvo"
+ },
"embankment": {
"name": "Nasip",
"terms": "bran"
"name": "Vhod/Izhod",
"terms": "vstop/izstop"
},
+ "footway/crossing": {
+ "name": "Križišče ulic"
+ },
+ "footway/crosswalk": {
+ "name": "Prehod za pešce"
+ },
"footway/sidewalk": {
"name": "Pločnik",
"terms": "pločnik"
"name": "Avtobusno postajališče",
"terms": "avtobusna postaja"
},
+ "highway/corridor": {
+ "name": "Notranji hodnik"
+ },
+ "highway/crossing": {
+ "name": "Križišče ulic"
+ },
+ "highway/crosswalk": {
+ "name": "Prehod za pešce"
+ },
"highway/cycleway": {
"name": "Kolesarska steza",
"terms": "kolesarska pot,steza za kolesarje"
"name": "Pot",
"terms": "steza,gaz"
},
+ "highway/pedestrian": {
+ "name": "Ulica namenjena pešcem"
+ },
"highway/primary": {
"name": "Glavna cesta",
"terms": "glavna cesta,primarna cesta"
"name": "Priključek na glavno cesto",
"terms": "priključek na glavno cesto"
},
+ "highway/raceway": {
+ "name": "Dirkaška steza"
+ },
"highway/residential": {
"name": "Stanovanjska ulica",
"terms": "ulica,naselje,ulica v naselju"
"name": "Priključek na lokalno cesto",
"terms": "priključek na lokalno cesto,priključek na terciarno cesto"
},
+ "highway/track": {
+ "name": "Nevzdrževani kolovoz"
+ },
"highway/traffic_signals": {
"name": "Semafor",
"terms": "signalna naprava"
"name": "Obračališče",
"terms": "obračalni krog"
},
+ "highway/unclassified": {
+ "name": "Ožja/Neopredeljena cestna povezava"
+ },
"historic": {
"name": "Zgodovinska znamenitost",
"terms": "zgodovinsko najdišče"
"name": "Kapelica",
"terms": "kapelica"
},
+ "junction": {
+ "name": "Križišče"
+ },
"landuse/basin": {
"name": "Čistilni bazen",
"terms": "usedalnik"
"name": "Cerkveno dvorišče",
"terms": "cerkvena okolica"
},
+ "landuse/commercial": {
+ "name": "Poslovno področje"
+ },
"landuse/construction": {
"name": "Gradbišče",
"terms": "gradnja"
"name": "Gozd",
"terms": "gozdne površine"
},
+ "landuse/garages": {
+ "name": "Garaže"
+ },
"landuse/grass": {
"name": "Zelenica",
"terms": "zelenica,vrt,park,javna zelena površina,trava"
},
+ "landuse/industrial": {
+ "name": "Industrijsko področje"
+ },
"landuse/landfill": {
"name": "Smetišče",
"terms": "odpadki,deponija odpadkov"
"name": "Travnik",
"terms": "travišče"
},
+ "landuse/military": {
+ "name": "Vojaško področje"
+ },
"landuse/orchard": {
"name": "Sadovnjak",
"terms": "sadni nasad"
"name": "Kamnolom",
"terms": "peskokop"
},
+ "landuse/residential": {
+ "name": "Stanovanjsko področje"
+ },
+ "landuse/retail": {
+ "name": "Nakupovalno področje"
+ },
"landuse/vineyard": {
"name": "Vinograd",
"terms": "zidanica"
"name": "Prosti čas",
"terms": "rekreacija,turizem"
},
+ "leisure/bowling_alley": {
+ "name": "Kegljišče"
+ },
"leisure/common": {
"name": "Javni prostor",
"terms": "vsakomur dostopna javna mesta"
"name": "Marina",
"terms": "športno pristanišče,pristanišče za jahte"
},
+ "leisure/nature_reserve": {
+ "name": "Naravni rezervat"
+ },
"leisure/park": {
"name": "Park",
"terms": "park,rekreacijski park"
"name": "Rampa",
"terms": "rampa za vodna plovila"
},
+ "leisure/sports_centre": {
+ "name": "Športno središče / Telovadnica"
+ },
"leisure/stadium": {
"name": "Stadion",
"terms": "štadion"
"name": "Plavalni bazen",
"terms": "bazen,kopališče"
},
+ "leisure/water_park": {
+ "name": "Vodni park"
+ },
"line": {
"name": "Črta",
"terms": "linija,daljica,lomljenka"
"name": "Valobran",
"terms": "lukobran,pomol,nasip,zid"
},
+ "man_made/chimney": {
+ "name": "Dimnik"
+ },
"man_made/cutline": {
"name": "Poseka",
"terms": "požarna poseka,mejna poseka"
"name": "Zastavni drog",
"terms": "zastava,drog za zastavo"
},
+ "man_made/groyne": {
+ "name": "Leseni valolom"
+ },
"man_made/lighthouse": {
"name": "Svetilnik",
"terms": "svetilničar"
},
+ "man_made/mast": {
+ "name": "Radijski oddajnik"
+ },
"man_made/observation": {
"name": "Razgledni stolp",
"terms": "opazovalnica,opazovalni stolp"
"name": "Cevovod",
"terms": "plinovod,naftovod,vodovod"
},
+ "man_made/silo": {
+ "name": "Silos"
+ },
+ "man_made/storage_tank": {
+ "name": "Rezervoar"
+ },
+ "man_made/surveillance": {
+ "name": "Nadzor"
+ },
"man_made/survey_point": {
"name": "Geodetska točka",
"terms": "triangulacijska točka"
"name": "Bunker",
"terms": "uaklonišče"
},
+ "military/danger_area": {
+ "name": "Nevarno območje"
+ },
"military/range": {
"name": "Vojaško strelišče",
"terms": "strelišče,vadbišče"
"name": "Plaža",
"terms": "obala,morska obala"
},
+ "natural/cave_entrance": {
+ "name": "Vhod v jamo"
+ },
"natural/cliff": {
"name": "Skalna stena",
"terms": "skalovje,stena,pečine,klifi,skalni skok"
"name": "Drevo",
"terms": "drevje"
},
+ "natural/tree_row": {
+ "name": "Drevored"
+ },
+ "natural/volcano": {
+ "name": "Vulkan"
+ },
"natural/water": {
"name": "Voda",
"terms": "vodno telo"
"name": "Velemesto",
"terms": "mesto"
},
+ "place/farm": {
+ "name": "Kmetija"
+ },
"place/hamlet": {
"name": "Zaselek",
"terms": "vasica"
"name": "Železniško postajališče",
"terms": "postaja brez perona in objektov"
},
+ "railway/level_crossing": {
+ "name": "Želežniški prehod"
+ },
"railway/monorail": {
"name": "Enotirna železnica",
"terms": "monorail"
"name": "Povezava",
"terms": "relacija,zveza,odnos"
},
+ "roundabout": {
+ "name": "Krožišče"
+ },
"route/ferry": {
"name": "Trajektna linija",
"terms": "trajekt"
"name": "Starinarnica",
"terms": "starinarnica,antikvariat"
},
+ "shop/bag": {
+ "name": "Trgovina za prtljago"
+ },
"shop/bakery": {
"name": "Pekarna",
"terms": "pekarija,pek"
},
+ "shop/bathroom_furnishing": {
+ "name": "Trgovina s kopalniško opremo"
+ },
"shop/beauty": {
"name": "Lepotilni salon",
"terms": "salon lepote,lepotilnica,nega rok in nohtov,manikura,pedikura,wellness center"
},
+ "shop/bed": {
+ "name": "Trgovina s posteljnino in žimnicami"
+ },
"shop/beverages": {
"name": "Trgovina s pijačami",
"terms": "pijače"
"name": "Avtoservis",
"terms": "servis avtomobilov,avtomobilski servis"
},
- "shop/chemist": {
- "name": "Kemična trgovina",
- "terms": "kozmetika,čistila"
+ "shop/carpet": {
+ "name": "Trgovina s preprogrami"
+ },
+ "shop/chocolate": {
+ "name": "Trgovina s čokolado"
},
"shop/clothes": {
"name": "Trgovina z oblekami",
"terms": "oblačila,tekstilna"
},
+ "shop/coffee": {
+ "name": "Trgovina s kavo"
+ },
"shop/computer": {
"name": "Računalniška trgovina",
"terms": "računalniki,komponente"
},
+ "shop/confectionery": {
+ "name": "Trgovina s slaščicami"
+ },
"shop/convenience": {
"name": "Minimarket",
"terms": "mini-market,trgovinica"
"shop/copyshop": {
"name": "Fotokopirnica"
},
+ "shop/cosmetics": {
+ "name": "Kozmetična trgovina"
+ },
+ "shop/craft": {
+ "name": "Trgovina z ročnimi izdelki"
+ },
+ "shop/curtain": {
+ "name": "Trgovina z zavesami"
+ },
+ "shop/dairy": {
+ "name": "Mlekarna"
+ },
"shop/deli": {
"name": "Delikatesa",
"terms": "špecerija,delikatesna trgovina"
"name": "Elektronska trgovina",
"terms": "elektronika,hifi"
},
+ "shop/erotic": {
+ "name": "Erotična trgovina"
+ },
"shop/fabric": {
"name": "Trgovina z metrskim blagom"
},
"name": "Pogrebne storitve",
"terms": "pogrebni zavod"
},
+ "shop/furnace": {
+ "name": "Trgovina s pečmi"
+ },
"shop/furniture": {
"name": "Trgovina s pohištvom",
"terms": "pohištvo,notranja oprema"
"name": "Železnina",
"terms": "izdelki iz kovin"
},
+ "shop/hearing_aids": {
+ "name": "Trgovina s slušnimi pripomočki"
+ },
"shop/herbalist": {
"name": "Zeliščarstvo"
},
"name": "Trgovina z glasbo",
"terms": "muzikalije"
},
+ "shop/musical_instrument": {
+ "name": "Trgovina z glasbenimi inštrumenti"
+ },
+ "shop/newsagent": {
+ "name": "Trgovina s časopisi/revijami"
+ },
+ "shop/nutrition_supplements": {
+ "name": "Trgovina s prehrambenimi dodatki"
+ },
"shop/optician": {
"name": "Optik",
"terms": "optika,očala"
},
+ "shop/organic": {
+ "name": "Trgovina z organski hrano"
+ },
"shop/outdoor": {
"name": "Trgovina za dejavosti na prostem"
},
"name": "Foto trgovina",
"terms": "foto delavnica,prodajalna fotografske opreme"
},
+ "shop/scuba_diving": {
+ "name": "Trgovina s potapljaško opremo"
+ },
"shop/seafood": {
"name": "Ribarnica",
"terms": "morska hrana"
"name": "Krojač",
"terms": "krojač,oblačila"
},
+ "shop/tattoo": {
+ "name": "Salon za tetovažo"
+ },
"shop/tea": {
"name": "Čajnica"
},
+ "shop/tobacco": {
+ "name": "Tobačna trgovina"
+ },
"shop/toys": {
"name": "Trgovina igrač",
"terms": "igrače"
"name": "Nedelujoča trgovina",
"terms": "zaprta trgovina,zapuščena trgovina,nezasedena trgovina"
},
+ "shop/vacuum_cleaner": {
+ "name": "Trgovina s sesalci"
+ },
"shop/variety_store": {
"name": "Trgovina z mešanim blagom",
"terms": "Vse za _ _ _ €"
"name": "Videoteka",
"terms": "video"
},
+ "shop/weapons": {
+ "name": "Trgovina z orožjem"
+ },
+ "shop/window_blind": {
+ "name": "Trgovina z okenskimi senčili"
+ },
"shop/wine": {
"name": "Kletarstvo",
"terms": "kletarstvo,vinska klet,vinotoč"
"name": "Apartma",
"terms": "stanovanje"
},
+ "tourism/gallery": {
+ "name": "Umetnostna galerija"
+ },
"tourism/guest_house": {
"name": "Penzion",
"terms": "prenočišče,hrana"
"name": "Živalski vrt",
"terms": "ZOO"
},
+ "traffic_calming/bump": {
+ "name": "Hitrostna izboklina",
+ "terms": "Hitrostna ovira"
+ },
+ "traffic_calming/hump": {
+ "name": "Hitrostna grbina"
+ },
"type/boundary": {
"name": "Meja",
"terms": "rob"
"name": "Pohodniška pot",
"terms": "pot za pohodnike"
},
+ "type/route/horse": {
+ "name": "Steza za jahanje"
+ },
"type/route/pipeline": {
"name": "Cevovod",
"terms": "plinovod,vodovod,naftovod"
},
"commit": {
"title": "Kryej Ndryshimet",
- "description_placeholder": "Përmbledhja e redaktimeve",
"upload_explanation": "Redaktimet qe ju ngarkoni do jen të dukshëm në të gjithë hartat që përdorin të dhëna OpenStreetMap.",
"upload_explanation_with_user": "Redaktimet qe ju ngarkoni si {user} do jen të dukshëm në të gjithë hartat që përdorin të dhëna OpenStreetMap.",
"save": "Ruaj",
},
"commit": {
"title": "Сачувај измене",
- "description_placeholder": "Кратак опис ваших доприноса",
"upload_explanation": "Промене које учитате ће бити видљиве на свим мапама које користе Опенстреетмап податке.",
"upload_explanation_with_user": "Промене које учитате као {user} ће бити видљиве на свим мапама које користе Опенстреетмап податке.",
"save": "Сачувај",
"cuisine": {
"label": "Кухиња"
},
+ "currency_multi": {
+ "label": "Врсте валута"
+ },
"cycleway": {
"label": "Стазе за бицикле",
"options": {
"fuel": {
"label": "Гориво"
},
+ "fuel_multi": {
+ "label": "Врсте горива"
+ },
"gauge": {
"label": "Колосек"
},
"yes": "Да"
}
},
+ "internet_access/fee": {
+ "label": "Накнада за приступ интернету"
+ },
"lamp_type": {
"label": "Врста"
},
"label": "Ограничење брзине",
"placeholder": "40, 50, 60..."
},
+ "maxstay": {
+ "label": "Максимално задржавање"
+ },
"mtb/scale": {
"placeholder": "0, 1, 2, 3..."
},
"par": {
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Смер",
+ "options": {
+ "backward": "Уназад",
+ "forward": "Напред"
+ }
+ },
"park_ride": {
"label": "Подстицај паркирања"
},
"parking": {
"label": "Врста",
"options": {
+ "carports": "Складиште аутомобила",
"multi-storey": "Вишеспратни",
"sheds": "Наткривени",
"surface": "Подлога",
"underground": "Подземни"
}
},
+ "payment_multi": {
+ "label": "Врсте плаћања"
+ },
"phone": {
"label": "Телефон",
"placeholder": "+31 42 123 4567"
"restrictions": {
"label": "Znaci zabrane kretanja"
},
+ "rooms": {
+ "label": "Собе"
+ },
"route": {
"label": "Врста"
},
"shop": {
"label": "Врста"
},
+ "site": {
+ "label": "Врста"
+ },
"smoking": {
- "label": "Пушење"
+ "label": "Пушење",
+ "options": {
+ "isolated": "Простор за пушаче је физички изолован",
+ "no": "Пушење није дозвољено",
+ "outside": "Пушење дозвољено ван објекта",
+ "separated": "Простор за пушаче није физички изолован",
+ "yes": "Пушење дозвољено"
+ },
+ "placeholder": "Не, одвојено, да..."
+ },
+ "smoothness": {
+ "label": "Углачаност"
},
"social_facility_for": {
"label": "Народна кухиња",
},
"placeholder": "Непознато"
},
+ "studio": {
+ "label": "Врста"
+ },
"substation": {
"label": "Врста"
},
"barrier/cycle_barrier": {
"name": "Бициклистичка препрека"
},
- "barrier/ditch": {
- "name": "Јарак"
- },
"barrier/entrance": {
"name": "Улаз"
},
"landuse/churchyard": {
"name": "Црквено двориште"
},
+ "landuse/commercial": {
+ "name": "Пословна област"
+ },
"landuse/construction": {
"name": "Област у изградњи"
},
"landuse/grass": {
"name": "Трава"
},
+ "landuse/industrial": {
+ "name": "Индустријска област"
+ },
"landuse/landfill": {
"name": "Депонија"
},
"landuse/quarry": {
"name": "Каменолом"
},
+ "landuse/residential": {
+ "name": "Стамбена област"
+ },
+ "landuse/retail": {
+ "name": "Малопродајна област"
+ },
"landuse/vineyard": {
"name": "Виноград"
},
"shop/car_repair": {
"name": "Ауто сервис"
},
- "shop/chemist": {
- "name": "Апотекар"
- },
"shop/clothes": {
"name": "Продавница одеће"
},
"shop/doityourself": {
"name": "Све за кућу"
},
+ "shop/dry_cleaning": {
+ "name": "Хемијско чишћење"
+ },
"shop/electronics": {
"name": "Електроника"
},
+ "shop/erotic": {
+ "name": "Еротска продавница"
+ },
+ "shop/fabric": {
+ "name": "Текстилна продавница"
+ },
"shop/farm": {
"name": "Производни штанд"
},
+ "shop/fashion": {
+ "name": "Бутик"
+ },
"shop/fishmonger": {
"name": "Рибарница"
},
"shop/florist": {
"name": "Цвећар"
},
+ "shop/funeral_directors": {
+ "name": "Загробна опрема"
+ },
"shop/furniture": {
"name": "Продавница намештаја"
},
"shop/jewelry": {
"name": "Златар"
},
+ "shop/kiosk": {
+ "name": "Трафика"
+ },
"shop/kitchen": {
"name": "Кухињски дизајн"
},
"shop/organic": {
"name": "Органски производи"
},
+ "shop/paint": {
+ "name": "Фарбара"
+ },
+ "shop/pawnbroker": {
+ "name": "Залагаоница"
+ },
"shop/pet": {
"name": "Продавница кућних љубимаца"
},
+ "shop/photo": {
+ "name": "Фотографска радња"
+ },
"shop/seafood": {
"name": "Продавница морске хране "
},
"tourism/chalet": {
"name": "Шале"
},
+ "tourism/gallery": {
+ "name": "Галерија слика"
+ },
"tourism/guest_house": {
"name": "Гостинска кућа"
},
},
"commit": {
"title": "Spara ändringar",
- "description_placeholder": "Kort beskrivning av dina ändringar",
+ "description_placeholder": "Kortfattad beskrivning av ditt bidrag (obligatoriskt)",
"message_label": "Ändringskommentar",
"upload_explanation": "De redigeringar du bidrar med kommer att synas på alla kartor som använder OpenStreetMaps data.",
"upload_explanation_with_user": "De redigeringar du bidrar med som {user} kommer att synas på alla kartor som använder OpenStreetMaps data.",
"percent_brightness": "{opacity}% ljusstyrka",
"none": "Ingen",
"best_imagery": "Populäraste källan till flygfoton för den här platsen",
+ "switch": "Växla tillbaka till denna bakgrund",
"custom": "Anpassa",
"custom_button": "Ändra anpassad bakgrund",
"custom_prompt": "Ange en URL-mall för plattor. Giltiga symboler är {z}, {x}, {y} för Z/X/Y-schema och {u} för quadtile-schema.",
"title": "Bildlager (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Trafikskyltar från Mapillary",
+ "tooltip": "Trafikskyltar från Mapillary (måste aktivera bildlager)",
"title": "Bildlager med trafikskyltar (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Barriärer"
+ },
"category-building": {
"name": "Byggnad"
},
"yes": "Ja"
}
},
+ "internet_access/fee": {
+ "label": "Avgift för internetåtkomst"
+ },
+ "kerb": {
+ "label": "Trottoarkant"
+ },
"lamp_type": {
"label": "Typ"
},
"label": "Par",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "Riktning",
+ "options": {
+ "backward": "Bakåt",
+ "forward": "Framåt"
+ }
+ },
"park_ride": {
"label": "Pendelparkering"
},
"restrictions": {
"label": "Svängrestriktioner "
},
+ "rooms": {
+ "label": "Rum"
+ },
"route": {
"label": "Typ"
},
"site": {
"label": "Typ"
},
- "sloped_curb": {
- "label": "Avfasad trottoar"
- },
"smoking": {
"label": "Rökning",
"options": {
"sport_racing": {
"label": "Sport"
},
+ "stars": {
+ "label": "Stjärnor"
+ },
+ "stop": {
+ "label": "Stopptyp",
+ "options": {
+ "all": "Alla vägar",
+ "minor": "Mindre väg"
+ }
+ },
"structure": {
"label": "Struktur",
"options": {
"terms": "Klocka, ur, urtavla, kyrkklocka, tidur, solur, väggur, väggklocka"
},
"amenity/college": {
- "name": "Gymnasieområde",
+ "name": "Collegeområde",
"terms": "Gymnasium, gymnasie, college, vidareutbildning, gymnasiumområde, gymnasieområde"
},
"amenity/community_centre": {
"terms": "Kyrka, kyrkobyggnad, kyrkbyggnad, kyrksal, andaktssal, missionshus, gudstjänst, gudstjänstslokal, andaktslokal, gudshus"
},
"building/college": {
- "name": "Gymnasiebyggnad",
+ "name": "Collegebyggnad",
"terms": "Gymnasie, gymnasium, gymnasiebyggnad, universitet"
},
"building/commercial": {
"name": "Gångväg",
"terms": "gångväg, gc-väg, gång- och cykelväg, stig, vandring, vandra, löparbana, motionsspår, promenad"
},
+ "highway/give_way": {
+ "name": "Väjningsplikt",
+ "terms": "väjningsplikt, företräde, väjningspliktsskylt, utfartsregeln, utfart, lämna företräde"
+ },
"highway/living_street": {
"name": "Gångfartsområde",
"terms": "Gångfartsområde, gårdsgata, torg"
"name": "Vågbrytare",
"terms": "Vågbrytare, pir, hamnarm, vågskydd, fördämning, hamnpir"
},
+ "man_made/bridge": {
+ "name": "Bro",
+ "terms": "bro, viadukt, akvedukt, vägport, överfart, spång, övergång, förbindelse, fällbro, vridbro"
+ },
"man_made/chimney": {
"name": "Skorsten",
"terms": "skorsten, rökgång"
"name": "Ostaffär",
"terms": "Ostaffär, ost, ostar, ostbutik"
},
- "shop/chemist": {
- "name": "Kemiaffär (hygien, kosmetika & städ)",
- "terms": "Kemiaffär, kemi, hygien, hygienartiklar, kosmetik, smink, kosmetika, städ, städmaterial, rengöring, rengöringsmedel"
- },
"shop/chocolate": {
"name": "Chokladaffär",
"terms": "Chokladaffär, Choklad, pralin, praliner, konfekt"
"name": "Vandringsled",
"terms": "Vandringsrutt, vandringsled, stig"
},
+ "type/route/horse": {
+ "name": "Hästspår",
+ "terms": "Ridrutt, ridning, rida, häst, hästrutt, hästspår, ridspår"
+ },
"type/route/pipeline": {
"name": "Rörledningsrutt",
"terms": "Rörledningsrutt, rörledning, pipeline, oljeledning, vattenledning, avloppsledning"
"modes": {
"add_area": {
"title": "பரப்பளவு",
- "description": "வரà¯\88பà®\9fதà¯\8dதà¯\88 பà¯\82à®\99à¯\8dà®\95ாà®\95à¯\8dà®\95ளà¯\8d, à®\95à®\9fà¯\8dà®\9fிà®\9fà®\99à¯\8dà®\95ளà¯\8d, à®\8fரிà®\95ளà¯\8d à®\85லà¯\8dலதà¯\81 மறà¯\8dà®± பà®\95à¯\81திà®\95ளிலà¯\8d à®\9aà¯\87à®°்.",
- "tail": "பூங்கா, ஏரி, அல்லது கட்டிடம் வரைய வரைபடத்தை கிளிக் செய்க."
+ "description": "வரà¯\88பà¯\8dபà®\9fதà¯\8dதிலà¯\8d பà¯\82à®\99à¯\8dà®\95ாà®\95à¯\8dà®\95ளà¯\8d, à®\95à®\9fà¯\8dà®\9fிà®\9fà®\99à¯\8dà®\95ளà¯\8d, à®\8fரிà®\95ளà¯\8d à®\85லà¯\8dலதà¯\81 மறà¯\8dà®± பà®\95à¯\81திà®\95ளà¯\88 à®\9aà¯\87à®°à¯\8dà®\95à¯\8dà®\95வà¯\81à®®்.",
+ "tail": "பà¯\82à®\99à¯\8dà®\95ா, à®\8fரி, à®\85லà¯\8dலதà¯\81 à®\95à®\9fà¯\8dà®\9fிà®\9fà®®à¯\8d வரà¯\88ய வரà¯\88பà¯\8dபà®\9fதà¯\8dதà¯\88 à®\95ிளிà®\95à¯\8d à®\9aà¯\86யà¯\8dà®\95."
},
"add_line": {
"title": "கோடு",
- "description": "வரà¯\88பà®\9fதà¯\8dதà¯\88 நà¯\86à®\9fà¯\81à®\9eà¯\8dà®\9aாலà¯\88à®\95ளà¯\8d, தà¯\86à®°à¯\81à®\95à¯\8dà®\95ளிலà¯\8d, பாதà®\9aாரி பாதà¯\88à®\95ளà¯\8d, à®\95ாலà¯\8dவாயà¯\8dà®\95ளà¯\8d à®\85லà¯\8dலதà¯\81 மறà¯\8dà®± வரிகளை சேர்க்கவும்.",
+ "description": "வரà¯\88பà¯\8dபà®\9fதà¯\8dதிலà¯\8d நà¯\86à®\9fà¯\81à®\9eà¯\8dà®\9aாலà¯\88à®\95ளà¯\8d, தà¯\86à®°à¯\81à®\95à¯\8dà®\95ளà¯\8d, பாதà®\9aாரி பாதà¯\88à®\95ளà¯\8d, à®\95ாலà¯\8dவாயà¯\8dà®\95ளà¯\8d à®\85லà¯\8dலதà¯\81 மறà¯\8dà®± à®\95à¯\8bà®\9fà¯\81களை சேர்க்கவும்.",
"tail": "சாலை, பாதை, அல்லது இந்த வரைபடத்தை கிளிக் செய்க."
},
"add_point": {
"annotation": "வரைவது தவிர்கபட்டது "
},
"circularize": {
- "key": "O"
+ "description": {
+ "line": "கோட்டினை வட்டமாக்கு"
+ },
+ "key": "O",
+ "annotation": {
+ "line": "கோடு வட்டமாக்கப்பட்டது."
+ }
},
"orthogonalize": {
"title": "சதுரம்",
"delete": {
"title": "நீக்கு",
"annotation": {
+ "point": "புள்ளி நீக்கப்பட்டது.",
"line": "கோடு நீக்கப்பட்டது.",
- "area": "பரப்பளவு நீக்கப்பட்டது."
+ "area": "பரப்பளவு நீக்கப்பட்டது.",
+ "multiple": "பொருள் {} நீக்கப்பட்டது."
}
},
"disconnect": {
"key": "M",
"annotation": {
"point": "புள்ளி நகர்த்தப்பட்டது",
+ "line": "கோடு நகர்த்தப்பட்டது.",
"area": "பரப்பை நகர்த்தபட்டது "
}
},
"key": "X"
}
},
+ "tooltip_keyhint": "குறுக்கு வழி:",
"translate": {
"translate": "மொழிமாற்றம் செய்",
+ "localized_translation_label": "பன்மொழிப் பெயர்",
"localized_translation_language": "மொழியை தேர்ந்தெடு",
"localized_translation_name": "பெயர்"
},
"logout": "விடுபதிகை",
+ "help_translate": "மொழிப்பெயர்க்க உதவவும்.",
"commit": {
"title": "மாற்றங்களைச் சேமி",
"save": "சேமி",
"deleted": "நீக்கப்பட்டது",
"created": "உருவாக்கப்பட்டது"
},
+ "infobox": {
+ "selected": "{n} தேர்ந்தெடுக்கப் பட்டுள்ளது",
+ "closed": "மூடப்பட்டுள்ளது",
+ "center": "நடு பகுதி",
+ "length": "நீளம்",
+ "area": "பரப்பளவு",
+ "location": "இடம்"
+ },
+ "geometry": {
+ "line": "கோடு",
+ "area": "பரப்பளவு",
+ "relation": "தொடர்பு"
+ },
"inspector": {
+ "new_relation": "புது தொடர்பு...",
"remove": "நீக்கு",
"search": "தேடு",
"incomplete": "<பதிவிறக்கம் செய்யப்படவில்லை>",
+ "check": {
+ "yes": "ஆம்"
+ },
"way": "வழி",
"relation": "தொடர்பு",
"location": "இடம்"
},
+ "feature": {
+ "points": {
+ "description": "புள்ளிகள்"
+ }
+ },
"save": {
"title": "சேமி"
},
"intro": {
"lines": {
"title": "கோடுகள்"
+ },
+ "startediting": {
+ "title": "திருத்தம் செய்ய தொடங்கவும் ",
+ "start": "மேப் செய்ய தொடங்கவும்! "
}
},
"presets": {
"loading_auth": "ఓపెన్స్ట్రీట్మ్యాపుకి అనుసంధానిస్తున్నాం…",
"commit": {
"title": "మార్పులను భద్రపరచు",
- "description_placeholder": "మీ మార్పులకు టూకీ వివరణ",
"upload_explanation": "మీరు ఎక్కించే మార్పులు ఓపెన్స్ట్రీట్మ్యాప్ డేటాను వాడే పటాలన్నింటిలోనూ కనిపిస్తాయి.",
"save": "భద్రపరచు",
"cancel": "రద్దుచేయి",
"tail": "I-click upang magdagdag ng mga tuldok sa poligon. I-click ang unang tuldok upang isarado ang poligon o area."
},
"draw_line": {
- "tail": "I-click upang magdagdag ng higit pang mga node sa linya. Mag-click sa iba pang mga linya upang kumonekta sa kanila, at i-double click upang tapusin ang linya."
+ "tail": "I-click upang magdagdag ng higit pang mga node sa linya. Mag-click sa iba pang mga linya upang magdugtong ito at, i-double click para tapusin ang linya."
}
},
"operations": {
"area": "Ginawang pabilog and isang area o poligon."
},
"not_closed": "Hindi ito maaaring gawing pabilog dahil hindi ito isang \"loop\".",
- "too_large": "Hindi na ito maaaring gawing pabilog dahil hindi sapat ang kasalukuyang nakikita sa mapa."
+ "too_large": "Hindi na ito maaaring gawing pabilog dahil hindi sapat ang kasalukuyang nakikita sa mapa.",
+ "connected_to_hidden": "Hindi magawang pabilog dahil may nakatagong feature na konektado dito."
},
"orthogonalize": {
"title": "Iskawalado",
"area": "Ginawang iskawalado ang bawat kanto ng area o poligon."
},
"not_squarish": "Hindi maaring gawing iskwalado.",
- "too_large": "Hindi ito maaaring gawing iskuwalado dahil hindi sapat ang kasalukuyang nakikita sa mapa."
+ "too_large": "Hindi ito maaaring gawing iskuwalado dahil hindi sapat ang kasalukuyang nakikita sa mapa.",
+ "connected_to_hidden": "Hindi magawang iskawaldo dahil may nakatagong feature na konektado dito."
},
"straighten": {
"title": "Ituwid",
"description": "Ituwid ang linyang ito.",
"key": "S",
"annotation": "Naituwid ang linya.",
- "too_bendy": "Hindi naituwid dahil masyadong kurbado."
+ "too_bendy": "Hindi naituwid dahil masyadong kurbado.",
+ "connected_to_hidden": "Hindi magawang tuwid dahil may nakatagong feature na konektado dito."
},
"delete": {
"title": "Burahin",
"relation": "Binura ang isang \"relation\".",
"multiple": "Binura ang {n} bagay sa mapa."
},
- "incomplete_relation": "Hindi maaring mabura dahil ito ay hindi pa ganap na nai-download."
+ "incomplete_relation": "Hindi maaring mabura dahil ito ay hindi pa ganap na nai-download.",
+ "part_of_relation": "Hindi mabura dahil bahagi ito ng isang malaking relation. Alising munu ito sa ralation bago burahin.",
+ "connected_to_hidden": "Hindi mabura dahil may nakatagong feature na konektado dito."
},
"add_member": {
"annotation": "Dinagdag ang kasapi o miyembro ng relation."
"description": "Alisin sa pagkakadugtong ang mga linya / poligon.",
"key": "D",
"annotation": "Naalis sa pagkakadugtong ang mga linya / poligon.",
- "not_connected": "Hindi sapat na bilang ng mga linya upang i-diskonekta o paghiwalayin."
+ "not_connected": "Hindi sapat na bilang ng mga linya upang i-diskonekta o paghiwalayin.",
+ "connected_to_hidden": "Hindi maalis ang pagkakadugtong dahil may nakatagong feature na konektado dito.",
+ "relation": "Hindi maalis ang pagkakadugtong dahil bahagi ito ng relation."
},
"merge": {
"title": "Pagsamahin",
+ "description": "Pagsamahin.",
"key": "C",
+ "annotation": "Pinagsama ang {n} features.",
"not_eligible": "Ang mga bagay na ito ay hindi maaaring pagsamahin.",
- "incomplete_relation": "Hindi maaaring ipagsama o i-merge dahil ang isa sa mga ito ay hindi pa ganap na nai-download."
+ "not_adjacent": "Hindi maaring pagsamahin dahil hindi konektado.",
+ "restriction": "Hindi maaring pagsamahin dahil may isang o higit pang feature na bahagi ng \"{relation}\" relation.",
+ "incomplete_relation": "Hindi maaaring ipagsama o i-merge dahil ang isa sa mga ito ay hindi pa ganap na nai-download.",
+ "conflicting_tags": "Hindi maaring pagsamahin dahil may magkakaibang mga tags ang bawat isa."
},
"move": {
"title": "Ilipat ng posisyon",
"area": "Inilipat ang posisyon ng isang area o poligon.",
"multiple": "Inilipat ang posisyon ang maraming bagay."
},
- "incomplete_relation": "Hindi maaring ilipat ng posisyon dahil ito ay hindi pa ganap na nai-download."
+ "incomplete_relation": "Hindi maaring ilipat ng posisyon dahil ito ay hindi pa ganap na nai-download.",
+ "too_large": "Hindi mailipat ng lokasyon dahil hindi kita sa mapa ang buong features.",
+ "connected_to_hidden": "Hindi mailipat ng lokasyon dahil dahil may nakatagong feature na konektado dito."
},
"rotate": {
"title": "Paikutin",
"annotation": {
"line": "Pinaikot ang linya.",
"area": "Pinaikot ang area o poligon."
- }
+ },
+ "too_large": "Hindi mapaikot dahil hindi kita sa mapa ang buong features.",
+ "connected_to_hidden": "Hindi mapaikot dahil dahil may nakatagong feature na konektado dito."
},
"reverse": {
"title": "Baliktarin",
"multiple": "Hatiin ang {n} linya/area o poligon."
},
"not_eligible": "Hindi maaaring hatiin ang linya mula sa umpisa o dulong \"node\" nito.",
- "multiple_ways": "Masyadong maraming mga linya dito upang hatiin."
+ "multiple_ways": "Masyadong maraming mga linya dito upang hatiin.",
+ "connected_to_hidden": "Hindi masibak dahil dahil may nakatagong feature na konektado dito."
},
"restriction": {
"help": {
"nothing": "Walang ma-redo."
},
"tooltip_keyhint": "Shortcut:",
+ "browser_notice": "Ang editor na ito compatible lamang sa bagong version Firefox, Chrome, Safari, Opera, and Internet Explorer 11. Magupgrade ng browser o gamitin ang Potlatch 2 para makapag-edit.",
"translate": {
"translate": "I-salin",
"localized_translation_label": "Multilingual name",
"zoom_in_edit": "Mag-zoom-in para makapag-edit",
"logout": "Mag-logout",
"loading_auth": "Kumokonekta sa OpenStreetMap ...",
+ "report_a_bug": "Magulat ng bug.",
+ "help_translate": "Tumulong sa pagasasalin.",
+ "feature_info": {
+ "hidden_warning": "{count} na nakatagong features",
+ "hidden_details": "Nakatago ang mga features na ito: {details}"
+ },
"status": {
"error": "Hindi maka-konekta sa API.",
"offline": "Kasalukuyang offline ang API. Subukang mag-edit muli sa ibang pagkakataon.",
},
"commit": {
"title": "I-save ang mga binago.",
- "description_placeholder": "Maikling paglalarawan ng iyong mga ambag o edits",
+ "description_placeholder": "Maikling paglalarawan ng iyong mga kontribusyon (kailangan)",
+ "message_label": "Komento sa changeset",
"upload_explanation": "Ang mga pagbabagong na-upload ay makikita sa lahat ng mapang gumagamit ng datos ng OpenStreetMap.",
"upload_explanation_with_user": "Ang mga pagbabagong na-upload bilang {user} ay makikita sa lahat ng mapang gumagamit ng datos ng OpenStreetMap.",
"save": "I-save",
"cancel": "Kanselahin",
+ "changes": "{count} Changes",
"warnings": "Mga babala",
"modified": "Binago",
"deleted": "Binura",
- "created": "Nilikha"
+ "created": "Nilikha",
+ "about_changeset_comments": "Tungkol changeset comments",
+ "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments",
+ "google_warning": "Nabanggit mo ang Google sa komentong ito: tandaan na pagkopya mula sa Google Maps ay mahigpit na ipinagbabawal.",
+ "google_warning_link": "http://www.openstreetmap.org/copyright"
},
"contributors": {
"list": "Edits nina {users}",
"truncated_list": "Edits nina {users} at {count} iba pa"
},
+ "infobox": {
+ "selected": "{n} ang napili"
+ },
"geocoder": {
"search": "Maghanap sa buong mundo ...",
"no_results_visible": "Walang mga resulta sa kasalukuyang lugar sa mapa",
"custom": "Custom",
"custom_button": "I-edit ang custom na background",
"custom_prompt": "Magpasok ng template na tile URL. Ang wastong mga token ay {z}, {x}, {y} para sa Z/X/Y scheme at {u} naman para sa quadtile scheme.",
+ "fix_misalignment": "Baguhin ang imagery offset",
"reset": "I-reset"
},
"feature": {
"lines": {
"title": "Mga linya",
"start": "**Simulan ang linya sa pamamagitan ng pag-click sa dulo ng kalsada.**",
+ "intersect": "I-click upang magdagdag ng higit pang mga nodes sa linya. Maaari mong i-drag ang mapa kung kinakailangan. Ang kalsada o ibang pang mga uri ng mga linya, ay bahagi ng isang mas malaking network. Mahalagang konektado ang mga linyo para mas maayos na routing. ** I-click sa {name} upang lumikha ng isang intersection sa dalawang linya. **",
"finish": "Ang mga linya ay matatapos sa pamamagitan ng pag-click muli sa huling node. **Taposin ang pagguhit ng kalsada.**",
"road": "**Piliin ang \"Road\" mula sa talaan**",
"residential": "Mayroong iba't ibang mga uri ng mga kalsada, ang pinaka-karaniwang ay residential. **Piliin ang residential na uri ng kalsada**",
+ "describe": "**Lagyan ng pangalan ang kasada at i-click ang {button} button para masara ang feature editor.**",
+ "restart": "Kailangang magkadugtong ang kalsadang {name}.",
"wrong_preset": "Hindi ka pumili ang Residential na uri ng kalsada. **I-click dito upang piliin muli**"
},
"startediting": {
"title": "Umpisahan ang pag-edit",
+ "help": "Maaaring i-replay ang walkthrough o tingnan ang karagdagang dokumentasyon. I-click lamang ang {button} Help button.",
"save": "Huwag kalimutan na regular na i-save ang iyong mga binago!",
"start": "Simulan ang pagma-mapa!"
}
},
"commit": {
"title": "Değişiklikleri kaydet",
- "description_placeholder": "Katkı sağlayanlar hakkında kısa açıklama",
"upload_explanation": "Yüklediğin değişiklikler OpenStreetMap verilerini kullanan bütün haritalarda görülebilecek. ",
"upload_explanation_with_user": "{user} olarak yüklediğin değişiklikler OpenStreetMap verilerini kullanan bütün haritalarda görülebilecek. ",
"save": "Kaydet",
"barrier/cycle_barrier": {
"name": "Bisiklet Bariyeri"
},
- "barrier/ditch": {
- "name": "Sulama kanalı"
- },
"barrier/entrance": {
"name": "Giriş"
},
"shop/cheese": {
"name": "Peynirci"
},
- "shop/chemist": {
- "name": "Eczacı"
- },
"shop/clothes": {
"name": "Giyimci"
},
},
"commit": {
"title": "Зберегти зміни",
- "description_placeholder": "Ð\9aоÑ\80оÑ\82кий опиÑ\81 ваÑ\88иÑ\85 пÑ\80авок",
+ "description_placeholder": "СÑ\82иÑ\81лий опиÑ\81 ваÑ\88иÑ\85 дÑ\96й (обовʼÑ\8fзково)",
"message_label": "Пояснення до набору змін",
"upload_explanation": "Зміни, зроблені вами, з’являться на всіх мапах, що використовують дані OpenStreetMap.",
"upload_explanation_with_user": "Зміни, зроблені вами під іменем {user}, з’являться на всіх мапах, що використовують дані OpenStreetMap.",
"percent_brightness": "прозорість {opacity}%",
"none": "Пусте",
"best_imagery": "Найкраші супутникові знімки для цього місця",
+ "switch": "Ввімкнути цей шар",
"custom": "Власний фон",
"custom_button": "Параметри власного фону",
"custom_prompt": "Введіть шаблон URL для квадратів мапи. Використовуйте {z}, {x}, {y} для схеми Z/X/Y та {u} для схеми QuadTiles.",
"title": "Фото-шар (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Ð\94оÑ\80ожнÑ\96 знаки вÑ\96д Mapillary",
+ "tooltip": "Ð\94оÑ\80ожнÑ\96 знаки з Mapillary (поÑ\82Ñ\80Ñ\96бно Ñ\83вÑ\96мкнÑ\83Ñ\82и ФоÑ\82о-Ñ\88аÑ\80)",
"title": "Шар дорожніх знаків (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Види перепон"
+ },
"category-building": {
"name": "Будівлі"
},
"yes": "Так"
}
},
+ "internet_access/fee": {
+ "label": "Плата за доступ до Інтеренету"
+ },
+ "kerb": {
+ "label": "Зʼїзд з бордюра"
+ },
"lamp_type": {
"label": "Тип"
},
"label": "Пар",
"placeholder": "3, 4, 5…"
},
+ "parallel_direction": {
+ "label": "Напрямок",
+ "options": {
+ "backward": "Проти напрямку лінії",
+ "forward": "За напрямком лінії"
+ }
+ },
"park_ride": {
"label": "Перехоплююча стоянка"
},
"restrictions": {
"label": "Заборони повороту"
},
+ "rooms": {
+ "label": "Кількість номерів"
+ },
"route": {
"label": "Тип"
},
"site": {
"label": "Тип"
},
- "sloped_curb": {
- "label": "Занижений бордюр"
- },
"smoking": {
"label": "Паління",
"options": {
"sport_racing": {
"label": "Спорт"
},
+ "stars": {
+ "label": "Кількість зірок"
+ },
+ "stop": {
+ "label": "STOP для…",
+ "options": {
+ "all": "Всіх доріг",
+ "minor": "Для другорядних"
+ }
+ },
"structure": {
"label": "Споруда",
"options": {
"terms": "Cycle Barrier, gthtirjlf lkz dtkjcbgtlbcnsd, перешкода для велосипедів"
},
"barrier/ditch": {
- "name": "Ð\9aанава",
- "terms": "Ditch, rfyfdf, рів, кювет, рівчак, канал, траншея"
+ "name": "Ð Ñ\96вÑ\87ак",
+ "terms": "рів,окоп,траншея,шурф"
},
"barrier/entrance": {
"name": "Вхід",
"name": "Станція швидкої медичної допомоги",
"terms": "Ambulance Station,cnfywsz idblrj vtlbxyj ljgjvjub, швидка допомога, перша допомога, станція швидкої допомоги"
},
+ "emergency/defibrillator": {
+ "name": "Дефібрилятор",
+ "terms": "дефібрилятор,кардіостимулятор,невідкладна допомога"
+ },
"emergency/fire_hydrant": {
"name": "Пожежний гідрант",
"terms": "Fire Hydrant,gjtybq uslhfyn, пожежний гідрант"
"name": "Пішохідна доріжка",
"terms": "Foot Path, nhjnefh, стежка, маршрут, доріжка"
},
+ "highway/give_way": {
+ "name": "Дати дорогу",
+ "terms": "знак,дати дорогу,зупинка,пріоритет,рух,обмеження"
+ },
"highway/living_street": {
"name": "Житлова зона",
"terms": "Living Street, bnkjdf pjyf, житлова зона"
"name": "Хвилеріз",
"terms": "Breakwater, dbkthsp, хвилеріз"
},
+ "man_made/bridge": {
+ "name": "Контур мосту",
+ "terms": "міст,контур,споруда,перехід,проїзд"
+ },
"man_made/chimney": {
"name": "Димохід",
"terms": "труба,дим,димохід,викиди"
},
"shop/chemist": {
"name": "Побутова хімія",
- "terms": "Chemist, gjenjdf svsz, аптекар, фармацевт, хімік"
+ "terms": "побутова хімія,пральний,порошок,миючий засіб,догляд"
},
"shop/chocolate": {
"name": "Магазин шоколаду",
"name": "Туристичний маршрут",
"terms": "Hiking Route, nehbcnbxybq vfhihen, пішохідний маршрут, туристичний маршрут, туризм"
},
+ "type/route/horse": {
+ "name": "Маршрут для верхової їзди",
+ "terms": "кінь,верхи,шлях,маршрут"
+ },
"type/route/pipeline": {
"name": "Трубопровід",
"terms": "Pipeline Route, nhejghjdsl, трубопровід"
},
"commit": {
"title": "Lưu các Thay đổi",
- "description_placeholder": "Tóm lược các đóng góp của bạn",
+ "description_placeholder": "Tóm lược các đóng góp của bạn (bắt buộc)",
"message_label": "Tóm lược sửa đổi",
"upload_explanation": "Các thay đổi bạn thực hiện sẽ xuất hiện trên tất cả các bản đồ sử dụng dữ liệu OpenStreetMap.",
"upload_explanation_with_user": "Các thay đổi bạn thực hiện dưới tên {user} sẽ xuất hiện trên tất cả các bản đồ sử dụng dữ liệu OpenStreetMap.",
"percent_brightness": "Độ sáng {opacity}%",
"none": "Không có",
"best_imagery": "Nguồn hình ảnh hữu ích nhất đối với nơi này",
+ "switch": "Quay về hình nền này",
"custom": "Tùy biến",
"custom_button": "Sửa hình nền tùy biến",
"custom_prompt": "Nhập định dạng URL của các mảnh bản đồ. Bạn có thể sử dụng các dấu hiệu {z}, {x}, {y} cho định dạng Z/X/Y hoặc {u} cho định dạng quadtile.",
"title": "Lớp phủ Hình ảnh (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "Bảng giao thông do Mapillary cung cấp",
+ "tooltip": "Bảng giao thông do Mapillary cung cấp (phải bật Lớp phủ Hình ảnh)",
"title": "Lớp phủ Bảng Giao thông (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "Liên quan đến Chướng ngại"
+ },
"category-building": {
"name": "Liên quan đến Tòa nhà"
},
"yes": "Có"
}
},
+ "internet_access/fee": {
+ "label": "Phí Truy cập Internet"
+ },
+ "kerb": {
+ "label": "Bờ Lề đường"
+ },
"lamp_type": {
"label": "Kiểu"
},
"label": "Điểm chuẩn",
"placeholder": "3, 4, 5…"
},
+ "parallel_direction": {
+ "label": "Hướng",
+ "options": {
+ "backward": "Ngược",
+ "forward": "Thẳng"
+ }
+ },
"park_ride": {
"label": "Trung chuyển"
},
"restrictions": {
"label": "Hạn chế rẽ"
},
+ "rooms": {
+ "label": "Số Phòng"
+ },
"route": {
"label": "Kiểu"
},
"site": {
"label": "Loại"
},
- "sloped_curb": {
- "label": "Lề đường Dốc"
- },
"smoking": {
"label": "Hút thuốc",
"options": {
"sport_racing": {
"label": "Môn Thể thao"
},
+ "stars": {
+ "label": "Số Sao"
+ },
+ "stop": {
+ "label": "Các Đường Phải Dừng lại",
+ "options": {
+ "all": "Tất cả các Đường",
+ "minor": "Chỉ Đường Không Ưu tiên"
+ }
+ },
"structure": {
"label": "Cấu trúc",
"options": {
},
"aerialway/pylon": {
"name": "Tháp Cáp treo",
- "terms": "tháp cáp treo, tháp thang kéo"
+ "terms": "tháp cáp treo, tháp thang kéo, thap cap treo, thap thang keo"
},
"aerialway/rope_tow": {
"name": "Cáp kéo",
},
"aerialway/station": {
"name": "Trạm Cáp treo",
- "terms": "trạm cáp treo, trạm thang kéo, trạm cáp treo, trạm thang kéo"
+ "terms": "trạm cáp treo, trạm thang kéo, tram cap treo, tram thang keo"
},
"aerialway/t-bar": {
"name": "T-bar",
},
"amenity/college": {
"name": "Sân trường Cao đẳng",
- "terms": "sân trường cao đẳng, trường cao đẳng, cao đẳng, CĐ, san truong cao dang, truong cao dang, cao dang, CD"
+ "terms": "sân trường cao đẳng, trường cao đẳng, cao đẳng, cđ, san truong cao dang, truong cao dang, cao dang, cd"
},
"amenity/community_centre": {
"name": "Trung tâm Cộng đồng",
},
"amenity/place_of_worship/buddhist": {
"name": "Chùa Phật giáo",
- "terms": "chùa, chùa chiền, phù đồ, tháp, tháp-bà, thạt, tịnh xá, thiện đường, đạo trường, đạo Phật, Phật giáo, Phật, chua, chua chien, phu do, thap, thap-ba, that, tinh xa, thien duong, dao truong, dao Phat, Phat giao, Phat"
+ "terms": "chùa, chùa chiền, phù đồ, tháp, tháp-bà, thạt, tịnh xá, thiện đường, đạo trường, đạo phật, phật giáo, phật, chua, chua chien, phu do, thap, thap-ba, that, tinh xa, thien duong, dao truong, dao phat, phat giao, phat"
},
"amenity/place_of_worship/christian": {
"name": "Nhà thờ",
- "terms": "nhà thờ, Ki-tô giáo, Kitô giáo, Thiên Chúa giáo, đạo Thiên Chúa, Công giáo, Tin Lành, giáo xứ, thánh đường, nha tho, Ki-to giao, Kito giao, Thien Chua giao, dao Thien Chua, Cong giao, Tin Lanh, giao xu, thanh duong"
+ "terms": "nhà thờ, ki-tô giáo, kitô giáo, thiên chúa giáo, đạo thiên chúa, công giáo, tin lành, giáo xứ, thánh đường, nha tho, ki-to giao, kito giao, thien chua giao, dao thien chua, cong giao, tin lanh, giao xu, thanh duong"
},
"amenity/place_of_worship/jewish": {
"name": "Nhà thờ Do Thái giáo",
- "terms": "Do Thái giáo, đạo Do Thái, hội đường, Do Thai giao, dao Do Thai, hoi duong"
+ "terms": "do thái giáo, đạo do thái, hội đường, do thai giao, dao do thai, hoi duong"
},
"amenity/place_of_worship/muslim": {
"name": "Nhà thờ Hồi giáo",
- "terms": "Hồi giáo, nhà thờ, Hoi giao, nha tho"
+ "terms": "hồi giáo, nhà thờ, hoi giao, nha tho"
},
"amenity/police": {
"name": "Đồn Cảnh sát",
},
"amenity/swimming_pool": {
"name": "Hồ Bơi",
- "terms": "hồ bơi, hồ tắm, ho boi, ho tam"
+ "terms": "hồ bơi, hồ tắm, bơi lội, ho boi, ho tam, boi loi"
},
"amenity/taxi": {
"name": "Bến Tắc xi",
},
"amenity/university": {
"name": "Sân trường Đại học",
- "terms": "sân trÆ°á»\9dng Ä\91ại há»\8dc, sân viá»\87n Ä\91ại há»\8dc, sân trÆ°á»\9dng cao Ä\91ẳng, trÆ°á»\9dng Ä\91ại há»\8dc, viá»\87n Ä\91ại há»\8dc, trÆ°á»\9dng cao Ä\91ẳng, Ä\90H, CÄ\90, san truong dai hoc, san vien dai hoc, san truong cao dang, truong dai hoc, vien dai hoc, truong cao dang"
+ "terms": "sân trÆ°á»\9dng Ä\91ại há»\8dc, sân viá»\87n Ä\91ại há»\8dc, sân trÆ°á»\9dng cao Ä\91ẳng, trÆ°á»\9dng Ä\91ại há»\8dc, viá»\87n Ä\91ại há»\8dc, trÆ°á»\9dng cao Ä\91ẳng, Ä\91h, cÄ\91, san truong dai hoc, san vien dai hoc, san truong cao dang, truong dai hoc, vien dai hoc, truong cao dang"
},
"amenity/vending_machine/cigarettes": {
"name": "Máy Bán Thuốc lá",
},
"barrier/cattle_grid": {
"name": "Bẫy Trâu bò Trên đường",
- "terms": "bẫy trâu bò trên đường"
+ "terms": "bẫy trâu bò trên đường, bay trau bo tren duong"
},
"barrier/city_wall": {
"name": "Tường thành",
},
"building/church": {
"name": "Nhà thờ",
- "terms": "nhà thờ, Ki-tô giáo, Kitô giáo, Thiên Chúa giáo, đạo Thiên Chúa, Công giáo, Tin Lành, giáo xứ, thánh đường, nha tho, Ki-to giao, Kito giao, Thien Chua giao, dao Thien Chua, Cong giao, Tin Lanh, giao xu, thanh duong"
+ "terms": "nhà thờ, ki-tô giáo, kitô giáo, thiên chúa giáo, đạo thiên chúa, công giáo, tin lành, giáo xứ, thánh đường, nha tho, ki-to giao, kito giao, thien chua giao, dao thien chua, cong giao, tin lanh, giao xu, thanh duong"
},
"building/college": {
"name": "Tòa nhà Trường Cao đẳng",
},
"building/train_station": {
"name": "Nhà ga",
- "terms": "nhà ga,nha ga"
+ "terms": "nhà ga, nha ga"
},
"building/university": {
"name": "Tòa nhà Đại học",
"name": "Trạm Xe cứu thương",
"terms": "trạm xe cứu thương, trạm xe cấp cứu, tram xe cuu thuong, tram xe cap cuu"
},
+ "emergency/defibrillator": {
+ "name": "Máy Khử Rung Tim",
+ "terms": "máy khử rung tim, máy phá rung tim, aed, may khu rung tim, may pha rung tim"
+ },
"emergency/fire_hydrant": {
"name": "Trụ Cứu hỏa",
"terms": "trụ cứu hỏa, trụ cứu hoả, trụ chữa cháy, cột cứu hỏa, cột cứu hoả, cột chữa cháy, tru cuu hoa, tru chua chay, cot cuu hoa, cot chua chay"
"name": "Đường Dạo",
"terms": "đường đi bộ, hè, vỉa hè, đường mòn, phố, đường đi dạo, đường dạo, duong di bo, he, via he, duong mon, pho, duong di dao, duong dao"
},
+ "highway/give_way": {
+ "name": "Bảng Nhường đường",
+ "terms": "bảng nhường đường, biển nhường đường, bang nhuong duong, bien nhuong duong"
+ },
"highway/living_street": {
"name": "Đường Dân sinh",
"terms": "đường dân sinh, dân sinh, phố sống, khu nhà ở, duong dan sinh, dan sinh, pho song, khu nha o"
},
"highway/primary": {
"name": "Đường Chính",
- "terms": "đường chính, quốc lộ, QL, xa lộ, XL, đường liên tỉnh, ĐLT, duong chinh, quoc lo, xa lo, duong lien tinh"
+ "terms": "đường chính, quốc lộ, ql, xa lộ, xl, đường liên tỉnh, đlt, duong chinh, quoc lo, xa lo, duong lien tinh"
},
"highway/primary_link": {
"name": "Nhánh Ra vào Đường Chính",
},
"highway/secondary": {
"name": "Đường Lớn",
- "terms": "đường lớn, tỉnh lộ, đường tỉnh, TL, đại lộ, duong lon, tinh lo, duong tinh, dai lo"
+ "terms": "đường lớn, tỉnh lộ, đường tỉnh, tl, đại lộ, duong lon, tinh lo, duong tinh, dai lo"
},
"highway/secondary_link": {
"name": "Nhánh Ra vào Đường Lớn",
},
"highway/trunk": {
"name": "Xa lộ",
- "terms": "xa lộ, XL, xa lo"
+ "terms": "xa lộ, xl, xa lo"
},
"highway/trunk_link": {
"name": "Nhánh Ra vào Xa lộ",
},
"historic/wayside_cross": {
"name": "Thánh Giá Dọc đường",
- "terms": "Thánh Giá dọc đường, thập giá dọc đường, thập tự giá dọc đường, thập ác dọc đường, Thanh Gia doc duong, thap gia doc duong, thap tu gia doc duong, thap ac doc duong"
+ "terms": "thánh giá dọc đường, thập giá dọc đường, thập tự giá dọc đường, thập ác dọc đường, thanh gia doc duong, thap gia doc duong, thap tu gia doc duong, thap ac doc duong"
},
"historic/wayside_shrine": {
"name": "Đền thánh Dọc đường",
},
"leisure/pitch": {
"name": "Sân cỏ",
- "terms": "sân cỏ, sân thể thao, sân vận động, SVĐ, san co, san the thao, san van dong, SVD"
+ "terms": "sân cỏ, sân thể thao, sân vận động, svđ, san co, san the thao, san van dong, svd"
},
"leisure/pitch/american_football": {
"name": "Sân cỏ Bóng bầu dục Mỹ",
- "terms": "sân cỏ bóng bầu dục Mỹ, sân bóng bầu dục Mỹ, san co bong bau duc My, san bong bau duc My"
+ "terms": "sân cỏ bóng bầu dục mỹ, sân bóng bầu dục mỹ, san co bong bau duc my, san bong bau duc my"
},
"leisure/pitch/baseball": {
"name": "Sân cỏ Bóng chày",
},
"leisure/stadium": {
"name": "Sân vận động",
- "terms": "sân vận động, SVĐ, san van dong, SVD"
+ "terms": "sân vận động, svđ, san van dong, svd"
},
"leisure/swimming_pool": {
"name": "Hồ Bơi",
"name": "Đê Chắn Sóng",
"terms": "đê chắn sóng, de chan song"
},
+ "man_made/bridge": {
+ "name": "Cầu",
+ "terms": "cầu, cau"
+ },
"man_made/chimney": {
"name": "Ống khói",
"terms": "ống khói, lò sưởi, ong khoi, lo suoi"
},
"man_made/surveillance": {
"name": "Camera Giám sát",
- "terms": "camera giám sát, máy ảnh giám sát, giám sát, camera giam sat, may anh giam sat, giám sát"
+ "terms": "camera giám sát, máy ảnh giám sát, giám sát, camera giam sat, may anh giam sat, giam sat"
},
"man_made/survey_point": {
"name": "Điểm Khảo sát",
},
"office/it": {
"name": "Văn phòng Tin học",
- "terms": "văn phòng tin học, chuyên viên tin học, văn phòng công nghệ thông tin, văn phòng CNTT, van phong tin hoc, chuyen vien tin hoc, van phong cong nghe thong tin, van phong CNTT"
+ "terms": "văn phòng tin học, chuyên viên tin học, văn phòng công nghệ thông tin, văn phòng cntt, van phong tin hoc, chuyen vien tin hoc, van phong cong nghe thong tin, van phong cntt"
},
"office/lawyer": {
"name": "Văn phòng Luật sư",
},
"office/ngo": {
"name": "Tổ chức Phi chính phủ",
- "terms": "tổ chức phi chính phủ, văn phòng NGO, văn phòng ONG, tổ chức phi lợi nhuận, tổ chức bất vụ lợi, quỹ từ thiện, hiệp hội thương mại, to chuc phi chinh phu, van phong NGO, van phong ONG, to chuc phi loi nhuan, to chuc bat vu loi, quy tu thien, hiep hoi thuong mai"
+ "terms": "tổ chức phi chính phủ, văn phòng ngo, văn phòng ong, tổ chức phi lợi nhuận, tổ chức bất vụ lợi, quỹ từ thiện, hiệp hội thương mại, to chuc phi chinh phu, van phong ngo, van phong ong, to chuc phi loi nhuan, to chuc bat vu loi, quy tu thien, hiep hoi thuong mai"
},
"office/physician": {
"name": "Văn phòng Bác sĩ",
},
"place/city": {
"name": "Thành phố",
- "terms": "thành phố, TP, thành thị, đô thị, thanh pho, thanh thi, do thi"
+ "terms": "thành phố, tp, thành thị, đô thị, thanh pho, thanh thi, do thi"
},
"place/farm": {
"name": "Trại",
- "terms": "trại,nông nghiệp,trang trại,đồn điền,trai,nong nghiep,trang trại,don dien"
+ "terms": "trại, nông nghiệp, trang trại, đồn điền, trai, nong nghiep, trang trại, don dien"
},
"place/hamlet": {
"name": "Thôn",
},
"place/town": {
"name": "Thị xã",
- "terms": "thị xã, TX, thi xa"
+ "terms": "thị xã, tx, thi xa"
},
"place/village": {
"name": "Làng",
},
"public_transport/platform": {
"name": "Bến",
- "terms": "bến, ben, ke, ke ga"
+ "terms": "bến, ke, ke ga, ben"
},
"public_transport/stop_position": {
"name": "Chỗ Dừng lại",
},
"shop/electronics": {
"name": "Cửa hàng điện tử",
- "terms": "chỗ bán đồ điện, tiệm bán đồ điện, nơi bán đồ điện, cửa hàng bán đồ điện, cửa hiệu bán đồ điện, quầy bán đồ điện, cửa tiệm đồ điện, tiệm điện tử, cửa hàng điện tử, máy tính, vi tính, điện thoại, tivi, TV, máy giặt, máy lạnh, máy sưởi, loa, máy ảnh, máy chụp hình, cho ban do dien, tiem ban do dien, noi ban do dien, cua hang ban do dien, cua hieu ban do dien, quay ban do dien, cua tiem do dien, tiem dien tu, cua hang dien tu, may tinh, vi tinh, dien thoai, may giat, may lanh, may suoi, may anh, may chup hinh"
+ "terms": "chỗ bán đồ điện, tiệm bán đồ điện, nơi bán đồ điện, cửa hàng bán đồ điện, cửa hiệu bán đồ điện, quầy bán đồ điện, cửa tiệm đồ điện, tiệm điện tử, cửa hàng điện tử, máy tính, vi tính, điện thoại, tivi, tv, máy giặt, máy lạnh, máy sưởi, loa, máy ảnh, máy chụp hình, cho ban do dien, tiem ban do dien, noi ban do dien, cua hang ban do dien, cua hieu ban do dien, quay ban do dien, cua tiem do dien, tiem dien tu, cua hang dien tu, may tinh, vi tinh, dien thoai, may giat, may lanh, may suoi, may anh, may chup hinh"
},
"shop/erotic": {
"name": "Tiệm Bán đồ Khiêu dâm",
},
"shop/interior_decoration": {
"name": "Tiệm Trang trí Nội thất",
- "terms": "tiệm trang trí nội thất, cửa hàng trang trí nội thất, cửa hiệu trang trí nội thất"
+ "terms": "tiệm trang trí nội thất, cửa hàng trang trí nội thất, cửa hiệu trang trí nội thất, tiem trang tri noi that, cua hang trang thi noi that, cua hieu trang tri noi that"
},
"shop/jewelry": {
"name": "Tiệm Kim hoàn",
},
"shop/kiosk": {
"name": "Quầy Báo",
- "terms": "quầy báo, gian hàng, tạp chí, tin tức, quay bao, gian hang, tap chi, tin tức"
+ "terms": "quầy báo, gian hàng, tạp chí, tin tức, quay bao, gian hang, tap chi, tin tuc"
},
"shop/kitchen": {
"name": "Tiệm Trang trí Nội thất",
},
"shop/vacuum_cleaner": {
"name": "Tiệm Máy Hút bụi",
- "terms": "tiệm máy hút bụi, cửa hàng máy hút bụi, cửa hiệu máy hút bụi, quán hút bụi"
+ "terms": "tiệm máy hút bụi, cửa hàng máy hút bụi, cửa hiệu máy hút bụi, quán hút bụi, tiem may hut bui, cua hang may hut bui, cua hieu may hut bui, quan hut bui"
},
"shop/variety_store": {
"name": "Tiệm Tạp hóa",
},
"shop/weapons": {
"name": "Tiệm Súng",
- "terms": "tiệm súng, cửa hàng súng, cửa hiệu súng, quán súng"
+ "terms": "tiệm súng, cửa hàng súng, cửa hiệu súng, quán súng, tiem sung, cua hang sung, cua hieu sung, quan sung"
},
"shop/window_blind": {
"name": "Tiệm Mành",
},
"tourism/chalet": {
"name": "Nhà nghỉ Riêng biệt",
- "terms": "nhà nghỉ riêng biệt, nhà ván gỗ kiểu Thụy Sĩ, nhà ván gỗ kiểu Thụy Sỹ, nhà ván gỗ kiểu Thuỵ Sĩ, nhà ván gỗ kiểu Thuỵ Sỹ, nhà nghỉ trên núi tuyết, nha nghi rieng biet, nha van go kieu Thuy Si, nha van go kieu Thuy Sy, nha nghi tren nui tuyet"
+ "terms": "nhà nghỉ riêng biệt, nhà ván gỗ kiểu thụy sĩ, nhà ván gỗ kiểu thụy sỹ, nhà ván gỗ kiểu thuỵ sĩ, nhà ván gỗ kiểu thuỵ sỹ, nhà nghỉ trên núi tuyết, nha nghi rieng biet, nha van go kieu thuy si, nha van go kieu thuy sy, nha nghi tren nui tuyet"
},
"tourism/gallery": {
"name": "Phòng tranh",
"name": "Tuyến Đường đi bộ dài",
"terms": "tuyến đường đi bộ dài, tuyến đi bộ đường dài, tuyen duong di bo dai, tuyen di bo duong dai"
},
+ "type/route/horse": {
+ "name": "Tuyến đường Cưỡi ngựa",
+ "terms": "tuyến đường cưỡi ngựa, tuyen duong cuoi ngua"
+ },
"type/route/pipeline": {
"name": "Tuyến Đường ống",
"terms": "tuyến đường ống, tuyến ống dẫn, tuyen duong ong, tuyen ong dan"
},
"type/route/road": {
"name": "Tuyến đường Xe hơi",
- "terms": "tuyến đường xe hơi, tuyến đường giao thông, lộ trình giao thông"
+ "terms": "tuyến đường xe hơi, tuyến đường giao thông, lộ trình giao thông, tuyen duong xe hoi, tuyen duong giao thong, lo trinh giao thong"
},
"type/route/train": {
"name": "Tuyến Đường sắt",
- "terms": "tuyến đường sắt, tuyến xe lửa, tuyến tàu hỏa, tuyến tàu hoả, tuyến xe điện ngầm"
+ "terms": "tuyến đường sắt, tuyến xe lửa, tuyến tàu hỏa, tuyến tàu hoả, tuyến xe điện ngầm, tuyen duong sat, tuyen xe lua, tuyen tau hoa, tuyen xe dien ngam"
},
"type/route/tram": {
"name": "Tuyến đường Xe điện",
},
"commit": {
"title": "記低修改",
- "description_placeholder": "簡述你爾則稿件",
"upload_explanation": "你嘅修改,傳咗上去公家街圖。凢用公家街圖資料,地圖都會見到。",
"upload_explanation_with_user": "你以{user}名義,修改傳咗上去公家街圖。凢用公家街圖資料,地圖都會見到。",
"save": "記",
"name": "單車減速欄",
"terms": "Cycle Barrier,單車減速欄,單車矮欄"
},
- "barrier/ditch": {
- "name": "溝",
- "terms": "Ditch,溝"
- },
"barrier/entrance": {
"name": "入口",
"terms": "Entrance,入口"
"name": "車房",
"terms": "Car Repair Shop,汽車修理店,汽車維修店,車房"
},
- "shop/chemist": {
- "name": "註冊藥房",
- "terms": "Chemist,藥房,藥行,註冊藥房"
- },
"shop/clothes": {
"name": "衫舖",
"terms": "Clothing Store,服裝店,服飾店,衫舖"
},
"commit": {
"title": "保存变更",
- "description_placeholder": "简单说明你的贡献。",
"message_label": "修改集合注释",
"upload_explanation": "你的修改将会在所有使用OpenStreetMap的数据的地图上看得见。",
"upload_explanation_with_user": "{user},你的修改将会在所有使用OpenStreetMap数据的地图上展现。",
"shop": {
"label": "类型"
},
- "sloped_curb": {
- "label": "斜路缘"
- },
"smoking": {
"label": "吸烟",
"options": {
"name": "自行车路障",
"terms": "自行车,单车,路障"
},
- "barrier/ditch": {
- "name": "壕沟",
- "terms": "沟坎,壕"
- },
"barrier/entrance": {
"name": "入口",
"terms": "入口"
"name": "奶酪店",
"terms": "奶酪店,奶酪专卖店"
},
- "shop/chemist": {
- "name": "日化用品店",
- "terms": "药房"
- },
"shop/chocolate": {
"name": "巧克力店",
"terms": "巧克力店,巧克力专卖店"
},
"commit": {
"title": "儲存變更",
- "description_placeholder": "簡述你的貢獻",
+ "description_placeholder": "簡述你的貢獻 (必填)",
"message_label": "編輯變動留言",
"upload_explanation": "你上載的變更會出現在其他使用 OpenStreetMap 資料的地圖。",
"upload_explanation_with_user": "你以{user}的名字上載的變更會出現在其他使用 OpenStreetMap 資料的地圖。",
"percent_brightness": "{opacity}% 亮度",
"none": "無",
"best_imagery": "這地點最為人所知的背景影像",
+ "switch": "切換回這個背景",
"custom": "自訂",
"custom_button": "編輯自訂背景",
"custom_prompt": "輪入區塊範本的網址。有效的標記是以 {z}, {x}, {y} 作為 Z/X/Y 標記系統 Z/X/Y scheme 和 {u} 作為四分位數標記系統 quadtile scheme。",
"title": "相片重疊 (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "來自Mapillary的交通訊號",
+ "tooltip": "來自Mapillary的交通訊號(必須啟用相片重疊)",
"title": "交通訊號重疊 (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "圍欄特徵"
+ },
"category-building": {
"name": "建築物特徵"
},
"bicycle_parking": {
"label": "類"
},
+ "bin": {
+ "label": "垃圾筒"
+ },
"boundary": {
"label": "類"
},
"cuisine": {
"label": "菜系"
},
+ "currency_multi": {
+ "label": "外幣種類"
+ },
"cycleway": {
"label": "單車徑",
"options": {
"fuel": {
"label": "燃料"
},
+ "fuel_multi": {
+ "label": "燃料種類"
+ },
"gauge": {
"label": "軌距"
},
"yes": "有"
}
},
+ "internet_access/fee": {
+ "label": "互聯網費用"
+ },
+ "kerb": {
+ "label": "下斜路緣"
+ },
"lamp_type": {
"label": "類別"
},
"label": "標準桿",
"placeholder": "3, 4, 5..."
},
+ "parallel_direction": {
+ "label": "方向",
+ "options": {
+ "backward": "後向",
+ "forward": "前向"
+ }
+ },
"park_ride": {
"label": "泊車轉乘"
},
"underground": "地下"
}
},
+ "payment_multi": {
+ "label": "付款種類"
+ },
"phone": {
"label": "電話",
"placeholder": "+852 12345678"
"restrictions": {
"label": "轉彎限制"
},
+ "rooms": {
+ "label": "房間數目"
+ },
"route": {
"label": "類類別"
},
"site": {
"label": "類別"
},
- "sloped_curb": {
- "label": "斜路緣"
- },
"smoking": {
"label": "吸煙",
"options": {
"sport_racing": {
"label": "運動"
},
+ "stars": {
+ "label": "星級"
+ },
+ "stop": {
+ "label": "停車指示種類",
+ "options": {
+ "all": "全部方向",
+ "minor": "次級道路"
+ }
+ },
"structure": {
"label": "結構",
"options": {
"name": "救護站",
"terms": "Ambulance Station,十字車,救傷車,救護站,救護車"
},
+ "emergency/defibrillator": {
+ "name": "自動外置式心臟去纖顫器",
+ "terms": "defibrillator,自動心臟去顫器,自動體外心臟去顫器"
+ },
"emergency/fire_hydrant": {
"name": "消防栓",
"terms": "Fire Hydrant,消防栓,消防龍頭"
"name": "行人徑",
"terms": "Foot Path,步行徑,行人徑"
},
+ "highway/give_way": {
+ "name": "讓路標誌",
+ "terms": "讓車標誌"
+ },
"highway/living_street": {
"name": "生活街道",
"terms": "Living Street,居住街道,生活街道"
"name": "防波堤",
"terms": "Breakwater,防波堤"
},
+ "man_made/bridge": {
+ "name": "橋樑",
+ "terms": "bridge,橋"
+ },
"man_made/chimney": {
"name": "煙囱",
"terms": "煙囱,煙筒"
"terms": "芝士店, 起司店"
},
"shop/chemist": {
- "name": "註å\86\8aè\97¥æ\88¿",
- "terms": "Chemist,藥房,藥行,註冊藥房"
+ "name": "è\97¥åº\97",
+ "terms": "藥妝店,藥房"
},
"shop/chocolate": {
"name": "朱古力店",
"name": "遠足路綫",
"terms": "Hiking Route,行山路綫,行山路線,遠足路線"
},
+ "type/route/horse": {
+ "name": "策騎路線",
+ "terms": "騎馬路線"
+ },
"type/route/pipeline": {
"name": "管道路綫",
"terms": "Pipeline Route,供水路綫,供水路線,水管路綫,管道路線"
},
"commit": {
"title": "儲存修改",
- "description_placeholder": "簡要描述你的貢獻",
+ "description_placeholder": "你的貢獻摘要(必填)",
"message_label": "編輯變動留言",
"upload_explanation": "你的修改將會在所有使用OpenStreetMap資料的地圖上看到。",
"upload_explanation_with_user": "你以 {user} 具名的修改將會在所有使用OpenStreetMap資料的地圖上看到。",
"percent_brightness": "{opacity}%的亮度",
"none": "無",
"best_imagery": "這個地點已知最佳的影像來源",
+ "switch": "切換回此背景",
"custom": "客製化",
"custom_button": "編輯自訂的背景",
"custom_prompt": "輸入地圖影像區塊的URL模版。以 Z/X/Y 方式存取區塊的伺服器,可在模版中使用{z}, {x}, {y}作參數,而以quadtile存取區塊的伺服器,則可使用{u}作參數。",
"title": "照片重疊 (Mapillary)"
},
"mapillary_signs": {
- "tooltip": "從 Mapillary 來的紅綠燈",
+ "tooltip": "從 Mapillary 而來的交通號誌(必須啟用照片重疊)",
"title": "紅綠燈重疊 (Mapillary)"
},
"mapillary": {
},
"presets": {
"categories": {
+ "category-barrier": {
+ "name": "柵欄圖徵"
+ },
"category-building": {
"name": "建築物圖徵"
},
"label": "食物種類"
},
"currency_multi": {
- "label": "外幣種類"
+ "label": "貨幣種類"
},
"cycleway": {
"label": "單車道",
"yes": "有"
}
},
+ "internet_access/fee": {
+ "label": "網路存取費用"
+ },
+ "kerb": {
+ "label": "路邊斜坡"
+ },
"lamp_type": {
"label": "種類"
},
"label": "標準桿數",
"placeholder": "3,4,5..."
},
+ "parallel_direction": {
+ "label": "方向",
+ "options": {
+ "backward": "反向",
+ "forward": "正向"
+ }
+ },
"park_ride": {
"label": "停車轉乘"
},
"restrictions": {
"label": "轉向限制"
},
+ "rooms": {
+ "label": "房間數"
+ },
"route": {
"label": "種類"
},
"site": {
"label": "種類"
},
- "sloped_curb": {
- "label": "斜路緣"
- },
"smoking": {
"label": "吸煙",
"options": {
"sport_racing": {
"label": "運動"
},
+ "stars": {
+ "label": "星等"
+ },
+ "stop": {
+ "label": "停車指示種類",
+ "options": {
+ "all": "全部方向",
+ "minor": "非主要道路"
+ }
+ },
"structure": {
"label": "人造結構物",
"options": {
},
"aeroway/gate": {
"name": "登機閘門",
- "terms": "機場閘口,機場閘門"
+ "terms": "機場閘口,機場閘門,登機門,登機口"
},
"aeroway/hangar": {
"name": "機庫",
},
"aeroway/terminal": {
"name": "機場航廈",
- "terms": "機場大堂"
+ "terms": "航廈,機場大堂"
},
"amenity": {
"name": "便利設施",
},
"amenity/bureau_de_change": {
"name": "外幣兌換",
- "terms": "錢幣兌換"
+ "terms": "錢幣兌換,貨幣兌換"
},
"amenity/bus_station": {
- "name": "公車轉運站",
- "terms": "客運站,轉運站"
+ "name": "公車客運站",
+ "terms": "客運站,轉運站,長途客運站"
},
"amenity/cafe": {
"name": "咖啡廳",
"name": "救護站",
"terms": "急救站"
},
+ "emergency/defibrillator": {
+ "name": "去顫器",
+ "terms": "去顫器,心臟去顫器,自動體外心臟去顫器,AED"
+ },
"emergency/fire_hydrant": {
"name": "消防栓",
"terms": "消防栓,消防設施,"
"name": "人行道",
"terms": "步行徑,人行步道"
},
+ "highway/give_way": {
+ "name": "通行標誌",
+ "terms": "讓車標誌"
+ },
"highway/living_street": {
"name": "生活街道",
"terms": "生活街道"
},
"landuse/military": {
"name": "軍事用地",
- "terms": "營區,軍營"
+ "terms": "營區,軍營,部隊用地,軍事區,軍用地"
},
"landuse/orchard": {
"name": "果園",
"name": "防波堤",
"terms": "防波堤"
},
+ "man_made/bridge": {
+ "name": "橋樑",
+ "terms": "橋樑,橋,陸橋,天橋"
+ },
"man_made/chimney": {
"name": "煙囪",
"terms": "煙筒"
},
"military/range": {
"name": "軍事靶場",
- "terms": "靶場"
+ "terms": "靶場,軍用靶場, 射擊場"
},
"military/training_area": {
"name": "訓練場地",
},
"railway": {
"name": "鐵路",
- "terms": "鐵支路,鐵軌"
+ "terms": "鐵支路,鐵軌,鐵道"
},
"railway/abandoned": {
"name": "鐵路線遺跡",
},
"railway/station": {
"name": "火車站",
- "terms": "鐵路站"
+ "terms": "鐵路站,車站,高鐵站"
},
"railway/subway": {
"name": "捷運",
},
"railway/subway_entrance": {
"name": "捷運入口",
- "terms": "地鐵入口,地下鐵入口"
+ "terms": "地鐵入口,地下鐵入口,捷運出入口,地鐵出入口,地下鐵出入口"
},
"railway/tram": {
"name": "電車",
"terms": "觀光點"
},
"tourism/camp_site": {
- "name": "營地",
- "terms": "露營地"
+ "name": "露營營地",
+ "terms": "露營地,營地"
},
"tourism/caravan_site": {
"name": "露營車停車場",
"name": "遠足路線",
"terms": "遠足路線"
},
+ "type/route/horse": {
+ "name": "騎馬路線",
+ "terms": "騎馬路線,騎乘路線"
+ },
"type/route/pipeline": {
"name": "管道路線",
"terms": "管線路線"
},
"commit": {
"title": "保存更改",
- "description_placeholder": "简要说明你的贡献",
"upload_explanation": "你上传的更新将会显示在所有使用 OpenStreetMap 数据的地图上。",
"upload_explanation_with_user": "你 {user} 上传的更新将会显示在所有使用 OpenStreetMap 数据的地图上。",
"save": "保存",
"barrier/cycle_barrier": {
"name": "单车矮栏"
},
- "barrier/ditch": {
- "name": "沟"
- },
"barrier/entrance": {
"name": "入口"
},
"shop/car_repair": {
"name": "汽车修理店"
},
- "shop/chemist": {
- "name": "药房"
- },
"shop/clothes": {
"name": "服装店"
},
-iD.data.imagery = [{"name":"2013 aerial imagery for San Juan County WA","type":"tms","description":"Public domain aerial imagery taken in May/June 2013 from San Juan County, WA. Resolution is 9 inch.","template":"http://sjcgis.org/arcgis/rest/services/Basemaps/Aerials_2013_WM/MapServer/tile/{zoom}/{y}/{x}","scaleExtent":[0,19],"polygon":[[[-123.274024,48.692975],[-123.007726,48.767256],[-123.007619,48.831577],[-122.783495,48.758416],[-122.693402,48.658522],[-122.767451,48.603606],[-122.744842,48.387083],[-123.248221,48.283531],[-123.114524,48.422614],[-123.219035,48.548575],[-123.274024,48.692975]]],"best":true},{"name":"7th Series (OS7)","type":"tms","template":"http://ooc.openstreetmap.org/os7/{zoom}/{x}/{y}.jpg","polygon":[[[-9,49.8],[-9,61.1],[1.9,61.1],[1.9,49.8],[-9,49.8]]]},{"name":"AGRI black-and-white 2.5m","type":"tms","template":"http://agri.openstreetmap.org/{zoom}/{x}/{y}.png","polygon":[[[112.28778,-28.784589],[112.71488,-31.13894],[114.11263,-34.178287],[113.60788,-37.39012],[117.17992,-37.451794],[119.31538,-37.42096],[121.72262,-36.708394],[123.81925,-35.76893],[125.9547,-34.3066],[127.97368,-33.727398],[130.07031,-33.24166],[130.10913,-33.888704],[131.00214,-34.049705],[131.0798,-34.72257],[132.28342,-35.39],[134.18591,-35.61126],[133.8753,-37.1119],[134.8459,-37.6365],[139.7769,-37.82075],[139.93223,-39.4283],[141.6017,-39.8767],[142.3783,-39.368294],[142.3783,-40.64702],[142.49478,-42.074874],[144.009,-44.060127],[147.23161,-44.03222],[149.05645,-42.534313],[149.52237,-40.99959],[149.9494,-40.852921],[150.8036,-38.09627],[151.81313,-38.12682],[156.20052,-22.667706],[156.20052,-20.10109],[156.62761,-17.417627],[155.26869,-17.19521],[154.14272,-19.51662],[153.5215,-18.34139],[153.05558,-16.5636],[152.78379,-15.256768],[152.27905,-13.4135],[151.3472,-12.391767],[149.48354,-12.05024],[146.9598,-9.992408],[135.9719,-9.992408],[130.3032,-10.33636],[128.09016,-12.164136],[125.91588,-12.315912],[124.3239,-11.860326],[122.03323,-11.974295],[118.26706,-16.9353],[115.93747,-19.11357],[114.0738,-21.11863],[113.49141,-22.596033],[112.28778,-28.784589]]],"terms_text":"AGRI"},{"name":"basemap.at","type":"tms","description":"Basemap of Austria, based on goverment data.","template":"http://maps{switch:1,2,3,4}.wien.gv.at/basemap/geolandbasemap/normal/google3857/{zoom}/{y}/{x}.png","polygon":[[[16.5073284,46.9929304],[16.283417,46.9929304],[16.135839,46.8713046],[15.9831722,46.8190947],[16.0493278,46.655175],[15.8610387,46.7180116],[15.7592608,46.6900933],[15.5607938,46.6796202],[15.5760605,46.6342132],[15.4793715,46.6027553],[15.4335715,46.6516819],[15.2249267,46.6342132],[15.0468154,46.6481886],[14.9908376,46.5887681],[14.9603042,46.6237293],[14.8534374,46.6027553],[14.8330818,46.5012666],[14.7516595,46.4977636],[14.6804149,46.4381781],[14.6142593,46.4381781],[14.578637,46.3785275],[14.4412369,46.4311638],[14.1613476,46.4276563],[14.1257253,46.4767409],[14.0188585,46.4767409],[13.9119917,46.5257813],[13.8254805,46.5047694],[13.4438134,46.560783],[13.3064132,46.5502848],[13.1283019,46.5887681],[12.8433237,46.6132433],[12.7262791,46.6412014],[12.5125455,46.6656529],[12.3598787,46.7040543],[12.3649676,46.7703197],[12.2886341,46.7772902],[12.2733674,46.8852187],[12.2072118,46.8747835],[12.1308784,46.9026062],[12.1156117,46.9998721],[12.2530119,47.0657733],[12.2123007,47.0934969],[11.9833004,47.0449712],[11.7339445,46.9616816],[11.6321666,47.010283],[11.5405665,46.9755722],[11.4998553,47.0068129],[11.418433,46.9651546],[11.2555884,46.9755722],[11.1130993,46.913036],[11.0418548,46.7633482],[10.8891879,46.7598621],[10.7416099,46.7842599],[10.7059877,46.8643462],[10.5787653,46.8399847],[10.4566318,46.8504267],[10.4769874,46.9269392],[10.3853873,46.9894592],[10.2327204,46.8643462],[10.1207647,46.8330223],[9.8663199,46.9408389],[9.9019422,47.0033426],[9.6831197,47.0588402],[9.6118752,47.0380354],[9.6322307,47.128131],[9.5813418,47.1662025],[9.5406306,47.2664422],[9.6067863,47.3492559],[9.6729419,47.369939],[9.6424085,47.4457079],[9.5660751,47.4801122],[9.7136531,47.5282405],[9.7848976,47.5969187],[9.8357866,47.5454185],[9.9477423,47.538548],[10.0902313,47.4491493],[10.1105869,47.3664924],[10.2428982,47.3871688],[10.1869203,47.2698953],[10.3243205,47.2975125],[10.4820763,47.4491493],[10.4311873,47.4869904],[10.4413651,47.5900549],[10.4871652,47.5522881],[10.5482319,47.5351124],[10.5991209,47.5660246],[10.7568766,47.5316766],[10.8891879,47.5454185],[10.9400769,47.4869904],[10.9960547,47.3906141],[11.2352328,47.4422662],[11.2810328,47.3975039],[11.4235219,47.5144941],[11.5761888,47.5076195],[11.6067221,47.5900549],[11.8357224,47.5866227],[12.003656,47.6243647],[12.2072118,47.6037815],[12.1614117,47.6963421],[12.2581008,47.7442718],[12.2530119,47.6792136],[12.4311232,47.7100408],[12.4921899,47.631224],[12.5685234,47.6277944],[12.6295901,47.6894913],[12.7720792,47.6689338],[12.8331459,47.5419833],[12.975635,47.4732332],[13.0417906,47.4938677],[13.0367017,47.5557226],[13.0977685,47.6415112],[13.0316128,47.7100408],[12.9043905,47.7203125],[13.0061684,47.84683],[12.9451016,47.9355501],[12.8636793,47.9594103],[12.8636793,48.0036929],[12.7517236,48.0989418],[12.8738571,48.2109733],[12.9603683,48.2109733],[13.0417906,48.2652035],[13.1842797,48.2990682],[13.2606131,48.2922971],[13.3980133,48.3565867],[13.4438134,48.417418],[13.4387245,48.5523383],[13.509969,48.5860123],[13.6117469,48.5725454],[13.7287915,48.5118999],[13.7847694,48.5725454],[13.8203916,48.6263915],[13.7949471,48.7171267],[13.850925,48.7741724],[14.0595697,48.6633774],[14.0137696,48.6331182],[14.0748364,48.5927444],[14.2173255,48.5961101],[14.3649034,48.5489696],[14.4666813,48.6499311],[14.5582815,48.5961101],[14.5989926,48.6263915],[14.7211261,48.5759124],[14.7211261,48.6868997],[14.822904,48.7271983],[14.8178151,48.777526],[14.9647227,48.7851754],[14.9893637,49.0126611],[15.1485933,48.9950306],[15.1943934,48.9315502],[15.3063491,48.9850128],[15.3928603,48.9850128],[15.4844604,48.9282069],[15.749083,48.8545973],[15.8406831,48.8880697],[16.0086166,48.7808794],[16.2070835,48.7339115],[16.3953727,48.7372678],[16.4920617,48.8110498],[16.6905286,48.7741724],[16.7057953,48.7339115],[16.8991733,48.713769],[16.9755067,48.515271],[16.8482844,48.4511817],[16.8533733,48.3464411],[16.9551512,48.2516513],[16.9907734,48.1498955],[17.0925513,48.1397088],[17.0823736,48.0241182],[17.1739737,48.0207146],[17.0823736,47.8741447],[16.9856845,47.8673174],[17.0823736,47.8092489],[17.0925513,47.7031919],[16.7414176,47.6792136],[16.7057953,47.7511153],[16.5378617,47.7545368],[16.5480395,47.7066164],[16.4208172,47.6689338],[16.573484,47.6175045],[16.670173,47.631224],[16.7108842,47.538548],[16.6599952,47.4491493],[16.5429506,47.3940591],[16.4615283,47.3940591],[16.4920617,47.276801],[16.425906,47.1973317],[16.4717061,47.1489007],[16.5480395,47.1489007],[16.476795,47.0796369],[16.527684,47.0588402]]],"terms_text":"basemap.at","id":"basemap.at"},{"name":"basemap.at Orthofoto","type":"tms","description":"Orthofoto layer provided by basemap.at. \"Successor\" of geoimage.at imagery.","template":"http://maps{switch:1,2,3,4}.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{zoom}/{y}/{x}.jpeg","polygon":[[[16.5073284,46.9929304],[16.283417,46.9929304],[16.135839,46.8713046],[15.9831722,46.8190947],[16.0493278,46.655175],[15.8610387,46.7180116],[15.7592608,46.6900933],[15.5607938,46.6796202],[15.5760605,46.6342132],[15.4793715,46.6027553],[15.4335715,46.6516819],[15.2249267,46.6342132],[15.0468154,46.6481886],[14.9908376,46.5887681],[14.9603042,46.6237293],[14.8534374,46.6027553],[14.8330818,46.5012666],[14.7516595,46.4977636],[14.6804149,46.4381781],[14.6142593,46.4381781],[14.578637,46.3785275],[14.4412369,46.4311638],[14.1613476,46.4276563],[14.1257253,46.4767409],[14.0188585,46.4767409],[13.9119917,46.5257813],[13.8254805,46.5047694],[13.4438134,46.560783],[13.3064132,46.5502848],[13.1283019,46.5887681],[12.8433237,46.6132433],[12.7262791,46.6412014],[12.5125455,46.6656529],[12.3598787,46.7040543],[12.3649676,46.7703197],[12.2886341,46.7772902],[12.2733674,46.8852187],[12.2072118,46.8747835],[12.1308784,46.9026062],[12.1156117,46.9998721],[12.2530119,47.0657733],[12.2123007,47.0934969],[11.9833004,47.0449712],[11.7339445,46.9616816],[11.6321666,47.010283],[11.5405665,46.9755722],[11.4998553,47.0068129],[11.418433,46.9651546],[11.2555884,46.9755722],[11.1130993,46.913036],[11.0418548,46.7633482],[10.8891879,46.7598621],[10.7416099,46.7842599],[10.7059877,46.8643462],[10.5787653,46.8399847],[10.4566318,46.8504267],[10.4769874,46.9269392],[10.3853873,46.9894592],[10.2327204,46.8643462],[10.1207647,46.8330223],[9.8663199,46.9408389],[9.9019422,47.0033426],[9.6831197,47.0588402],[9.6118752,47.0380354],[9.6322307,47.128131],[9.5813418,47.1662025],[9.5406306,47.2664422],[9.6067863,47.3492559],[9.6729419,47.369939],[9.6424085,47.4457079],[9.5660751,47.4801122],[9.7136531,47.5282405],[9.7848976,47.5969187],[9.8357866,47.5454185],[9.9477423,47.538548],[10.0902313,47.4491493],[10.1105869,47.3664924],[10.2428982,47.3871688],[10.1869203,47.2698953],[10.3243205,47.2975125],[10.4820763,47.4491493],[10.4311873,47.4869904],[10.4413651,47.5900549],[10.4871652,47.5522881],[10.5482319,47.5351124],[10.5991209,47.5660246],[10.7568766,47.5316766],[10.8891879,47.5454185],[10.9400769,47.4869904],[10.9960547,47.3906141],[11.2352328,47.4422662],[11.2810328,47.3975039],[11.4235219,47.5144941],[11.5761888,47.5076195],[11.6067221,47.5900549],[11.8357224,47.5866227],[12.003656,47.6243647],[12.2072118,47.6037815],[12.1614117,47.6963421],[12.2581008,47.7442718],[12.2530119,47.6792136],[12.4311232,47.7100408],[12.4921899,47.631224],[12.5685234,47.6277944],[12.6295901,47.6894913],[12.7720792,47.6689338],[12.8331459,47.5419833],[12.975635,47.4732332],[13.0417906,47.4938677],[13.0367017,47.5557226],[13.0977685,47.6415112],[13.0316128,47.7100408],[12.9043905,47.7203125],[13.0061684,47.84683],[12.9451016,47.9355501],[12.8636793,47.9594103],[12.8636793,48.0036929],[12.7517236,48.0989418],[12.8738571,48.2109733],[12.9603683,48.2109733],[13.0417906,48.2652035],[13.1842797,48.2990682],[13.2606131,48.2922971],[13.3980133,48.3565867],[13.4438134,48.417418],[13.4387245,48.5523383],[13.509969,48.5860123],[13.6117469,48.5725454],[13.7287915,48.5118999],[13.7847694,48.5725454],[13.8203916,48.6263915],[13.7949471,48.7171267],[13.850925,48.7741724],[14.0595697,48.6633774],[14.0137696,48.6331182],[14.0748364,48.5927444],[14.2173255,48.5961101],[14.3649034,48.5489696],[14.4666813,48.6499311],[14.5582815,48.5961101],[14.5989926,48.6263915],[14.7211261,48.5759124],[14.7211261,48.6868997],[14.822904,48.7271983],[14.8178151,48.777526],[14.9647227,48.7851754],[14.9893637,49.0126611],[15.1485933,48.9950306],[15.1943934,48.9315502],[15.3063491,48.9850128],[15.3928603,48.9850128],[15.4844604,48.9282069],[15.749083,48.8545973],[15.8406831,48.8880697],[16.0086166,48.7808794],[16.2070835,48.7339115],[16.3953727,48.7372678],[16.4920617,48.8110498],[16.6905286,48.7741724],[16.7057953,48.7339115],[16.8991733,48.713769],[16.9755067,48.515271],[16.8482844,48.4511817],[16.8533733,48.3464411],[16.9551512,48.2516513],[16.9907734,48.1498955],[17.0925513,48.1397088],[17.0823736,48.0241182],[17.1739737,48.0207146],[17.0823736,47.8741447],[16.9856845,47.8673174],[17.0823736,47.8092489],[17.0925513,47.7031919],[16.7414176,47.6792136],[16.7057953,47.7511153],[16.5378617,47.7545368],[16.5480395,47.7066164],[16.4208172,47.6689338],[16.573484,47.6175045],[16.670173,47.631224],[16.7108842,47.538548],[16.6599952,47.4491493],[16.5429506,47.3940591],[16.4615283,47.3940591],[16.4920617,47.276801],[16.425906,47.1973317],[16.4717061,47.1489007],[16.5480395,47.1489007],[16.476795,47.0796369],[16.527684,47.0588402]]],"terms_text":"basemap.at","id":"basemap.at orthofoto","best":true},{"name":"Belgium AGIV Orthophoto Flanders","type":"tms","template":"http://tile.informatievlaanderen.be/ws/raadpleegdiensten/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=omwrgbmrvl&STYLE=&FORMAT=image/png&tileMatrixSet=GoogleMapsVL&tileMatrix={zoom}&tileRow={y}&tileCol={x}","scaleExtent":[0,21],"polygon":[[[2.522393220658428,51.101723961331],[3.1260610915867457,51.34117672029327],[3.174929443042849,51.382459567439525],[3.3761520666856217,51.38784154353026],[3.410647373595811,51.33040116175589],[3.4020235468682634,51.28547573497245],[3.4911364230529203,51.256700377228974],[3.4825125963253734,51.30345118353617],[3.5773746903283947,51.323216048914524],[3.813092620881357,51.27288873325703],[3.8217164476089045,51.236906864834886],[3.9309515861578386,51.236906864834886],[4.054559769252684,51.27468708752057],[4.20116482362099,51.35194974615148],[4.169544125619984,51.38066543475199],[4.342020660170932,51.395016527087456],[4.3650175314443915,51.46491366130351],[4.5374940659953396,51.50071687469512],[4.571989372905529,51.479238319799464],[4.560490937268798,51.44879304380801],[4.638105377816725,51.45058450468522],[4.750215125274841,51.5239738914927],[4.8364533925503155,51.507874144493115],[5.080795149830825,51.49892738159079],[5.135412719105292,51.447001512638565],[5.106666630013469,51.391429175957505],[5.264770120018504,51.31782647548482],[5.264770120018504,51.28727359653538],[5.4085005654776275,51.292666758936925],[5.486115006025553,51.325012432665545],[5.5809771000285755,51.28367780302667],[5.583851708937758,51.23510703218069],[5.767826679125435,51.20449910348059],[5.8770618176743685,51.161253258857485],[5.704585283123422,50.80292546633848],[5.905807906766195,50.7865720955422],[5.9374286047672005,50.732019528192964],[5.902933297857012,50.70107817444857],[5.8138204216723555,50.69379488717487],[5.615472406938765,50.761122144578216],[5.500488050571466,50.71200098472672],[5.204403332925673,50.70289881954383],[5.164158808197117,50.67558172042608],[5.037676016193088,50.70107817444857],[4.988807664736986,50.750210783384084],[4.916942442007425,50.72656077355532],[4.790459650003396,50.766576871275696],[4.681224511454462,50.77021300246129],[4.6697260758177315,50.73565834458533],[4.287403090896464,50.67922491935501],[3.91082932379356,50.677403355240585],[3.718230526878334,50.752029520237265],[3.6549891308763196,50.71200098472672],[3.5342555566906557,50.710180693059606],[3.514133294326379,50.741116039142966],[3.45664111614273,50.74384464791457],[3.373277457776438,50.69561581502901],[3.310036061774423,50.70745012302645],[3.2899137994101473,50.7365680045137],[3.1648683118607086,50.742935129324266],[3.1318103094051106,50.77203096207303],[3.080067349039826,50.76021296163662],[2.8745328120332805,50.73929687829333],[2.8960923788521487,50.71109084772858],[2.8745328120332805,50.69561581502901],[2.796918371485353,50.70289881954383],[2.699181668573149,50.80020030189157],[2.6201299235706315,50.79747497850781],[2.5698242676599374,50.85830267681076],[2.5669496587507554,50.923581424665855],[2.6028822701155367,50.94984841176044],[2.549702005295661,50.996006093918574],[2.522393220658428,51.101723961331]]],"terms_text":"Orthophoto Flanders most recent (c) AGIV","best":true},{"name":"Bing aerial imagery","type":"bing","description":"Satellite and aerial imagery.","template":"http://www.bing.com/maps/","scaleExtent":[0,22],"id":"Bing","default":true},{"name":"British Columbia Mosaic","type":"tms","template":"http://{switch:a,b,c,d}.imagery.paulnorman.ca/tiles/bc_mosaic/{zoom}/{x}/{y}.png","scaleExtent":[9,20],"polygon":[[[-123.3176032,49.3272567],[-123.4405258,49.3268222],[-123.440717,49.3384429],[-123.4398375,49.3430357],[-123.4401258,49.3435398],[-123.4401106,49.3439946],[-123.4406265,49.3444493],[-123.4404747,49.3455762],[-123.4397768,49.3460606],[-123.4389726,49.3461298],[-123.4372904,49.3567236],[-123.4374774,49.3710843],[-123.4335292,49.3709446],[-123.4330357,49.373725],[-123.4332717,49.3751221],[-123.4322847,49.3761001],[-123.4317482,49.3791736],[-123.4314264,49.3795927],[-123.4307826,49.3823866],[-123.4313405,49.3827358],[-123.4312118,49.3838533],[-123.4300415,49.3845883],[-123.4189858,49.3847087],[-123.4192235,49.4135198],[-123.3972532,49.4135691],[-123.3972758,49.4243473],[-123.4006929,49.4243314],[-123.4007741,49.5703491],[-123.4000812,49.570345],[-123.4010761,49.5933838],[-123.3760399,49.5932848],[-123.3769811,49.6756063],[-123.3507288,49.6756396],[-123.3507969,49.7086751],[-123.332887,49.708722],[-123.3327888,49.7256288],[-123.3007111,49.7255625],[-123.3009164,49.7375384],[-123.2885986,49.737638],[-123.2887823,49.8249207],[-123.2997955,49.8249207],[-123.3011721,49.8497814],[-123.3218218,49.850669],[-123.3273284,49.8577696],[-123.3276726,49.9758852],[-123.3008279,49.9752212],[-123.3007204,50.0997002],[-123.2501716,50.100735],[-123.25091,50.2754901],[-123.0224338,50.2755598],[-123.0224879,50.3254853],[-123.0009318,50.3254689],[-123.0007778,50.3423899],[-122.9775023,50.3423408],[-122.9774766,50.3504306],[-122.9508137,50.3504961],[-122.950795,50.3711984],[-122.9325221,50.3711521],[-122.9321048,50.399793],[-122.8874234,50.3999748],[-122.8873385,50.4256108],[-122.6620152,50.4256959],[-122.6623083,50.3994506],[-122.5990316,50.3992413],[-122.5988274,50.3755206],[-122.5724832,50.3753706],[-122.5735621,50.2493891],[-122.5990415,50.2494643],[-122.5991504,50.2265663],[-122.6185016,50.2266359],[-122.6185741,50.2244081],[-122.6490609,50.2245126],[-122.6492181,50.1993528],[-122.7308575,50.1993758],[-122.7311583,50.1244287],[-122.7490352,50.1245109],[-122.7490541,50.0903032],[-122.7687806,50.0903435],[-122.7689801,49.9494546],[-122.999047,49.9494706],[-122.9991199,49.8754553],[-122.9775894,49.8754553],[-122.9778145,49.6995098],[-122.9992362,49.6994781],[-122.9992524,49.6516526],[-123.0221525,49.6516526],[-123.0221162,49.5995096],[-123.0491898,49.5994625],[-123.0491898,49.5940523],[-123.0664647,49.5940405],[-123.0663594,49.5451868],[-123.0699906,49.5451202],[-123.0699008,49.5413153],[-123.0706835,49.5392837],[-123.0708888,49.5379931],[-123.0711454,49.5368773],[-123.0711069,49.5358115],[-123.0713764,49.532822],[-123.0716458,49.5321141],[-123.07171,49.5313896],[-123.0720308,49.5304153],[-123.0739554,49.5303486],[-123.0748023,49.5294992],[-123.0748151,49.5288079],[-123.0743403,49.5280584],[-123.073532,49.5274588],[-123.0733652,49.5270423],[-123.0732882,49.5255932],[-123.0737116,49.5249602],[-123.0736218,49.5244938],[-123.0992583,49.5244854],[-123.0991649,49.4754502],[-123.071052,49.4755252],[-123.071088,49.4663034],[-123.0739204,49.4663054],[-123.07422,49.4505028],[-123.0746319,49.4500858],[-123.074651,49.449329],[-123.0745999,49.449018],[-123.0744619,49.4486927],[-123.0743336,49.4479899],[-123.0742427,49.4477688],[-123.0743061,49.4447473],[-123.0747103,49.4447556],[-123.0746384,49.4377306],[-122.9996506,49.4377363],[-122.9996506,49.4369214],[-122.8606163,49.4415314],[-122.8102616,49.4423972],[-122.8098984,49.3766739],[-122.4036093,49.3766617],[-122.4036341,49.3771944],[-122.264739,49.3773028],[-122.263542,49.2360088],[-122.2155742,49.236139],[-122.0580956,49.235878],[-121.9538274,49.2966525],[-121.9400911,49.3045389],[-121.9235761,49.3142257],[-121.8990871,49.3225436],[-121.8883447,49.3259752],[-121.8552982,49.3363575],[-121.832697,49.3441519],[-121.7671336,49.3654361],[-121.6736683,49.3654589],[-121.6404153,49.3743775],[-121.5961976,49.3860493],[-121.5861178,49.3879193],[-121.5213684,49.3994649],[-121.5117375,49.4038378],[-121.4679302,49.4229024],[-121.4416803,49.4345607],[-121.422429,49.4345788],[-121.3462885,49.3932312],[-121.3480144,49.3412388],[-121.5135035,49.320577],[-121.6031683,49.2771727],[-121.6584065,49.1856125],[-121.679953,49.1654109],[-121.7815793,49.0702559],[-121.8076228,49.0622471],[-121.9393997,49.0636219],[-121.9725524,49.0424179],[-121.9921394,49.0332869],[-122.0035289,49.0273413],[-122.0178564,49.0241067],[-122.1108634,48.9992786],[-122.1493067,48.9995305],[-122.1492705,48.9991498],[-122.1991447,48.9996019],[-122.199181,48.9991974],[-122.234365,48.9994829],[-122.234365,49.000173],[-122.3994722,49.0012385],[-122.4521338,49.0016326],[-122.4521338,49.000883],[-122.4584089,49.0009306],[-122.4584814,48.9993124],[-122.4992458,48.9995022],[-122.4992458,48.9992906],[-122.5492618,48.9995107],[-122.5492564,48.9993206],[-122.6580785,48.9994212],[-122.6581061,48.9954007],[-122.7067604,48.9955344],[-122.7519761,48.9956392],[-122.7922063,48.9957204],[-122.7921907,48.9994331],[-123.0350417,48.9995724],[-123.0350437,49.0000958],[-123.0397091,49.0000536],[-123.0397444,49.0001812],[-123.0485506,49.0001348],[-123.0485329,49.0004712],[-123.0557122,49.000448],[-123.0556324,49.0002284],[-123.0641365,49.0001293],[-123.064158,48.9999421],[-123.074899,48.9996928],[-123.0750717,49.0006218],[-123.0899573,49.0003726],[-123.109229,48.9999421],[-123.1271193,49.0003046],[-123.1359953,48.9998741],[-123.1362716,49.0005765],[-123.153851,48.9998061],[-123.1540533,49.0006806],[-123.1710015,49.0001274],[-123.2000916,48.9996849],[-123.2003446,49.0497785],[-123.2108845,49.0497232],[-123.2112218,49.051989],[-123.2070479,49.0520857],[-123.2078911,49.0607884],[-123.2191688,49.0600978],[-123.218958,49.0612719],[-123.2251766,49.0612719],[-123.2253874,49.0622388],[-123.2297088,49.0620316],[-123.2298142,49.068592],[-123.2331869,49.0687301],[-123.2335031,49.0705945],[-123.249313,49.0702493],[-123.2497346,49.0802606],[-123.2751358,49.0803986],[-123.2751358,49.0870947],[-123.299483,49.0873018],[-123.29944,49.080253],[-123.3254508,49.0803944],[-123.3254353,49.1154662],[-123.2750966,49.1503341],[-123.275181,49.1873267],[-123.2788067,49.1871063],[-123.278891,49.1910741],[-123.3004767,49.1910741],[-123.3004186,49.2622933],[-123.3126185,49.2622416],[-123.3125958,49.2714948],[-123.3154251,49.2714727],[-123.3156628,49.2818906],[-123.3174735,49.2818832],[-123.3174961,49.2918488],[-123.3190353,49.2918488],[-123.3190692,49.298602],[-123.3202349,49.2985651],[-123.3202786,49.3019749],[-123.3222679,49.3019605],[-123.3223943,49.3118263],[-123.3254002,49.3118086],[-123.3253898,49.3201721],[-123.3192695,49.3201957],[-123.3192242,49.3246748],[-123.3179437,49.3246596],[-123.3179861,49.3254065]]],"terms_url":"http://imagery.paulnorman.ca/tiles/about.html","terms_text":"Copyright Province of British Columbia, City of Surrey"},{"name":"Cambodia, Laos, Thailand, Vietnam bilingual","type":"tms","template":"http://{switch:a,b,c,d}.tile.osm-tools.org/osm_then/{zoom}/{x}/{y}.png","scaleExtent":[0,19],"polygon":[[[97.3,5.6],[97.3,23.4],[109.6,23.4],[109.6,5.6],[97.3,5.6]]],"terms_url":"http://www.osm-tools.org/","terms_text":"© osm-tools.org & OpenStreetMap contributors, CC-BY-SA"},{"name":"Czech CUZK:KM tiles proxy","type":"tms","template":"http://osm-{switch:a,b,c}.zby.cz/tiles_cuzk.php/{zoom}/{x}/{y}.png","scaleExtent":[13,18],"polygon":[[[15.0063684,49.0177392],[15.1559854,49.0013828],[15.190896,48.9424551],[15.3105895,48.9882938],[15.4053469,48.9752013],[15.5400022,48.9162426],[15.7145553,48.8670572],[15.8342488,48.880178],[15.968904,48.8178233],[16.0885976,48.7455261],[16.3978059,48.7455261],[16.4875761,48.8145394],[16.6721036,48.7784014],[16.6820781,48.7356594],[16.9015163,48.7126294],[16.9464014,48.6237005],[17.1159672,48.8375227],[17.2107246,48.880178],[17.4052266,48.8178233],[17.4800351,48.8539329],[17.5299074,48.8178233],[17.7044605,48.8670572],[17.8141796,48.9359033],[17.8840008,48.9359033],[17.9438476,49.0210099],[18.0635412,49.0340903],[18.1184007,49.0994409],[18.1981964,49.3047337],[18.3877112,49.3339917],[18.577226,49.5091747],[18.7567663,49.4994587],[18.8465365,49.5253637],[18.8764598,49.5706645],[18.7966641,49.693412],[18.64206,49.7095399],[18.5872004,49.8351543],[18.6121366,49.8833809],[18.5622643,49.9347695],[18.512392,49.9058702],[18.362775,49.9540261],[18.3278644,49.9219275],[18.2630304,49.9732751],[18.1184007,50.0053395],[18.0635412,50.075806],[17.9139242,49.9796897],[17.779269,50.0309757],[17.714435,50.1237921],[17.6047159,50.1653411],[17.7593201,50.21962],[17.7343839,50.3439092],[17.6396265,50.2802117],[17.3802905,50.2802117],[17.3503671,50.3439092],[17.2805459,50.3375433],[17.1857885,50.4075214],[16.9015163,50.4615247],[16.8666057,50.4138779],[16.9663503,50.3184404],[17.0361715,50.2323826],[16.8366823,50.21962],[16.7120015,50.1046034],[16.5823335,50.1589513],[16.5623846,50.2387626],[16.4327166,50.3375433],[16.3529209,50.3916263],[16.2781124,50.3916263],[16.2082911,50.4456477],[16.3978059,50.5344899],[16.4476782,50.5978464],[16.3529209,50.670601],[16.2382145,50.6769221],[16.2182656,50.6326561],[16.1284954,50.6832425],[16.0486997,50.6073425],[15.988853,50.7021983],[15.8741467,50.6832425],[15.8292616,50.7653291],[15.729517,50.743243],[15.450232,50.8157725],[15.3903852,50.7747914],[15.3804108,50.8598659],[15.2956278,50.8850434],[15.2956278,50.9887568],[15.1709471,51.0201394],[14.9914067,51.0013124],[15.0063684,50.8881896],[14.8417898,50.8756034],[14.7969047,50.8252246],[14.6323261,50.8567177],[14.6622495,50.9353576],[14.5724793,50.9227841],[14.6123772,50.9856174],[14.4976708,51.0483657],[14.4178751,51.0232765],[14.3081561,51.0671736],[14.2532965,51.0044508],[14.4029134,50.9322145],[14.3729901,50.897627],[14.2433221,50.9070625],[14.2084114,50.844123],[14.0338583,50.8126214],[13.9789988,50.8252246],[13.9041903,50.7968626],[13.8742669,50.740087],[13.5351352,50.7243038],[13.530148,50.6579561],[13.4703012,50.6136722],[13.3905055,50.664279],[13.3256715,50.5883483],[13.250863,50.6105074],[13.1960035,50.5059517],[13.0513738,50.5218084],[12.9665909,50.4106997],[12.8269484,50.4710483],[12.7022676,50.4138779],[12.5077656,50.401164],[12.343187,50.2547088],[12.323238,50.1845054],[12.2484296,50.2738373],[12.1736211,50.3311765],[12.0988126,50.33436],[12.1187616,50.25152],[12.2234934,50.1653411],[12.2035445,50.1237921],[12.5027784,49.9732751],[12.4778422,49.9379795],[12.5476634,49.9155052],[12.4678677,49.8029766],[12.408021,49.7611134],[12.4828294,49.6869593],[12.5327017,49.6869593],[12.5177401,49.6288466],[12.6075102,49.5415474],[12.6723442,49.4378793],[12.8119867,49.3469896],[12.9466419,49.3437405],[13.2309141,49.1288206],[13.3256715,49.1059712],[13.4353906,49.0438984],[13.4154417,48.9948387],[13.5002246,48.949006],[13.5650586,48.9882938],[13.6847522,48.8834577],[13.7445989,48.9031312],[13.8243946,48.7751149],[13.8992031,48.7751149],[14.0587945,48.676418],[14.0438328,48.6302932],[14.1435774,48.5907241],[14.3729901,48.5610269],[14.4827091,48.6500662],[14.5774665,48.607215],[14.6273389,48.6335892],[14.7071346,48.5808269],[14.7470324,48.7027561],[14.8118664,48.7389485],[14.8168536,48.794831],[14.9864195,48.7652539]]],"overlay":true},{"name":"Czech ÚHUL:ORTOFOTO tiles proxy","type":"tms","template":"http://osm-{switch:a,b,c}.zby.cz/tiles_uhul.php/{zoom}/{x}/{y}.jpg","scaleExtent":[13,18],"polygon":[[[15.0063684,49.0177392],[15.1559854,49.0013828],[15.190896,48.9424551],[15.3105895,48.9882938],[15.4053469,48.9752013],[15.5400022,48.9162426],[15.7145553,48.8670572],[15.8342488,48.880178],[15.968904,48.8178233],[16.0885976,48.7455261],[16.3978059,48.7455261],[16.4875761,48.8145394],[16.6721036,48.7784014],[16.6820781,48.7356594],[16.9015163,48.7126294],[16.9464014,48.6237005],[17.1159672,48.8375227],[17.2107246,48.880178],[17.4052266,48.8178233],[17.4800351,48.8539329],[17.5299074,48.8178233],[17.7044605,48.8670572],[17.8141796,48.9359033],[17.8840008,48.9359033],[17.9438476,49.0210099],[18.0635412,49.0340903],[18.1184007,49.0994409],[18.1981964,49.3047337],[18.3877112,49.3339917],[18.577226,49.5091747],[18.7567663,49.4994587],[18.8465365,49.5253637],[18.8764598,49.5706645],[18.7966641,49.693412],[18.64206,49.7095399],[18.5872004,49.8351543],[18.6121366,49.8833809],[18.5622643,49.9347695],[18.512392,49.9058702],[18.362775,49.9540261],[18.3278644,49.9219275],[18.2630304,49.9732751],[18.1184007,50.0053395],[18.0635412,50.075806],[17.9139242,49.9796897],[17.779269,50.0309757],[17.714435,50.1237921],[17.6047159,50.1653411],[17.7593201,50.21962],[17.7343839,50.3439092],[17.6396265,50.2802117],[17.3802905,50.2802117],[17.3503671,50.3439092],[17.2805459,50.3375433],[17.1857885,50.4075214],[16.9015163,50.4615247],[16.8666057,50.4138779],[16.9663503,50.3184404],[17.0361715,50.2323826],[16.8366823,50.21962],[16.7120015,50.1046034],[16.5823335,50.1589513],[16.5623846,50.2387626],[16.4327166,50.3375433],[16.3529209,50.3916263],[16.2781124,50.3916263],[16.2082911,50.4456477],[16.3978059,50.5344899],[16.4476782,50.5978464],[16.3529209,50.670601],[16.2382145,50.6769221],[16.2182656,50.6326561],[16.1284954,50.6832425],[16.0486997,50.6073425],[15.988853,50.7021983],[15.8741467,50.6832425],[15.8292616,50.7653291],[15.729517,50.743243],[15.450232,50.8157725],[15.3903852,50.7747914],[15.3804108,50.8598659],[15.2956278,50.8850434],[15.2956278,50.9887568],[15.1709471,51.0201394],[14.9914067,51.0013124],[15.0063684,50.8881896],[14.8417898,50.8756034],[14.7969047,50.8252246],[14.6323261,50.8567177],[14.6622495,50.9353576],[14.5724793,50.9227841],[14.6123772,50.9856174],[14.4976708,51.0483657],[14.4178751,51.0232765],[14.3081561,51.0671736],[14.2532965,51.0044508],[14.4029134,50.9322145],[14.3729901,50.897627],[14.2433221,50.9070625],[14.2084114,50.844123],[14.0338583,50.8126214],[13.9789988,50.8252246],[13.9041903,50.7968626],[13.8742669,50.740087],[13.5351352,50.7243038],[13.530148,50.6579561],[13.4703012,50.6136722],[13.3905055,50.664279],[13.3256715,50.5883483],[13.250863,50.6105074],[13.1960035,50.5059517],[13.0513738,50.5218084],[12.9665909,50.4106997],[12.8269484,50.4710483],[12.7022676,50.4138779],[12.5077656,50.401164],[12.343187,50.2547088],[12.323238,50.1845054],[12.2484296,50.2738373],[12.1736211,50.3311765],[12.0988126,50.33436],[12.1187616,50.25152],[12.2234934,50.1653411],[12.2035445,50.1237921],[12.5027784,49.9732751],[12.4778422,49.9379795],[12.5476634,49.9155052],[12.4678677,49.8029766],[12.408021,49.7611134],[12.4828294,49.6869593],[12.5327017,49.6869593],[12.5177401,49.6288466],[12.6075102,49.5415474],[12.6723442,49.4378793],[12.8119867,49.3469896],[12.9466419,49.3437405],[13.2309141,49.1288206],[13.3256715,49.1059712],[13.4353906,49.0438984],[13.4154417,48.9948387],[13.5002246,48.949006],[13.5650586,48.9882938],[13.6847522,48.8834577],[13.7445989,48.9031312],[13.8243946,48.7751149],[13.8992031,48.7751149],[14.0587945,48.676418],[14.0438328,48.6302932],[14.1435774,48.5907241],[14.3729901,48.5610269],[14.4827091,48.6500662],[14.5774665,48.607215],[14.6273389,48.6335892],[14.7071346,48.5808269],[14.7470324,48.7027561],[14.8118664,48.7389485],[14.8168536,48.794831],[14.9864195,48.7652539]]],"terms_text":"Ortofoto public domain ÚHUL, year 2000"},{"name":"Danube flood ortophoto 2013","type":"tms","template":"http://e.tile.openstreetmap.hu/dunai-arviz-2013/{zoom}/{x}/{y}.jpg","scaleExtent":[10,20],"polygon":[[[19.0773152,47.6959718],[19.0779881,47.6959835],[19.0946205,47.6944562],[19.0805603,47.595874],[19.0743376,47.5890907],[19.0795196,47.5888284],[19.07717,47.5724109],[19.0577884,47.5720924],[19.0773152,47.6959718]]],"terms_url":"http://fototerkep.hu/","terms_text":"Fotótérkép.hu"},{"name":"FÖMI ortofotó 2000","type":"tms","description":"Hungary","template":"http://e.tile.openstreetmap.hu/ortofoto2000/{zoom}/{x}/{y}.jpg","scaleExtent":[0,17],"polygon":[[[16.1139147,46.8691038],[16.1789749,46.90662],[16.2000429,46.9415079],[16.2217547,46.9355441],[16.2462784,46.9463851],[16.2553226,46.9642125],[16.2764694,46.9626082],[16.290583,47.0139849],[16.3016199,46.9992329],[16.3414618,46.9965225],[16.3505162,47.0106313],[16.3734016,46.9985929],[16.412765,47.00475],[16.4332705,46.9927417],[16.4478119,47.003893],[16.479997,46.9941169],[16.5121988,47.0011695],[16.4635584,47.0322699],[16.4478586,47.0227481],[16.439123,47.029663],[16.445673,47.038872],[16.520323,47.056103],[16.473213,47.0736169],[16.4637199,47.09392],[16.500798,47.110058],[16.500035,47.123295],[16.5295349,47.1287419],[16.5171609,47.1496938],[16.454951,47.1425878],[16.4648728,47.1683349],[16.4555643,47.1875584],[16.4305559,47.1847022],[16.4195013,47.1949147],[16.4189215,47.2107114],[16.4371293,47.2097043],[16.4426335,47.2337117],[16.4313127,47.2527554],[16.4671512,47.2531652],[16.4892319,47.2798885],[16.4646338,47.3338455],[16.4337002,47.3528101],[16.458513,47.3670496],[16.4454619,47.4070195],[16.4831657,47.4093628],[16.4963821,47.3892659],[16.5170941,47.4100218],[16.5749054,47.4054243],[16.5807291,47.4191699],[16.661847,47.455595],[16.6706419,47.47422],[16.6523395,47.500342],[16.6895619,47.510161],[16.7147797,47.540199],[16.663545,47.567733],[16.673199,47.6049544],[16.6595343,47.6061018],[16.652758,47.622852],[16.6314207,47.6283176],[16.5739108,47.619667],[16.5147382,47.6461964],[16.4967504,47.6393149],[16.425464,47.6621679],[16.4437449,47.674205],[16.4480507,47.6964725],[16.4746984,47.6811576],[16.4872245,47.6979767],[16.5521729,47.7225519],[16.5363779,47.736785],[16.5479799,47.751544],[16.6095193,47.7603722],[16.6344148,47.7590843],[16.65729,47.7414879],[16.7209405,47.7353565],[16.7534062,47.6828165],[16.8301587,47.681058],[16.8394284,47.7045139],[16.8668943,47.7211462],[16.876679,47.6876452],[17.0937421,47.7077706],[17.0706562,47.7285366],[17.0516019,47.7938499],[17.0749479,47.8084997],[17.047139,47.8285635],[17.0519452,47.8377691],[17.0105513,47.8581765],[17.0163878,47.8673325],[17.0857537,47.8746239],[17.113171,47.9271605],[17.0917133,47.9342916],[17.1183782,47.9601083],[17.094657,47.9708775],[17.2010289,48.019992],[17.241769,48.0224651],[17.257955,47.998655],[17.334651,47.993125],[17.4029929,47.947849],[17.4539199,47.8852579],[17.5267369,47.865509],[17.5675779,47.8151289],[17.608402,47.8218859],[17.7085789,47.756678],[17.7798739,47.739487],[17.8660959,47.74575],[17.9001292,47.7392633],[17.946867,47.744668],[17.9708709,47.7578392],[18.0044103,47.7463402],[18.0380583,47.7576812],[18.2958774,47.7314616],[18.4540681,47.7651226],[18.4931553,47.7527552],[18.5590761,47.7659963],[18.6460866,47.7590921],[18.7260691,47.7890411],[18.7411784,47.8138245],[18.7920013,47.8230869],[18.8485417,47.8167221],[18.855876,47.826077],[18.828014,47.834291],[18.8135749,47.85555],[18.76353,47.8716049],[18.756858,47.896838],[18.776746,47.955092],[18.7552499,47.9763469],[18.8157429,47.993442],[18.819998,48.039676],[18.833268,48.048239],[18.8749364,48.0470707],[18.886674,48.058682],[18.9089819,48.051139],[18.9439039,48.058865],[18.9816099,48.0536009],[19.0148639,48.078179],[19.0585249,48.0573529],[19.0843619,48.072781],[19.107402,48.065596],[19.1352889,48.074146],[19.2413679,48.0536529],[19.2557819,48.0715559],[19.3031119,48.088711],[19.3865969,48.091914],[19.400018,48.082304],[19.454053,48.101436],[19.467354,48.083933],[19.4944199,48.109906],[19.492377,48.1396639],[19.5128219,48.154663],[19.504518,48.173443],[19.528967,48.190358],[19.526044,48.20313],[19.577502,48.2160149],[19.6308263,48.2500725],[19.6445239,48.2391719],[19.669857,48.239212],[19.691219,48.203894],[19.721125,48.201473],[19.74618,48.2165119],[19.7871629,48.19253],[19.7987329,48.19482],[19.8052829,48.183733],[19.782415,48.165039],[19.794812,48.153529],[19.821331,48.169081],[19.8452819,48.162742],[19.8551729,48.178431],[19.8601309,48.169409],[19.898745,48.1663119],[19.9145359,48.146863],[19.898298,48.1249019],[19.937383,48.131118],[19.9743939,48.1660049],[19.988706,48.1621679],[20.029038,48.1776849],[20.049449,48.1671999],[20.0729859,48.179606],[20.0700369,48.1917019],[20.1340909,48.225182],[20.1331879,48.253982],[20.206162,48.250979],[20.2038299,48.261906],[20.228466,48.262779],[20.2349469,48.279933],[20.286858,48.26164],[20.3257109,48.272794],[20.3374649,48.301667],[20.3656579,48.316606],[20.384077,48.3511809],[20.4098349,48.365857],[20.402532,48.382565],[20.4205349,48.403858],[20.416228,48.418536],[20.507929,48.489363],[20.5065069,48.534415],[20.537471,48.527878],[20.5464939,48.544292],[20.586595,48.535759],[20.6538739,48.561413],[20.836359,48.58284],[20.8378,48.57421],[20.8504359,48.5816329],[20.8453301,48.5665046],[20.8681549,48.551818],[20.922323,48.559453],[20.9346349,48.538341],[20.955882,48.533963],[20.9561979,48.521666],[20.9815849,48.5177669],[21.0151139,48.532313],[21.0663209,48.525894],[21.1174479,48.4910549],[21.1608749,48.521499],[21.179634,48.518232],[21.221061,48.537497],[21.305488,48.5222489],[21.313377,48.550841],[21.326875,48.554129],[21.319384,48.561201],[21.4154499,48.558951],[21.4226649,48.578821],[21.4406099,48.585104],[21.514091,48.551065],[21.5420199,48.508395],[21.6139329,48.509416],[21.6201879,48.469826],[21.663549,48.417961],[21.6645609,48.392164],[21.7017409,48.380695],[21.711871,48.357617],[21.8174139,48.332787],[21.8352029,48.3346409],[21.837213,48.363253],[21.8842979,48.356047],[21.8848429,48.367539],[21.897883,48.36256],[21.8997959,48.3702229],[21.9281859,48.3615969],[21.9268059,48.370899],[21.949198,48.378728],[21.994463,48.377323],[22.0213259,48.392749],[22.0546049,48.377528],[22.0764859,48.387241],[22.086743,48.371564],[22.1359089,48.380519],[22.131056,48.3912329],[22.152768,48.3962409],[22.1561913,48.4093076],[22.2125722,48.4256468],[22.2371405,48.4100396],[22.2654858,48.4098675],[22.2398761,48.3870055],[22.2675722,48.3611612],[22.3178106,48.3545437],[22.3132861,48.3250712],[22.3372944,48.3079113],[22.3384267,48.2792074],[22.3847547,48.2339632],[22.4006407,48.249198],[22.4328384,48.2525166],[22.456386,48.2423109],[22.4899029,48.2534237],[22.4972201,48.2395546],[22.5161491,48.237965],[22.5311088,48.2094282],[22.5711442,48.1961428],[22.5616362,48.1816066],[22.5982449,48.144756],[22.5902763,48.1073414],[22.6754492,48.091997],[22.7347192,48.119848],[22.7576242,48.1200599],[22.7703914,48.1090162],[22.772319,48.1218742],[22.8027688,48.1221112],[22.8025285,48.1070813],[22.8254256,48.1175119],[22.8364365,48.080249],[22.8611284,48.0750312],[22.8677955,48.0524256],[22.8820424,48.0548053],[22.8659692,48.0113165],[22.835562,47.9905988],[22.8407599,47.9813636],[22.8725729,47.9752683],[22.8697274,47.9659593],[22.8915652,47.9672446],[22.897435,47.9540629],[22.8473299,47.9077579],[22.7928135,47.8908586],[22.7586924,47.8941446],[22.77775,47.8422508],[22.7136344,47.8360928],[22.6801938,47.7877527],[22.6111171,47.7717455],[22.5490018,47.7722246],[22.4812121,47.8108886],[22.4513078,47.803389],[22.4313319,47.7398119],[22.3566167,47.7486206],[22.3177714,47.7660887],[22.3176236,47.7433657],[22.2851369,47.7292757],[22.264325,47.7310675],[22.2589955,47.6979057],[22.2306796,47.693196],[22.1796501,47.5916115],[22.1289245,47.5978984],[22.0942787,47.5583628],[22.0782587,47.5621299],[22.0534529,47.5474795],[22.0712176,47.5380742],[22.0617872,47.5288029],[22.0451278,47.5398919],[22.0367222,47.5326653],[22.0071886,47.48362],[22.0327909,47.4508372],[22.0238835,47.3908631],[22.0119849,47.3758016],[21.9627373,47.381053],[21.9382461,47.3725317],[21.8777922,47.2857763],[21.8872845,47.2730473],[21.8534909,47.2397622],[21.8580662,47.1873597],[21.8124804,47.1667511],[21.7924092,47.1059751],[21.7268258,47.0983882],[21.6976037,47.057915],[21.6504151,47.0408303],[21.6888701,47.0019977],[21.6678744,46.9712337],[21.6814917,46.9652089],[21.6381964,46.9330487],[21.5984455,46.9274708],[21.6142857,46.8867275],[21.6016694,46.8668202],[21.520328,46.8373749],[21.5186086,46.8000703],[21.4831761,46.7650246],[21.5263389,46.7393249],[21.529369,46.7209721],[21.4923253,46.6859652],[21.4728438,46.6959075],[21.4299047,46.693937],[21.4309553,46.6781367],[21.4546661,46.660863],[21.4162375,46.6426231],[21.4097959,46.6218052],[21.3657038,46.6379501],[21.3300499,46.6318155],[21.3139733,46.617666],[21.3012351,46.5908672],[21.3207905,46.5828562],[21.2743045,46.5407362],[21.2600254,46.5021583],[21.2744188,46.4767333],[21.2964506,46.4762973],[21.3174343,46.4507288],[21.2895176,46.4154784],[21.2963256,46.4069601],[21.2250116,46.4136899],[21.2064214,46.4033825],[21.1992563,46.3479034],[21.1762269,46.3357664],[21.180497,46.3044494],[21.1155437,46.3018529],[21.1030549,46.2624637],[21.0708792,46.2539014],[21.0660827,46.2429394],[21.0366237,46.2480392],[21.0246723,46.2665329],[20.960817,46.2623039],[20.9465849,46.2793024],[20.9250701,46.2766191],[20.9218133,46.2618129],[20.8732713,46.2877555],[20.7756538,46.2759602],[20.7490474,46.2508489],[20.7618619,46.204563],[20.727401,46.2077485],[20.7341052,46.1939355],[20.7140487,46.1660531],[20.6843592,46.1447802],[20.6549178,46.1497739],[20.6394471,46.1267602],[20.5450486,46.1790935],[20.5014839,46.190334],[20.4949436,46.1709908],[20.4592293,46.1428837],[20.3975133,46.1574709],[20.3685325,46.1528554],[20.3557074,46.1696256],[20.2968136,46.1521542],[20.2549024,46.1158522],[20.2484757,46.1300956],[20.2330132,46.1241668],[20.1817362,46.1601137],[20.1364966,46.1449476],[20.1009667,46.1772756],[20.0636156,46.1437275],[20.0346142,46.1458888],[20.0158072,46.1768354],[19.9354075,46.1764243],[19.8533469,46.1500005],[19.8179747,46.1281652],[19.7585403,46.1479754],[19.6982054,46.1879317],[19.6827672,46.1800388],[19.661508,46.1904394],[19.6317396,46.1692993],[19.5676482,46.179106],[19.5604013,46.1665762],[19.5026585,46.1424492],[19.5271208,46.1210269],[19.4645033,46.0953827],[19.4665828,46.0820437],[19.4160037,46.0460453],[19.3803957,46.0358749],[19.3640923,46.0522965],[19.2819012,46.0148048],[19.2965348,45.9881173],[19.2856472,45.9968981],[19.1479857,45.9963445],[19.1338422,46.0370993],[19.104873,46.0401673],[19.0660427,46.0001999],[19.0796791,45.9636376],[19.0059803,45.9590674],[19.0092745,45.9236559],[18.9061334,45.9353801],[18.8794572,45.9166827],[18.8647137,45.9208493],[18.8685629,45.9113361],[18.8276792,45.9051714],[18.8220041,45.9145893],[18.8075092,45.9036055],[18.809247,45.8796189],[18.7956242,45.8784488],[18.7048857,45.9181883],[18.6700246,45.9108439],[18.6596602,45.9168934],[18.6651348,45.899279],[18.6412808,45.8890396],[18.6550179,45.8742393],[18.6277704,45.8733782],[18.6148449,45.8531438],[18.6236656,45.8398531],[18.5732391,45.8137578],[18.5749849,45.8004344],[18.559716,45.8037961],[18.5223504,45.7826858],[18.4906706,45.7947167],[18.4821905,45.7655032],[18.4562828,45.7695229],[18.4450763,45.7605195],[18.446853,45.737128],[18.40763,45.7397119],[18.3918949,45.7616983],[18.3642257,45.7729364],[18.3394214,45.7471605],[18.2968157,45.7612196],[18.2440473,45.7612305],[18.2307311,45.7790328],[18.1908702,45.7878759],[18.1681939,45.7762712],[18.1246514,45.7896277],[18.1068067,45.7708256],[18.0818922,45.7645205],[17.9958808,45.7957311],[17.9302095,45.7863301],[17.9066757,45.7925692],[17.8653145,45.7670064],[17.8262748,45.8099957],[17.8089784,45.8040989],[17.7809054,45.8174884],[17.7603399,45.811923],[17.7408624,45.8295975],[17.6632915,45.8381849],[17.6276211,45.8979446],[17.5700676,45.9358204],[17.4378254,45.9503823],[17.4258964,45.9272681],[17.4108059,45.9399665],[17.392149,45.9302149],[17.3828713,45.9475733],[17.3476208,45.9423413],[17.3438769,45.9605329],[17.3537711,45.9525011],[17.3905375,45.9581914],[17.387423,45.9661823],[17.3583539,45.9642737],[17.3754852,45.9686921],[17.3751895,45.9881054],[17.3635685,45.9915442],[17.3567202,45.9735836],[17.3339583,45.9960781],[17.3319847,45.9728948],[17.3129974,45.9665347],[17.323647,45.9887776],[17.2987653,45.9838652],[17.3041996,46.0021128],[17.2579726,46.0110256],[17.29632,46.0285169],[17.2541514,46.030005],[17.270955,46.0567055],[17.2324767,46.0592034],[17.2525145,46.0664725],[17.2313144,46.0790345],[17.2019916,46.0765488],[17.2331299,46.0989644],[17.2104017,46.1001693],[17.2129734,46.113855],[17.175927,46.1084583],[17.1743424,46.1287608],[17.1865197,46.1332308],[17.1810983,46.1505485],[17.1562307,46.1585819],[17.1592857,46.1696818],[17.1261012,46.1684495],[17.1227409,46.1789791],[17.0752482,46.1889531],[17.0661614,46.2022984],[16.9735401,46.2251982],[16.973954,46.2431113],[16.9504085,46.2415285],[16.8862356,46.2814598],[16.8713682,46.3252767],[16.8802109,46.3356966],[16.8615374,46.3452401],[16.8656232,46.3556489],[16.8521959,46.3517189],[16.8498589,46.3626245],[16.8352859,46.3638195],[16.8376499,46.3748032],[16.8261732,46.3670994],[16.7933444,46.387385],[16.7592072,46.3776563],[16.7298672,46.40149],[16.7182119,46.3898704],[16.6772872,46.4494536],[16.6631785,46.4486958],[16.6663732,46.4582995],[16.6187915,46.4619875],[16.604468,46.4760773],[16.5235997,46.5053761],[16.5325768,46.5314027],[16.5176728,46.5363516],[16.5084107,46.5652692],[16.4829969,46.5660383],[16.4834008,46.5786011],[16.4455713,46.610952],[16.4248583,46.6131645],[16.385941,46.6442485],[16.3915424,46.6637257],[16.4198454,46.6584771],[16.4286335,46.6939737],[16.3689211,46.7040082],[16.3798266,46.7153869],[16.3710856,46.7222945],[16.3570587,46.7142387],[16.3185954,46.7541449],[16.3305417,46.7752119],[16.3121626,46.7780033],[16.3127666,46.797314],[16.3406373,46.8051851],[16.3508404,46.8300552],[16.3403309,46.8468762],[16.3015007,46.8595142],[16.2913867,46.8728341],[16.2332296,46.8766702],[16.1560866,46.8537074],[16.126571,46.8569079],[16.1139147,46.8691038]]],"terms_url":"http://www.fomi.hu/","terms_text":"Földmérési és Távérzékelési Intézet"},{"name":"FÖMI ortofotó 2005","type":"tms","description":"Hungary","template":"http://e.tile.openstreetmap.hu/ortofoto2005/{zoom}/{x}/{y}.jpg","scaleExtent":[0,17],"polygon":[[[16.1139147,46.8691038],[16.1789749,46.90662],[16.2000429,46.9415079],[16.2217547,46.9355441],[16.2462784,46.9463851],[16.2553226,46.9642125],[16.2764694,46.9626082],[16.290583,47.0139849],[16.3016199,46.9992329],[16.3414618,46.9965225],[16.3505162,47.0106313],[16.3734016,46.9985929],[16.412765,47.00475],[16.4332705,46.9927417],[16.4478119,47.003893],[16.479997,46.9941169],[16.5121988,47.0011695],[16.4635584,47.0322699],[16.4478586,47.0227481],[16.439123,47.029663],[16.445673,47.038872],[16.520323,47.056103],[16.473213,47.0736169],[16.4637199,47.09392],[16.500798,47.110058],[16.500035,47.123295],[16.5295349,47.1287419],[16.5171609,47.1496938],[16.454951,47.1425878],[16.4648728,47.1683349],[16.4555643,47.1875584],[16.4305559,47.1847022],[16.4195013,47.1949147],[16.4189215,47.2107114],[16.4371293,47.2097043],[16.4426335,47.2337117],[16.4313127,47.2527554],[16.4671512,47.2531652],[16.4892319,47.2798885],[16.4646338,47.3338455],[16.4337002,47.3528101],[16.458513,47.3670496],[16.4454619,47.4070195],[16.4831657,47.4093628],[16.4963821,47.3892659],[16.5170941,47.4100218],[16.5749054,47.4054243],[16.5807291,47.4191699],[16.661847,47.455595],[16.6706419,47.47422],[16.6523395,47.500342],[16.6895619,47.510161],[16.7147797,47.540199],[16.663545,47.567733],[16.673199,47.6049544],[16.6595343,47.6061018],[16.652758,47.622852],[16.6314207,47.6283176],[16.5739108,47.619667],[16.5147382,47.6461964],[16.4967504,47.6393149],[16.425464,47.6621679],[16.4437449,47.674205],[16.4480507,47.6964725],[16.4746984,47.6811576],[16.4872245,47.6979767],[16.5521729,47.7225519],[16.5363779,47.736785],[16.5479799,47.751544],[16.6095193,47.7603722],[16.6344148,47.7590843],[16.65729,47.7414879],[16.7209405,47.7353565],[16.7534062,47.6828165],[16.8301587,47.681058],[16.8394284,47.7045139],[16.8668943,47.7211462],[16.876679,47.6876452],[17.0937421,47.7077706],[17.0706562,47.7285366],[17.0516019,47.7938499],[17.0749479,47.8084997],[17.047139,47.8285635],[17.0519452,47.8377691],[17.0105513,47.8581765],[17.0163878,47.8673325],[17.0857537,47.8746239],[17.113171,47.9271605],[17.0917133,47.9342916],[17.1183782,47.9601083],[17.094657,47.9708775],[17.2010289,48.019992],[17.241769,48.0224651],[17.257955,47.998655],[17.334651,47.993125],[17.4029929,47.947849],[17.4539199,47.8852579],[17.5267369,47.865509],[17.5675779,47.8151289],[17.608402,47.8218859],[17.7085789,47.756678],[17.7798739,47.739487],[17.8660959,47.74575],[17.9001292,47.7392633],[17.946867,47.744668],[17.9708709,47.7578392],[18.0044103,47.7463402],[18.0380583,47.7576812],[18.2958774,47.7314616],[18.4540681,47.7651226],[18.4931553,47.7527552],[18.5590761,47.7659963],[18.6460866,47.7590921],[18.7260691,47.7890411],[18.7411784,47.8138245],[18.7920013,47.8230869],[18.8485417,47.8167221],[18.855876,47.826077],[18.828014,47.834291],[18.8135749,47.85555],[18.76353,47.8716049],[18.756858,47.896838],[18.776746,47.955092],[18.7552499,47.9763469],[18.8157429,47.993442],[18.819998,48.039676],[18.833268,48.048239],[18.8749364,48.0470707],[18.886674,48.058682],[18.9089819,48.051139],[18.9439039,48.058865],[18.9816099,48.0536009],[19.0148639,48.078179],[19.0585249,48.0573529],[19.0843619,48.072781],[19.107402,48.065596],[19.1352889,48.074146],[19.2413679,48.0536529],[19.2557819,48.0715559],[19.3031119,48.088711],[19.3865969,48.091914],[19.400018,48.082304],[19.454053,48.101436],[19.467354,48.083933],[19.4944199,48.109906],[19.492377,48.1396639],[19.5128219,48.154663],[19.504518,48.173443],[19.528967,48.190358],[19.526044,48.20313],[19.577502,48.2160149],[19.6308263,48.2500725],[19.6445239,48.2391719],[19.669857,48.239212],[19.691219,48.203894],[19.721125,48.201473],[19.74618,48.2165119],[19.7871629,48.19253],[19.7987329,48.19482],[19.8052829,48.183733],[19.782415,48.165039],[19.794812,48.153529],[19.821331,48.169081],[19.8452819,48.162742],[19.8551729,48.178431],[19.8601309,48.169409],[19.898745,48.1663119],[19.9145359,48.146863],[19.898298,48.1249019],[19.937383,48.131118],[19.9743939,48.1660049],[19.988706,48.1621679],[20.029038,48.1776849],[20.049449,48.1671999],[20.0729859,48.179606],[20.0700369,48.1917019],[20.1340909,48.225182],[20.1331879,48.253982],[20.206162,48.250979],[20.2038299,48.261906],[20.228466,48.262779],[20.2349469,48.279933],[20.286858,48.26164],[20.3257109,48.272794],[20.3374649,48.301667],[20.3656579,48.316606],[20.384077,48.3511809],[20.4098349,48.365857],[20.402532,48.382565],[20.4205349,48.403858],[20.416228,48.418536],[20.507929,48.489363],[20.5065069,48.534415],[20.537471,48.527878],[20.5464939,48.544292],[20.586595,48.535759],[20.6538739,48.561413],[20.836359,48.58284],[20.8378,48.57421],[20.8504359,48.5816329],[20.8453301,48.5665046],[20.8681549,48.551818],[20.922323,48.559453],[20.9346349,48.538341],[20.955882,48.533963],[20.9561979,48.521666],[20.9815849,48.5177669],[21.0151139,48.532313],[21.0663209,48.525894],[21.1174479,48.4910549],[21.1608749,48.521499],[21.179634,48.518232],[21.221061,48.537497],[21.305488,48.5222489],[21.313377,48.550841],[21.326875,48.554129],[21.319384,48.561201],[21.4154499,48.558951],[21.4226649,48.578821],[21.4406099,48.585104],[21.514091,48.551065],[21.5420199,48.508395],[21.6139329,48.509416],[21.6201879,48.469826],[21.663549,48.417961],[21.6645609,48.392164],[21.7017409,48.380695],[21.711871,48.357617],[21.8174139,48.332787],[21.8352029,48.3346409],[21.837213,48.363253],[21.8842979,48.356047],[21.8848429,48.367539],[21.897883,48.36256],[21.8997959,48.3702229],[21.9281859,48.3615969],[21.9268059,48.370899],[21.949198,48.378728],[21.994463,48.377323],[22.0213259,48.392749],[22.0546049,48.377528],[22.0764859,48.387241],[22.086743,48.371564],[22.1359089,48.380519],[22.131056,48.3912329],[22.152768,48.3962409],[22.1561913,48.4093076],[22.2125722,48.4256468],[22.2371405,48.4100396],[22.2654858,48.4098675],[22.2398761,48.3870055],[22.2675722,48.3611612],[22.3178106,48.3545437],[22.3132861,48.3250712],[22.3372944,48.3079113],[22.3384267,48.2792074],[22.3847547,48.2339632],[22.4006407,48.249198],[22.4328384,48.2525166],[22.456386,48.2423109],[22.4899029,48.2534237],[22.4972201,48.2395546],[22.5161491,48.237965],[22.5311088,48.2094282],[22.5711442,48.1961428],[22.5616362,48.1816066],[22.5982449,48.144756],[22.5902763,48.1073414],[22.6754492,48.091997],[22.7347192,48.119848],[22.7576242,48.1200599],[22.7703914,48.1090162],[22.772319,48.1218742],[22.8027688,48.1221112],[22.8025285,48.1070813],[22.8254256,48.1175119],[22.8364365,48.080249],[22.8611284,48.0750312],[22.8677955,48.0524256],[22.8820424,48.0548053],[22.8659692,48.0113165],[22.835562,47.9905988],[22.8407599,47.9813636],[22.8725729,47.9752683],[22.8697274,47.9659593],[22.8915652,47.9672446],[22.897435,47.9540629],[22.8473299,47.9077579],[22.7928135,47.8908586],[22.7586924,47.8941446],[22.77775,47.8422508],[22.7136344,47.8360928],[22.6801938,47.7877527],[22.6111171,47.7717455],[22.5490018,47.7722246],[22.4812121,47.8108886],[22.4513078,47.803389],[22.4313319,47.7398119],[22.3566167,47.7486206],[22.3177714,47.7660887],[22.3176236,47.7433657],[22.2851369,47.7292757],[22.264325,47.7310675],[22.2589955,47.6979057],[22.2306796,47.693196],[22.1796501,47.5916115],[22.1289245,47.5978984],[22.0942787,47.5583628],[22.0782587,47.5621299],[22.0534529,47.5474795],[22.0712176,47.5380742],[22.0617872,47.5288029],[22.0451278,47.5398919],[22.0367222,47.5326653],[22.0071886,47.48362],[22.0327909,47.4508372],[22.0238835,47.3908631],[22.0119849,47.3758016],[21.9627373,47.381053],[21.9382461,47.3725317],[21.8777922,47.2857763],[21.8872845,47.2730473],[21.8534909,47.2397622],[21.8580662,47.1873597],[21.8124804,47.1667511],[21.7924092,47.1059751],[21.7268258,47.0983882],[21.6976037,47.057915],[21.6504151,47.0408303],[21.6888701,47.0019977],[21.6678744,46.9712337],[21.6814917,46.9652089],[21.6381964,46.9330487],[21.5984455,46.9274708],[21.6142857,46.8867275],[21.6016694,46.8668202],[21.520328,46.8373749],[21.5186086,46.8000703],[21.4831761,46.7650246],[21.5263389,46.7393249],[21.529369,46.7209721],[21.4923253,46.6859652],[21.4728438,46.6959075],[21.4299047,46.693937],[21.4309553,46.6781367],[21.4546661,46.660863],[21.4162375,46.6426231],[21.4097959,46.6218052],[21.3657038,46.6379501],[21.3300499,46.6318155],[21.3139733,46.617666],[21.3012351,46.5908672],[21.3207905,46.5828562],[21.2743045,46.5407362],[21.2600254,46.5021583],[21.2744188,46.4767333],[21.2964506,46.4762973],[21.3174343,46.4507288],[21.2895176,46.4154784],[21.2963256,46.4069601],[21.2250116,46.4136899],[21.2064214,46.4033825],[21.1992563,46.3479034],[21.1762269,46.3357664],[21.180497,46.3044494],[21.1155437,46.3018529],[21.1030549,46.2624637],[21.0708792,46.2539014],[21.0660827,46.2429394],[21.0366237,46.2480392],[21.0246723,46.2665329],[20.960817,46.2623039],[20.9465849,46.2793024],[20.9250701,46.2766191],[20.9218133,46.2618129],[20.8732713,46.2877555],[20.7756538,46.2759602],[20.7490474,46.2508489],[20.7618619,46.204563],[20.727401,46.2077485],[20.7341052,46.1939355],[20.7140487,46.1660531],[20.6843592,46.1447802],[20.6549178,46.1497739],[20.6394471,46.1267602],[20.5450486,46.1790935],[20.5014839,46.190334],[20.4949436,46.1709908],[20.4592293,46.1428837],[20.3975133,46.1574709],[20.3685325,46.1528554],[20.3557074,46.1696256],[20.2968136,46.1521542],[20.2549024,46.1158522],[20.2484757,46.1300956],[20.2330132,46.1241668],[20.1817362,46.1601137],[20.1364966,46.1449476],[20.1009667,46.1772756],[20.0636156,46.1437275],[20.0346142,46.1458888],[20.0158072,46.1768354],[19.9354075,46.1764243],[19.8533469,46.1500005],[19.8179747,46.1281652],[19.7585403,46.1479754],[19.6982054,46.1879317],[19.6827672,46.1800388],[19.661508,46.1904394],[19.6317396,46.1692993],[19.5676482,46.179106],[19.5604013,46.1665762],[19.5026585,46.1424492],[19.5271208,46.1210269],[19.4645033,46.0953827],[19.4665828,46.0820437],[19.4160037,46.0460453],[19.3803957,46.0358749],[19.3640923,46.0522965],[19.2819012,46.0148048],[19.2965348,45.9881173],[19.2856472,45.9968981],[19.1479857,45.9963445],[19.1338422,46.0370993],[19.104873,46.0401673],[19.0660427,46.0001999],[19.0796791,45.9636376],[19.0059803,45.9590674],[19.0092745,45.9236559],[18.9061334,45.9353801],[18.8794572,45.9166827],[18.8647137,45.9208493],[18.8685629,45.9113361],[18.8276792,45.9051714],[18.8220041,45.9145893],[18.8075092,45.9036055],[18.809247,45.8796189],[18.7956242,45.8784488],[18.7048857,45.9181883],[18.6700246,45.9108439],[18.6596602,45.9168934],[18.6651348,45.899279],[18.6412808,45.8890396],[18.6550179,45.8742393],[18.6277704,45.8733782],[18.6148449,45.8531438],[18.6236656,45.8398531],[18.5732391,45.8137578],[18.5749849,45.8004344],[18.559716,45.8037961],[18.5223504,45.7826858],[18.4906706,45.7947167],[18.4821905,45.7655032],[18.4562828,45.7695229],[18.4450763,45.7605195],[18.446853,45.737128],[18.40763,45.7397119],[18.3918949,45.7616983],[18.3642257,45.7729364],[18.3394214,45.7471605],[18.2968157,45.7612196],[18.2440473,45.7612305],[18.2307311,45.7790328],[18.1908702,45.7878759],[18.1681939,45.7762712],[18.1246514,45.7896277],[18.1068067,45.7708256],[18.0818922,45.7645205],[17.9958808,45.7957311],[17.9302095,45.7863301],[17.9066757,45.7925692],[17.8653145,45.7670064],[17.8262748,45.8099957],[17.8089784,45.8040989],[17.7809054,45.8174884],[17.7603399,45.811923],[17.7408624,45.8295975],[17.6632915,45.8381849],[17.6276211,45.8979446],[17.5700676,45.9358204],[17.4378254,45.9503823],[17.4258964,45.9272681],[17.4108059,45.9399665],[17.392149,45.9302149],[17.3828713,45.9475733],[17.3476208,45.9423413],[17.3438769,45.9605329],[17.3537711,45.9525011],[17.3905375,45.9581914],[17.387423,45.9661823],[17.3583539,45.9642737],[17.3754852,45.9686921],[17.3751895,45.9881054],[17.3635685,45.9915442],[17.3567202,45.9735836],[17.3339583,45.9960781],[17.3319847,45.9728948],[17.3129974,45.9665347],[17.323647,45.9887776],[17.2987653,45.9838652],[17.3041996,46.0021128],[17.2579726,46.0110256],[17.29632,46.0285169],[17.2541514,46.030005],[17.270955,46.0567055],[17.2324767,46.0592034],[17.2525145,46.0664725],[17.2313144,46.0790345],[17.2019916,46.0765488],[17.2331299,46.0989644],[17.2104017,46.1001693],[17.2129734,46.113855],[17.175927,46.1084583],[17.1743424,46.1287608],[17.1865197,46.1332308],[17.1810983,46.1505485],[17.1562307,46.1585819],[17.1592857,46.1696818],[17.1261012,46.1684495],[17.1227409,46.1789791],[17.0752482,46.1889531],[17.0661614,46.2022984],[16.9735401,46.2251982],[16.973954,46.2431113],[16.9504085,46.2415285],[16.8862356,46.2814598],[16.8713682,46.3252767],[16.8802109,46.3356966],[16.8615374,46.3452401],[16.8656232,46.3556489],[16.8521959,46.3517189],[16.8498589,46.3626245],[16.8352859,46.3638195],[16.8376499,46.3748032],[16.8261732,46.3670994],[16.7933444,46.387385],[16.7592072,46.3776563],[16.7298672,46.40149],[16.7182119,46.3898704],[16.6772872,46.4494536],[16.6631785,46.4486958],[16.6663732,46.4582995],[16.6187915,46.4619875],[16.604468,46.4760773],[16.5235997,46.5053761],[16.5325768,46.5314027],[16.5176728,46.5363516],[16.5084107,46.5652692],[16.4829969,46.5660383],[16.4834008,46.5786011],[16.4455713,46.610952],[16.4248583,46.6131645],[16.385941,46.6442485],[16.3915424,46.6637257],[16.4198454,46.6584771],[16.4286335,46.6939737],[16.3689211,46.7040082],[16.3798266,46.7153869],[16.3710856,46.7222945],[16.3570587,46.7142387],[16.3185954,46.7541449],[16.3305417,46.7752119],[16.3121626,46.7780033],[16.3127666,46.797314],[16.3406373,46.8051851],[16.3508404,46.8300552],[16.3403309,46.8468762],[16.3015007,46.8595142],[16.2913867,46.8728341],[16.2332296,46.8766702],[16.1560866,46.8537074],[16.126571,46.8569079],[16.1139147,46.8691038]]],"terms_url":"http://www.fomi.hu/","terms_text":"Földmérési és Távérzékelési Intézet"},{"name":"FR-BAN","type":"tms","description":"French address registry or Base Adresses Nationale","template":"http://{switch:a,b,c}.layers.openstreetmap.fr/bano/{zoom}/{x}/{y}.png","scaleExtent":[12,20],"polygon":[[[8.3247852,49.0891892],[6.1566882,49.6167369],[4.8666714,50.2126152],[2.4937064,51.1761675],[1.3121526,50.9324682],[1.2659981,50.1877492],[0.1121369,49.8258592],[-0.3494075,49.4312336],[-1.0232625,49.4852345],[-1.3278818,49.7901162],[-2.1032765,49.7901162],[-1.6232703,48.7420657],[-3.1002126,48.9728514],[-5.1125465,48.6811558],[-5.3525496,48.4367783],[-4.5984193,47.7194959],[-2.555398,47.0232784],[-2.4738077,46.6638823],[-1.6676954,46.1055717],[-1.334807,45.5141125],[-1.4914604,44.1627003],[-1.9940567,43.3708146],[-0.956228,42.7364747],[2.2029487,42.2841894],[3.2342502,42.5444129],[3.2407774,43.1140543],[4.0436261,43.3280964],[6.4325902,42.808345],[7.6270723,43.5934102],[7.8163619,44.1720643],[7.0396221,44.41967],[7.268075,45.4958141],[7.1244761,46.2140775],[6.5631347,46.771283],[7.6571492,47.59128],[7.6527839,47.5941813],[7.6224698,47.5776739],[7.6047297,47.578221],[7.5877054,47.5901532],[7.521558,47.65161],[7.503992,47.70235],[7.520958,47.77685],[7.557124,47.84839],[7.549463,47.879205],[7.574615,47.93028],[7.613179,47.96804],[7.611904,47.9871],[7.5612401,48.0383618],[7.574915,48.1258],[7.595338,48.15977],[7.633047,48.19717],[7.662748,48.22473],[7.684659,48.30305],[7.763463,48.49158],[7.8004602,48.5125977],[7.799582,48.5878],[7.834088,48.64439],[7.9121073,48.6889897],[7.9672295,48.7571585],[8.020692,48.78879],[8.043024,48.7956],[8.0864658,48.8130551],[8.1364418,48.8978239],[8.1970586,48.96021],[8.2816129,48.9948995],[8.2996723,49.025966],[8.3124269,49.0599642],[8.3247852,49.0891892]],[[9.3609615,43.1345098],[8.4393174,42.48439],[8.4836272,41.8175373],[8.8469677,41.3768281],[9.2058772,41.3136241],[9.48946,41.5461776],[9.6356823,42.1994563],[9.6046655,42.901254],[9.3609615,43.1345098]]],"terms_url":"https://wiki.openstreetmap.org/wiki/WikiProject_France/WikiProject_Base_Adresses_Nationale_Ouverte_(BANO)","terms_text":"Tiles © cquest@Openstreetmap France, data © OpenStreetMap contributors, ODBL","id":"FR-BAN"},{"name":"FR-Cadastre","type":"tms","description":"French land registry","template":"http://tms.cadastre.openstreetmap.fr/*/tout/{z}/{x}/{y}.png","scaleExtent":[12,20],"polygon":[[[8.3247852,49.0891892],[6.1566882,49.6167369],[4.8666714,50.2126152],[2.4937064,51.1761675],[1.3121526,50.9324682],[1.2659981,50.1877492],[0.1121369,49.8258592],[-0.3494075,49.4312336],[-1.0232625,49.4852345],[-1.3278818,49.7901162],[-2.1032765,49.7901162],[-1.6232703,48.7420657],[-3.1002126,48.9728514],[-5.1125465,48.6811558],[-5.3525496,48.4367783],[-4.5984193,47.7194959],[-2.555398,47.0232784],[-2.4738077,46.6638823],[-1.6676954,46.1055717],[-1.334807,45.5141125],[-1.4914604,44.1627003],[-1.9940567,43.3708146],[-0.956228,42.7364747],[2.2029487,42.2841894],[3.2342502,42.5444129],[3.2407774,43.1140543],[4.0436261,43.3280964],[6.4325902,42.808345],[7.6270723,43.5934102],[7.8163619,44.1720643],[7.0396221,44.41967],[7.268075,45.4958141],[7.1244761,46.2140775],[6.5631347,46.771283],[7.6571492,47.59128],[7.6527839,47.5941813],[7.6224698,47.5776739],[7.6047297,47.578221],[7.5877054,47.5901532],[7.521558,47.65161],[7.503992,47.70235],[7.520958,47.77685],[7.557124,47.84839],[7.549463,47.879205],[7.574615,47.93028],[7.613179,47.96804],[7.611904,47.9871],[7.5612401,48.0383618],[7.574915,48.1258],[7.595338,48.15977],[7.633047,48.19717],[7.662748,48.22473],[7.684659,48.30305],[7.763463,48.49158],[7.8004602,48.5125977],[7.799582,48.5878],[7.834088,48.64439],[7.9121073,48.6889897],[7.9672295,48.7571585],[8.020692,48.78879],[8.043024,48.7956],[8.0864658,48.8130551],[8.1364418,48.8978239],[8.1970586,48.96021],[8.2816129,48.9948995],[8.2996723,49.025966],[8.3124269,49.0599642],[8.3247852,49.0891892]],[[9.3609615,43.1345098],[8.4393174,42.48439],[8.4836272,41.8175373],[8.8469677,41.3768281],[9.2058772,41.3136241],[9.48946,41.5461776],[9.6356823,42.1994563],[9.6046655,42.901254],[9.3609615,43.1345098]]],"terms_url":"http://wiki.openstreetmap.org/wiki/WikiProject_Cadastre_Fran%C3%A7ais/Conditions_d%27utilisation","terms_text":"cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2015","id":"FR-Cadastre"},{"name":"Freemap.sk Car","type":"tms","template":"http://t{switch:1,2,3,4}.freemap.sk/A/{zoom}/{x}/{y}.jpeg","scaleExtent":[8,16],"polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_text":"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."},{"name":"Freemap.sk Cyclo","type":"tms","template":"http://t{switch:1,2,3,4}.freemap.sk/C/{zoom}/{x}/{y}.jpeg","scaleExtent":[8,16],"polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_text":"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."},{"name":"Freemap.sk Hiking","type":"tms","template":"http://t{switch:1,2,3,4}.freemap.sk/T/{zoom}/{x}/{y}.jpeg","scaleExtent":[8,16],"polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_text":"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."},{"name":"Freemap.sk Ski","type":"tms","template":"http://t{switch:1,2,3,4}.freemap.sk/K/{zoom}/{x}/{y}.jpeg","scaleExtent":[8,16],"polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_text":"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."},{"name":"Fugro (Denmark)","type":"tms","template":"http://{switch:a,b,c}.tile.openstreetmap.dk/fugro2005/{zoom}/{x}/{y}.png","scaleExtent":[0,19],"polygon":[[[8.3743941,54.9551655],[8.3683809,55.4042149],[8.2103997,55.4039795],[8.2087314,55.4937345],[8.0502655,55.4924731],[8.0185123,56.7501399],[8.1819161,56.7509948],[8.1763274,57.0208898],[8.3413329,57.0219872],[8.3392467,57.1119574],[8.5054433,57.1123212],[8.5033923,57.2020499],[9.3316304,57.2027636],[9.3319079,57.2924835],[9.4978864,57.2919578],[9.4988593,57.3820608],[9.6649749,57.3811615],[9.6687295,57.5605591],[9.8351961,57.5596265],[9.8374896,57.6493322],[10.1725726,57.6462818],[10.1754245,57.7367768],[10.5118282,57.7330269],[10.5152095,57.8228945],[10.6834853,57.8207722],[10.6751613,57.6412021],[10.5077045,57.6433097],[10.5039992,57.5535088],[10.671038,57.5514113],[10.6507805,57.1024538],[10.4857673,57.1045138],[10.4786236,56.9249051],[10.3143981,56.9267573],[10.3112341,56.8369269],[10.4750295,56.83509],[10.4649016,56.5656681],[10.9524239,56.5589761],[10.9479249,56.4692243],[11.1099335,56.4664675],[11.1052639,56.376833],[10.9429901,56.3795284],[10.9341235,56.1994768],[10.7719685,56.2020244],[10.7694751,56.1120103],[10.6079695,56.1150259],[10.4466742,56.116717],[10.2865948,56.118675],[10.2831527,56.0281851],[10.4439274,56.0270388],[10.4417713,55.7579243],[10.4334961,55.6693533],[10.743814,55.6646861],[10.743814,55.5712253],[10.8969041,55.5712253],[10.9051793,55.3953852],[11.0613726,55.3812841],[11.0593038,55.1124061],[11.0458567,55.0318621],[11.2030844,55.0247474],[11.2030844,55.117139],[11.0593038,55.1124061],[11.0613726,55.3812841],[11.0789572,55.5712253],[10.8969041,55.5712253],[10.9258671,55.6670198],[10.743814,55.6646861],[10.7562267,55.7579243],[10.4417713,55.7579243],[10.4439274,56.0270388],[10.4466742,56.116717],[10.6079695,56.1150259],[10.6052053,56.0247462],[10.9258671,56.0201215],[10.9197132,55.9309388],[11.0802782,55.92792],[11.0858066,56.0178284],[11.7265047,56.005058],[11.7319981,56.0952142],[12.0540333,56.0871256],[12.0608477,56.1762576],[12.7023469,56.1594405],[12.6611131,55.7114318],[12.9792318,55.7014026],[12.9612912,55.5217294],[12.3268659,55.5412096],[12.3206071,55.4513655],[12.4778226,55.447067],[12.4702432,55.3570479],[12.6269738,55.3523837],[12.6200898,55.2632576],[12.4627339,55.26722],[12.4552949,55.1778223],[12.2987046,55.1822303],[12.2897344,55.0923641],[12.6048608,55.0832904],[12.5872011,54.9036285],[12.2766618,54.9119031],[12.2610181,54.7331602],[12.1070691,54.7378161],[12.0858621,54.4681655],[11.7794953,54.4753579],[11.7837381,54.5654783],[11.1658525,54.5782155],[11.1706443,54.6686508],[10.8617173,54.6733956],[10.8651245,54.7634667],[10.7713646,54.7643888],[10.7707276,54.7372807],[10.7551428,54.7375776],[10.7544039,54.7195666],[10.7389074,54.7197588],[10.7384368,54.7108482],[10.7074486,54.7113045],[10.7041094,54.6756741],[10.5510973,54.6781698],[10.5547184,54.7670245],[10.2423994,54.7705935],[10.2459845,54.8604673],[10.0902268,54.8622134],[10.0873731,54.7723851],[9.1555798,54.7769557],[9.1562752,54.8675369],[8.5321973,54.8663765],[8.531432,54.95516]],[[11.4577738,56.819554],[11.7849181,56.8127385],[11.7716715,56.6332796],[11.4459621,56.6401087]],[[11.3274736,57.3612962],[11.3161808,57.1818004],[11.1508692,57.1847276],[11.1456628,57.094962],[10.8157703,57.1001693],[10.8290599,57.3695272]],[[11.5843266,56.2777928],[11.5782882,56.1880397],[11.7392309,56.1845765],[11.7456428,56.2743186]],[[14.6825922,55.3639405],[14.8395247,55.3565231],[14.8263755,55.2671261],[15.1393406,55.2517359],[15.1532015,55.3410836],[15.309925,55.3330556],[15.295719,55.2437356],[15.1393406,55.2517359],[15.1255631,55.1623802],[15.2815819,55.1544167],[15.2535578,54.9757646],[14.6317464,55.0062496]]],"terms_url":"http://wiki.openstreetmap.org/wiki/Fugro","terms_text":"Fugro Aerial Mapping"},{"name":"Geodatastyrelsen (Denmark)","type":"tms","template":"http://mapproxy.gpweb.dk/tiles/1.0.0/kortforsyningen_ortoforaar/EPSG3857/{zoom}/{x}/{y}.jpeg","scaleExtent":[0,21],"polygon":[[[8.3743941,54.9551655],[8.3683809,55.4042149],[8.2103997,55.4039795],[8.2087314,55.4937345],[8.0502655,55.4924731],[8.0185123,56.7501399],[8.1819161,56.7509948],[8.1763274,57.0208898],[8.3413329,57.0219872],[8.3392467,57.1119574],[8.5054433,57.1123212],[8.5033923,57.2020499],[9.3316304,57.2027636],[9.3319079,57.2924835],[9.4978864,57.2919578],[9.4988593,57.3820608],[9.6649749,57.3811615],[9.6687295,57.5605591],[9.8351961,57.5596265],[9.8374896,57.6493322],[10.1725726,57.6462818],[10.1754245,57.7367768],[10.5118282,57.7330269],[10.5152095,57.8228945],[10.6834853,57.8207722],[10.6751613,57.6412021],[10.5077045,57.6433097],[10.5039992,57.5535088],[10.671038,57.5514113],[10.6507805,57.1024538],[10.4857673,57.1045138],[10.4786236,56.9249051],[10.3143981,56.9267573],[10.3112341,56.8369269],[10.4750295,56.83509],[10.4649016,56.5656681],[10.9524239,56.5589761],[10.9479249,56.4692243],[11.1099335,56.4664675],[11.1052639,56.376833],[10.9429901,56.3795284],[10.9341235,56.1994768],[10.7719685,56.2020244],[10.7694751,56.1120103],[10.6079695,56.1150259],[10.4466742,56.116717],[10.2865948,56.118675],[10.2831527,56.0281851],[10.4439274,56.0270388],[10.4417713,55.7579243],[10.4334961,55.6693533],[10.743814,55.6646861],[10.743814,55.5712253],[10.8969041,55.5712253],[10.9051793,55.3953852],[11.0613726,55.3812841],[11.0593038,55.1124061],[11.0458567,55.0318621],[11.2030844,55.0247474],[11.2030844,55.117139],[11.0593038,55.1124061],[11.0613726,55.3812841],[11.0789572,55.5712253],[10.8969041,55.5712253],[10.9258671,55.6670198],[10.743814,55.6646861],[10.7562267,55.7579243],[10.4417713,55.7579243],[10.4439274,56.0270388],[10.4466742,56.116717],[10.6079695,56.1150259],[10.6052053,56.0247462],[10.9258671,56.0201215],[10.9197132,55.9309388],[11.0802782,55.92792],[11.0858066,56.0178284],[11.7265047,56.005058],[11.7319981,56.0952142],[12.0540333,56.0871256],[12.0608477,56.1762576],[12.7023469,56.1594405],[12.6611131,55.7114318],[12.9792318,55.7014026],[12.9612912,55.5217294],[12.3268659,55.5412096],[12.3206071,55.4513655],[12.4778226,55.447067],[12.4702432,55.3570479],[12.6269738,55.3523837],[12.6200898,55.2632576],[12.4627339,55.26722],[12.4552949,55.1778223],[12.2987046,55.1822303],[12.2897344,55.0923641],[12.6048608,55.0832904],[12.5872011,54.9036285],[12.2766618,54.9119031],[12.2610181,54.7331602],[12.1070691,54.7378161],[12.0858621,54.4681655],[11.7794953,54.4753579],[11.7837381,54.5654783],[11.1658525,54.5782155],[11.1706443,54.6686508],[10.8617173,54.6733956],[10.8651245,54.7634667],[10.7713646,54.7643888],[10.7707276,54.7372807],[10.7551428,54.7375776],[10.7544039,54.7195666],[10.7389074,54.7197588],[10.7384368,54.7108482],[10.7074486,54.7113045],[10.7041094,54.6756741],[10.5510973,54.6781698],[10.5547184,54.7670245],[10.2423994,54.7705935],[10.2459845,54.8604673],[10.0902268,54.8622134],[10.0873731,54.7723851],[9.1555798,54.7769557],[9.1562752,54.8675369],[8.5321973,54.8663765],[8.531432,54.95516]],[[11.4577738,56.819554],[11.7849181,56.8127385],[11.7716715,56.6332796],[11.4459621,56.6401087]],[[11.3274736,57.3612962],[11.3161808,57.1818004],[11.1508692,57.1847276],[11.1456628,57.094962],[10.8157703,57.1001693],[10.8290599,57.3695272]],[[11.5843266,56.2777928],[11.5782882,56.1880397],[11.7392309,56.1845765],[11.7456428,56.2743186]],[[14.6825922,55.3639405],[14.8395247,55.3565231],[14.8263755,55.2671261],[15.1393406,55.2517359],[15.1532015,55.3410836],[15.309925,55.3330556],[15.295719,55.2437356],[15.1393406,55.2517359],[15.1255631,55.1623802],[15.2815819,55.1544167],[15.2535578,54.9757646],[14.6317464,55.0062496]]],"terms_url":"http://download.kortforsyningen.dk/content/vilkaar-og-betingelser","terms_text":"Geodatastyrelsen og Danske Kommuner"},{"name":"Geoportal.gov.pl (Orthophotomap)","type":"tms","template":"http://wms.misek.pl/geoportal.orto/tms/{zoom}/{x}/{y}","scaleExtent":[6,24],"polygon":[[[15.9751041,54.3709213],[16.311164,54.5561775],[17.1391878,54.7845723],[18.3448458,54.9022727],[19.6613689,54.4737213],[20.2815206,54.4213456],[21.4663914,54.3406369],[22.7759855,54.3769755],[22.8625989,54.4233613],[23.2956657,54.2678633],[23.5347186,54.0955258],[23.5208604,53.9775182],[23.7183389,53.4629603],[23.9296755,53.1856735],[23.9296755,52.6887269],[23.732197,52.6067497],[23.5658994,52.5878101],[23.2090523,52.3302642],[23.1951942,52.2370089],[23.5035377,52.1860596],[23.6906226,52.0030113],[23.5970802,51.739903],[23.6629063,51.3888562],[23.9366046,50.9827781],[24.1687284,50.8604752],[24.0197534,50.8035823],[24.1098313,50.6610467],[24.0578633,50.4188439],[23.6178674,50.3083403],[22.6824431,49.5163532],[22.7378756,49.2094935],[22.9041733,49.0780441],[22.8625989,48.9940062],[22.6096878,49.0371785],[22.0761495,49.2004392],[21.8474902,49.3721872],[21.3763135,49.4488281],[21.1026153,49.3721872],[20.9120659,49.3022043],[20.6452967,49.3902311],[20.1845136,49.3315641],[20.1186875,49.2004392],[19.9419962,49.1302123],[19.765305,49.2117568],[19.7479823,49.3992506],[19.6024718,49.4150307],[19.5089294,49.5815389],[19.4292451,49.5905232],[19.2317666,49.4150307],[18.9961783,49.387976],[18.9338167,49.4916048],[18.8368097,49.4938552],[18.8021643,49.6623381],[18.6427958,49.7094091],[18.521537,49.8994693],[18.0815412,50.0109209],[17.8875272,49.9886512],[17.7385522,50.0687739],[17.6068999,50.1709584],[17.7454813,50.2153184],[17.710836,50.3017019],[17.4163505,50.2640668],[16.9486384,50.4453265],[16.8932058,50.4033889],[17.0006064,50.3105529],[17.017929,50.2241854],[16.8135215,50.186489],[16.6402948,50.0976742],[16.4324227,50.2862087],[16.1968344,50.4276731],[16.4220291,50.5885165],[16.3388803,50.6632429],[16.2280152,50.6368824],[16.0547884,50.6127057],[15.5732181,50.7641544],[15.2683391,50.8976368],[15.2440873,50.980597],[15.0292862,51.0133036],[15.0015699,50.8582883],[14.8110205,50.8735944],[14.956531,51.0721176],[15.0188926,51.2914636],[14.9392083,51.4601459],[14.7209426,51.5571799],[14.7521234,51.6260562],[14.5996839,51.8427626],[14.70362,52.0733396],[14.5581095,52.2497371],[14.5165351,52.425436],[14.6031485,52.5878101],[14.1146491,52.8208272],[14.152759,52.9733951],[14.3502374,53.0734212],[14.4229927,53.2665624],[14.1977979,53.8734759],[14.2220497,53.9958517]]],"terms_text":"Copyright © Główny Urząd Geodezji i Kartografii.","best":true},{"name":"IBGE Mapa de Setores Rurais","type":"tms","template":"http://{switch:a,b,c}.tiles.mapbox.com/v4/tmpsantos.i00mo1kj/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw","scaleExtent":[0,14],"polygon":[[[-29.3325,2.335959],[-28.72472,2.031551],[-27.76041,-8.937033],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.838943],[-66.52331,-9.985873],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.669083],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.587397],[-73.29207,-9.454149],[-73.0625,-9.017267],[-73.61432,-8.40982],[-74.09056,-7.527548],[-74.03652,-7.27885],[-73.84718,-7.238285],[-73.78618,-6.774872],[-73.22362,-6.430106],[-73.33719,-6.029736],[-72.93016,-5.038711],[-71.93973,-4.425027],[-70.96802,-4.248294],[-70.79598,-4.064931],[-70.02393,-4.167345],[-69.51025,-1.134089],[-69.70776,-0.567619],[-70.13645,-0.226161],[-70.14083,0.5844],[-69.26594,0.806502],[-69.34226,0.968924],[-69.92481,1.015705],[-69.92343,1.773851],[-68.38511,1.82943],[-68.24848,2.119808],[-67.94571,1.948424],[-67.37696,2.327468],[-67.05751,1.858336],[-67.00579,1.291603],[-66.79967,1.314684],[-66.28683,0.857709],[-65.67671,1.111146],[-65.42494,0.966549],[-65.15671,1.24203],[-64.27483,1.601591],[-64.0486,2.065137],[-63.47236,2.279358],[-64.13446,2.433909],[-64.10005,2.723778],[-64.32628,3.118275],[-64.28142,3.541983],[-64.88451,4.117671],[-64.88064,4.342461],[-64.13653,4.223152],[-63.95465,4.021316],[-63.17706,4.048301],[-62.96093,3.763658],[-62.82024,4.106019],[-62.49922,4.270815],[-61.91181,4.26284],[-61.35393,4.630097],[-61.04904,4.623115],[-60.70452,4.969851],[-60.78709,5.296764],[-60.22457,5.371207],[-59.89857,5.107541],[-59.97549,4.603025],[-59.59676,4.439875],[-59.41942,3.96994],[-59.71017,3.542008],[-59.88955,2.72301],[-59.63006,2.316332],[-59.63382,1.966581],[-59.18812,1.478079],[-58.80545,1.320732],[-58.35933,1.689932],[-57.6,1.803907],[-57.39854,2.065119],[-57.12392,2.128758],[-56.02925,1.949445],[-56.23884,2.263348],[-55.98195,2.628657],[-55.64816,2.519953],[-54.93958,2.682515],[-54.24988,2.25056],[-53.73937,2.473731],[-52.98578,2.280494],[-52.65712,2.564069],[-52.41739,3.22121],[-51.73983,4.119158],[-51.7246,4.556867],[-51.0112,5.522895],[-43.48209,5.335832],[-29.3325,2.335959]]]},{"name":"IBGE Mapa de Setores Urbanos","type":"tms","template":"http://{switch:a,b,c}.tiles.mapbox.com/v4/tmpsantos.hgda0m6h/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw","scaleExtent":[0,19],"polygon":[[[-29.3325,2.335959],[-28.72472,2.031551],[-27.76041,-8.937033],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.838943],[-66.52331,-9.985873],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.669083],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.587397],[-73.29207,-9.454149],[-73.0625,-9.017267],[-73.61432,-8.40982],[-74.09056,-7.527548],[-74.03652,-7.27885],[-73.84718,-7.238285],[-73.78618,-6.774872],[-73.22362,-6.430106],[-73.33719,-6.029736],[-72.93016,-5.038711],[-71.93973,-4.425027],[-70.96802,-4.248294],[-70.79598,-4.064931],[-70.02393,-4.167345],[-69.51025,-1.134089],[-69.70776,-0.567619],[-70.13645,-0.226161],[-70.14083,0.5844],[-69.26594,0.806502],[-69.34226,0.968924],[-69.92481,1.015705],[-69.92343,1.773851],[-68.38511,1.82943],[-68.24848,2.119808],[-67.94571,1.948424],[-67.37696,2.327468],[-67.05751,1.858336],[-67.00579,1.291603],[-66.79967,1.314684],[-66.28683,0.857709],[-65.67671,1.111146],[-65.42494,0.966549],[-65.15671,1.24203],[-64.27483,1.601591],[-64.0486,2.065137],[-63.47236,2.279358],[-64.13446,2.433909],[-64.10005,2.723778],[-64.32628,3.118275],[-64.28142,3.541983],[-64.88451,4.117671],[-64.88064,4.342461],[-64.13653,4.223152],[-63.95465,4.021316],[-63.17706,4.048301],[-62.96093,3.763658],[-62.82024,4.106019],[-62.49922,4.270815],[-61.91181,4.26284],[-61.35393,4.630097],[-61.04904,4.623115],[-60.70452,4.969851],[-60.78709,5.296764],[-60.22457,5.371207],[-59.89857,5.107541],[-59.97549,4.603025],[-59.59676,4.439875],[-59.41942,3.96994],[-59.71017,3.542008],[-59.88955,2.72301],[-59.63006,2.316332],[-59.63382,1.966581],[-59.18812,1.478079],[-58.80545,1.320732],[-58.35933,1.689932],[-57.6,1.803907],[-57.39854,2.065119],[-57.12392,2.128758],[-56.02925,1.949445],[-56.23884,2.263348],[-55.98195,2.628657],[-55.64816,2.519953],[-54.93958,2.682515],[-54.24988,2.25056],[-53.73937,2.473731],[-52.98578,2.280494],[-52.65712,2.564069],[-52.41739,3.22121],[-51.73983,4.119158],[-51.7246,4.556867],[-51.0112,5.522895],[-43.48209,5.335832],[-29.3325,2.335959]]]},{"name":"Imagerie Drone (Haiti)","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/iomhaiti/{zoom}/{x}/{y}","polygon":[[[-72.1547401,19.6878969],[-72.162234,19.689011],[-72.164995,19.6932445],[-72.1657838,19.6979977],[-72.161603,19.7035677],[-72.1487449,19.7028993],[-72.1477194,19.7026765],[-72.1485082,19.7001514],[-72.1436963,19.7011169],[-72.1410143,19.7000029],[-72.139476,19.6973664],[-72.1382533,19.6927617],[-72.1386872,19.6923161],[-72.1380561,19.6896423],[-72.1385294,19.6894938],[-72.1388055,19.6901251],[-72.1388844,19.6876741],[-72.1378195,19.6872656],[-72.13778,19.6850003],[-72.1369517,19.6855945],[-72.136794,19.6840719],[-72.135729,19.6835148],[-72.1355713,19.6740817],[-72.1366362,19.6708133],[-72.1487843,19.6710733],[-72.1534779,19.6763843],[-72.1530835,19.6769414],[-72.1533251,19.6769768],[-72.1532807,19.6796525],[-72.1523834,19.6797175],[-72.1522749,19.6803488],[-72.1519101,19.6803395],[-72.1518608,19.6805067],[-72.1528173,19.6806552],[-72.1522299,19.6833011],[-72.1507801,19.6831499],[-72.1504457,19.6847862],[-72.1508591,19.6843492],[-72.1530087,19.6849898],[-72.1546258,19.6854354],[-72.1543103,19.6870694],[-72.1547244,19.6868466],[-72.1548501,19.6877564],[-72.1545814,19.6877982]],[[-72.1310601,19.6718929],[-72.1259842,19.6772765],[-72.1255379,19.6776179],[-72.1216891,19.6776442],[-72.1149677,19.672602],[-72.1152745,19.6687152],[-72.1198205,19.6627535],[-72.1227768,19.6625696],[-72.1248965,19.662701],[-72.1285779,19.6645394],[-72.1308091,19.6661677],[-72.1316737,19.668794],[-72.1315621,19.671]],[[-71.845795,19.6709758],[-71.8429354,19.6759525],[-71.8410027,19.6759525],[-71.8380249,19.6755254],[-71.8378671,19.6745041],[-71.8390504,19.6743927],[-71.8390109,19.6741141],[-71.8398392,19.673947],[-71.8389123,19.6736127],[-71.8380249,19.67209],[-71.8380052,19.6726285],[-71.8376699,19.6727214],[-71.8376305,19.672545],[-71.8354414,19.6732135],[-71.835333,19.6729999],[-71.8331242,19.6734642],[-71.8326706,19.6716815],[-71.8321579,19.67209],[-71.8307183,19.6694902],[-71.8306009,19.6697594],[-71.8302174,19.6698907],[-71.8291833,19.6672095],[-71.8290749,19.6672095],[-71.8289122,19.6667916],[-71.8289516,19.6666199],[-71.8288333,19.6663506],[-71.8285572,19.6664759],[-71.8288678,19.6672466],[-71.8287593,19.6674138],[-71.8277979,19.6678177],[-71.8277112,19.6678586],[-71.8278263,19.6679637],[-71.8271831,19.6681212],[-71.8271761,19.6680917],[-71.8264405,19.6683921],[-71.8264074,19.6683231],[-71.8261954,19.6684253],[-71.8261806,19.6683556],[-71.8258946,19.6684206],[-71.8258897,19.6686574],[-71.8251551,19.6687549],[-71.8254509,19.6691588],[-71.8229332,19.6695739],[-71.822713,19.6696658],[-71.8227688,19.6697577],[-71.8201751,19.6709855],[-71.8198474,19.6704537],[-71.8197985,19.6706014],[-71.8194674,19.6707557],[-71.8182472,19.6713433],[-71.8181426,19.6711431],[-71.8175813,19.6714254],[-71.816959,19.6707672],[-71.8176388,19.6718965],[-71.8171403,19.6720376],[-71.8158225,19.6718045],[-71.8138354,19.6711874],[-71.8123259,19.6706982],[-71.8121759,19.6704258],[-71.8124304,19.6701467],[-71.8119184,19.6700141],[-71.8118765,19.6705828],[-71.811169,19.6703483],[-71.8095938,19.6698516],[-71.8077992,19.6692829],[-71.8056028,19.668612],[-71.8051443,19.6668942],[-71.8051196,19.6652322],[-71.8052315,19.661979],[-71.8065603,19.6523921],[-71.8073412,19.6482946],[-71.8099686,19.6468292],[-71.8147517,19.6454502],[-71.8147726,19.6455619],[-71.8150027,19.6455093],[-71.8149469,19.6453846],[-71.8159928,19.6450234],[-71.8158882,19.6448855],[-71.8165854,19.6446097],[-71.8190119,19.643802],[-71.8211524,19.643454],[-71.8221564,19.6433292],[-71.8269046,19.643211],[-71.8280481,19.6432241],[-71.8304466,19.6440778],[-71.8306419,19.6448592],[-71.8295263,19.6450365],[-71.8296064,19.6456111],[-71.8299411,19.6455651],[-71.8303699,19.6451744],[-71.830471,19.6453452],[-71.8308092,19.6451974],[-71.8310184,19.6451088],[-71.8312519,19.6458541],[-71.8311125,19.6458245],[-71.831367,19.6465862],[-71.8328939,19.646189],[-71.8344566,19.6457062],[-71.8344664,19.6463052],[-71.834215,19.6461938],[-71.8342002,19.6465513],[-71.8346702,19.6463],[-71.8349118,19.6463905],[-71.8347984,19.6462187],[-71.8354393,19.6458496],[-71.8355034,19.6458032],[-71.8364747,19.6461328],[-71.8376382,19.6472658],[-71.8379143,19.647888],[-71.8390483,19.6508039],[-71.8456942,19.6696203]],[[-72.098878,18.54843],[-72.096993,18.5501994],[-72.0972888,18.5503209],[-72.0968451,18.5503489],[-72.0955632,18.551854],[-72.0956428,18.5526742],[-72.0959914,18.5533748],[-72.0962145,18.553203],[-72.0962842,18.5535665],[-72.0964446,18.5535533],[-72.0965352,18.5539764],[-72.0965056,18.554173],[-72.0966085,18.5541747],[-72.0965178,18.5542127],[-72.0968769,18.5546588],[-72.0979018,18.5552141],[-72.1006211,18.5555875],[-72.1014926,18.5556206],[-72.1024339,18.5555016],[-72.103417,18.5543515],[-72.1034798,18.5516215],[-72.1030789,18.5516149],[-72.1033752,18.5515224],[-72.1035042,18.5515224],[-72.1035239,18.5502417],[-72.1028701,18.5503062],[-72.1029015,18.55025],[-72.1028457,18.5501773],[-72.1035081,18.5500252],[-72.103491,18.5497396],[-72.1035181,18.5497361],[-72.1035398,18.5489039],[-72.1034317,18.5487056],[-72.102717,18.5481437],[-72.1025601,18.5481536],[-72.10229,18.5482751],[-72.1022891,18.5482569],[-72.1025201,18.5481396],[-72.1023388,18.5481321],[-72.0999082,18.5480901],[-72.09907,18.5483799]],[[-72.2542503,18.568262],[-72.2560252,18.5717765],[-72.2557886,18.5748049],[-72.2535009,18.5755526],[-72.2522782,18.5755526],[-72.2499906,18.5740945],[-72.2473874,18.5698323],[-72.2460069,18.566729],[-72.2458492,18.5629527],[-72.2479396,18.5625414],[-72.2501483,18.5628031],[-72.2519232,18.5650839]],[[-72.303145,18.5332749],[-72.3031275,18.5331799],[-72.3048311,18.5311081],[-72.3097397,18.5311081],[-72.3164332,18.5324302],[-72.3234056,18.5366083],[-72.3261388,18.5387765],[-72.3261946,18.5426371],[-72.3170468,18.5540596],[-72.3130864,18.5540596],[-72.2987511,18.5453342],[-72.2988627,18.5407333],[-72.2962969,18.5404689],[-72.2954602,18.5395169],[-72.2961853,18.5338582],[-72.2971893,18.5332235],[-72.3007034,18.5332764],[-72.3022652,18.5342284],[-72.3028486,18.5335189],[-72.303104,18.5333361],[-72.303181,18.5334007],[-72.3035793,18.5335614],[-72.3030793,18.5346463],[-72.303715,18.5339873],[-72.3045286,18.5344052],[-72.3044015,18.5345097],[-72.3062747,18.5352571],[-72.3063107,18.5352741],[-72.3061219,18.5357628],[-72.3061219,18.5358196],[-72.30637,18.5358928],[-72.3062726,18.5354869],[-72.3066688,18.5350891],[-72.3061963,18.5349706],[-72.3058869,18.5349385],[-72.3055373,18.5346833],[-72.3054864,18.534613],[-72.3055585,18.5345065],[-72.3046749,18.5342293],[-72.3047617,18.5338817],[-72.3043252,18.5337511],[-72.3042595,18.5336346]],[[-72.2981405,18.477502],[-72.2935652,18.4948587],[-72.2922242,18.4964297],[-72.2931708,18.4972526],[-72.2892266,18.5057058],[-72.2878067,18.5080996],[-72.2850458,18.5119893],[-72.2840203,18.5113161],[-72.2808649,18.515879],[-72.2773151,18.5175994],[-72.2723454,18.5175246],[-72.2662714,18.5144578],[-72.2665869,18.5066783],[-72.2692643,18.5046154],[-72.2661965,18.5029756],[-72.2688181,18.4965222],[-72.2691528,18.4959403],[-72.2702684,18.4961519],[-72.2702684,18.4955964],[-72.2690691,18.49557],[-72.2692922,18.4937714],[-72.2736988,18.4859951],[-72.2746749,18.4850429],[-72.2751769,18.483403],[-72.2765435,18.4813398],[-72.2773523,18.4814985],[-72.2783006,18.4809694],[-72.2778544,18.4807049],[-72.2771013,18.480123],[-72.2789978,18.4775836],[-72.279723,18.4772927],[-72.2806433,18.4776365],[-72.2813685,18.4771604],[-72.2808386,18.4769752],[-72.2812848,18.4758378],[-72.2823167,18.4751765],[-72.2851615,18.4750971],[-72.2849941,18.4763668],[-72.2854404,18.4769752],[-72.286277,18.4756262],[-72.2869325,18.4754675],[-72.2865978,18.4751897],[-72.2865978,18.4750046],[-72.2909765,18.4747268],[-72.2946579,18.4749384],[-72.2973911,18.476843]],[[-72.3466657,18.5222375],[-72.346833,18.5244325],[-72.3475303,18.5277645],[-72.3455501,18.5291131],[-72.3403069,18.5292189],[-72.3383267,18.5280289],[-72.3369043,18.530118],[-72.3338086,18.5296684],[-72.3289279,18.5270769],[-72.328649,18.5253316],[-72.3292068,18.5232689],[-72.330406,18.5220524],[-72.3321631,18.5221847],[-72.3322467,18.5191963],[-72.3369183,18.5183633],[-72.3382012,18.5184691],[-72.3381454,18.5181782],[-72.3411993,18.5177947],[-72.3454943,18.5171997],[-72.3492595,18.517279],[-72.3504308,18.5188922],[-72.3503472,18.5206112],[-72.3496778,18.5220392]],[[-72.3303078,18.5486462],[-72.3429687,18.5508149],[-72.3433236,18.5530585],[-72.3413121,18.5614341],[-72.3390639,18.5613593],[-72.3384723,18.5638271],[-72.3375257,18.5654348],[-72.3348436,18.5650609],[-72.3311755,18.5638271],[-72.3312149,18.5616211],[-72.3232082,18.5606863],[-72.3212361,18.559602],[-72.3208023,18.5587046],[-72.3208811,18.557882],[-72.3259493,18.5580274],[-72.3266186,18.5581993],[-72.3259214,18.5577498],[-72.3250986,18.5573797],[-72.3233767,18.552263],[-72.3245994,18.5478507],[-72.3288986,18.5483742],[-72.329979,18.5489548]],[[-72.3231383,18.5269828],[-72.3223434,18.528067],[-72.3209629,18.5279745],[-72.3207816,18.5271282],[-72.3208513,18.5253697],[-72.3214649,18.5249598],[-72.3225666,18.5248937],[-72.3228454,18.52533],[-72.3232359,18.5264804]],[[-72.2160832,18.6457752],[-72.2159649,18.6553795],[-72.2030279,18.6558279],[-72.1947057,18.6553421],[-72.1922208,18.6545573],[-72.1920631,18.6521283],[-72.193483,18.6477559],[-72.201253,18.6385249],[-72.2069327,18.6388239],[-72.2120996,18.6424117],[-72.2118068,18.6430591],[-72.2121693,18.6426892],[-72.2127968,18.6427552],[-72.2134662,18.6431252],[-72.2135638,18.6437462],[-72.2154176,18.6443947],[-72.2158909,18.6450301]],[[-72.2867654,18.6482017],[-72.2900977,18.6527446],[-72.28981,18.6536532],[-72.2900738,18.6542664],[-72.290721,18.6537667],[-72.2910327,18.6544709],[-72.2912485,18.654221],[-72.29168,18.6558905],[-72.2912245,18.656606],[-72.2922673,18.65597],[-72.2926869,18.6567536],[-72.2930705,18.6567309],[-72.2941253,18.6581846],[-72.2960192,18.6608421],[-72.2959713,18.6619096],[-72.2932862,18.664567],[-72.2906731,18.6659979],[-72.2895943,18.6661342],[-72.2895943,18.6665657],[-72.2877004,18.6664749],[-72.2875805,18.6676559],[-72.2831214,18.6697227],[-72.2796453,18.6696546],[-72.2784311,18.6690787],[-72.2783972,18.6687736],[-72.277736,18.6691671],[-72.2774394,18.669143],[-72.2770071,18.6683159],[-72.2765575,18.6681125],[-72.2765385,18.6680583],[-72.2752319,18.6685239],[-72.2749292,18.6674649],[-72.2746416,18.6674309],[-72.2734668,18.6682145],[-72.2732271,18.6682712],[-72.2726757,18.6671583],[-72.2719147,18.6674288],[-72.2718808,18.6673405],[-72.2688149,18.6681868],[-72.2688269,18.6671761],[-72.2690786,18.6668241],[-72.2688149,18.66679],[-72.2681077,18.6670739],[-72.2676282,18.6673805],[-72.2675563,18.6666878],[-72.266861,18.666949],[-72.2655904,18.6673578],[-72.2654466,18.6670058],[-72.2647514,18.6674146],[-72.2629893,18.6681868],[-72.2628455,18.6681754],[-72.2626537,18.6676076],[-72.2623001,18.6677098],[-72.2624799,18.6679199],[-72.2624799,18.6682322],[-72.262306,18.6682606],[-72.2620963,18.6679654],[-72.2622761,18.6689193],[-72.2601484,18.6688966],[-72.2542749,18.6687944],[-72.2505388,18.6683476],[-72.2504371,18.669536],[-72.2477926,18.6698893],[-72.2415204,18.669793],[-72.2414187,18.6741933],[-72.2389167,18.6739759],[-72.2387249,18.6734649],[-72.2383653,18.6733059],[-72.2387009,18.6739532],[-72.2375502,18.6738964],[-72.2374183,18.6735103],[-72.237742,18.67334],[-72.2375142,18.6732605],[-72.236843,18.6734876],[-72.2364354,18.6724088],[-72.2355124,18.6726019],[-72.2354045,18.6724202],[-72.2353027,18.6729028],[-72.2345475,18.6726871],[-72.2343077,18.6724599],[-72.2342358,18.6734706],[-72.2334087,18.6734592],[-72.2332889,18.6733003],[-72.2327375,18.6732889],[-72.2327135,18.6735047],[-72.227703,18.6725281],[-72.2265283,18.6716537],[-72.226804,18.6715742],[-72.2274993,18.6715855],[-72.2274873,18.6714493],[-72.2272899,18.6714623],[-72.2272814,18.6712977],[-72.2272094,18.671358],[-72.2261785,18.6713693],[-72.2256032,18.670881],[-72.2255073,18.6694502],[-72.2261066,18.6696886],[-72.2261785,18.6695949],[-72.2259837,18.6695495],[-72.225777,18.6691379],[-72.2253335,18.6694643],[-72.2249739,18.66947],[-72.2245783,18.6678802],[-72.2235525,18.6677046],[-72.2235907,18.6675921],[-72.2224634,18.6676283],[-72.2223659,18.667022],[-72.2223277,18.6670943],[-72.2219209,18.667026],[-72.2208105,18.6669015],[-72.220809,18.6665325],[-72.2208705,18.6663593],[-72.2206023,18.6668107],[-72.2203895,18.6666361],[-72.2184341,18.6650535],[-72.21829,18.6640979],[-72.2183493,18.6608376],[-72.2187223,18.6606541],[-72.2186894,18.660603],[-72.2187253,18.6604525],[-72.2189771,18.6603247],[-72.2187823,18.6601998],[-72.2186984,18.6602367],[-72.2185815,18.6600352],[-72.2186085,18.6600039],[-72.2187823,18.6601345],[-72.218995,18.6600181],[-72.2189111,18.6599131],[-72.2189681,18.6597938],[-72.2183807,18.6595837],[-72.2184728,18.6539662],[-72.2201001,18.6511554],[-72.225796,18.6469472],[-72.2283048,18.6457265],[-72.2379335,18.645855],[-72.237764,18.6446985],[-72.2400355,18.6432529],[-72.2455958,18.6433493],[-72.2482742,18.6450358],[-72.2487488,18.6436705],[-72.2511067,18.6429775],[-72.2512385,18.6433409],[-72.2512625,18.6431592],[-72.2514843,18.6431365],[-72.2513284,18.6429718],[-72.2533602,18.6423471],[-72.253516,18.6426765],[-72.2539535,18.6425402],[-72.2541453,18.642932],[-72.2543851,18.6428696],[-72.2543791,18.6427503],[-72.2564168,18.6423244],[-72.2566925,18.6431365],[-72.2568783,18.6428582],[-72.2568184,18.6425288],[-72.258843,18.6420991],[-72.258885,18.6422467],[-72.2592626,18.6422297],[-72.2596461,18.6424057],[-72.2592206,18.6406907],[-72.2599545,18.6404815],[-72.2601156,18.6406341],[-72.2601156,18.6399393],[-72.2615268,18.6394669],[-72.2626056,18.6391034],[-72.2654465,18.6387286],[-72.2719433,18.6386832],[-72.272201,18.6388649],[-72.2730341,18.6394158],[-72.273166,18.6412558],[-72.2738732,18.6410286],[-72.2742208,18.6416079],[-72.2752187,18.6416987],[-72.2754524,18.6415738],[-72.2755513,18.6416874],[-72.2755394,18.6417527],[-72.2764713,18.6418634],[-72.276753,18.6418975],[-72.2762953,18.6426002],[-72.2774226,18.6429978],[-72.277982,18.6427247],[-72.2785796,18.6431303],[-72.2785669,18.6432307],[-72.2789017,18.6433471],[-72.279851,18.6439655],[-72.2858703,18.6469651]],[[-72.5557247,18.5305893],[-72.5555866,18.5367036],[-72.554995,18.537975],[-72.5488026,18.537919],[-72.5486646,18.5372832],[-72.548842,18.5306267],[-72.5493745,18.5301031],[-72.555133,18.5301218]],[[-72.6235278,18.5079877],[-72.6234441,18.5095217],[-72.6226074,18.5104341],[-72.6204878,18.511849],[-72.6183403,18.5107514],[-72.6162207,18.5083183],[-72.6162625,18.506467],[-72.618661,18.5044438],[-72.6204041,18.5044967],[-72.6228305,18.506996]]]},{"name":"imagico.de OSM images for mapping","type":"tms","description":"various imagery from all around the world where other image sources are insufficient","template":"http://imagico.de/map/osmim_tiles.php?z={zoom}&x={x}&y={-y}","polygon":[[[-89.8315284119521,81.3934028410464],[-89.8315284119521,83.7045077508689],[-17.9663056823904,83.7045077508689],[-17.9663056823904,81.3934028410464],[-89.8315284119521,81.3934028410464]],[[3.24652940311363,-54.4705168479877],[3.24652940311363,-54.3753916879791],[3.46391271871771,-54.3753916879791],[3.46391271871771,-54.4705168479877],[3.24652940311363,-54.4705168479877]],[[73.2279041335011,-53.2033655831056],[73.2279041335011,-52.9494391381048],[73.7898811920934,-52.9494391381048],[73.7898811920934,-53.2033655831056],[73.2279041335011,-53.2033655831056]],[[-84.3479873388655,74.3894989734754],[-84.3479873388655,75.8903032392084],[-79.1485833901459,75.8903032392084],[-79.1485833901459,74.3894989734754],[-84.3479873388655,74.3894989734754]],[[29.7662967768464,0.20687257729646],[29.7662967768464,0.509176367154027],[30.0346684679771,0.509176367154027],[30.0346684679771,0.20687257729646],[29.7662967768464,0.20687257729646]],[[150.388533766196,-2.80056783608088],[150.388533766196,-2.38339617820643],[150.833478309574,-2.38339617820643],[150.833478309574,-2.80056783608088],[150.388533766196,-2.80056783608088]],[[-72.2652065929688,-55.5594608405404],[-72.2652065929688,-54.178890106312],[-69.4910293325508,-54.178890106312],[-69.4910293325508,-55.5594608405404],[-72.2652065929688,-55.5594608405404]],[[73.9309166917002,34.9688073863467],[73.9309166917002,37.0985693236903],[76.5270029470414,37.0985693236903],[76.5270029470414,34.9688073863467],[73.9309166917002,34.9688073863467]],[[120.843824420484,-3.59549835456283],[120.843824420484,-2.51468168634705],[122.626180758858,-2.51468168634705],[122.626180758858,-3.59549835456283],[120.843824420484,-3.59549835456283]],[[153.061381062565,-11.7892410342423],[153.061381062565,-11.0722925205757],[154.411998092239,-11.0722925205757],[154.411998092239,-11.7892410342423],[153.061381062565,-11.7892410342423]],[[67.8623118572194,22.3626187997331],[67.8623118572194,24.8869308169273],[71.4900144016907,24.8869308169273],[71.4900144016907,22.3626187997331],[67.8623118572194,22.3626187997331]],[[-152.708729431479,62.3036424122946],[-152.708729431479,63.5464553885127],[-148.994366411548,63.5464553885127],[-148.994366411548,62.3036424122946],[-152.708729431479,62.3036424122946]],[[7.63567991501593,53.2802190281286],[7.63567991501593,55.502457780526],[9.20773166222509,55.502457780526],[9.20773166222509,53.2802190281286],[7.63567991501593,53.2802190281286]],[[7.63567991501593,53.2802190281286],[7.63567991501593,55.502457780526],[9.20773166222509,55.502457780526],[9.20773166222509,53.2802190281286],[7.63567991501593,53.2802190281286]],[[-43.335169388775576,59.78884556778711],[-43.5940638938192,59.723921705576714],[-43.840898275878764,59.67490148496335],[-44.23515133460447,59.653417915878954],[-44.657213255061194,59.680989005977885],[-45.81015180316172,59.81951972989828],[-46.81057076187592,59.98139710469466],[-47.20837894817284,60.150960472742064],[-47.22064190066637,60.33805731472787],[-47.255916208498,60.42332684576548],[-47.34990349056956,60.446387835215525],[-47.51603887007207,60.45119769375011],[-47.65139646003081,60.48896403744677],[-47.79170835578903,60.52050863908786],[-49.10695022655055,60.73414367492607],[-49.52399924941209,60.97440124547532],[-50.493558334841985,61.089523147855694],[-51.1011476720755,61.3931538528416],[-51.226493283028084,61.8368218735183],[-51.66491000695862,62.06066494936552],[-51.98744899262875,62.355028063412306],[-52.04791761614332,62.676138274608135],[-52.68385390751712,62.89777335327022],[-53.00141158114564,63.22960936121321],[-52.98804591383922,63.665519960839994],[-53.37455124039754,63.88257990608798],[-53.462018437442744,64.21700667649995],[-53.625006563694996,64.39608940752123],[-53.62418230433685,64.87666336480167],[-53.92737410039694,65.14174166474336],[-54.58568916434171,65.51879633173807],[-55.020580045260964,66.04786962007503],[-54.974959716968506,66.43747058777413],[-55.04621700056885,66.81068389526814],[-55.18883177742317,67.07445292724583],[-55.295917291513724,67.2980754937805],[-55.49386806070968,67.62765205772878],[-55.58982586875712,67.74762927352513],[-55.800191618857184,68.05623485476666],[-56.166042896634444,68.44155152338232],[-56.086954623441976,68.68479069915158],[-55.692397350070934,69.09499941753234],[-55.78268862269791,69.35591450732602],[-55.97508469715559,69.51460160299163],[-56.22131441053026,69.61961934478276],[-56.28674985487528,69.75311038137812],[-56.27734150260429,69.86115681621736],[-56.47867255356253,69.98628865160101],[-56.729667549723445,70.20797294037203],[-56.780049018329095,70.4030123058809],[-56.66995480486827,70.53429026926025],[-56.76965573535976,70.59936425752305],[-56.750047814068225,70.67605894741244],[-56.630475021762926,70.75228057874938],[-56.63957096755714,70.79345598378389],[-56.95453022049966,70.92185386457368],[-57.682941688207656,71.10356260725686],[-57.9990573064922,71.18275256548473],[-58.06673093129251,71.31878823942327],[-57.73776694812512,71.73468567987527],[-57.688607830732714,71.96425305773354],[-57.29627634430133,72.25939767922573],[-57.027097307050845,72.49722993388094],[-57.22262816078322,72.61296218481311],[-57.61910829550675,72.72652221937263],[-58.05813139640902,73.01331566875426],[-58.76645057271363,73.2808359719379],[-59.14761885260487,73.53482225342569],[-59.03651118375505,73.80651043385626],[-58.8823279108656,74.19210040380365],[-59.24788269229215,74.4273495816669],[-59.99510425025614,74.65678100854564],[-60.806460490534164,74.7868931828055],[-61.54936387752781,74.99717139513008],[-62.44046860998914,75.00073689358435],[-62.985115364477565,75.11722591645595],[-63.51928606785155,75.31691397958907],[-63.64288486720879,75.52488932122031],[-64.1242392273263,75.5921799154749],[-64.58761243996756,75.53593567213079],[-65.31057987327657,75.42103306523184],[-65.99461388511591,75.4041967649632],[-66.28964875049822,75.41792163747078],[-68.76453492310549,75.13410011250316],[-71.04622564987365,74.79937286637706],[-73.5067977908339,75.97399646374085],[-74.5601685819203,76.43273848659732],[-74.5601685819203,82.6959322619224],[-12.86174239943403,82.6959322619224],[-11.878165975221727,82.54102593940235],[-10.7797834094343,82.51187042401891],[-10.7797834094343,78.34458993192563],[-10.838211677734567,78.32665786610472],[-12.549216515959552,77.9578508228317],[-12.803493182847879,77.85845362808246],[-12.916087338718654,77.65848905807152],[-13.070950321133406,77.52877948776312],[-13.47955419255021,77.40221679143431],[-14.13060832134256,77.30552053875587],[-14.69541342101231,77.14674387861214],[-14.882617750618206,76.84736003108713],[-14.323648701941867,76.53205658256601],[-12.810144796765599,76.24823964501138],[-12.151831546734856,75.86267532270129],[-12.987745033472448,75.38717284756257],[-14.066766809859267,74.8451997920592],[-15.423357647282502,74.4551642069618],[-17.28174157007599,74.24584688808936],[-19.113380020736102,73.72978765991853],[-20.062373344103577,73.11108267968514],[-20.162312506727517,72.6186060300425],[-19.85354831628143,72.0718529721276],[-19.943252248300748,71.55019790921727],[-20.918542646451737,70.67423312425346],[-21.379621573201593,70.27938590726379],[-21.725469254364587,70.05299977015657],[-21.93869730345768,69.92215619574657],[-22.463306498894173,69.6235894257334],[-23.059252433112615,69.5491649852365],[-23.860796144964162,69.34443527043162],[-24.74741743781591,68.93340370554307],[-25.481987646795183,68.76711754662492],[-25.815395630476477,68.51279831615729],[-26.344103298317982,68.32443780018751],[-27.449680541202035,68.19315579455328],[-28.42826258633533,67.66140945836786],[-29.237141834543507,67.60310787132272],[-30.062476147434136,67.41414423917192],[-31.96817868027385,66.21262359095492],[-33.33718066100074,65.93894291103432],[-33.86781919039464,65.7415652217968],[-34.94415141573626,65.29121928843726],[-36.438872573697054,65.22802281646563],[-36.716767002697864,65.14683055370199],[-36.97927615837815,64.90967633661491],[-37.473922616631825,64.38546237809376],[-38.95785728548117,62.7419538908273],[-39.61555442323402,61.96904156671025],[-40.549088272349444,60.92614046823071],[-41.17137829347243,60.43812852329213],[-42.07544989793619,60.311876129737485],[-42.734129957211564,60.001556976048406],[-43.335169388775576,59.78884556778711]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode"},{"name":"Interspect ortofotó 2014","type":"tms","description":"Four districts of Budapest: III, XIII, XIV, XV","template":"http://geoserver.infobex.hu/Budapest2014/IST/{zoom}/{x}/{y}.jpg","scaleExtent":[10,21],"polygon":[[[19.04642,47.61098],[19.05375,47.60995],[19.06033,47.61037],[19.06022,47.61009],[19.06091,47.61023],[19.0755,47.60835],[19.07796,47.60718],[19.07773,47.60627],[19.07599,47.60433],[19.07337,47.59906],[19.07232,47.59332],[19.0723,47.58865],[19.0693,47.5798],[19.06891,47.57742],[19.06949,47.57211],[19.06623,47.56375],[19.06717,47.56427],[19.0692,47.56456],[19.06992,47.56418],[19.07011,47.56363],[19.07785,47.56148],[19.07986,47.56053],[19.08359,47.55604],[19.08516,47.5548],[19.08601,47.5551],[19.08703,47.55488],[19.0984,47.54666],[19.09974,47.54692],[19.10094,47.54656],[19.1015,47.54593],[19.1015,47.54523],[19.10255,47.54458],[19.10939,47.56255],[19.10917,47.56324],[19.11193,47.57058],[19.11235,47.57087],[19.11271,47.57297],[19.11382,47.57379],[19.1144,47.57504],[19.11779,47.58375],[19.11774,47.5844],[19.11844,47.58512],[19.12,47.58924],[19.12008,47.59563],[19.1206,47.59856],[19.12127,47.59952],[19.12266,47.6004],[19.12436,47.6008],[19.1255,47.60048],[19.12577,47.5997],[19.128,47.59885],[19.13058,47.59898],[19.13768,47.60057],[19.13874,47.60043],[19.14144,47.59639],[19.14122,47.59568],[19.14023,47.59527],[19.15557,47.58499],[19.15413,47.58389],[19.15329,47.58013],[19.15344,47.57918],[19.15499,47.57884],[19.16043,47.57871],[19.16043,47.57583],[19.16213,47.57583],[19.16196,47.57383],[19.17573,47.56442],[19.17511,47.56345],[19.16356,47.55986],[19.16295,47.5594],[19.17589,47.55134],[19.18156,47.54896],[19.18205,47.5483],[19.18165,47.54762],[19.16905,47.53994],[19.15316,47.52885],[19.14747,47.52584],[19.14691,47.52332],[19.14947,47.52059],[19.15581,47.51256],[19.1572,47.51155],[19.15697,47.51051],[19.15885,47.50566],[19.15866,47.50493],[19.15793,47.50438],[19.10292,47.49828],[19.1016,47.49846],[19.10057,47.49914],[19.09185,47.5003],[19.08953,47.50117],[19.07138,47.51722],[19.06794,47.51558],[19.06631,47.51529],[19.06522,47.51545],[19.06347,47.51668],[19.06072,47.51512],[19.05709,47.51044],[19.05567,47.50992],[19.05417,47.50997],[19.04318,47.51383],[19.04093,47.51397],[19.04045,47.51449],[19.03916,47.51909],[19.03898,47.52143],[19.03938,47.52358],[19.04081,47.52649],[19.0408,47.53092],[19.02088,47.53091],[19.02088,47.529],[19.0172,47.52866],[19.01684,47.52876],[19.01453,47.53356],[19.01459,47.5347],[19.01373,47.5348],[19.01167,47.53786],[19.01055,47.53839],[19.0051,47.53978],[19.00501,47.54075],[19.00761,47.54245],[19.00684,47.54297],[19.00684,47.54385],[19.00525,47.54499],[19.0053,47.5455],[19.00462,47.54557],[19.00434,47.54599],[19.00261,47.55075],[18.99714,47.55468],[18.99466,47.55877],[18.99244,47.5605],[18.99173,47.56266],[18.99105,47.56278],[18.986,47.56863],[18.97914,47.57257],[18.97675,47.57301],[18.97622,47.57444],[18.97677,47.57463],[18.97641,47.57596],[18.98247,47.58127],[18.98227,47.58198],[18.98276,47.58283],[18.97695,47.58448],[18.97645,47.58485],[18.97639,47.58555],[18.98285,47.58936],[18.9841,47.58929],[18.99076,47.58612],[18.99375,47.58507],[18.99618,47.58645],[18.99727,47.58664],[19.00068,47.58457],[19.0016,47.58438],[19.00892,47.58637],[19.01088,47.58637],[19.01088,47.5869],[19.01264,47.58738],[19.02151,47.58876],[19.02593,47.58914],[19.03271,47.5883],[19.03199,47.59087],[19.03113,47.59163],[19.03125,47.59276],[19.02883,47.59838],[19.02808,47.59978],[19.0239,47.60425],[19.02393,47.60498],[19.02531,47.60575],[19.03768,47.6104],[19.04642,47.61098]]],"terms_url":"http://interspect.hu/","terms_text":"Interspect Kft.","best":true},{"name":"Ireland Bartholomew Quarter-Inch 1940","type":"tms","template":"http://geo.nls.uk/maps/ireland/bartholomew/{zoom}/{x}/{-y}.png","scaleExtent":[5,13],"polygon":[[[-8.8312773,55.3963337],[-7.3221271,55.398605],[-7.2891331,55.4333162],[-7.2368042,55.4530757],[-7.18881,55.4497995],[-7.1528144,55.3968384],[-6.90561,55.394903],[-6.9047153,55.3842114],[-5.8485282,55.3922956],[-5.8378629,55.248676],[-5.3614762,55.2507024],[-5.3899172,53.8466464],[-5.8734141,53.8487436],[-5.8983,52.8256258],[-6.0191742,52.8256258],[-6.0262844,51.7712367],[-8.1131422,51.7712367],[-8.1273627,51.3268839],[-10.6052842,51.3091083],[-10.6271879,52.0328254],[-10.6469845,52.0322454],[-10.6469845,52.0440365],[-10.6271879,52.0448095],[-10.6290733,52.0745627],[-10.6699234,52.0743695],[-10.6702376,52.0876941],[-10.6312729,52.0898179],[-10.6393128,52.4147202],[-10.3137689,52.4185533],[-10.3166401,53.3341342],[-10.3699669,53.3330727],[-10.385965,54.3534472],[-8.8163777,54.3586265],[-8.8173427,54.6595721],[-8.8413398,54.6616284],[-8.8422286,54.6929749],[-8.8315632,54.7145436],[-8.8151208,54.7145436]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"Ireland British War Office 1:25k GSGS 3906","type":"tms","template":"http://mapwarper.net/layers/tile/101/{zoom}/{x}/{y}.png","scaleExtent":[0,18],"polygon":[[[-10.71,51.32],[-10.71,55.46],[-5.37,55.46],[-5.37,51.32],[-10.71,51.32]]],"terms_url":"http://wiki.openstreetmap.org/wiki/WikiProject_Ireland#Trinity_College_Dublin","terms_text":"Glucksman Map Library, Trinity College Dublin","id":"GSGS3906"},{"name":"Ireland British War Office One-Inch 1941-43 GSGS 4136","type":"tms","template":"http://geo.nls.uk/maps/ireland/gsgs4136/{zoom}/{x}/{-y}.png","scaleExtent":[5,15],"polygon":[[[-10.0847426,51.4147902],[-10.0906535,51.5064103],[-10.4564222,51.5003961],[-10.5005905,52.3043019],[-10.0837522,52.312741],[-10.0840973,52.3404698],[-10.055802,52.3408915],[-10.0768509,52.7628238],[-9.7780248,52.7684611],[-9.7818205,52.8577261],[-9.6337877,52.8596012],[-9.6449626,53.1294502],[-10.0919663,53.1227152],[-10.1051422,53.3912913],[-10.4052593,53.3866349],[-10.4530828,54.193502],[-10.2998523,54.1974988],[-10.3149801,54.4669592],[-8.9276095,54.4853897],[-8.9339534,54.7546562],[-8.7773069,54.755501],[-8.7826749,55.0252208],[-8.9402974,55.0238221],[-8.9451773,55.2934155],[-7.528039,55.2970274],[-7.525599,55.3874955],[-7.0541955,55.3841691],[-7.0556595,55.2939712],[-6.3241545,55.2859128],[-6.3217146,55.3253556],[-6.1035807,55.3223016],[-6.1045566,55.2828557],[-5.7985836,55.2772968],[-5.8117595,55.0087135],[-5.656577,55.0056351],[-5.6721928,54.7355021],[-5.3618278,54.729585],[-5.3964755,54.1917889],[-5.855679,54.2017807],[-5.9220464,52.8524504],[-6.070885,52.8551025],[-6.1030927,52.1373337],[-6.8331336,52.1463183],[-6.8355736,52.0578908],[-7.5641506,52.0617913],[-7.5661026,51.7921593],[-8.147305,51.792763],[-8.146329,51.7033331],[-8.2912636,51.7027283],[-8.2897996,51.5227274],[-9.1174397,51.516958],[-9.1179277,51.4625685],[-9.3692452,51.4616564],[-9.3672933,51.4254613]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps","id":"GSGS4136"},{"name":"Ireland EEA CORINE 2006","type":"tms","template":"http://a.tile.openstreetmap.ie/tiles/corine/{zoom}/{x}/{y}.png","scaleExtent":[5,16],"polygon":[[[-5.842956,53.8627976],[-5.8341575,53.7633541],[-5.6267647,53.5383692],[-5.9648778,52.1631197],[-6.0453211,52.0527275],[-6.1823261,51.9699475],[-6.3960035,51.9234618],[-6.5945978,51.883911],[-7.2481994,51.9056295],[-7.341212,51.8148076],[-8.1971787,51.5037019],[-8.3191005,51.4167737],[-9.4478202,51.1991221],[-9.9015706,51.2266802],[-10.472215,51.4050139],[-10.8857437,51.6770619],[-11.035318,52.0620016],[-10.9950963,52.1831616],[-10.8178697,52.3139827],[-9.8839736,52.9032208],[-10.1165049,52.9676141],[-10.5514014,53.3317027],[-10.6896633,53.5854022],[-10.6444139,54.0100436],[-10.5501445,54.257482],[-10.2824192,54.4742405],[-9.8073011,54.5705346],[-9.196435,54.5486695],[-9.2253443,54.7000264],[-8.8985435,55.1363582],[-8.0476045,55.4711977],[-7.4367384,55.6191092],[-7.2205471,55.6205288],[-6.8258723,55.5608644],[-6.0679458,55.3727567],[-5.5639184,55.0759594],[-5.0649187,54.4640142],[-5.2572284,54.1582424]]],"terms_url":"http://www.eea.europa.eu/data-and-maps/data/clc-2006-vector-data-version-1","terms_text":"EEA Corine 2006"},{"name":"Ireland EEA GMES Urban Atlas","type":"tms","template":"http://a.tile.openstreetmap.ie/tiles/urbanatlas/{zoom}/{x}/{y}.png","scaleExtent":[5,17],"polygon":[[[-9.2759602,52.7993666],[-9.215509,52.8276933],[-9.1086618,52.9128016],[-9.0196831,52.8837107],[-8.8760649,52.8978445],[-8.8001797,52.8833558],[-8.7665597,52.9065354],[-8.5938079,52.9238592],[-8.5241972,52.8869724],[-8.4956786,52.9105906],[-8.3506448,52.9238592],[-8.2718204,52.9492401],[-8.2249679,52.8991338],[-8.1564001,52.9149986],[-8.0881237,52.7630417],[-8.1360092,52.7239783],[-8.1570652,52.6766443],[-8.2059695,52.6185385],[-8.2025734,52.5954396],[-8.2231242,52.5599691],[-8.2236294,52.5095371],[-8.2976651,52.5025088],[-8.3295888,52.4721087],[-8.3589695,52.4986072],[-8.3737385,52.4764529],[-8.432326,52.4342609],[-8.4754569,52.4216289],[-8.5017727,52.3870011],[-8.5476205,52.3681351],[-8.6444103,52.3376422],[-8.6841451,52.3660614],[-8.8154099,52.3721014],[-8.8614233,52.3521652],[-8.9074451,52.3824674],[-8.9388551,52.3789166],[-8.9782502,52.4093811],[-9.0298715,52.4104169],[-9.1059449,52.420981],[-9.1084962,52.4415071],[-9.140702,52.4650891],[-9.1315765,52.5136207],[-9.1739699,52.5620573],[-9.1426235,52.589645],[-9.1542382,52.610216],[-9.1426231,52.6387401],[-9.1776844,52.6447573],[-9.2012184,52.6526248],[-9.2036198,52.6686468],[-9.2238348,52.6706578],[-9.2161072,52.6919412],[-9.1882395,52.7057242],[-9.2750099,52.7350292],[-9.2601152,52.7616711]],[[-7.307313219981238,53.81625879275365],[-7.245858447032101,53.78300449111207],[-7.15144468970801,53.81179938127503],[-7.086900011973722,53.784424420834],[-7.0347149533800435,53.77996162275688],[-6.975320116954343,53.788481098127924],[-6.928628222423156,53.81443454540607],[-6.992829577403537,53.86609081229548],[-6.975320116954343,53.87945028968944],[-6.949914233165313,53.87094929783329],[-6.9375546140247035,53.87540241385127],[-6.936867968516893,53.896649390754646],[-6.897042529063821,53.889770599553906],[-6.867516772227924,53.880259817835736],[-6.851037280040446,53.88450958346468],[-6.842454211192801,53.89786317755242],[-6.812928454356904,53.90069520963246],[-6.79850889869286,53.89280549994937],[-6.789925829845217,53.89462633440526],[-6.791985766368652,53.904538374710896],[-6.778939501720231,53.918087767078354],[-6.77001311011868,53.91505470292794],[-6.75868345923979,53.921727153244476],[-6.744263903575747,53.916065748791254],[-6.727441088634364,53.92334455637637],[-6.713021532970319,53.90777445003927],[-6.684182421642232,53.90292024303218],[-6.623757616954815,53.88187882710815],[-6.590455309825955,53.857789593974296],[-6.591141955333765,53.835509894663346],[-6.574319140392382,53.82254170362619],[-6.571572558361136,53.804703885117576],[-6.5533764524041285,53.79983770791046],[-6.541360156017425,53.78300449111207],[-6.511491076427622,53.76900546961285],[-6.472695605236269,53.77326653566421],[-6.443513171154276,53.76393220797015],[-6.44728972144724,53.75114486961979],[-6.4775021237909485,53.728199094666586],[-6.459649340587848,53.71682309412751],[-6.435616747814443,53.72230833571077],[-6.4198239011347775,53.72921465935537],[-6.4009411496699595,53.72169889975152],[-6.375878588634836,53.718042098526006],[-6.359055773693453,53.708695495259434],[-6.340173022228636,53.708085862042424],[-6.329873339611461,53.71296268045594],[-6.325753466564592,53.72210519137233],[-6.2938244504513525,53.72576163932632],[-6.265328661877173,53.7363229253304],[-6.240952746349864,53.734292114843086],[-6.180871264416349,53.632015710147016],[-6.092793818322125,53.588038288422446],[-5.985734079608837,53.49383447350347],[-6.0887447432153685,53.27174268379562],[-6.033272979232964,53.1191110041494],[-5.984663357119282,52.9651254915577],[-6.122679104189409,52.73207538466633],[-6.185163845400262,52.73706461957944],[-6.1899703639549415,52.76075568810044],[-6.319059719423517,52.782357357522855],[-6.393904079774976,52.7790347214105],[-6.465315212587381,52.6946379192593],[-6.534666408876349,52.673409093161446],[-6.612257351259057,52.69255711803012],[-6.6692489284074155,52.74745702505679],[-6.671308864930852,52.76948072949997],[-6.720747341493285,52.7748810695361],[-6.71456753192298,52.80311808637125],[-6.658949245790243,52.84709806982182],[-6.582044948915348,52.81349473557279],[-6.547712673524768,52.83133677935633],[-6.531233181337292,52.87404491274922],[-6.617750515321548,52.87528820923615],[-6.728987087587023,52.90635903963372],[-6.780485500672891,52.859122574848655],[-6.870436062196207,52.85165948109425],[-6.938413967469552,52.86658438536895],[-6.965879787782016,52.89766145203082],[-6.987852444031986,52.969260966642985],[-7.039350857117853,52.9560260536776],[-7.109388698914634,53.007288776633686],[-7.068876613953752,53.058078015357786],[-7.088789333680287,53.11869890949892],[-7.119688381531809,53.15000684568904],[-7.105955471375577,53.16112391039828],[-7.127928127625547,53.17223809655703],[-7.180113186219227,53.182526443342745],[-7.160887112000503,53.19898266621498],[-7.057890285828767,53.19898266621498],[-7.048963894227218,53.217077217179636],[-7.0915359157115345,53.235575105358386],[-7.0434707301647235,53.25735126035676],[-7.05102383075065,53.29717703664696],[-6.996778835633536,53.31112780504489],[-7.044157375672535,53.33368557548294],[-7.105955471375576,53.371801590024276],[-7.22050647653913,53.432465115081854],[-7.149441429887032,53.45731709817442],[-7.099891489102085,53.463915962572514],[-7.0744645458045445,53.48370640260363],[-7.079028356140001,53.504650927752664],[-7.047733656696876,53.515119311359335],[-7.029478415355053,53.54147267392419],[-7.054253385747527,53.56471202500164],[-7.009267255298033,53.58561652973758],[-6.992641946218873,53.602642188744426],[-6.989056095241016,53.62739453790707],[-6.9717788132567895,53.63686620586593],[-6.9633031654909425,53.650973114934644],[-6.9871001765258205,53.66623418009986],[-6.999813648174589,53.67086935885432],[-7.008289295940436,53.65908728051006],[-7.044473792171549,53.65367801032349],[-7.066640870943764,53.63918547390694],[-7.101847407817279,53.65870092708686],[-7.120754622064167,53.672993645380515],[-7.137379931143327,53.66893809633893],[-7.160850955725672,53.683034277255075],[-7.174216400279507,53.686316272406906],[-7.196057492599188,53.69017711570491],[-7.210726882963154,53.69480966037566],[-7.247237365646801,53.71661437518035],[-7.239413690786019,53.73223735177976],[-7.260276823748104,53.74361339729716],[-7.2814659431627184,53.75922634307083],[-7.289615604476034,53.77271433845693],[-7.3238441819919515,53.78465723043301],[-7.337209626545788,53.78658318504567],[-7.351227044004687,53.80141007448381],[-7.307313219981238,53.81625879275365]],[[-5.685433013282673,54.77854496390836],[-5.696867084279401,54.73050346921268],[-5.8223689524230124,54.70033215177621],[-5.878760568989772,54.649492182564074],[-5.743404719024681,54.68128223623249],[-5.581196917402638,54.68781619319656],[-5.571488953592992,54.67074450064368],[-5.582915011231644,54.66440901595977],[-5.58291501123164,54.65085746679818],[-5.6086481910584185,54.63997082553691],[-5.6354970593650116,54.61551371292451],[-5.728732824433139,54.6184944610979],[-5.822612969913913,54.49193018941315],[-5.896754545381575,54.44975600798866],[-5.936834914186871,54.38213187386197],[-6.0187561190025445,54.36974944197913],[-6.059257912638059,54.38280030737259],[-6.101784280694663,54.41510088826871],[-6.1740201072375225,54.43476829635816],[-6.216261364689026,54.42827259213158],[-6.264329002478664,54.487825014814625],[-6.249277519938476,54.49741303545491],[-6.288340515296785,54.53143435197413],[-6.283750270272458,54.54447449434036],[-6.321445027854273,54.58928767713928],[-6.264329002478664,54.604982769755765],[-6.240052417736423,54.59541999854735],[-6.098762694536575,54.631690374598676],[-6.051950538018501,54.61314575326238],[-6.031509408441251,54.620921248201434],[-6.002995140908084,54.65571636730639],[-6.0647754758974335,54.6634355452454],[-6.059920158948984,54.704134188139534],[-6.047781866577864,54.71395188569398],[-6.120611620804591,54.801644524994515],[-6.002141887262449,54.80836072138932],[-5.984662746248036,54.78652900156178],[-5.685433013282673,54.77854496390836]],[[-9.128658300749114,53.24759266864586],[-9.024510568479629,53.26744820137083],[-9.016360907166316,53.26364619217274],[-9.001854510028616,53.26588844362053],[-8.9951717877517,53.259258838409615],[-8.973493688658284,53.262378780650025],[-8.95230456924367,53.271444820907114],[-8.956705386352859,53.281580911863244],[-8.961106203462048,53.28119110665652],[-8.960780217009516,53.28908396911955],[-8.954260487958864,53.28927883616923],[-8.95230456924367,53.30155366854246],[-8.963714095082308,53.303793931840495],[-8.9811543702928,53.294734752711804],[-8.985718180628256,53.30174847871221],[-9.019946758144176,53.30768976199425],[-9.00837423907927,53.31596722087059],[-9.01880580556031,53.31625933715475],[-9.045862681120513,53.31275380979257],[-9.06444390891487,53.32122500810515],[-9.080906224767762,53.307397587062724],[-9.08106921799403,53.303404329274585],[-9.09019683866494,53.30574189135002],[-9.095901601584261,53.298826232852214],[-9.10128037805105,53.3008718259498],[-9.115623781962478,53.28450433758295],[-9.121491538108067,53.2832375443259],[-9.13273807072044,53.28557621023763],[-9.144636576237877,53.27865728614638],[-9.13876882009229,53.26345120822951],[-9.128658300749114,53.24759266864586]],[[-8.595266214281438,51.69264788483154],[-8.55819409885298,51.69306638852667],[-8.566697711835303,51.682644706464686],[-8.579130708100188,51.67349700898941],[-8.544554623426079,51.66520531197343],[-8.494765061495364,51.667778759675976],[-8.30113898732036,51.7235009029955],[-8.268406960495541,51.784858633837544],[-8.154536388302146,51.7814362126791],[-8.115350159004825,51.809093351533164],[-8.068326683848039,51.870050153657075],[-8.10059769621054,51.89964422561186],[-8.08123508879304,51.918414974037226],[-8.09183842142643,51.95337589170907],[-8.124570448251253,51.95479649105758],[-8.132407694110718,51.970988142592034],[-8.099675667285895,51.978371865876596],[-8.144394070131078,52.02151390085561],[-8.159607547387685,52.064330945363764],[-8.140705954432507,52.07254939152303],[-8.165600735397863,52.09294727054506],[-8.18726841512697,52.0835993998731],[-8.2093971093184,52.10512489114057],[-8.207092037006792,52.12494181389489],[-8.227837687811258,52.143052434929714],[-8.222766528725723,52.16454923557058],[-8.30298304516965,52.1829264222872],[-8.427456949996438,52.17783811526099],[-8.46710419375608,52.169921813849676],[-8.509978538751975,52.18405707812542],[-8.530263175094117,52.16511480067495],[-8.574981577939297,52.18066502436804],[-8.587889982884295,52.16963906274442],[-8.642289689438227,52.18829678149147],[-8.719279104645906,52.15804472022032],[-8.698533453841442,52.13541291452849],[-8.740946784375014,52.10823956240069],[-8.77460084012448,52.05951253229793],[-8.803183736788409,52.03768144571248],[-8.86818677597573,52.03286015807593],[-8.870491848287335,52.01839317543363],[-8.844214023935015,51.991148511559096],[-8.79811257770287,51.964455373040394],[-8.782899100446263,51.931777239822054],[-8.835915763613228,51.9292188160068],[-8.838681850387156,51.90277322850554],[-8.802261707863764,51.89367006943167],[-8.792580404155013,51.85695425263326],[-8.765841565340368,51.82476769939557],[-8.758926348405547,51.80054140901511],[-8.79811257770287,51.78628456602828],[-8.832227647914657,51.79626482935233],[-8.836837792537873,51.77687258059678],[-8.885705325543944,51.746055989869106],[-8.859888515653944,51.72435763090916],[-8.807332866949299,51.71093369500414],[-8.678248817499297,51.693505197270746],[-8.60540853245251,51.67835695335278],[-8.595266214281438,51.69264788483154]],[[-7.138279151048154,55.06131559970097],[-7.117994514706011,54.99631329558348],[-7.070049010624583,54.98784996056705],[-7.076503213097081,54.93332450204895],[-7.025791622241725,54.91159959910791],[-7.007351043748867,54.87872502112528],[-7.024869593317081,54.8511320998998],[-6.990754523105296,54.81661438893913],[-7.051608432131725,54.80598761598125],[-7.115228427932084,54.80651902101645],[-7.170550163410654,54.84847793920564],[-7.199133060074584,54.84316909395457],[-7.222183783190655,54.85803210052931],[-7.2111194360949415,54.862808332627324],[-7.212041465019584,54.882438010878076],[-7.279349576518514,54.880846771447125],[-7.273817402970655,54.91530955931841],[-7.3033223285592275,54.915839525718205],[-7.363254208661015,54.90894941815292],[-7.385382902852443,54.91636948513913],[-7.391837105324943,54.93438395336098],[-7.429640291235302,54.95291983389722],[-7.420420001988872,54.99208185118366],[-7.410277683817801,55.03437621938347],[-7.3577220351131585,55.057619110599035],[-7.265519142648871,55.07557028899173],[-7.138279151048154,55.06131559970097]],[[-7.190498776293322,52.26144368927652],[-7.156844720543858,52.28443443581867],[-7.132871968503143,52.27343421670601],[-7.113278853854483,52.26779201951648],[-7.098295883829036,52.27230583471742],[-7.089767116276089,52.25509445009032],[-7.07109603055207,52.259186286149074],[-7.033984366335195,52.257352061495865],[-7.027530163862696,52.250720000975015],[-7.034675888028678,52.247756419376],[-7.031218279561267,52.24013487190721],[-7.034214873566356,52.23222966213934],[-7.050580886978767,52.2296884028405],[-7.062567262999124,52.21980434486687],[-7.076858711331088,52.216132562953725],[-7.084926464421715,52.22065163604718],[-7.084465449959392,52.22785295843095],[-7.101292477834124,52.221498911062525],[-7.105211100763858,52.21726237433474],[-7.111665303236357,52.21796849185403],[-7.107977187537785,52.21104805609072],[-7.117773744862115,52.20928246619701],[-7.129760120882472,52.21690931136535],[-7.14497359813908,52.21782726924826],[-7.150505771686938,52.22375823207553],[-7.158112510315241,52.22262858593765],[-7.158804032008724,52.22700580464912],[-7.158573524777563,52.23180612902503],[-7.167563306792832,52.23985256723076],[-7.16733279956167,52.244580933687786],[-7.172519212262786,52.24676851484933],[-7.177590371348324,52.25114335361416],[-7.190498776293322,52.26144368927652]]],"terms_url":"http://www.eea.europa.eu/data-and-maps/data/urban-atlas","terms_text":"EEA GMES Urban Atlas"},{"name":"Japan GSI ortho Imagery","type":"tms","template":"http://cyberjapandata.gsi.go.jp/xyz/ort/{z}/{x}/{y}.jpg","scaleExtent":[12,19],"polygon":[[[141.85546875,44.64911632343077],[140.2294921875,43.96909818325174],[138.955078125,41.80407814427237],[139.482421875,40.17887331434696],[138.8671875,38.30718056188316],[136.31835937499997,37.19533058280065],[132.1435546875,35.137879119634185],[128.935546875,33.35806161277885],[129.5068359375,32.47269502206151],[129.77050781249997,31.690781806136822],[130.2099609375,30.90222470517144],[131.220703125,30.78903675126116],[131.66015625,32.32427558887655],[132.71484375,32.879587173066305],[133.76953125,33.17434155100208],[136.7578125,33.87041555094183],[139.306640625,35.06597313798418],[140.888671875,35.17380831799959],[141.15234374999997,36.56260003738548],[142.11914062499997,39.9434364619742],[141.767578125,42.68243539838623],[141.85546875,44.64911632343077]]]},{"name":"Kanton Aargau 25cm (AGIS 2011)","type":"tms","template":"http://tiles.poole.ch/AGIS/OF2011/{zoom}/{x}/{y}.png","scaleExtent":[14,19],"polygon":[[[7.7,47.12],[7.7,47.63],[8.5,47.63],[8.5,47.12],[7.7,47.12]]],"terms_text":"AGIS OF2011"},{"name":"Kanton Aargau 25cm (AGIS 2014)","type":"tms","template":"http://mapproxy.osm.ch:8080/tiles/AGIS2014/EPSG900913/{z}/{x}/{y}.png?origin=nw","scaleExtent":[8,19],"polygon":[[[8.222923278808594,47.604774168947614],[8.244209289550781,47.613569753973955],[8.294334411621094,47.60986653003798],[8.300857543945312,47.58625231278527],[8.329353332519531,47.569808674020344],[8.382568359375,47.56702895728551],[8.398017883300781,47.57490443821351],[8.424797058105469,47.56795554592218],[8.415184020996094,47.54663986006874],[8.389778137207031,47.5262428287156],[8.372268676757812,47.51233121261258],[8.358535766601562,47.503286684046664],[8.36402893066406,47.48078455918],[8.371238708496094,47.481016589036074],[8.373985290527344,47.47011007802331],[8.368148803710938,47.46825342516445],[8.387031555175781,47.44852243794931],[8.380851745605469,47.447593738482304],[8.384284973144531,47.4355191531953],[8.376388549804688,47.431803338643334],[8.377761840820312,47.42808726171425],[8.389434814453125,47.42739046807988],[8.391494750976562,47.41902822496511],[8.380165100097656,47.40462347023052],[8.364715576171875,47.4016026187529],[8.367118835449219,47.39881398671558],[8.380851745605469,47.39788440990287],[8.39424133300781,47.39439835079049],[8.399734497070312,47.372314620566925],[8.40728759765625,47.37068703239024],[8.404197692871094,47.34417352612498],[8.416213989257812,47.33416935720614],[8.414497375488281,47.32602502961836],[8.452606201171875,47.33254059215931],[8.444023132324219,47.31927592106609],[8.427543640136719,47.29925625338924],[8.390121459960938,47.28854494625744],[8.41175079345703,47.247076403108416],[8.393898010253906,47.227728840642065],[8.404884338378906,47.194845099780174],[8.401451110839844,47.17757880776958],[8.409690856933594,47.17314466448546],[8.412437438964844,47.13976002139446],[8.379478454589844,47.13929295458033],[8.361968994140625,47.14559801038333],[8.342742919921875,47.177112073280966],[8.3056640625,47.24987305653909],[8.295021057128906,47.26268916206698],[8.300514221191406,47.26991141830738],[8.278884887695312,47.28225686421767],[8.259315490722656,47.285983225286174],[8.243522644042969,47.280859411143915],[8.240432739257812,47.27130916053537],[8.228759765625,47.27270686584952],[8.219146728515625,47.25336866567523],[8.204727172851562,47.245444953748034],[8.203353881835938,47.22679624955806],[8.180007934570312,47.22143353240336],[8.171768188476562,47.2279619858493],[8.155975341796875,47.23961793870555],[8.175888061523436,47.24218190428504],[8.17657470703125,47.25406775981567],[8.136062622070312,47.24730946320093],[8.12164306640625,47.24218190428504],[8.10791015625,47.2447457457832],[8.097267150878906,47.259427174956194],[8.077354431152344,47.2603591917818],[8.059844970703125,47.25569894358661],[8.062591552734375,47.24614415248379],[8.016586303710938,47.242881146090085],[8.015899658203125,47.258961160390896],[7.997016906738281,47.2796948387185],[7.951698303222655,47.274337475394645],[7.960968017578125,47.25430078914495],[7.933845520019531,47.237053849043896],[7.911529541015624,47.24381345414034],[7.859344482421875,47.23425651880584],[7.83977508544922,47.23425651880584],[7.826042175292968,47.24427960201268],[7.828102111816407,47.25966018070071],[7.82398223876953,47.26548499105541],[7.8408050537109375,47.273405704663965],[7.848701477050781,47.28551744450745],[7.860374450683594,47.30461109337307],[7.871704101562499,47.31136207506936],[7.8888702392578125,47.31136207506936],[7.897453308105469,47.31904317780638],[7.895393371582031,47.327653995607086],[7.908439636230469,47.340451266106996],[7.9259490966796875,47.332773275955894],[7.94757843017578,47.331609846720866],[7.94757843017578,47.316715688820764],[8.007316589355467,47.33905535093827],[8.004913330078125,47.34533667855891],[8.011093139648438,47.35719936945847],[8.024139404296875,47.36719917429931],[8.032722473144531,47.38393878966209],[8.026885986328125,47.39602520707679],[8.010749816894531,47.3955603961201],[8.004570007324219,47.40671472747142],[7.975730895996094,47.41507892620099],[7.9657745361328125,47.42181578692778],[7.985343933105469,47.425764580393924],[7.971954345703124,47.46105827584221],[7.957534790039062,47.457344265054225],[7.940711975097656,47.46221885041022],[7.946891784667968,47.48403288391224],[7.907066345214844,47.48588897929538],[7.8936767578125,47.50653361720931],[7.873420715332031,47.51325876844644],[7.875480651855468,47.52253342509336],[7.865180969238281,47.51975120023913],[7.856254577636718,47.533660849056794],[7.833251953125,47.5325018525392],[7.834281921386719,47.51465007145751],[7.789649963378906,47.49377665301097],[7.789649963378906,47.518128167602484],[7.7515411376953125,47.52461999690649],[7.731285095214843,47.53203824675999],[7.708969116210937,47.54015075619555],[7.740898132324219,47.54362716173679],[7.761497497558593,47.54895720250044],[7.781410217285156,47.55289644950155],[7.797546386718749,47.55915229204993],[7.805442810058593,47.56563904359584],[7.814369201660155,47.575136052077276],[7.819175720214843,47.58648387645128],[7.8325653076171875,47.586715439092906],[7.843208312988281,47.581620824334166],[7.859344482421875,47.58602074809481],[7.8847503662109375,47.58764167941513],[7.903633117675781,47.58092606572345],[7.911872863769532,47.56749225365282],[7.90740966796875,47.55776216936179],[7.917709350585938,47.545712894408624],[7.929382324218749,47.54640812019053],[7.941741943359374,47.54432241518175],[7.9520416259765625,47.54965238525127],[7.9561614990234375,47.55683540041267],[7.9767608642578125,47.55544521625339],[7.997360229492187,47.556603705614094],[8.019676208496094,47.54965238525127],[8.049888610839844,47.55637200979099],[8.058815002441406,47.56285910557121],[8.072891235351562,47.56355410390809],[8.086967468261719,47.557067094186735],[8.100700378417969,47.56216409801383],[8.105506896972656,47.57976811421671],[8.113059997558594,47.583473468887405],[8.133659362792969,47.58301031389572],[8.138809204101562,47.59042030203756],[8.15185546875,47.59551406038282],[8.166275024414062,47.5941249027327],[8.177261352539062,47.6017648134425],[8.193740844726562,47.616346999837226],[8.2012939453125,47.62120682516921],[8.219490051269531,47.61958693358351],[8.223953247070312,47.61102381568743],[8.222923278808594,47.604774168947614]]],"terms_text":"AGIS OF2014","best":true},{"name":"Kanton Solothurn 25cm (SOGIS 2011-2014)","type":"tms","template":"http://mapproxy.osm.ch:8080/tiles/sogis2014/EPSG900913/{z}/{x}/{y}.png?origin=nw","scaleExtent":[12,19],"polygon":[[[7.08,47.03],[7.08,47.54],[8.04,47.54],[8.04,47.03],[7.08,47.03]]],"terms_text":"Orthofoto WMS Solothurn"},{"name":"Kanton Zürich 2015 10cm","type":"tms","template":"http://mapproxy.osm.ch:8080/tiles/KTZUERICH2015/EPSG900913/{z}/{x}/{y}.png?origin=nw","scaleExtent":[8,21],"polygon":[[[8.807601928710938,47.66608099332474],[8.808631896972656,47.65475043477393],[8.830604553222656,47.648506014952225],[8.805885314941406,47.597597727711346],[8.749580383300781,47.61565270219988],[8.751983642578125,47.59505101193038],[8.807945251464844,47.585789182379905],[8.811721801757812,47.57467282332527],[8.840904235839844,47.57467282332527],[8.854637145996094,47.56216409801383],[8.8330078125,47.55382328811835],[8.845024108886719,47.53458802782819],[8.899612426757812,47.52786561031842],[8.895835876464844,47.491224888201955],[8.902702331542969,47.48588897929538],[8.887252807617188,47.475911695481756],[8.911285400390625,47.43969913094723],[8.934288024902344,47.43807362350206],[8.935317993164062,47.43017758727173],[8.917121887207031,47.42808726171425],[8.909912109375,47.404855836246135],[8.944587707519531,47.38905261221537],[8.945274353027344,47.379521907289295],[8.963127136230469,47.357664518690434],[8.973083496093748,47.35580389715929],[8.989906311035156,47.31857768821123],[8.973426818847656,47.30367985581531],[8.9593505859375,47.300653220457775],[8.941154479980469,47.2873805430142],[8.950080871582031,47.28458587064588],[8.940467834472656,47.259194168186234],[8.876266479492188,47.24847474828181],[8.876609802246092,47.243114224640834],[8.850173950195312,47.23961793870555],[8.849830627441406,47.247076403108416],[8.825111389160156,47.24824169331652],[8.800048828125,47.24031721435106],[8.804855346679688,47.23425651880584],[8.815155029296875,47.217702626593784],[8.793525695800781,47.21886856286133],[8.71490478515625,47.20021050593422],[8.685722351074219,47.18154588528182],[8.697395324707031,47.163108130899104],[8.660659790039062,47.15633823511178],[8.6572265625,47.16684287656919],[8.618087768554688,47.172444502751944],[8.622550964355469,47.17991241867412],[8.607101440429688,47.201376826785406],[8.595085144042969,47.19834433924206],[8.575859069824219,47.21513747655813],[8.541183471679688,47.2186353776589],[8.471488952636719,47.2053421258966],[8.441619873046875,47.22120035848172],[8.417243957519531,47.22120035848172],[8.383941650390625,47.292270864380086],[8.422050476074219,47.302282968719936],[8.442306518554688,47.32439601339355],[8.413810729980469,47.32299967378833],[8.408660888671875,47.33067908487908],[8.378448486328125,47.39718721653071],[8.360939025878906,47.39695481668995],[8.359222412109375,47.4053205652024],[8.379135131835938,47.40764414848437],[8.377418518066406,47.41624051540972],[8.384284973144531,47.42274494145051],[8.372611999511719,47.42808726171425],[8.372955322265625,47.437376962080776],[8.379478454589844,47.45037978769006],[8.36402893066406,47.46198673754625],[8.352012634277344,47.5079250985124],[8.373985290527344,47.517200697839414],[8.392181396484375,47.5366741201253],[8.417587280273436,47.56610235225701],[8.430290222167967,47.5693453981427],[8.491744995117188,47.581620824334166],[8.487625122070312,47.58648387645128],[8.463935852050781,47.58301031389572],[8.453292846679688,47.60315376826432],[8.479385375976562,47.617504142079596],[8.505821228027344,47.61958693358351],[8.513717651367188,47.635783590864854],[8.542213439941406,47.632776019724375],[8.545646667480469,47.627685889602006],[8.564186096191406,47.6256034207548],[8.566932678222656,47.61935551640258],[8.576202392578125,47.613569753973955],[8.564872741699219,47.60037582174319],[8.535346984863281,47.586715439092906],[8.550109863281248,47.5714301073211],[8.555259704589844,47.55498181333744],[8.581008911132812,47.59551406038282],[8.598861694335936,47.61449551898437],[8.59130859375,47.64642437575518],[8.609848022460938,47.65521295468833],[8.620834350585938,47.646886969413],[8.618431091308594,47.65660048985082],[8.602981567382812,47.666312203609145],[8.610877990722656,47.67856488312544],[8.62323760986328,47.67856488312544],[8.621864318847656,47.69312564683551],[8.64898681640625,47.697516190510555],[8.667526245117188,47.68665469810477],[8.671646118164062,47.67602211074509],[8.692245483398438,47.65197522925437],[8.734817504882812,47.64526787368664],[8.777389526367188,47.65313158281113],[8.785629272460938,47.667930646923494],[8.807601928710938,47.66608099332474]]],"terms_text":"Kanton Zürich OF 2015","best":true},{"name":"Katastrálna mapa Slovenska (KaPor, 2010-04)","type":"tms","template":"http://www.freemap.sk/tms/kapor2/{zoom}/{x}/{y}.jpg","polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_url":"http://wiki.freemap.sk/KatasterPortal","terms_text":"Permisssion by UGKK"},{"name":"Katastrálna mapa Slovenska (KaPor, 2011-05)","type":"tms","template":"http://www.freemap.sk/tms/kapor2_201105/{zoom}/{x}/{y}.jpg","polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_url":"http://wiki.freemap.sk/KatasterPortal","terms_text":"Permisssion by UGKK"},{"name":"Kelowna 2012","type":"tms","description":"High quality aerial imagery taken for the City of Kelowna","template":"http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna2012/{zoom}/{x}/{y}.png","scaleExtent":[9,20],"polygon":[[[-119.5867318,49.7928087],[-119.5465655,49.7928097],[-119.5465661,49.8013837],[-119.5343374,49.8013841],[-119.5343376,49.8047321],[-119.5296211,49.8047322],[-119.5296216,49.8119555],[-119.5104463,49.811956],[-119.5115683,49.8744325],[-119.5108946,49.8744904],[-119.5114111,49.8843312],[-119.5114115,49.9221763],[-119.49386,49.9223477],[-119.4940505,49.9313031],[-119.4803936,49.9317529],[-119.4804572,49.9407474],[-119.4666732,49.9409927],[-119.4692775,49.9913717],[-119.4551337,49.9916078],[-119.4556736,50.0121242],[-119.4416673,50.0123895],[-119.4417308,50.0136345],[-119.4221492,50.0140377],[-119.4221042,50.0119306],[-119.4121303,50.012165],[-119.4126082,50.0216913],[-119.4123387,50.0216913],[-119.4124772,50.0250773],[-119.4120917,50.0250821],[-119.4121954,50.0270769],[-119.4126083,50.0270718],[-119.4128328,50.0321946],[-119.3936313,50.0326418],[-119.393529,50.0307781],[-119.3795727,50.0310116],[-119.3795377,50.0287584],[-119.3735764,50.0288621],[-119.371544,49.9793618],[-119.3573506,49.9793618],[-119.3548353,49.9256081],[-119.3268079,49.9257238],[-119.3256573,49.8804068],[-119.3138893,49.8806528],[-119.3137097,49.8771651],[-119.3132156,49.877223],[-119.3131482,49.8749652],[-119.312452,49.8749073],[-119.3122275,49.87236],[-119.3117558,49.872331],[-119.3115986,49.8696098],[-119.3112169,49.8694217],[-119.3109199,49.8632417],[-119.3103721,49.8632724],[-119.3095139,49.8512388],[-119.3106368,49.8512316],[-119.3103859,49.8462564],[-119.3245344,49.8459957],[-119.3246018,49.8450689],[-119.3367018,49.844875],[-119.3367467,49.8435136],[-119.337937,49.8434702],[-119.3378023,49.8382055],[-119.3383637,49.8381041],[-119.3383749,49.8351202],[-119.3390936,49.8351058],[-119.3388016,49.8321217],[-119.3391497,49.8320565],[-119.3391722,49.8293331],[-119.3394641,49.8293331],[-119.3395879,49.8267878],[-119.3500053,49.8265829],[-119.3493701,49.8180588],[-119.4046964,49.8163785],[-119.4045694,49.8099022],[-119.4101592,49.8099022],[-119.4102862,49.8072787],[-119.4319467,49.8069098],[-119.4322643,49.7907965],[-119.4459847,49.7905504],[-119.445286,49.7820201],[-119.4967376,49.7811587],[-119.4966105,49.7784927],[-119.5418371,49.7775082],[-119.5415892,49.7718277],[-119.5560296,49.7714941],[-119.5561194,49.7718422],[-119.5715704,49.7715086],[-119.5716153,49.7717262],[-119.5819235,49.7714941],[-119.5820133,49.7717697],[-119.5922991,49.7715231],[-119.592344,49.7718132],[-119.6003839,49.7715957],[-119.6011924,49.7839081],[-119.5864365,49.7843863]]],"id":"kelowna_2012"},{"name":"Kelowna Roads overlay","type":"tms","template":"http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna_overlay/{zoom}/{x}/{y}.png","scaleExtent":[9,20],"polygon":[[[-119.5867318,49.7928087],[-119.5465655,49.7928097],[-119.5465661,49.8013837],[-119.5343374,49.8013841],[-119.5343376,49.8047321],[-119.5296211,49.8047322],[-119.5296216,49.8119555],[-119.5104463,49.811956],[-119.5115683,49.8744325],[-119.5108946,49.8744904],[-119.5114111,49.8843312],[-119.5114115,49.9221763],[-119.49386,49.9223477],[-119.4940505,49.9313031],[-119.4803936,49.9317529],[-119.4804572,49.9407474],[-119.4666732,49.9409927],[-119.4692775,49.9913717],[-119.4551337,49.9916078],[-119.4556736,50.0121242],[-119.4416673,50.0123895],[-119.4417308,50.0136345],[-119.4221492,50.0140377],[-119.4221042,50.0119306],[-119.4121303,50.012165],[-119.4126082,50.0216913],[-119.4123387,50.0216913],[-119.4124772,50.0250773],[-119.4120917,50.0250821],[-119.4121954,50.0270769],[-119.4126083,50.0270718],[-119.4128328,50.0321946],[-119.3936313,50.0326418],[-119.393529,50.0307781],[-119.3795727,50.0310116],[-119.3795377,50.0287584],[-119.3735764,50.0288621],[-119.371544,49.9793618],[-119.3573506,49.9793618],[-119.3548353,49.9256081],[-119.3268079,49.9257238],[-119.3256573,49.8804068],[-119.3138893,49.8806528],[-119.3137097,49.8771651],[-119.3132156,49.877223],[-119.3131482,49.8749652],[-119.312452,49.8749073],[-119.3122275,49.87236],[-119.3117558,49.872331],[-119.3115986,49.8696098],[-119.3112169,49.8694217],[-119.3109199,49.8632417],[-119.3103721,49.8632724],[-119.3095139,49.8512388],[-119.3106368,49.8512316],[-119.3103859,49.8462564],[-119.3245344,49.8459957],[-119.3246018,49.8450689],[-119.3367018,49.844875],[-119.3367467,49.8435136],[-119.337937,49.8434702],[-119.3378023,49.8382055],[-119.3383637,49.8381041],[-119.3383749,49.8351202],[-119.3390936,49.8351058],[-119.3388016,49.8321217],[-119.3391497,49.8320565],[-119.3391722,49.8293331],[-119.3394641,49.8293331],[-119.3395879,49.8267878],[-119.3500053,49.8265829],[-119.3493701,49.8180588],[-119.4046964,49.8163785],[-119.4045694,49.8099022],[-119.4101592,49.8099022],[-119.4102862,49.8072787],[-119.4319467,49.8069098],[-119.4322643,49.7907965],[-119.4459847,49.7905504],[-119.445286,49.7820201],[-119.4967376,49.7811587],[-119.4966105,49.7784927],[-119.5418371,49.7775082],[-119.5415892,49.7718277],[-119.5560296,49.7714941],[-119.5561194,49.7718422],[-119.5715704,49.7715086],[-119.5716153,49.7717262],[-119.5819235,49.7714941],[-119.5820133,49.7717697],[-119.5922991,49.7715231],[-119.592344,49.7718132],[-119.6003839,49.7715957],[-119.6011924,49.7839081],[-119.5864365,49.7843863]]],"id":"kelowna_roads","overlay":true},{"name":"Landsat 233055","type":"tms","description":"Recent Landsat imagery","template":"http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_233055/{zoom}/{x}/{y}.png","scaleExtent":[5,14],"polygon":[[[-60.8550011,6.1765004],[-60.4762612,7.9188291],[-62.161689,8.2778675],[-62.5322549,6.5375488]]],"id":"landsat_233055"},{"name":"Latest southwest British Columbia Landsat","type":"tms","description":"Recent lower-resolution landsat imagery for southwest British Columbia","template":"http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_047026/{zoom}/{x}/{y}.png","scaleExtent":[5,13],"polygon":[[[-121.9355512,47.7820648],[-121.5720582,48.6410125],[-121.2015461,49.4846247],[-121.8375516,49.6023246],[-122.4767046,49.7161735],[-123.118912,49.8268824],[-123.760228,49.9335836],[-124.0887706,49.0870469],[-124.4128889,48.2252567],[-123.792772,48.1197334],[-123.1727942,48.0109592],[-122.553553,47.8982299]]],"id":"landsat_047026"},{"name":"Lithuania - NŽT ORT10LT","type":"tms","template":"http://mapproxy.openmap.lt/ort10lt/g/{z}/{x}/{y}.jpeg","scaleExtent":[4,18],"polygon":[[[21.4926054,56.3592046],[21.8134688,56.4097144],[21.9728753,56.4567587],[22.2158294,56.4604404],[22.2183922,56.4162361],[23.3511527,56.4267251],[23.3521778,56.3824815],[23.9179035,56.383305],[23.9176231,56.3392908],[24.5649817,56.3382169],[24.564933,56.3828587],[24.6475683,56.4277798],[24.8099394,56.470646],[24.9733979,56.4698452],[25.1299701,56.2890356],[25.127433,56.1990144],[25.6921076,56.1933684],[26.0839005,56.0067879],[26.4673573,55.7304232],[26.5463565,55.7132705],[26.5154447,55.2345969],[25.7874641,54.8425656],[25.7675259,54.6350898],[25.6165253,54.4404007],[24.4566043,53.9577649],[23.6164786,53.9575517],[23.5632006,54.048085],[22.8462074,54.3563682],[22.831944,54.9414849],[22.4306085,55.1159913],[21.9605898,55.1107144],[21.7253241,55.1496885],[21.5628422,55.2362913],[21.2209638,55.2742668],[21.1630444,55.2803979],[20.9277788,55.3101641],[20.9257285,55.3588507],[20.9980451,55.4514157],[21.0282249,56.0796297]]],"terms_url":"http://www.geoportal.lt","terms_text":"NŽT ORT10LT"},{"name":"Locator Overlay","type":"tms","description":"Shows major features to help orient you.","template":"http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh76ba2/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw","scaleExtent":[0,16],"overzoom":false,"terms_url":"http://www.mapbox.com/about/maps/","terms_text":"Terms & Feedback","default":true,"overlay":true},{"name":"LPI NSW Base Map","type":"tms","template":"http://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Base_Map/MapServer/tile/{zoom}/{y}/{x}","scaleExtent":[0,19],"polygon":[[[140.9948644,-28.952966],[148.9611382,-28.8997729],[148.9870097,-28.4862285],[151.013609,-28.4786485],[151.1084711,-28.7032909],[151.8759917,-28.683118],[151.9334839,-28.4078753],[152.25544,-28.2332683],[153.0660798,-28.2104723],[153.1408196,-28.1090981],[153.4735137,-28.1164808],[153.3576523,-27.693606],[159.4938303,-27.699252],[159.4856997,-37.8474137],[149.5256879,-37.8281502],[149.9159578,-37.4869999],[148.0485886,-36.8131741],[147.9680996,-36.1567945],[146.7147701,-36.2866613],[145.3004625,-36.1567945],[144.5300673,-36.1475101],[142.8397973,-35.0254303],[142.356863,-34.7802471],[141.9774146,-34.4016159],[140.9950258,-34.1371824],[140.9948644,-28.952966]]],"terms_url":"http://www.lpi.nsw.gov.au/mapping_and_imagery/lpi_web_services","terms_text":"© Land and Property Information 2015"},{"name":"LPI NSW Imagery","type":"tms","template":"http://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Imagery/MapServer/tile/{zoom}/{y}/{x}","scaleExtent":[0,21],"polygon":[[[140.9868688,-28.9887829],[148.9951472,-28.9727491],[148.9966717,-28.4915066],[151.0029027,-28.4930697],[151.0029027,-28.7261663],[151.4915093,-28.7323921],[151.4918687,-28.7155337],[151.9228213,-28.719635],[151.9251607,-28.4897139],[151.9955886,-28.4898718],[151.9989947,-28.1192742],[152.4967606,-28.122091],[152.4968241,-28.1146398],[153.0044563,-28.1154389],[153.0044563,-28.120397],[153.5038629,-28.119345],[153.5039264,-28.1227063],[153.5919395,-28.1223619],[153.5926582,-28.1776872],[153.6111186,-28.1757867],[153.6113881,-28.1825173],[153.7426846,-28.2162084],[153.7787253,-28.710911],[152.6237954,-32.5877239],[152.3123961,-32.6328837],[151.4141942,-33.5790388],[150.8929925,-35.2648721],[150.4620695,-35.7777256],[150.0156501,-37.5103569],[149.9918121,-37.5126787],[149.519778,-37.5130704],[149.5199577,-37.5216919],[149.4462958,-37.5353701],[149.063344,-37.5357975],[148.9836635,-37.5217631],[148.9816872,-37.5191982],[148.9863847,-37.2584972],[148.4875376,-37.265846],[148.4824774,-37.0092669],[147.994386,-37.014339],[147.988288,-36.5332184],[147.9529707,-36.5260725],[147.9486513,-36.0685992],[147.5034997,-36.0716798],[147.5047701,-36.2651047],[146.4919996,-36.266129],[146.4922536,-36.2565],[145.9929826,-36.2534267],[145.9965866,-36.0188147],[145.9831568,-36.0187058],[145.9624506,-36.0219026],[145.946236,-36.0120936],[145.9454275,-36.0060259],[145.5041534,-36.0013564],[145.5037941,-36.0109125],[145.0072008,-36.0036213],[145.0035404,-36.1520424],[144.4860806,-36.1423149],[144.4874127,-36.0137522],[143.9874676,-36.0024134],[143.9932853,-35.5723753],[143.4971691,-35.5837101],[143.4917967,-35.4065648],[143.4613438,-35.3674934],[143.4585591,-35.3555888],[143.4897755,-35.3396522],[143.4895509,-35.332214],[143.4316994,-35.2570613],[143.2505542,-35.2606556],[143.2438356,-35.0132729],[142.9933305,-35.0177207],[142.9919767,-34.7961882],[142.4971375,-34.8032323],[142.4973172,-34.8007613],[142.4211401,-34.8017571],[142.4209155,-34.7838306],[142.2330892,-34.7859191],[142.2307707,-34.7807542],[142.2269959,-34.5061271],[141.9975302,-34.5083733],[141.9945959,-34.2526687],[141.4982345,-34.2556921],[141.498171,-34.2522794],[140.9945397,-34.2528411],[140.9868688,-28.9887829]]],"terms_url":"http://www.lpi.nsw.gov.au/mapping_and_imagery/lpi_web_services","terms_text":"© Land and Property Information 2015"},{"name":"LPI NSW Topographic Map","type":"tms","template":"http://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Topo_Map/MapServer/tile/{zoom}/{y}/{x}","scaleExtent":[0,16],"polygon":[[[140.9988422,-28.9992444],[148.9502438,-28.9993736],[148.9498845,-28.9665265],[148.9998308,-28.9665265],[149.0000917,-28.8165829],[149.1000729,-28.8165829],[149.0997046,-28.7488533],[148.9998504,-28.7497444],[148.9998169,-28.5000304],[151.0000514,-28.5005192],[151.0005904,-28.7325849],[151.0239466,-28.7327424],[151.0241262,-28.7418794],[151.0329297,-28.7418794],[151.033828,-28.7505431],[151.999984,-28.7495314],[151.999984,-28.7164478],[152.0334014,-28.7166053],[152.0332217,-28.683196],[152.0000739,-28.6833537],[151.9998769,-28.6416273],[151.9829886,-28.6413908],[151.9831683,-28.624912],[151.9331321,-28.6247543],[151.9334122,-28.500071],[151.9998875,-28.5002289],[151.9998556,-28.3749591],[152.2499739,-28.3750718],[152.2499356,-28.2500066],[152.9997192,-28.2498563],[152.9998989,-28.2832447],[153.1165002,-28.2834029],[153.11659,-28.2498563],[153.1666262,-28.2500146],[153.166716,-28.2331582],[153.2499898,-28.2332373],[153.2500265,-28.1249689],[153.6249628,-28.1250833],[153.6248398,-28.4999134],[153.7497955,-28.4999924],[153.7495877,-28.7497976],[153.6248117,-28.7501127],[153.6249745,-28.9999333],[153.4997672,-29.0000612],[153.4998417,-29.4995077],[153.3747962,-29.500055],[153.3754111,-29.8750302],[153.4999113,-29.8751403],[153.4999113,-30.0000922],[153.2498947,-29.9997621],[153.250025,-30.1917704],[153.2748185,-30.1916151],[153.2748185,-30.2168467],[153.2166077,-30.2166139],[153.2166077,-30.250065],[153.250025,-30.250065],[153.2497502,-30.3751935],[153.1243608,-30.3749743],[153.1246457,-30.6250359],[153.0331676,-30.6250482],[153.0333884,-30.8750837],[153.1249214,-30.8750291],[153.1249344,-31.1250505],[153.0082433,-31.1249736],[153.0082914,-31.2499759],[153.0000019,-31.250003],[152.9999392,-31.6249919],[152.8749386,-31.6250491],[152.8749572,-31.749954],[152.7832899,-31.7500034],[152.7831966,-31.8748579],[152.749914,-31.8750105],[152.7500397,-32.0000207],[152.6249044,-31.9999446],[152.6249078,-32.5000047],[152.4999757,-32.4999569],[152.5000336,-32.5666443],[152.4166699,-32.5663415],[152.4167598,-32.6249954],[152.3498477,-32.624991],[152.3498477,-32.6332294],[152.2830786,-32.6332218],[152.2832583,-32.6249755],[152.2494816,-32.6249755],[152.2498101,-32.874906],[151.8745693,-32.8750443],[151.8748535,-33.0000091],[151.7497706,-33.0001533],[151.7504669,-33.2500398],[151.6252418,-33.2497393],[151.6250828,-33.3751621],[151.499585,-33.3751442],[151.5003127,-33.6249385],[151.3741466,-33.6243658],[151.3727902,-34.001962],[151.2477819,-34.0011194],[151.2477819,-34.2493114],[150.9957327,-34.2501515],[151.0008143,-34.62483],[150.8717407,-34.6265026],[150.872757,-35.1242738],[150.7670589,-35.1234425],[150.7690916,-35.2463774],[150.6257894,-35.2496974],[150.6280314,-35.3751485],[150.4999742,-35.3751485],[150.4959088,-35.6275034],[150.3719169,-35.6250251],[150.3749658,-35.7537957],[150.2672351,-35.7513213],[150.2652024,-35.8741232],[150.2479249,-35.870829],[150.2458922,-36.374885],[150.1229166,-36.374885],[150.1259656,-36.6224345],[150.0253491,-36.6240658],[150.0283981,-36.7471337],[149.9928266,-36.7495768],[150.0040062,-37.1224477],[150.0588879,-37.1273097],[150.0568553,-37.37809],[149.9979083,-37.3732441],[149.9999409,-37.4830073],[149.987745,-37.4846202],[149.9857123,-37.5080043],[148.0684571,-36.80624],[147.9930603,-36.1379955],[147.8148345,-36.0055567],[147.3893924,-36.0113701],[147.3822059,-36.1310306],[146.9972549,-36.1275479],[146.9886311,-36.2528271],[146.4956356,-36.2447132],[146.5042595,-36.126387],[145.0011817,-36.0079505],[145.0154103,-36.2542074],[144.5072465,-36.2476506],[144.4991158,-36.0211037],[143.9965422,-35.9810531],[143.3382568,-35.2331794],[142.4097581,-34.7669434],[142.0361436,-34.3758837],[140.9965216,-34.1385805],[140.9988422,-28.9992444]]],"terms_url":"http://www.lpi.nsw.gov.au/mapping_and_imagery/lpi_web_services","terms_text":"© Land and Property Information 2015"},{"name":"Luxembourg Geoportail Basemap","type":"tms","template":"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/basemap/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg","scaleExtent":[0,20],"polygon":[[[5.961753,50.17631],[6.026268,50.18496],[6.033182,50.16395],[6.060695,50.15536],[6.07668,50.15913],[6.078237,50.17255],[6.101762,50.17199],[6.122501,50.16437],[6.120101,50.15594],[6.127695,50.14993],[6.113228,50.13739],[6.123691,50.13719],[6.140929,50.1305],[6.135554,50.11899],[6.138082,50.10263],[6.131085,50.09964],[6.135473,50.09119],[6.121939,50.09059],[6.126335,50.07817],[6.131858,50.07348],[6.121171,50.064],[6.114444,50.06139],[6.115631,50.05817],[6.123611,50.06323],[6.136608,50.04178],[6.130343,50.02975],[6.148207,50.02307],[6.13868,50.01572],[6.135938,50.01485],[6.131384,50.01905],[6.130243,50.01819],[6.139343,50.01116],[6.151702,50.01058],[6.145464,49.99689],[6.139657,49.9994],[6.138524,49.99829],[6.142178,49.99535],[6.150227,49.99518],[6.156247,49.98867],[6.173045,49.98589],[6.17348,49.98344],[6.170353,49.98376],[6.165487,49.97115],[6.171512,49.96298],[6.176298,49.962],[6.179954,49.95386],[6.183393,49.9548],[6.179829,49.96307],[6.183312,49.9686],[6.192774,49.97158],[6.199783,49.95352],[6.207066,49.95672],[6.212689,49.9514],[6.225023,49.95039],[6.22044,49.94369],[6.228241,49.93726],[6.22635,49.92766],[6.219133,49.92354],[6.229862,49.92125],[6.236032,49.91355],[6.231867,49.91064],[6.227694,49.91062],[6.232286,49.9072],[6.23381,49.90028],[6.246919,49.89535],[6.257809,49.88724],[6.263008,49.88101],[6.276455,49.87725],[6.281126,49.87957],[6.291661,49.87548],[6.297699,49.86673],[6.309889,49.87107],[6.315324,49.8673],[6.314651,49.86057],[6.323611,49.85188],[6.321577,49.8409],[6.327406,49.83673],[6.336561,49.83998],[6.339366,49.8507],[6.364651,49.85164],[6.402203,49.82098],[6.426434,49.81629],[6.428071,49.81186],[6.43097,49.81129],[6.441608,49.81547],[6.443442,49.81233],[6.45366,49.81275],[6.464538,49.81975],[6.47057,49.82385],[6.496805,49.81277],[6.50669,49.80993],[6.511554,49.80238],[6.51485,49.80513],[6.519604,49.81446],[6.529808,49.81048],[6.532249,49.80686],[6.530829,49.80116],[6.506225,49.78899],[6.519171,49.78344],[6.511055,49.77422],[6.520563,49.76818],[6.520516,49.76134],[6.503734,49.75086],[6.502627,49.73298],[6.507266,49.72938],[6.518092,49.7242],[6.516417,49.72129],[6.511763,49.72016],[6.504791,49.725],[6.498913,49.72639],[6.495576,49.72443],[6.507122,49.71655],[6.507884,49.71215],[6.504598,49.71227],[6.427139,49.66237],[6.439899,49.66025],[6.442511,49.65591],[6.421781,49.61809],[6.398978,49.60094],[6.379408,49.59526],[6.375507,49.58809],[6.384426,49.5801],[6.381188,49.57509],[6.369093,49.5783],[6.357913,49.57166],[6.384902,49.55817],[6.380095,49.54856],[6.358555,49.53296],[6.359322,49.52481],[6.370763,49.50545],[6.370562,49.45732],[6.333403,49.46493],[6.321894,49.47244],[6.295034,49.47928],[6.287889,49.48379],[6.271912,49.49995],[6.241327,49.50693],[6.196692,49.50331],[6.173373,49.50577],[6.160858,49.50085],[6.167099,49.49006],[6.140179,49.48525],[6.129367,49.48803],[6.127247,49.47081],[6.101403,49.46726],[6.104826,49.45076],[6.081667,49.45417],[6.077222,49.46139],[6.059167,49.46306],[6.052222,49.46028],[6.044213,49.44553],[6.025294,49.44703],[6.021545,49.45127],[6.01574,49.44885],[5.994123,49.45301],[5.976569,49.44885],[5.977725,49.45955],[5.972317,49.46087],[5.968912,49.48202],[5.9616,49.49026],[5.915781,49.49835],[5.890334,49.4948],[5.863321,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.831868,49.52639],[5.84308,49.53081],[5.835622,49.54114],[5.816251,49.53325],[5.805201,49.54272],[5.859432,49.57158],[5.868663,49.587],[5.862888,49.58525],[5.851102,49.58379],[5.847116,49.58961],[5.845652,49.5981],[5.869401,49.6106],[5.881819,49.63815],[5.899978,49.63907],[5.899339,49.66239],[5.856561,49.67628],[5.856283,49.68211],[5.875703,49.71118],[5.864811,49.72331],[5.843249,49.71822],[5.82191,49.72128],[5.824894,49.73767],[5.820728,49.74878],[5.786264,49.79079],[5.765172,49.78961],[5.750937,49.79094],[5.741591,49.82126],[5.745814,49.82435],[5.737197,49.83353],[5.740531,49.84142],[5.747012,49.84048],[5.746237,49.84783],[5.753989,49.84878],[5.740663,49.85152],[5.752288,49.85922],[5.749545,49.87554],[5.775668,49.87438],[5.775053,49.88057],[5.734598,49.89341],[5.733033,49.90285],[5.757834,49.91737],[5.760393,49.93252],[5.770728,49.93711],[5.768783,49.94239],[5.768802,49.96104],[5.786724,49.96816],[5.80524,49.96677],[5.806521,49.97321],[5.831293,49.97995],[5.834616,49.98656],[5.818057,49.99936],[5.815606,50.01437],[5.847923,50.02809],[5.861889,50.04581],[5.850872,50.0563],[5.857809,50.07186],[5.880997,50.08069],[5.891965,50.12041],[5.952856,50.13384],[5.961753,50.17631]]],"terms_url":"https://data.public.lu/en/datasets/carte-de-base-webservices-wms-et-wmts/","terms_text":"Administration du Cadastre et de la Topographie","id":"lu.geoportail.opendata.basemap"},{"name":"Luxembourg Geoportail Cadastre","type":"tms","template":"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/cadastre/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg","scaleExtent":[0,20],"polygon":[[[5.961753,50.17631],[6.026268,50.18496],[6.033182,50.16395],[6.060695,50.15536],[6.07668,50.15913],[6.078237,50.17255],[6.101762,50.17199],[6.122501,50.16437],[6.120101,50.15594],[6.127695,50.14993],[6.113228,50.13739],[6.123691,50.13719],[6.140929,50.1305],[6.135554,50.11899],[6.138082,50.10263],[6.131085,50.09964],[6.135473,50.09119],[6.121939,50.09059],[6.126335,50.07817],[6.131858,50.07348],[6.121171,50.064],[6.114444,50.06139],[6.115631,50.05817],[6.123611,50.06323],[6.136608,50.04178],[6.130343,50.02975],[6.148207,50.02307],[6.13868,50.01572],[6.135938,50.01485],[6.131384,50.01905],[6.130243,50.01819],[6.139343,50.01116],[6.151702,50.01058],[6.145464,49.99689],[6.139657,49.9994],[6.138524,49.99829],[6.142178,49.99535],[6.150227,49.99518],[6.156247,49.98867],[6.173045,49.98589],[6.17348,49.98344],[6.170353,49.98376],[6.165487,49.97115],[6.171512,49.96298],[6.176298,49.962],[6.179954,49.95386],[6.183393,49.9548],[6.179829,49.96307],[6.183312,49.9686],[6.192774,49.97158],[6.199783,49.95352],[6.207066,49.95672],[6.212689,49.9514],[6.225023,49.95039],[6.22044,49.94369],[6.228241,49.93726],[6.22635,49.92766],[6.219133,49.92354],[6.229862,49.92125],[6.236032,49.91355],[6.231867,49.91064],[6.227694,49.91062],[6.232286,49.9072],[6.23381,49.90028],[6.246919,49.89535],[6.257809,49.88724],[6.263008,49.88101],[6.276455,49.87725],[6.281126,49.87957],[6.291661,49.87548],[6.297699,49.86673],[6.309889,49.87107],[6.315324,49.8673],[6.314651,49.86057],[6.323611,49.85188],[6.321577,49.8409],[6.327406,49.83673],[6.336561,49.83998],[6.339366,49.8507],[6.364651,49.85164],[6.402203,49.82098],[6.426434,49.81629],[6.428071,49.81186],[6.43097,49.81129],[6.441608,49.81547],[6.443442,49.81233],[6.45366,49.81275],[6.464538,49.81975],[6.47057,49.82385],[6.496805,49.81277],[6.50669,49.80993],[6.511554,49.80238],[6.51485,49.80513],[6.519604,49.81446],[6.529808,49.81048],[6.532249,49.80686],[6.530829,49.80116],[6.506225,49.78899],[6.519171,49.78344],[6.511055,49.77422],[6.520563,49.76818],[6.520516,49.76134],[6.503734,49.75086],[6.502627,49.73298],[6.507266,49.72938],[6.518092,49.7242],[6.516417,49.72129],[6.511763,49.72016],[6.504791,49.725],[6.498913,49.72639],[6.495576,49.72443],[6.507122,49.71655],[6.507884,49.71215],[6.504598,49.71227],[6.427139,49.66237],[6.439899,49.66025],[6.442511,49.65591],[6.421781,49.61809],[6.398978,49.60094],[6.379408,49.59526],[6.375507,49.58809],[6.384426,49.5801],[6.381188,49.57509],[6.369093,49.5783],[6.357913,49.57166],[6.384902,49.55817],[6.380095,49.54856],[6.358555,49.53296],[6.359322,49.52481],[6.370763,49.50545],[6.370562,49.45732],[6.333403,49.46493],[6.321894,49.47244],[6.295034,49.47928],[6.287889,49.48379],[6.271912,49.49995],[6.241327,49.50693],[6.196692,49.50331],[6.173373,49.50577],[6.160858,49.50085],[6.167099,49.49006],[6.140179,49.48525],[6.129367,49.48803],[6.127247,49.47081],[6.101403,49.46726],[6.104826,49.45076],[6.081667,49.45417],[6.077222,49.46139],[6.059167,49.46306],[6.052222,49.46028],[6.044213,49.44553],[6.025294,49.44703],[6.021545,49.45127],[6.01574,49.44885],[5.994123,49.45301],[5.976569,49.44885],[5.977725,49.45955],[5.972317,49.46087],[5.968912,49.48202],[5.9616,49.49026],[5.915781,49.49835],[5.890334,49.4948],[5.863321,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.831868,49.52639],[5.84308,49.53081],[5.835622,49.54114],[5.816251,49.53325],[5.805201,49.54272],[5.859432,49.57158],[5.868663,49.587],[5.862888,49.58525],[5.851102,49.58379],[5.847116,49.58961],[5.845652,49.5981],[5.869401,49.6106],[5.881819,49.63815],[5.899978,49.63907],[5.899339,49.66239],[5.856561,49.67628],[5.856283,49.68211],[5.875703,49.71118],[5.864811,49.72331],[5.843249,49.71822],[5.82191,49.72128],[5.824894,49.73767],[5.820728,49.74878],[5.786264,49.79079],[5.765172,49.78961],[5.750937,49.79094],[5.741591,49.82126],[5.745814,49.82435],[5.737197,49.83353],[5.740531,49.84142],[5.747012,49.84048],[5.746237,49.84783],[5.753989,49.84878],[5.740663,49.85152],[5.752288,49.85922],[5.749545,49.87554],[5.775668,49.87438],[5.775053,49.88057],[5.734598,49.89341],[5.733033,49.90285],[5.757834,49.91737],[5.760393,49.93252],[5.770728,49.93711],[5.768783,49.94239],[5.768802,49.96104],[5.786724,49.96816],[5.80524,49.96677],[5.806521,49.97321],[5.831293,49.97995],[5.834616,49.98656],[5.818057,49.99936],[5.815606,50.01437],[5.847923,50.02809],[5.861889,50.04581],[5.850872,50.0563],[5.857809,50.07186],[5.880997,50.08069],[5.891965,50.12041],[5.952856,50.13384],[5.961753,50.17631]]],"terms_url":"https://data.public.lu/en/datasets/plan-cadastral-numerise-pcn-webservices-wms-et-wmts/","terms_text":"Administration du Cadastre et de la Topographie","id":"lu.geoportail.opendata.cadastre"},{"name":"Luxembourg Geoportail Ortho 2010","type":"tms","template":"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2010/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg","scaleExtent":[0,20],"polygon":[[[5.961753,50.17631],[6.026268,50.18496],[6.033182,50.16395],[6.060695,50.15536],[6.07668,50.15913],[6.078237,50.17255],[6.101762,50.17199],[6.122501,50.16437],[6.120101,50.15594],[6.127695,50.14993],[6.113228,50.13739],[6.123691,50.13719],[6.140929,50.1305],[6.135554,50.11899],[6.138082,50.10263],[6.131085,50.09964],[6.135473,50.09119],[6.121939,50.09059],[6.126335,50.07817],[6.131858,50.07348],[6.121171,50.064],[6.114444,50.06139],[6.115631,50.05817],[6.123611,50.06323],[6.136608,50.04178],[6.130343,50.02975],[6.148207,50.02307],[6.13868,50.01572],[6.135938,50.01485],[6.131384,50.01905],[6.130243,50.01819],[6.139343,50.01116],[6.151702,50.01058],[6.145464,49.99689],[6.139657,49.9994],[6.138524,49.99829],[6.142178,49.99535],[6.150227,49.99518],[6.156247,49.98867],[6.173045,49.98589],[6.17348,49.98344],[6.170353,49.98376],[6.165487,49.97115],[6.171512,49.96298],[6.176298,49.962],[6.179954,49.95386],[6.183393,49.9548],[6.179829,49.96307],[6.183312,49.9686],[6.192774,49.97158],[6.199783,49.95352],[6.207066,49.95672],[6.212689,49.9514],[6.225023,49.95039],[6.22044,49.94369],[6.228241,49.93726],[6.22635,49.92766],[6.219133,49.92354],[6.229862,49.92125],[6.236032,49.91355],[6.231867,49.91064],[6.227694,49.91062],[6.232286,49.9072],[6.23381,49.90028],[6.246919,49.89535],[6.257809,49.88724],[6.263008,49.88101],[6.276455,49.87725],[6.281126,49.87957],[6.291661,49.87548],[6.297699,49.86673],[6.309889,49.87107],[6.315324,49.8673],[6.314651,49.86057],[6.323611,49.85188],[6.321577,49.8409],[6.327406,49.83673],[6.336561,49.83998],[6.339366,49.8507],[6.364651,49.85164],[6.402203,49.82098],[6.426434,49.81629],[6.428071,49.81186],[6.43097,49.81129],[6.441608,49.81547],[6.443442,49.81233],[6.45366,49.81275],[6.464538,49.81975],[6.47057,49.82385],[6.496805,49.81277],[6.50669,49.80993],[6.511554,49.80238],[6.51485,49.80513],[6.519604,49.81446],[6.529808,49.81048],[6.532249,49.80686],[6.530829,49.80116],[6.506225,49.78899],[6.519171,49.78344],[6.511055,49.77422],[6.520563,49.76818],[6.520516,49.76134],[6.503734,49.75086],[6.502627,49.73298],[6.507266,49.72938],[6.518092,49.7242],[6.516417,49.72129],[6.511763,49.72016],[6.504791,49.725],[6.498913,49.72639],[6.495576,49.72443],[6.507122,49.71655],[6.507884,49.71215],[6.504598,49.71227],[6.427139,49.66237],[6.439899,49.66025],[6.442511,49.65591],[6.421781,49.61809],[6.398978,49.60094],[6.379408,49.59526],[6.375507,49.58809],[6.384426,49.5801],[6.381188,49.57509],[6.369093,49.5783],[6.357913,49.57166],[6.384902,49.55817],[6.380095,49.54856],[6.358555,49.53296],[6.359322,49.52481],[6.370763,49.50545],[6.370562,49.45732],[6.333403,49.46493],[6.321894,49.47244],[6.295034,49.47928],[6.287889,49.48379],[6.271912,49.49995],[6.241327,49.50693],[6.196692,49.50331],[6.173373,49.50577],[6.160858,49.50085],[6.167099,49.49006],[6.140179,49.48525],[6.129367,49.48803],[6.127247,49.47081],[6.101403,49.46726],[6.104826,49.45076],[6.081667,49.45417],[6.077222,49.46139],[6.059167,49.46306],[6.052222,49.46028],[6.044213,49.44553],[6.025294,49.44703],[6.021545,49.45127],[6.01574,49.44885],[5.994123,49.45301],[5.976569,49.44885],[5.977725,49.45955],[5.972317,49.46087],[5.968912,49.48202],[5.9616,49.49026],[5.915781,49.49835],[5.890334,49.4948],[5.863321,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.831868,49.52639],[5.84308,49.53081],[5.835622,49.54114],[5.816251,49.53325],[5.805201,49.54272],[5.859432,49.57158],[5.868663,49.587],[5.862888,49.58525],[5.851102,49.58379],[5.847116,49.58961],[5.845652,49.5981],[5.869401,49.6106],[5.881819,49.63815],[5.899978,49.63907],[5.899339,49.66239],[5.856561,49.67628],[5.856283,49.68211],[5.875703,49.71118],[5.864811,49.72331],[5.843249,49.71822],[5.82191,49.72128],[5.824894,49.73767],[5.820728,49.74878],[5.786264,49.79079],[5.765172,49.78961],[5.750937,49.79094],[5.741591,49.82126],[5.745814,49.82435],[5.737197,49.83353],[5.740531,49.84142],[5.747012,49.84048],[5.746237,49.84783],[5.753989,49.84878],[5.740663,49.85152],[5.752288,49.85922],[5.749545,49.87554],[5.775668,49.87438],[5.775053,49.88057],[5.734598,49.89341],[5.733033,49.90285],[5.757834,49.91737],[5.760393,49.93252],[5.770728,49.93711],[5.768783,49.94239],[5.768802,49.96104],[5.786724,49.96816],[5.80524,49.96677],[5.806521,49.97321],[5.831293,49.97995],[5.834616,49.98656],[5.818057,49.99936],[5.815606,50.01437],[5.847923,50.02809],[5.861889,50.04581],[5.850872,50.0563],[5.857809,50.07186],[5.880997,50.08069],[5.891965,50.12041],[5.952856,50.13384],[5.961753,50.17631]]],"terms_url":"https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts","terms_text":"Administration du Cadastre et de la Topographie","id":"lu.geoportail.opendata.ortho2010","best":true},{"name":"Luxembourg Geoportail Ortho 2013","type":"tms","template":"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2013/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg","scaleExtent":[0,20],"polygon":[[[5.961753,50.17631],[6.026268,50.18496],[6.033182,50.16395],[6.060695,50.15536],[6.07668,50.15913],[6.078237,50.17255],[6.101762,50.17199],[6.122501,50.16437],[6.120101,50.15594],[6.127695,50.14993],[6.113228,50.13739],[6.123691,50.13719],[6.140929,50.1305],[6.135554,50.11899],[6.138082,50.10263],[6.131085,50.09964],[6.135473,50.09119],[6.121939,50.09059],[6.126335,50.07817],[6.131858,50.07348],[6.121171,50.064],[6.114444,50.06139],[6.115631,50.05817],[6.123611,50.06323],[6.136608,50.04178],[6.130343,50.02975],[6.148207,50.02307],[6.13868,50.01572],[6.135938,50.01485],[6.131384,50.01905],[6.130243,50.01819],[6.139343,50.01116],[6.151702,50.01058],[6.145464,49.99689],[6.139657,49.9994],[6.138524,49.99829],[6.142178,49.99535],[6.150227,49.99518],[6.156247,49.98867],[6.173045,49.98589],[6.17348,49.98344],[6.170353,49.98376],[6.165487,49.97115],[6.171512,49.96298],[6.176298,49.962],[6.179954,49.95386],[6.183393,49.9548],[6.179829,49.96307],[6.183312,49.9686],[6.192774,49.97158],[6.199783,49.95352],[6.207066,49.95672],[6.212689,49.9514],[6.225023,49.95039],[6.22044,49.94369],[6.228241,49.93726],[6.22635,49.92766],[6.219133,49.92354],[6.229862,49.92125],[6.236032,49.91355],[6.231867,49.91064],[6.227694,49.91062],[6.232286,49.9072],[6.23381,49.90028],[6.246919,49.89535],[6.257809,49.88724],[6.263008,49.88101],[6.276455,49.87725],[6.281126,49.87957],[6.291661,49.87548],[6.297699,49.86673],[6.309889,49.87107],[6.315324,49.8673],[6.314651,49.86057],[6.323611,49.85188],[6.321577,49.8409],[6.327406,49.83673],[6.336561,49.83998],[6.339366,49.8507],[6.364651,49.85164],[6.402203,49.82098],[6.426434,49.81629],[6.428071,49.81186],[6.43097,49.81129],[6.441608,49.81547],[6.443442,49.81233],[6.45366,49.81275],[6.464538,49.81975],[6.47057,49.82385],[6.496805,49.81277],[6.50669,49.80993],[6.511554,49.80238],[6.51485,49.80513],[6.519604,49.81446],[6.529808,49.81048],[6.532249,49.80686],[6.530829,49.80116],[6.506225,49.78899],[6.519171,49.78344],[6.511055,49.77422],[6.520563,49.76818],[6.520516,49.76134],[6.503734,49.75086],[6.502627,49.73298],[6.507266,49.72938],[6.518092,49.7242],[6.516417,49.72129],[6.511763,49.72016],[6.504791,49.725],[6.498913,49.72639],[6.495576,49.72443],[6.507122,49.71655],[6.507884,49.71215],[6.504598,49.71227],[6.427139,49.66237],[6.439899,49.66025],[6.442511,49.65591],[6.421781,49.61809],[6.398978,49.60094],[6.379408,49.59526],[6.375507,49.58809],[6.384426,49.5801],[6.381188,49.57509],[6.369093,49.5783],[6.357913,49.57166],[6.384902,49.55817],[6.380095,49.54856],[6.358555,49.53296],[6.359322,49.52481],[6.370763,49.50545],[6.370562,49.45732],[6.333403,49.46493],[6.321894,49.47244],[6.295034,49.47928],[6.287889,49.48379],[6.271912,49.49995],[6.241327,49.50693],[6.196692,49.50331],[6.173373,49.50577],[6.160858,49.50085],[6.167099,49.49006],[6.140179,49.48525],[6.129367,49.48803],[6.127247,49.47081],[6.101403,49.46726],[6.104826,49.45076],[6.081667,49.45417],[6.077222,49.46139],[6.059167,49.46306],[6.052222,49.46028],[6.044213,49.44553],[6.025294,49.44703],[6.021545,49.45127],[6.01574,49.44885],[5.994123,49.45301],[5.976569,49.44885],[5.977725,49.45955],[5.972317,49.46087],[5.968912,49.48202],[5.9616,49.49026],[5.915781,49.49835],[5.890334,49.4948],[5.863321,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.831868,49.52639],[5.84308,49.53081],[5.835622,49.54114],[5.816251,49.53325],[5.805201,49.54272],[5.859432,49.57158],[5.868663,49.587],[5.862888,49.58525],[5.851102,49.58379],[5.847116,49.58961],[5.845652,49.5981],[5.869401,49.6106],[5.881819,49.63815],[5.899978,49.63907],[5.899339,49.66239],[5.856561,49.67628],[5.856283,49.68211],[5.875703,49.71118],[5.864811,49.72331],[5.843249,49.71822],[5.82191,49.72128],[5.824894,49.73767],[5.820728,49.74878],[5.786264,49.79079],[5.765172,49.78961],[5.750937,49.79094],[5.741591,49.82126],[5.745814,49.82435],[5.737197,49.83353],[5.740531,49.84142],[5.747012,49.84048],[5.746237,49.84783],[5.753989,49.84878],[5.740663,49.85152],[5.752288,49.85922],[5.749545,49.87554],[5.775668,49.87438],[5.775053,49.88057],[5.734598,49.89341],[5.733033,49.90285],[5.757834,49.91737],[5.760393,49.93252],[5.770728,49.93711],[5.768783,49.94239],[5.768802,49.96104],[5.786724,49.96816],[5.80524,49.96677],[5.806521,49.97321],[5.831293,49.97995],[5.834616,49.98656],[5.818057,49.99936],[5.815606,50.01437],[5.847923,50.02809],[5.861889,50.04581],[5.850872,50.0563],[5.857809,50.07186],[5.880997,50.08069],[5.891965,50.12041],[5.952856,50.13384],[5.961753,50.17631]]],"terms_url":"https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts","terms_text":"Administration du Cadastre et de la Topographie","id":"lu.geoportail.opendata.ortho2013","best":true},{"name":"Luxembourg Geoportail Topographical Map","type":"tms","template":"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/topo/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg","scaleExtent":[0,20],"polygon":[[[5.961753,50.17631],[6.026268,50.18496],[6.033182,50.16395],[6.060695,50.15536],[6.07668,50.15913],[6.078237,50.17255],[6.101762,50.17199],[6.122501,50.16437],[6.120101,50.15594],[6.127695,50.14993],[6.113228,50.13739],[6.123691,50.13719],[6.140929,50.1305],[6.135554,50.11899],[6.138082,50.10263],[6.131085,50.09964],[6.135473,50.09119],[6.121939,50.09059],[6.126335,50.07817],[6.131858,50.07348],[6.121171,50.064],[6.114444,50.06139],[6.115631,50.05817],[6.123611,50.06323],[6.136608,50.04178],[6.130343,50.02975],[6.148207,50.02307],[6.13868,50.01572],[6.135938,50.01485],[6.131384,50.01905],[6.130243,50.01819],[6.139343,50.01116],[6.151702,50.01058],[6.145464,49.99689],[6.139657,49.9994],[6.138524,49.99829],[6.142178,49.99535],[6.150227,49.99518],[6.156247,49.98867],[6.173045,49.98589],[6.17348,49.98344],[6.170353,49.98376],[6.165487,49.97115],[6.171512,49.96298],[6.176298,49.962],[6.179954,49.95386],[6.183393,49.9548],[6.179829,49.96307],[6.183312,49.9686],[6.192774,49.97158],[6.199783,49.95352],[6.207066,49.95672],[6.212689,49.9514],[6.225023,49.95039],[6.22044,49.94369],[6.228241,49.93726],[6.22635,49.92766],[6.219133,49.92354],[6.229862,49.92125],[6.236032,49.91355],[6.231867,49.91064],[6.227694,49.91062],[6.232286,49.9072],[6.23381,49.90028],[6.246919,49.89535],[6.257809,49.88724],[6.263008,49.88101],[6.276455,49.87725],[6.281126,49.87957],[6.291661,49.87548],[6.297699,49.86673],[6.309889,49.87107],[6.315324,49.8673],[6.314651,49.86057],[6.323611,49.85188],[6.321577,49.8409],[6.327406,49.83673],[6.336561,49.83998],[6.339366,49.8507],[6.364651,49.85164],[6.402203,49.82098],[6.426434,49.81629],[6.428071,49.81186],[6.43097,49.81129],[6.441608,49.81547],[6.443442,49.81233],[6.45366,49.81275],[6.464538,49.81975],[6.47057,49.82385],[6.496805,49.81277],[6.50669,49.80993],[6.511554,49.80238],[6.51485,49.80513],[6.519604,49.81446],[6.529808,49.81048],[6.532249,49.80686],[6.530829,49.80116],[6.506225,49.78899],[6.519171,49.78344],[6.511055,49.77422],[6.520563,49.76818],[6.520516,49.76134],[6.503734,49.75086],[6.502627,49.73298],[6.507266,49.72938],[6.518092,49.7242],[6.516417,49.72129],[6.511763,49.72016],[6.504791,49.725],[6.498913,49.72639],[6.495576,49.72443],[6.507122,49.71655],[6.507884,49.71215],[6.504598,49.71227],[6.427139,49.66237],[6.439899,49.66025],[6.442511,49.65591],[6.421781,49.61809],[6.398978,49.60094],[6.379408,49.59526],[6.375507,49.58809],[6.384426,49.5801],[6.381188,49.57509],[6.369093,49.5783],[6.357913,49.57166],[6.384902,49.55817],[6.380095,49.54856],[6.358555,49.53296],[6.359322,49.52481],[6.370763,49.50545],[6.370562,49.45732],[6.333403,49.46493],[6.321894,49.47244],[6.295034,49.47928],[6.287889,49.48379],[6.271912,49.49995],[6.241327,49.50693],[6.196692,49.50331],[6.173373,49.50577],[6.160858,49.50085],[6.167099,49.49006],[6.140179,49.48525],[6.129367,49.48803],[6.127247,49.47081],[6.101403,49.46726],[6.104826,49.45076],[6.081667,49.45417],[6.077222,49.46139],[6.059167,49.46306],[6.052222,49.46028],[6.044213,49.44553],[6.025294,49.44703],[6.021545,49.45127],[6.01574,49.44885],[5.994123,49.45301],[5.976569,49.44885],[5.977725,49.45955],[5.972317,49.46087],[5.968912,49.48202],[5.9616,49.49026],[5.915781,49.49835],[5.890334,49.4948],[5.863321,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.831868,49.52639],[5.84308,49.53081],[5.835622,49.54114],[5.816251,49.53325],[5.805201,49.54272],[5.859432,49.57158],[5.868663,49.587],[5.862888,49.58525],[5.851102,49.58379],[5.847116,49.58961],[5.845652,49.5981],[5.869401,49.6106],[5.881819,49.63815],[5.899978,49.63907],[5.899339,49.66239],[5.856561,49.67628],[5.856283,49.68211],[5.875703,49.71118],[5.864811,49.72331],[5.843249,49.71822],[5.82191,49.72128],[5.824894,49.73767],[5.820728,49.74878],[5.786264,49.79079],[5.765172,49.78961],[5.750937,49.79094],[5.741591,49.82126],[5.745814,49.82435],[5.737197,49.83353],[5.740531,49.84142],[5.747012,49.84048],[5.746237,49.84783],[5.753989,49.84878],[5.740663,49.85152],[5.752288,49.85922],[5.749545,49.87554],[5.775668,49.87438],[5.775053,49.88057],[5.734598,49.89341],[5.733033,49.90285],[5.757834,49.91737],[5.760393,49.93252],[5.770728,49.93711],[5.768783,49.94239],[5.768802,49.96104],[5.786724,49.96816],[5.80524,49.96677],[5.806521,49.97321],[5.831293,49.97995],[5.834616,49.98656],[5.818057,49.99936],[5.815606,50.01437],[5.847923,50.02809],[5.861889,50.04581],[5.850872,50.0563],[5.857809,50.07186],[5.880997,50.08069],[5.891965,50.12041],[5.952856,50.13384],[5.961753,50.17631]]],"terms_url":"https://data.public.lu/en/datasets/cartes-topographiques-services-wms-et-wmts/","terms_text":"Administration du Cadastre et de la Topographie","id":"lu.geoportail.opendata.topo"},{"name":"Mapbox Satellite","type":"tms","description":"Satellite and aerial imagery.","template":"http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh7ifmo/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw","scaleExtent":[0,19],"terms_url":"http://www.mapbox.com/about/maps/","terms_text":"Terms & Feedback","id":"Mapbox","default":true},{"name":"New & Misaligned TIGER Roads","type":"tms","description":"At zoom level 16+, public domain map data from the US Census. At lower zooms, only changes since 2006 minus changes already incorporated into OpenStreetMap","template":"http://{switch:a,b,c}.tiles.mapbox.com/v4/enf.e0b8291e/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJhNVlHd29ZIn0.ti6wATGDWOmCnCYen-Ip7Q","scaleExtent":[0,22],"polygon":[[[-124.7617886,48.4130148],[-124.6059492,45.90245],[-124.9934269,40.0557614],[-122.5369737,36.8566086],[-119.9775867,33.0064099],[-117.675935,32.4630223],[-114.8612307,32.4799891],[-111.0089311,31.336015],[-108.1992687,31.3260016],[-108.1871123,31.7755116],[-106.5307225,31.7820947],[-106.4842052,31.7464455],[-106.429317,31.7520583],[-106.2868855,31.5613291],[-106.205248,31.446704],[-105.0205259,30.5360988],[-104.5881916,29.6997856],[-103.2518856,28.8908685],[-102.7173632,29.3920567],[-102.1513983,29.7475702],[-101.2552871,29.4810523],[-100.0062436,28.0082173],[-99.2351068,26.4475962],[-98.0109067,25.9928035],[-97.435024,25.8266009],[-96.9555259,25.9821589],[-96.8061741,27.7978168],[-95.5563349,28.5876066],[-93.7405308,29.4742093],[-90.9028456,28.8564513],[-88.0156706,28.9944338],[-88.0162494,30.0038862],[-86.0277506,30.0047454],[-84.0187909,28.9961781],[-81.9971976,25.9826768],[-81.9966618,25.0134917],[-84.0165592,25.0125783],[-84.0160068,24.0052745],[-80.0199985,24.007096],[-79.8901116,26.8550713],[-80.0245309,32.0161282],[-75.4147385,35.0531894],[-74.0211163,39.5727927],[-72.002019,40.9912464],[-69.8797398,40.9920457],[-69.8489304,43.2619916],[-66.9452845,44.7104937],[-67.7596632,47.0990024],[-69.2505131,47.5122328],[-70.4614886,46.2176574],[-71.412273,45.254878],[-72.0222508,45.0059846],[-75.0798841,44.9802854],[-76.9023061,43.8024568],[-78.7623935,43.6249578],[-79.15798,43.4462589],[-79.0060087,42.8005317],[-82.662475,41.6889458],[-82.1761642,43.588535],[-83.2813977,46.138853],[-87.5064535,48.0142702],[-88.3492194,48.2963271],[-89.4353148,47.9837822],[-93.9981078,49.0067142],[-95.1105379,49.412004],[-96.0131199,49.0060547],[-123.3228926,49.0042878],[-123.2275233,48.1849927]],[[-160.5787616,22.5062947],[-160.5782192,21.4984647],[-158.7470604,21.2439843],[-157.5083185,20.995803],[-155.9961942,18.7790194],[-154.6217803,18.7586966],[-154.6890176,19.8805722],[-156.2927622,21.2225888],[-157.5047384,21.9984962],[-159.0093692,22.5070181]],[[-167.1571546,68.721974],[-164.8553982,67.0255078],[-168.002195,66.0017503],[-169.0087448,66.001546],[-169.0075381,64.9987675],[-172.5143281,63.8767267],[-173.8197023,59.74014],[-162.5018149,58.0005815],[-160.0159024,58.0012389],[-160.0149725,57.000035],[-160.5054788,56.9999017],[-165.8092575,54.824847],[-178.000097,52.2446469],[-177.9992996,51.2554252],[-171.4689067,51.8215329],[-162.40251,53.956664],[-159.0075717,55.002502],[-158.0190709,55.0027849],[-151.9963213,55.9991902],[-151.500341,57.9987853],[-151.5012894,58.9919816],[-138.5159989,58.9953194],[-138.5150471,57.9986434],[-133.9948193,54.0031685],[-130.0044418,54.0043387],[-130.0070826,57.0000507],[-131.975877,56.9995156],[-135.1229873,59.756601],[-138.0071813,59.991805],[-139.1715881,60.4127229],[-140.9874011,61.0118551],[-140.9683975,69.9535069],[-156.176891,71.5633329],[-160.413634,70.7397728],[-163.0218273,69.9707435],[-164.9717003,68.994689]]],"overlay":true},{"name":"NJ 2015 Aerial Imagery (Infrared)","type":"tms","description":"Digital orthophotography of New Jersey, Near Infrared, 1 foot resolution","template":"http://whoots.mapwarper.net/tms/{z}/{x}/{y}/Infrared2015/http://geodata.state.nj.us/imagerywms/Infrared2015","scaleExtent":[0,20],"polygon":[[[-74.86599,40.085427],[-74.840927,40.107225],[-74.822903,40.130329],[-74.788055,40.124685],[-74.726086,40.149488],[-74.729176,40.16392],[-74.763336,40.191725],[-74.775524,40.214276],[-74.844017,40.247957],[-74.868393,40.291573],[-74.944611,40.33817],[-74.967098,40.395195],[-75.002632,40.406046],[-75.026836,40.402516],[-75.06134,40.416502],[-75.074215,40.455046],[-75.069065,40.536503],[-75.102367,40.567024],[-75.135927,40.573609],[-75.16777,40.559069],[-75.197639,40.573674],[-75.203733,40.618318],[-75.205064,40.691312],[-75.198326,40.753889],[-75.172405,40.780671],[-75.1367,40.777292],[-75.090179,40.822383],[-75.100994,40.839269],[-75.096874,40.850956],[-75.068464,40.850372],[-75.057049,40.867574],[-75.13773,40.973094],[-75.135155,40.994411],[-75.039024,41.03819],[-74.981518,41.112598],[-74.905472,41.170384],[-74.84024,41.278645],[-74.798012,41.322685],[-74.757156,41.347691],[-74.695702,41.360576],[-74.041054,41.059088],[-74.041051,41.059087],[-74.04105,41.059087],[-74.04105,41.059086],[-74.041049,41.059086],[-74.041049,41.059086],[-73.890266,40.998039],[-73.933406,40.882078],[-73.933407,40.882077],[-73.933408,40.882076],[-73.933408,40.882075],[-73.933408,40.882075],[-74.011459,40.75558],[-74.024543,40.709436],[-74.066048,40.651732],[-74.152222,40.638967],[-74.183121,40.644568],[-74.200459,40.631281],[-74.199257,40.598444],[-74.21505,40.558026],[-74.246807,40.548113],[-74.24715,40.519541],[-74.267578,40.489651],[-74.26054,40.469282],[-74.199257,40.445641],[-74.181061,40.460401],[-74.136429,40.459095],[-73.997555,40.413496],[-74.026566,40.47777],[-74.003906,40.484037],[-73.977814,40.452042],[-73.964767,40.33189],[-74.088364,39.756824],[-74.356842,39.383406],[-74.609528,39.215231],[-74.776382,38.998909],[-74.863586,38.931639],[-74.931221,38.920688],[-74.980316,38.930304],[-74.960747,39.00798],[-74.905472,39.100226],[-74.899979,39.164141],[-75.101166,39.201398],[-75.135498,39.171062],[-75.425949,39.378099],[-75.475044,39.43195],[-75.543365,39.457403],[-75.552292,39.482845],[-75.538902,39.541911],[-75.519676,39.56997],[-75.571175,39.608069],[-75.577698,39.625524],[-75.539932,39.656456],[-75.472984,39.747454],[-75.466253,39.750761],[-75.466252,39.750762],[-75.466252,39.750763],[-75.466252,39.750763],[-75.466252,39.750763],[-75.466251,39.750764],[-75.466251,39.750765],[-75.466251,39.750765],[-75.466251,39.750765],[-75.466251,39.750765],[-75.46625,39.750767],[-75.466249,39.750768],[-75.466249,39.750769],[-75.466249,39.750769],[-75.465088,39.764478],[-75.415041,39.801786],[-75.324669,39.858891],[-75.246048,39.864689],[-75.143738,39.900255],[-75.142365,39.957912],[-75.07061,39.987117],[-75.056534,40.008683],[-74.935341,40.072555],[-74.86599,40.085427]]],"terms_url":"https://njgin.state.nj.us/NJ_NJGINExplorer/ShowMetadata.jsp?docId={E30775F2-6370-4525-8E68-C371ED29BBB3}","terms_text":"NJ Office of Information Technology (NJOIT), Office of Geographic Information Systems (OGIS)"},{"name":"NJ 2015 Aerial Imagery (Natural Color)","type":"tms","description":"Digital orthophotography of New Jersey, Natural Color, 1 foot resolution","template":"http://whoots.mapwarper.net/tms/{z}/{x}/{y}/Natural2015/http://geodata.state.nj.us/imagerywms/Natural2015","scaleExtent":[0,20],"polygon":[[[-74.86599,40.085427],[-74.840927,40.107225],[-74.822903,40.130329],[-74.788055,40.124685],[-74.726086,40.149488],[-74.729176,40.16392],[-74.763336,40.191725],[-74.775524,40.214276],[-74.844017,40.247957],[-74.868393,40.291573],[-74.944611,40.33817],[-74.967098,40.395195],[-75.002632,40.406046],[-75.026836,40.402516],[-75.06134,40.416502],[-75.074215,40.455046],[-75.069065,40.536503],[-75.102367,40.567024],[-75.135927,40.573609],[-75.16777,40.559069],[-75.197639,40.573674],[-75.203733,40.618318],[-75.205064,40.691312],[-75.198326,40.753889],[-75.172405,40.780671],[-75.1367,40.777292],[-75.090179,40.822383],[-75.100994,40.839269],[-75.096874,40.850956],[-75.068464,40.850372],[-75.057049,40.867574],[-75.13773,40.973094],[-75.135155,40.994411],[-75.039024,41.03819],[-74.981518,41.112598],[-74.905472,41.170384],[-74.84024,41.278645],[-74.798012,41.322685],[-74.757156,41.347691],[-74.695702,41.360576],[-74.041054,41.059088],[-74.041051,41.059087],[-74.04105,41.059087],[-74.04105,41.059086],[-74.041049,41.059086],[-74.041049,41.059086],[-73.890266,40.998039],[-73.933406,40.882078],[-73.933407,40.882077],[-73.933408,40.882076],[-73.933408,40.882075],[-73.933408,40.882075],[-74.011459,40.75558],[-74.024543,40.709436],[-74.066048,40.651732],[-74.152222,40.638967],[-74.183121,40.644568],[-74.200459,40.631281],[-74.199257,40.598444],[-74.21505,40.558026],[-74.246807,40.548113],[-74.24715,40.519541],[-74.267578,40.489651],[-74.26054,40.469282],[-74.199257,40.445641],[-74.181061,40.460401],[-74.136429,40.459095],[-73.997555,40.413496],[-74.026566,40.47777],[-74.003906,40.484037],[-73.977814,40.452042],[-73.964767,40.33189],[-74.088364,39.756824],[-74.356842,39.383406],[-74.609528,39.215231],[-74.776382,38.998909],[-74.863586,38.931639],[-74.931221,38.920688],[-74.980316,38.930304],[-74.960747,39.00798],[-74.905472,39.100226],[-74.899979,39.164141],[-75.101166,39.201398],[-75.135498,39.171062],[-75.425949,39.378099],[-75.475044,39.43195],[-75.543365,39.457403],[-75.552292,39.482845],[-75.538902,39.541911],[-75.519676,39.56997],[-75.571175,39.608069],[-75.577698,39.625524],[-75.539932,39.656456],[-75.472984,39.747454],[-75.466253,39.750761],[-75.466252,39.750762],[-75.466252,39.750763],[-75.466252,39.750763],[-75.466252,39.750763],[-75.466251,39.750764],[-75.466251,39.750765],[-75.466251,39.750765],[-75.466251,39.750765],[-75.466251,39.750765],[-75.46625,39.750767],[-75.466249,39.750768],[-75.466249,39.750769],[-75.466249,39.750769],[-75.465088,39.764478],[-75.415041,39.801786],[-75.324669,39.858891],[-75.246048,39.864689],[-75.143738,39.900255],[-75.142365,39.957912],[-75.07061,39.987117],[-75.056534,40.008683],[-74.935341,40.072555],[-74.86599,40.085427]]],"terms_url":"https://njgin.state.nj.us/NJ_NJGINExplorer/ShowMetadata.jsp?docId={CDC67AB8-ADA1-4B4B-9087-67A82CB9151C}","terms_text":"NJ Office of Information Technology (NJOIT), Office of Geographic Information Systems (OGIS)"},{"name":"NLS - Bartholomew Half Inch, 1897-1907","type":"tms","template":"http://geo.nls.uk/mapdata2/bartholomew/great_britain/{zoom}/{x}/{-y}.png","scaleExtent":[0,15],"polygon":[[[-9,49.8],[-9,61.1],[1.9,61.1],[1.9,49.8],[-9,49.8]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"NLS - OS 1-inch 7th Series 1955-61","type":"tms","template":"http://geo.nls.uk/mapdata2/os/seventh/{zoom}/{x}/{-y}.png","scaleExtent":[5,16],"polygon":[[[-6.4585407,49.9044128],[-6.3872009,49.9841116],[-6.2296827,49.9896159],[-6.2171269,49.8680087],[-6.4551164,49.8591793]],[[-1.4495137,60.8634056],[-0.7167114,60.8545122],[-0.7349744,60.4359756],[-0.6938826,60.4168218],[-0.7258429,60.3942735],[-0.7395401,60.0484714],[-0.9267357,60.0461918],[-0.9381501,59.8266157],[-1.4586452,59.831205],[-1.4455187,60.0535999],[-1.463211,60.0535999],[-1.4643524,60.0630002],[-1.5716475,60.0638546],[-1.5693646,60.1790005],[-1.643558,60.1807033],[-1.643558,60.1892162],[-1.8216221,60.1894999],[-1.8204807,60.3615507],[-1.8415973,60.3697345],[-1.8216221,60.3832755],[-1.8179852,60.5934321],[-1.453168,60.5934321]],[[-4.9089213,54.4242078],[-4.282598,54.4429861],[-4.2535417,54.029769],[-4.8766366,54.0221831]],[[-5.8667408,59.1444603],[-5.7759966,59.1470945],[-5.7720016,59.1014052],[-5.8621751,59.0990605]],[[-1.7065887,59.5703599],[-1.5579165,59.5693481],[-1.5564897,59.4965695],[-1.7054472,59.4975834]],[[-7.6865827,58.2940975],[-7.5330594,58.3006957],[-7.5256401,58.2646905],[-7.6797341,58.2577853]],[[-4.5338281,59.0359871],[-4.481322,59.0371616],[-4.4796099,59.0186583],[-4.5332574,59.0180707]],[[-8.6710698,57.8769896],[-8.4673234,57.8897332],[-8.4467775,57.7907],[-8.6510947,57.7779213]],[[-5.2395519,50.3530581],[-5.7920073,50.3384899],[-5.760047,49.9317027],[-4.6551363,49.9581461],[-4.677965,50.2860073],[-4.244219,50.2801723],[-4.2487848,50.2042525],[-3.3812929,50.2042525],[-3.4223846,50.5188201],[-3.1164796,50.5246258],[-3.1210453,50.6579592],[-2.6736357,50.6619495],[-2.5953453,50.6394325],[-2.5905026,50.5728419],[-2.4791203,50.5733545],[-2.4758919,50.5066704],[-2.3967943,50.5056438],[-2.401637,50.5723293],[-1.0400296,50.5718167],[-1.0335726,50.7059289],[-0.549302,50.7038843],[-0.5460736,50.7886618],[-0.0924734,50.7856002],[-0.0876307,50.7181949],[0.4789659,50.7120623],[0.487037,50.8182467],[0.9761503,50.8049868],[0.9922927,51.0126311],[1.4491213,51.0004424],[1.4781775,51.4090372],[1.0229632,51.4271576],[1.035877,51.7640881],[1.6105448,51.7500992],[1.646058,52.1560003],[1.7267698,52.1540195],[1.749369,52.4481811],[1.7870672,52.4811624],[1.759102,52.522505],[1.7933451,52.9602749],[0.3798147,52.9958468],[0.3895238,53.2511239],[0.3478614,53.2511239],[0.3238912,53.282186],[0.3461492,53.6538501],[0.128487,53.6575466],[0.116582,53.6674703],[0.1350586,54.0655731],[-0.0609831,54.065908],[-0.0414249,54.4709448],[-0.5662701,54.4771794],[-0.5592078,54.6565127],[-1.1665638,54.6623485],[-1.1637389,54.842611],[-1.3316194,54.843909],[-1.3257065,55.2470842],[-1.529453,55.2487108],[-1.524178,55.6540122],[-1.7638798,55.6540122],[-1.7733693,55.9719116],[-2.1607858,55.9682981],[-2.1543289,56.0621387],[-2.4578051,56.0585337],[-2.4190635,56.641717],[-2.0962164,56.641717],[-2.0833025,57.0021322],[-1.9283359,57.0126802],[-1.9180966,57.3590895],[-1.7502161,57.3625721],[-1.7695869,57.7608634],[-3.6937554,57.7574187],[-3.7066693,57.9806386],[-3.5969013,57.9772149],[-3.6033582,58.1207277],[-3.0222335,58.1309566],[-3.0286905,58.5410788],[-2.8478961,58.530968],[-2.86081,58.8430508],[-2.679624,58.8414991],[-2.6841897,58.885175],[-2.6339665,58.9052239],[-2.679624,58.9335083],[-2.6887555,59.0229231],[-2.3668703,59.0229231],[-2.3702946,59.2652861],[-2.3429001,59.2821989],[-2.3714361,59.2996861],[-2.3737189,59.3707083],[-2.3429001,59.385825],[-2.3725775,59.400354],[-2.3714361,59.4259098],[-3.0734196,59.4230067],[-3.0711368,59.3433649],[-3.103097,59.3311405],[-3.0745611,59.3136695],[-3.0722782,59.232603],[-3.3850319,59.1484167],[-3.3747589,58.9352753],[-3.5653789,58.9323303],[-3.554829,58.69759],[-5.2808579,58.6667732],[-5.2534159,58.3514125],[-5.5068508,58.3437887],[-5.4761804,58.0323557],[-5.8974958,58.0212436],[-5.8522972,57.6171758],[-6.1396311,57.6137174],[-6.1541592,57.7423183],[-6.2913692,57.7380102],[-6.3365678,58.1398784],[-6.1121891,58.1466944],[-6.1473778,58.5106285],[-6.2934817,58.5416182],[-6.8413713,58.2977321],[-7.0057382,58.2929331],[-7.1016189,58.2064403],[-7.2573132,58.1793148],[-7.2531092,58.1004928],[-7.4070698,58.0905566],[-7.391347,57.7911354],[-7.790991,57.7733151],[-7.7624215,57.5444165],[-7.698501,57.1453194],[-7.7943817,57.1304547],[-7.716764,56.7368628],[-7.0122067,56.7654359],[-6.979922,56.5453858],[-7.0638622,56.5453858],[-7.0444914,56.3562587],[-6.500676,56.3812917],[-6.4491433,55.9793649],[-6.563287,55.9691456],[-6.5393742,55.7030135],[-6.5595521,55.6907321],[-6.5345315,55.6761713],[-6.5216176,55.5704434],[-5.8912587,55.5923416],[-5.8560127,55.2320733],[-5.2293639,55.2515958],[-5.1837064,54.6254139],[-3.6655956,54.6518373],[-3.6496155,54.4320023],[-3.5400375,54.4306744],[-3.530906,54.0290181],[-3.0697656,54.030359],[-3.0675737,53.8221388],[-3.0804876,53.7739911],[-3.0619239,53.7477488],[-3.0611168,53.6737049],[-3.2144691,53.6708361],[-3.2057699,53.4226163],[-3.2799632,53.355224],[-3.2896655,53.3608441],[-3.3327547,53.364931],[-3.3761293,53.3540318],[-4.0888976,53.3433102],[-4.0945474,53.4612036],[-4.697412,53.4448624],[-4.6882805,53.3318598],[-4.7202407,53.2895771],[-4.6837148,53.2486184],[-4.6768661,53.1542644],[-4.8480816,53.1446807],[-4.8178336,52.7440299],[-4.2545751,52.7558939],[-4.228876,52.254876],[-4.2607571,52.2536408],[-4.2724603,52.2432637],[-4.8136263,52.230095],[-4.8079191,52.1138892],[-5.3889104,52.0991668],[-5.3717888,51.9129667],[-5.4208706,51.9101502],[-5.414022,51.8453218],[-5.3683645,51.8474373],[-5.3466772,51.5595332],[-4.773676,51.5758518],[-4.7656859,51.4885146],[-4.1915432,51.4970427],[-4.1869775,51.4344663],[-3.6151177,51.4444274],[-3.6105519,51.3746543],[-3.1494115,51.3789292],[-3.1494115,51.2919281],[-4.3038735,51.2745907],[-4.2861169,51.0508721],[-4.8543277,51.0366633],[-4.8372201,50.7212787],[-5.2618345,50.7082694]],[[-2.1502671,60.171318],[-2.0030218,60.1696146],[-2.0013096,60.0997023],[-2.148555,60.1011247]],[[-6.2086011,59.1163488],[-6.1229934,59.1166418],[-6.121852,59.0714985],[-6.2097426,59.0714985]],[[-4.4159559,59.0889036],[-4.4212022,59.0770848],[-4.3971904,59.0779143],[-4.3913388,59.0897328]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"NLS - OS 1:25k 1st Series 1937-61","type":"tms","template":"http://geo.nls.uk/mapdata2/os/25000/{zoom}/{x}/{-y}.png","scaleExtent":[5,16],"polygon":[[[-4.7157244,54.6796556],[-4.6850662,54.6800268],[-4.6835779,54.6623245],[-4.7148782,54.6615818]],[[-3.7085748,58.3371151],[-3.5405937,58.3380684],[-3.5315137,58.1608002],[-3.3608086,58.1622372],[-3.3653486,58.252173],[-3.1610473,58.2536063],[-3.1610473,58.3261509],[-3.0275704,58.3271045],[-3.0366505,58.6139001],[-3.0021463,58.614373],[-3.0030543,58.7036341],[-3.4180129,58.7003322],[-3.4171049,58.6290293],[-3.7240109,58.6266658],[-3.7231029,58.606806],[-4.2361262,58.5992374],[-4.2334022,58.5092347],[-3.88836,58.5144516],[-3.8829119,58.4261327],[-3.7158389,58.4270836]],[[-6.46676,49.9943621],[-6.1889102,50.004868],[-6.1789222,49.8967815],[-6.3169391,49.8915171],[-6.312399,49.8200979],[-6.4504159,49.8159968]],[[-5.6453263,50.2029809],[-5.7801329,50.2014076],[-5.7637888,50.0197267],[-5.3479221,50.0290604],[-5.3388421,49.9414854],[-5.024672,49.9473287],[-5.0355681,50.0383923],[-5.0010639,50.0453901],[-4.9974319,50.1304478],[-4.855783,50.13394],[-4.861231,50.206057],[-4.6546085,50.2140172],[-4.6558926,50.3018616],[-4.5184924,50.3026818],[-4.51464,50.325642],[-4.2488284,50.3264618],[-4.2488284,50.3100631],[-4.10886,50.3141633],[-4.1062917,50.2411267],[-3.9648088,50.2432047],[-3.9640778,50.2254158],[-3.8522287,50.2273626],[-3.8503757,50.1552563],[-3.6921809,50.1572487],[-3.5414602,50.1602198],[-3.5465781,50.3226814],[-3.4068012,50.3241013],[-3.4165761,50.5892711],[-3.2746691,50.5962721],[-3.2749172,50.6106323],[-2.9971742,50.613972],[-2.9896008,50.688537],[-2.7120266,50.690565],[-2.710908,50.6195964],[-2.5695473,50.6157538],[-2.5651019,50.5134083],[-2.4014463,50.513379],[-2.3940583,50.6160348],[-2.2894123,50.6147436],[-2.2876184,50.6008549],[-2.1477855,50.6048506],[-2.1451013,50.5325437],[-1.9335117,50.5347477],[-1.9362139,50.6170445],[-1.8573025,50.6228094],[-1.8554865,50.709139],[-1.6066929,50.709139],[-1.6085089,50.6239615],[-1.4450678,50.6228094],[-1.4432518,50.5317039],[-1.1545059,50.5293951],[-1.1472419,50.6170485],[-1.011041,50.6205051],[-1.011041,50.7056889],[-0.704135,50.7045388],[-0.700503,50.7769401],[-0.5860943,50.7723465],[-0.5879103,50.7907181],[-0.0149586,50.7798108],[-0.0185906,50.7625836],[0.0967261,50.7620093],[0.0921861,50.6913106],[0.3046595,50.6890096],[0.3101075,50.7757917],[0.5511831,50.7726336],[0.5529991,50.8432096],[0.695556,50.8403428],[0.696464,50.8592608],[0.9852099,50.8523824],[0.9906579,50.9417226],[1.0160821,50.9411504],[1.0215301,51.0303204],[1.2812198,51.0240383],[1.2848518,51.0948044],[1.4277848,51.0948044],[1.4386809,51.2882859],[1.4713691,51.2871502],[1.4804492,51.3994534],[1.1590151,51.4073836],[1.1590151,51.3869889],[1.0191822,51.3903886],[1.0228142,51.4798247],[0.8793493,51.4843484],[0.8829813,51.5566675],[1.0264462,51.5544092],[1.0373423,51.7493319],[1.2607117,51.7482076],[1.2661598,51.8279642],[1.3351682,51.8335756],[1.3478803,51.9199021],[1.4840812,51.9199021],[1.4986093,52.0038271],[1.6438902,52.0027092],[1.6656823,52.270221],[1.7310588,52.270221],[1.7528509,52.4465637],[1.8254914,52.4476705],[1.8345714,52.624408],[1.7690346,52.6291402],[1.7741711,52.717904],[1.6996925,52.721793],[1.706113,52.8103687],[1.559724,52.8165777],[1.5648605,52.9034116],[1.4184715,52.9103818],[1.4223238,52.9281894],[1.3439928,52.9289635],[1.3491293,53.0001194],[0.4515789,53.022589],[0.4497629,52.9351139],[0.3789384,52.9351139],[0.3716744,52.846365],[0.2227614,52.8496552],[0.2336575,52.9329248],[0.3062979,52.9351139],[0.308114,53.022589],[0.3807544,53.0236813],[0.3993708,53.2933729],[0.3248922,53.2987454],[0.3274604,53.3853782],[0.2504136,53.38691],[0.2581183,53.4748924],[0.1862079,53.4779494],[0.1913443,53.6548777],[0.1502527,53.6594436],[0.1528209,53.7666003],[0.0012954,53.7734308],[0.0025796,53.8424326],[-0.0282392,53.841675],[-0.0226575,53.9311501],[-0.1406983,53.9322193],[-0.1416063,54.0219323],[-0.1706625,54.0235326],[-0.1679384,54.0949482],[-0.0126694,54.0912206],[-0.0099454,54.1811226],[-0.1615824,54.1837795],[-0.1606744,54.2029038],[-0.2405789,54.2034349],[-0.2378549,54.2936234],[-0.3894919,54.2941533],[-0.3857497,54.3837321],[-0.461638,54.3856364],[-0.4571122,54.4939066],[-0.6105651,54.4965434],[-0.6096571,54.5676704],[-0.7667421,54.569776],[-0.7640181,54.5887213],[-0.9192871,54.5908258],[-0.9148116,54.6608348],[-1.1485204,54.6634343],[-1.1472363,54.7528316],[-1.2268514,54.7532021],[-1.2265398,54.8429879],[-1.2991803,54.8435107],[-1.2991803,54.9333391],[-1.3454886,54.9354258],[-1.3436726,55.0234878],[-1.3772688,55.0255698],[-1.3754528,55.1310877],[-1.4997441,55.1315727],[-1.4969272,55.2928323],[-1.5296721,55.2942946],[-1.5258198,55.6523803],[-1.7659492,55.6545537],[-1.7620968,55.7435626],[-1.9688392,55.7435626],[-1.9698023,55.8334505],[-2.0019051,55.8336308],[-2.0015841,55.9235526],[-2.1604851,55.9240613],[-2.1613931,55.9413549],[-2.3202942,55.9408463],[-2.3212022,56.0145126],[-2.5627317,56.0124824],[-2.5645477,56.1022207],[-2.9658863,56.0991822],[-2.9667943,56.1710304],[-2.4828272,56.1755797],[-2.4882752,56.2856078],[-2.5645477,56.2835918],[-2.5681798,56.3742075],[-2.7261728,56.3732019],[-2.7316208,56.4425301],[-2.6190281,56.4425301],[-2.6153961,56.5317671],[-2.453771,56.5347715],[-2.4534686,56.6420248],[-2.4062523,56.6440218],[-2.3953562,56.7297964],[-2.2936596,56.7337811],[-2.2972916,56.807423],[-2.1629067,56.8113995],[-2.1592747,56.9958425],[-1.9922016,57.0017771],[-2.0067297,57.2737477],[-1.9195612,57.2757112],[-1.9304572,57.3482876],[-1.8106005,57.3443682],[-1.7997044,57.4402728],[-1.6616875,57.4285429],[-1.6689516,57.5398256],[-1.7452241,57.5398256],[-1.7524881,57.6313302],[-1.8287606,57.6332746],[-1.8287606,57.7187255],[-3.1768526,57.7171219],[-3.1794208,57.734264],[-3.5134082,57.7292105],[-3.5129542,57.7112683],[-3.7635638,57.7076303],[-3.7598539,57.635713],[-3.8420372,57.6343382],[-3.8458895,57.6178365],[-3.9794374,57.6157733],[-3.9794374,57.686544],[-3.8150708,57.689976],[-3.817639,57.7968899],[-3.6853753,57.7989429],[-3.6892276,57.8891567],[-3.9383458,57.8877915],[-3.9421981,57.9750592],[-3.6943641,57.9784638],[-3.6969323,58.0695865],[-4.0372226,58.0641528],[-4.0346543,57.9730163],[-4.2003051,57.9702923],[-4.1832772,57.7012869],[-4.518752,57.6951111],[-4.5122925,57.6050682],[-4.6789116,57.6016628],[-4.666022,57.4218334],[-3.6677696,57.4394729],[-3.671282,57.5295384],[-3.3384979,57.5331943],[-3.3330498,57.4438859],[-2.8336466,57.4485275],[-2.8236396,56.9992706],[-2.3305398,57.0006693],[-2.3298977,56.9113932],[-2.6579889,56.9092901],[-2.6559637,56.8198406],[-2.8216747,56.8188467],[-2.8184967,56.7295397],[-3.1449248,56.7265508],[-3.1435628,56.6362749],[-3.4679089,56.6350265],[-3.474265,56.7238108],[-3.8011471,56.7188284],[-3.785711,56.4493026],[-3.946428,56.4457896],[-3.9428873,56.2659777],[-4.423146,56.2588459],[-4.4141572,56.0815506],[-4.8944159,56.0708008],[-4.8791072,55.8896994],[-5.1994158,55.8821374],[-5.1852906,55.7023791],[-5.0273445,55.7067203],[-5.0222081,55.6879046],[-4.897649,55.6907999],[-4.8880181,55.6002822],[-4.7339244,55.6046348],[-4.7275038,55.5342082],[-4.773732,55.5334815],[-4.7685955,55.4447227],[-4.8494947,55.4418092],[-4.8405059,55.3506535],[-4.8700405,55.3513836],[-4.8649041,55.2629462],[-4.9920314,55.2592875],[-4.9907473,55.1691779],[-5.0600894,55.1655105],[-5.0575212,55.0751884],[-5.2141831,55.0722477],[-5.1991766,54.8020337],[-5.0466316,54.8062205],[-5.0502636,54.7244996],[-4.9703591,54.7203043],[-4.9776232,54.6215905],[-4.796022,54.6342056],[-4.796022,54.7307917],[-4.8977186,54.7265971],[-4.9086147,54.8145928],[-4.8069181,54.8166856],[-4.8105501,54.7915648],[-4.6943253,54.7978465],[-4.6761652,54.7244996],[-4.5744686,54.7244996],[-4.5599405,54.6426135],[-4.3093309,54.6384098],[-4.3333262,54.8229889],[-4.2626999,54.8274274],[-4.2549952,54.7348587],[-3.8338058,54.7400481],[-3.836374,54.8141105],[-3.7118149,54.8133706],[-3.7143831,54.8318654],[-3.5346072,54.8355633],[-3.5271039,54.9066228],[-3.4808758,54.9084684],[-3.4776655,54.7457328],[-3.5874573,54.744621],[-3.5836049,54.6546166],[-3.7107322,54.6531308],[-3.6991752,54.4550407],[-3.5746161,54.4572801],[-3.5759002,54.3863042],[-3.539945,54.3855564],[-3.5386609,54.297224],[-3.46033,54.2957252],[-3.4590458,54.2079507],[-3.3807149,54.2102037],[-3.381999,54.1169788],[-3.302878,54.1160656],[-3.300154,54.0276224],[-3.1013007,54.0292224],[-3.093596,53.6062158],[-3.2065981,53.6016441],[-3.2091663,53.4917753],[-3.2451215,53.4887193],[-3.2348486,53.4045934],[-3.5276266,53.3999999],[-3.5343966,53.328481],[-3.6488053,53.3252272],[-3.6527308,53.3057716],[-3.7271873,53.3046865],[-3.7315003,53.3945257],[-3.9108315,53.3912769],[-3.9071995,53.3023804],[-3.9521457,53.3015665],[-3.9566724,53.3912183],[-4.1081979,53.3889209],[-4.1081979,53.4072967],[-4.2622916,53.4065312],[-4.2635757,53.4753707],[-4.638537,53.4677274],[-4.6346847,53.3812621],[-4.7091633,53.3774321],[-4.7001745,53.1954965],[-4.5499332,53.1962658],[-4.5435126,53.1092488],[-4.3919871,53.1100196],[-4.3855666,53.0236002],[-4.6115707,53.0205105],[-4.603866,52.9284932],[-4.7566756,52.9261709],[-4.7476868,52.8370555],[-4.8208813,52.8331768],[-4.8208813,52.7446476],[-4.3701572,52.7539749],[-4.3765778,52.8401583],[-4.2314728,52.8455875],[-4.2237682,52.7586379],[-4.1056297,52.7570836],[-4.1015192,52.6714874],[-4.1487355,52.6703862],[-4.1305754,52.4008596],[-4.1995838,52.3986435],[-4.2050319,52.3110195],[-4.3466808,52.303247],[-4.3484968,52.2365693],[-4.4901457,52.2332328],[-4.4883297,52.2098702],[-4.6572188,52.2098702],[-4.6590348,52.1385939],[-4.7788916,52.13525],[-4.7807076,52.1162967],[-4.9259885,52.1140663],[-4.9187245,52.0392855],[-5.2365265,52.0314653],[-5.2347105,51.9442339],[-5.3473032,51.9408755],[-5.3473032,51.9195995],[-5.4925842,51.9162392],[-5.4853201,51.8265386],[-5.1983903,51.8321501],[-5.1893102,51.7625177],[-5.335825,51.7589528],[-5.3281204,51.6686495],[-5.1836575,51.6730296],[-5.1836575,51.6539134],[-5.0674452,51.6578966],[-5.0603825,51.5677905],[-4.5974594,51.5809588],[-4.60388,51.6726314],[-4.345773,51.6726314],[-4.3355001,51.4962964],[-3.9528341,51.5106841],[-3.9425611,51.5905333],[-3.8809237,51.5953198],[-3.8706508,51.5074872],[-3.7679216,51.4978952],[-3.7550805,51.4242895],[-3.5855774,51.41468],[-3.5778727,51.3329177],[-3.0796364,51.3329177],[-3.0770682,51.2494018],[-3.7216935,51.2381477],[-3.7216935,51.2558315],[-3.8706508,51.2558315],[-3.8680825,51.2365398],[-4.2944084,51.2252825],[-4.289272,51.0496352],[-4.5692089,51.0431767],[-4.5624122,50.9497388],[-4.5905604,50.9520269],[-4.5896524,50.8627065],[-4.6296046,50.8592677],[-4.6226411,50.7691513],[-4.6952816,50.7680028],[-4.6934655,50.6967379],[-4.8342064,50.6938621],[-4.8296664,50.6046231],[-4.9676833,50.6000126],[-4.9685913,50.5821427],[-5.1084242,50.5786832],[-5.1029762,50.4892254],[-5.1311244,50.48807],[-5.1274923,50.4163798],[-5.2664172,50.4117509],[-5.2609692,50.3034214],[-5.5124868,50.2976214],[-5.5061308,50.2256428],[-5.6468717,50.2209953]],[[-5.1336607,55.2630226],[-5.1021999,55.2639372],[-5.0999527,55.2458239],[-5.1322161,55.2446343]],[[-5.6431878,55.5095745],[-5.4861028,55.5126594],[-5.4715747,55.3348829],[-5.6277517,55.3302345]],[[-4.7213517,51.2180246],[-4.5804201,51.2212417],[-4.5746416,51.1306736],[-4.7174993,51.1280545]],[[-5.1608796,55.4153626],[-5.0045387,55.4190069],[-5.0184798,55.6153521],[-5.1755648,55.6138137]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"NLS - OS 25-inch (Scotland), 1892-1905","type":"tms","template":"http://geo.nls.uk/mapdata2/os/25_inch/scotland_1/{zoom}/{x}/{y}.png","scaleExtent":[0,18],"polygon":[[[-9.25,54.43],[-9.25,61.12],[0.22,61.12],[0.22,54.43],[-9.25,54.43]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"NLS - OS 6-inch County Series, 1888-1913","type":"tms","template":"http://geo.nls.uk/mapdata3/os/6_inch_gb_1900/{zoom}/{x}/{y}.png","scaleExtent":[0,17],"polygon":[[[-9,49.8],[-9,61.1],[1.9,61.1],[1.9,49.8],[-9,49.8]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"NLS - OS 6-inch Scotland 1842-82","type":"tms","template":"http://geo.nls.uk/maps/os/six_inch/{zoom}/{x}/{-y}.png","scaleExtent":[5,16],"polygon":[[[-5.2112173,54.8018593],[-5.0642752,54.8026508],[-5.0560354,54.6305176],[-4.3158316,54.6297227],[-4.3117117,54.7448258],[-3.8530325,54.7464112],[-3.8530325,54.8034424],[-3.5522818,54.8034424],[-3.5522818,54.8374644],[-3.468511,54.8406277],[-3.4657644,54.8983158],[-3.3847403,54.8991055],[-3.3888601,54.9559214],[-3.0920786,54.9539468],[-3.0392359,54.9923274],[-3.0212713,55.0493881],[-2.9591232,55.0463283],[-2.9202807,55.0666294],[-2.7857081,55.068652],[-2.7852225,55.0914426],[-2.7337562,55.0922761],[-2.737616,55.151204],[-2.7648395,55.1510672],[-2.7013114,55.1722505],[-2.6635459,55.2192808],[-2.6460364,55.2188891],[-2.629042,55.2233933],[-2.6317886,55.2287781],[-2.6235488,55.2446345],[-2.6197723,55.2454663],[-2.6099017,55.2454174],[-2.6099876,55.2486466],[-2.6408121,55.2590039],[-2.6247896,55.2615631],[-2.6045186,55.2823081],[-2.5693176,55.296132],[-2.5479542,55.3121617],[-2.5091116,55.3234891],[-2.4780376,55.3494471],[-2.4421083,55.3533118],[-2.4052079,55.3439256],[-2.3726772,55.3447539],[-2.3221819,55.3687665],[-2.3241241,55.3999337],[-2.2576062,55.425015],[-2.1985547,55.4273529],[-2.1484296,55.4717466],[-2.1944348,55.484199],[-2.2040479,55.529306],[-2.2960584,55.6379722],[-2.2177808,55.6379722],[-2.1059266,55.7452498],[-1.9716874,55.7462161],[-1.9697453,55.9190951],[-2.1201694,55.9207115],[-2.1242893,55.9776133],[-2.3440159,55.9783817],[-2.3440159,56.0390349],[-2.5046909,56.0413363],[-2.500571,56.1003588],[-2.8823459,56.0957629],[-2.8823459,56.1722898],[-2.4126804,56.1692316],[-2.4181736,56.2334017],[-2.5857151,56.2303484],[-2.5719822,56.3416356],[-2.7257908,56.3462022],[-2.7312839,56.4343808],[-2.6928318,56.4343808],[-2.6928318,56.4859769],[-2.5307834,56.4935587],[-2.5307834,56.570806],[-2.5302878,56.6047947],[-2.3732428,56.6044452],[-2.3684363,56.7398824],[-2.3292975,56.7398824],[-2.3292975,56.7888065],[-2.3145346,56.7891826],[-2.3148779,56.7967036],[-2.171369,56.7967036],[-2.1703979,56.9710595],[-2.0101725,56.9694716],[-2.0101725,57.0846832],[-2.0817687,57.085349],[-2.0488097,57.1259963],[-2.0409133,57.126369],[-2.0383434,57.2411129],[-1.878118,57.2421638],[-1.8771469,57.2978175],[-1.9868771,57.2983422],[-1.9082209,57.3560063],[-1.8752048,57.3560063],[-1.8761758,57.3769527],[-1.8120857,57.4120111],[-1.7120661,57.4120111],[-1.7034646,57.6441388],[-1.8666032,57.6451781],[-1.8646611,57.7033351],[-3.1204292,57.7064705],[-3.1218025,57.7504652],[-3.4445259,57.7526635],[-3.4472724,57.7138067],[-3.5145637,57.7094052],[-3.5118171,57.6939956],[-3.7645027,57.6917938],[-3.7672492,57.6344975],[-3.842378,57.6288312],[-3.8438346,57.5965825],[-3.9414265,57.5916386],[-3.9404554,57.6537782],[-3.8894746,57.6529989],[-3.8826772,57.7676408],[-3.7224517,57.766087],[-3.7195385,57.8819201],[-3.9146888,57.8853352],[-3.916062,57.9546243],[-3.745774,57.9538956],[-3.7471473,58.0688409],[-3.5837256,58.0695672],[-3.5837256,58.1116689],[-3.4560096,58.1138452],[-3.4544646,58.228503],[-3.4379851,58.2283222],[-3.4243233,58.2427725],[-3.412307,58.2438567],[-3.3735115,58.2695057],[-3.3063919,58.2862038],[-3.1229154,58.2859395],[-3.123602,58.3443661],[-2.9574338,58.3447264],[-2.951254,58.6422011],[-2.8812162,58.6429157],[-2.8851004,58.8112825],[-2.7180775,58.8142997],[-2.7161354,58.8715749],[-2.556881,58.8775984],[-2.5544533,58.9923453],[-2.5567617,59.0483775],[-2.391893,59.0485996],[-2.3918002,59.1106996],[-2.4733695,59.1106996],[-2.5591563,59.1783028],[-2.5630406,59.2210646],[-2.3921334,59.224046],[-2.3911409,59.2740075],[-2.3639512,59.2745036],[-2.3658933,59.285417],[-2.3911409,59.284921],[-2.3911409,59.3379505],[-2.2221759,59.3381981],[-2.2233897,59.395965],[-2.3758467,59.396583],[-2.3899271,59.4026383],[-2.4008516,59.3962122],[-2.5637882,59.3952604],[-2.5637882,59.3385811],[-2.7320164,59.3375306],[-2.7333896,59.3952604],[-3.0726511,59.3931174],[-3.0703404,59.3354759],[-3.0753186,59.3355634],[-3.0749753,59.3292593],[-3.0698254,59.3289091],[-3.069801,59.2196159],[-3.2363384,59.2166341],[-3.2336751,59.1606496],[-3.4032766,59.1588895],[-3.394086,58.9279316],[-3.5664497,58.9259268],[-3.5611089,58.8679885],[-3.392508,58.8699339],[-3.3894734,58.8698711],[-3.3891093,58.8684905],[-3.3912942,58.868616],[-3.3884161,58.7543084],[-3.2238208,58.7555677],[-3.2189655,58.691289],[-3.4634113,58.6905753],[-3.4551716,58.6341518],[-3.787508,58.6341518],[-3.7861347,58.5769211],[-3.9028645,58.5733411],[-3.9028645,58.6477304],[-4.0690327,58.6491594],[-4.0690327,58.5912376],[-4.7364521,58.5933845],[-4.7364521,58.6505884],[-5.0715351,58.6520173],[-5.0654779,58.5325854],[-5.2332047,58.5316087],[-5.2283494,58.4719947],[-5.2424298,58.4719947],[-5.2366034,58.4089731],[-5.2283494,58.4094818],[-5.2210664,58.3005859],[-5.5657939,58.2959933],[-5.5580254,58.2372573],[-5.4146722,58.2401326],[-5.4141866,58.2267768],[-5.3885749,58.2272242],[-5.382714,58.1198615],[-5.51043,58.1191362],[-5.5114011,58.006214],[-5.6745397,58.0041559],[-5.6716266,57.9449366],[-5.6716266,57.8887166],[-5.8347652,57.8856193],[-5.8277052,57.5988958],[-6.0384259,57.5986357],[-6.0389115,57.6459559],[-6.1981658,57.6456961],[-6.2076123,57.7600132],[-6.537067,57.7544033],[-6.5312406,57.6402392],[-6.7002056,57.6360809],[-6.6807844,57.5236293],[-6.8516915,57.5152857],[-6.8361545,57.3385811],[-6.6730158,57.3438213],[-6.674958,57.2850883],[-6.5098772,57.2850883],[-6.4982244,57.1757637],[-6.3506228,57.1820797],[-6.3312015,57.1251969],[-6.1797156,57.1230884],[-6.1719471,57.0682265],[-6.4593819,57.059779],[-6.4564687,57.1093806],[-6.6671895,57.1062165],[-6.6730158,57.002708],[-6.5021087,57.0048233],[-6.4836097,56.8917522],[-6.3266104,56.8894062],[-6.3156645,56.7799312],[-6.2146739,56.775675],[-6.2146739,56.7234965],[-6.6866107,56.7224309],[-6.6769001,56.6114413],[-6.8419809,56.607166],[-6.8400387,56.5483307],[-7.1546633,56.5461895],[-7.1488369,56.4872592],[-6.9915246,56.490476],[-6.9876404,56.4325329],[-6.6827265,56.4314591],[-6.6769001,56.5472601],[-6.5292985,56.5504717],[-6.5234721,56.4379018],[-6.3661598,56.4368281],[-6.3642177,56.3766524],[-6.5273563,56.3712749],[-6.5171745,56.2428427],[-6.4869621,56.247421],[-6.4869621,56.1893882],[-6.3001945,56.1985572],[-6.3029411,56.2581017],[-5.9019401,56.256576],[-5.8964469,56.0960466],[-6.0282829,56.0883855],[-6.0392692,56.1557502],[-6.3853385,56.1542205],[-6.3606193,55.96099],[-6.2123039,55.9640647],[-6.2047508,55.9202269],[-6.5185478,55.9129158],[-6.5061881,55.7501763],[-6.6764762,55.7409005],[-6.6599967,55.6263176],[-6.3551261,55.6232161],[-6.3578727,55.5689002],[-6.0392692,55.5720059],[-6.0310294,55.6247669],[-5.7398917,55.6309694],[-5.7371452,55.4569279],[-5.8964469,55.4600426],[-5.8964469,55.2789864],[-5.4350211,55.2821151],[-5.4405143,55.4506979],[-5.2867057,55.4569279],[-5.3086784,55.4070602],[-4.9735954,55.4008223],[-4.9845817,55.2038242],[-5.1493766,55.2038242],[-5.1411369,55.037337],[-5.2152946,55.0341891]],[[-2.1646559,60.1622059],[-1.9930299,60.1609801],[-1.9946862,60.1035151],[-2.1663122,60.104743]],[[-1.5360658,59.8570831],[-1.3653566,59.8559841],[-1.366847,59.7975565],[-1.190628,59.7964199],[-1.1862046,59.9695391],[-1.0078652,59.9683948],[-1.0041233,60.114145],[-0.8360832,60.1130715],[-0.834574,60.1716772],[-1.0074262,60.1727795],[-1.0052165,60.2583924],[-0.8299659,60.2572778],[-0.826979,60.3726551],[-0.6507514,60.3715381],[-0.6477198,60.4882292],[-0.9984896,60.4904445],[-0.9970279,60.546555],[-0.6425288,60.5443201],[-0.6394896,60.6606792],[-0.8148133,60.6617806],[-0.8132987,60.7196112],[-0.6383298,60.7185141],[-0.635467,60.8275393],[-0.797568,60.8285523],[-0.9941426,60.8297807],[-0.9954966,60.7782667],[-1.1670282,60.7793403],[-1.1700357,60.6646181],[-1.5222599,60.6668304],[-1.5237866,60.6084426],[-1.6975673,60.609536],[-1.7021271,60.4345249],[-1.5260578,60.4334111],[-1.5275203,60.3770719],[-1.8751127,60.3792746],[-1.8781372,60.2624647],[-1.7019645,60.2613443],[-1.7049134,60.1470532],[-1.528659,60.1459283]],[[-0.9847667,60.8943762],[-0.9860347,60.8361105],[-0.8078362,60.8351904],[-0.8065683,60.8934578]],[[-7.7696901,56.8788231],[-7.7614504,56.7608274],[-7.6009049,56.7641903],[-7.5972473,56.819332],[-7.4479894,56.8203948],[-7.4489319,56.8794098],[-7.2841369,56.8794098],[-7.2813904,57.0471152],[-7.1303283,57.0515969],[-7.1330749,57.511801],[-6.96828,57.5147514],[-6.9765198,57.6854668],[-6.8062317,57.6913392],[-6.8089782,57.8041985],[-6.6496765,57.8071252],[-6.6441833,57.8612267],[-6.3200866,57.8626878],[-6.3200866,58.1551617],[-6.1607849,58.1522633],[-6.1552917,58.20874],[-5.9850036,58.2101869],[-5.9904968,58.2680163],[-6.1497986,58.2665717],[-6.1415588,58.5557514],[-6.3173401,58.5557514],[-6.3091003,58.4983923],[-6.4876282,58.4955218],[-6.4876282,58.4423768],[-6.6606628,58.4395018],[-6.6469299,58.3819525],[-6.8117248,58.3805125],[-6.8117248,58.3286357],[-6.9792663,58.3286357],[-6.9710266,58.2694608],[-7.1413147,58.2680163],[-7.1403816,58.0358742],[-7.3020636,58.0351031],[-7.3030347,57.9774797],[-7.1379539,57.9777372],[-7.1413526,57.9202792],[-7.1398961,57.8640206],[-7.3020636,57.862471],[-7.298484,57.7442293],[-7.4509193,57.7456951],[-7.4550392,57.6899522],[-7.6186131,57.6906048],[-7.6198341,57.7456951],[-7.7901222,57.7442293],[-7.7873756,57.6855477],[-7.6222332,57.6853817],[-7.6173779,57.5712602],[-7.788285,57.5709998],[-7.7892561,57.512109],[-7.7038025,57.5115874],[-7.6999183,57.4546902],[-7.5367796,57.4552126],[-7.5348375,57.5126306],[-7.4581235,57.5131521],[-7.4552103,57.2824165],[-7.6115515,57.2845158],[-7.6144647,57.2272651],[-7.451326,57.2256881],[-7.451326,57.1103873],[-7.6164068,57.1088053],[-7.603783,56.8792358]],[[-1.7106618,59.5626284],[-1.5417509,59.562215],[-1.5423082,59.5037224],[-1.7112191,59.5041365]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"OpenPT Map (overlay)","type":"tms","template":"http://openptmap.de/tiles/{zoom}/{x}/{y}.png","scaleExtent":[5,16],"polygon":[[[6.4901072,53.665658],[8.5665347,53.9848257],[8.1339457,54.709715],[8.317796,55.0952362],[10.1887438,54.7783834],[10.6321475,54.4778841],[11.2702164,54.6221504],[11.681176,54.3709243],[12.0272473,54.3898199],[13.3250145,54.8531617],[13.9198245,54.6972173],[14.2118221,54.1308273],[14.493005,53.2665063],[14.1577485,52.8766495],[14.7525584,52.5819369],[15.0986297,51.0171541],[14.9364088,50.8399279],[14.730929,50.7920977],[14.4389313,50.8808862],[12.9573138,50.3939044],[12.51391,50.3939044],[12.3084302,50.1173237],[12.6112425,49.9088337],[12.394948,49.7344006],[12.7734634,49.4047626],[14.1469337,48.6031036],[14.6768553,48.6531391],[15.0661855,49.0445497],[16.2666202,48.7459305],[16.4937294,48.8741286],[16.904689,48.7173975],[16.9371332,48.5315383],[16.8384693,48.3823161],[17.2017097,48.010204],[17.1214145,47.6997605],[16.777292,47.6585709],[16.6090543,47.7460598],[16.410228,47.6637214],[16.7352326,47.6147714],[16.5555242,47.3589738],[16.4790525,46.9768539],[16.0355168,46.8096295],[16.0508112,46.6366332],[14.9572663,46.6313822],[14.574908,46.3892866],[12.3954655,46.6891149],[12.1507562,47.0550608],[11.1183887,46.9142058],[11.0342699,46.7729797],[10.4836739,46.8462544],[10.4607324,46.5472973],[10.1013156,46.5735879],[10.2007287,46.1831867],[9.8948421,46.3629068],[9.5966026,46.2889758],[9.2983631,46.505206],[9.2830687,46.2572605],[9.0536537,45.7953255],[8.4265861,46.2466846],[8.4418804,46.4736161],[7.8759901,45.9284607],[7.0959791,45.8645956],[6.7747981,46.1620044],[6.8206811,46.4051083],[6.5453831,46.4578142],[6.3312624,46.3840116],[6.3847926,46.2466846],[5.8953739,46.0878021],[6.1171418,46.3681838],[6.0942003,46.5998657],[6.4383228,46.7782169],[6.4306756,46.9298747],[7.0806847,47.3460216],[6.8436226,47.3719227],[6.9965659,47.5012373],[7.1800979,47.5064033],[7.2336281,47.439206],[7.4553959,47.4805683],[7.7842241,48.645735],[8.1971711,49.0282701],[7.6006921,49.0382974],[7.4477487,49.1634679],[7.2030394,49.1034255],[6.6677378,49.1634679],[6.6371491,49.3331933],[6.3542039,49.4576194],[6.5453831,49.8043366],[6.2471436,49.873384],[6.0789059,50.1534883],[6.3618511,50.3685934],[6.0865531,50.7039632],[5.8800796,51.0513752],[6.1247889,51.1618085],[6.1936134,51.491527],[5.9641984,51.7526501],[6.0253758,51.8897286],[6.4536171,51.8661241],[6.8436226,51.9557552],[6.6906793,52.0499105],[7.0042131,52.2282603],[7.0195074,52.4525245],[6.6983264,52.4665032],[6.6906793,52.6524628],[7.0348017,52.6385432],[7.0730376,52.8330151],[7.2183337,52.9852064],[7.1953922,53.3428087],[7.0042131,53.3291098]]],"terms_url":"http://openstreetmap.org/","terms_text":"© OpenStreetMap contributors, CC-BY-SA"},{"name":"OpenStreetMap (Standard)","type":"tms","description":"The default OpenStreetMap layer.","template":"http://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png","scaleExtent":[0,19],"terms_url":"http://openstreetmap.org/","terms_text":"© OpenStreetMap contributors, CC-BY-SA","id":"MAPNIK","default":true},{"name":"OpenStreetMap GPS traces","type":"tms","description":"Public GPS traces uploaded to OpenStreetMap.","template":"http://{switch:a,b,c}.gps-tile.openstreetmap.org/lines/{zoom}/{x}/{y}.png","scaleExtent":[0,20],"terms_url":"http://www.openstreetmap.org/copyright","terms_text":"© OpenStreetMap contributors","terms_html":"© <a href='http://www.openstreetmap.org/copyright'>OpenStreetMap contributors</a>. North: <span style='display: inline-block; width: 10px; height: 10px; background-color: #7fed11;'></span> South: <span style='display: inline-block; width: 10px; height: 10px; background-color: #7f11ed;'></span> East: <span style='display: inline-block; width: 10px; height: 10px; background-color: #ff3f3f;'></span> West: <span style='display: inline-block; width: 10px; height: 10px; background-color: #00bfbf;'></span>","overlay":true},{"name":"OS 1:25k historic (OSM)","type":"tms","template":"http://ooc.openstreetmap.org/os1/{zoom}/{x}/{y}.jpg","scaleExtent":[6,17],"polygon":[[[-9,49.8],[-9,61.1],[1.9,61.1],[1.9,49.8],[-9,49.8]]]},{"name":"OS New Popular Edition historic","type":"tms","template":"http://ooc.openstreetmap.org/npe/{zoom}/{x}/{y}.png","polygon":[[[-5.8,49.8],[-5.8,55.8],[1.9,55.8],[1.9,49.8],[-5.8,49.8]]]},{"name":"OS OpenData Locator","type":"tms","template":"http://tiles.itoworld.com/os_locator/{zoom}/{x}/{y}.png","polygon":[[[-9,49.8],[-9,61.1],[1.9,61.1],[1.9,49.8],[-9,49.8]]],"overlay":true},{"name":"OS OpenData StreetView","type":"tms","template":"http://os.openstreetmap.org/sv/{zoom}/{x}/{y}.png","scaleExtent":[1,18],"polygon":[[[-5.8292886,50.0229734],[-5.8292886,50.254819],[-5.373356,50.254819],[-5.373356,50.3530588],[-5.1756021,50.3530588],[-5.1756021,50.5925406],[-4.9970743,50.5925406],[-4.9970743,50.6935617],[-4.7965738,50.6935617],[-4.7965738,50.7822112],[-4.6949503,50.7822112],[-4.6949503,50.9607371],[-4.6043131,50.9607371],[-4.6043131,51.0692066],[-4.3792215,51.0692066],[-4.3792215,51.2521782],[-3.9039346,51.2521782],[-3.9039346,51.2916998],[-3.7171671,51.2916998],[-3.7171671,51.2453014],[-3.1486246,51.2453014],[-3.1486246,51.362067],[-3.7446329,51.362067],[-3.7446329,51.4340386],[-3.8297769,51.4340386],[-3.8297769,51.5298246],[-4.0852091,51.5298246],[-4.0852091,51.4939284],[-4.3792215,51.4939284],[-4.3792215,51.5427168],[-5.1444195,51.5427168],[-5.1444195,51.6296003],[-5.7387103,51.6296003],[-5.7387103,51.774037],[-5.5095393,51.774037],[-5.5095393,51.9802596],[-5.198799,51.9802596],[-5.198799,52.0973358],[-4.8880588,52.0973358],[-4.8880588,52.1831557],[-4.4957492,52.1831557],[-4.4957492,52.2925739],[-4.3015365,52.2925739],[-4.3015365,52.3685318],[-4.1811246,52.3685318],[-4.1811246,52.7933685],[-4.4413696,52.7933685],[-4.4413696,52.7369614],[-4.8569847,52.7369614],[-4.8569847,52.9317255],[-4.7288044,52.9317255],[-4.7288044,53.5038599],[-4.1578191,53.5038599],[-4.1578191,53.4113498],[-3.3110518,53.4113498],[-3.3110518,53.5038599],[-3.2333667,53.5038599],[-3.2333667,54.0159169],[-3.3926211,54.0159169],[-3.3926211,54.1980953],[-3.559644,54.1980953],[-3.559644,54.433732],[-3.7188984,54.433732],[-3.7188984,54.721897],[-4.3015365,54.721897],[-4.3015365,54.6140739],[-5.0473132,54.6140739],[-5.0473132,54.7532915],[-5.2298731,54.7532915],[-5.2298731,55.2190799],[-5.6532567,55.2190799],[-5.6532567,55.250088],[-5.8979647,55.250088],[-5.8979647,55.4822462],[-6.5933212,55.4822462],[-6.5933212,56.3013441],[-7.1727691,56.3013441],[-7.1727691,56.5601822],[-6.8171722,56.5601822],[-6.8171722,56.6991713],[-6.5315276,56.6991713],[-6.5315276,56.9066964],[-6.811679,56.9066964],[-6.811679,57.3716613],[-6.8721038,57.3716613],[-6.8721038,57.5518893],[-7.0973235,57.5518893],[-7.0973235,57.2411085],[-7.1742278,57.2411085],[-7.1742278,56.9066964],[-7.3719817,56.9066964],[-7.3719817,56.8075885],[-7.5202972,56.8075885],[-7.5202972,56.7142479],[-7.8306806,56.7142479],[-7.8306806,56.8994605],[-7.6494061,56.8994605],[-7.6494061,57.4739617],[-7.8306806,57.4739617],[-7.8306806,57.7915584],[-7.4736249,57.7915584],[-7.4736249,58.086063],[-7.1879804,58.086063],[-7.1879804,58.367197],[-6.8034589,58.367197],[-6.8034589,58.4155786],[-6.638664,58.4155786],[-6.638664,58.4673277],[-6.5178143,58.4673277],[-6.5178143,58.5625632],[-6.0536224,58.5625632],[-6.0536224,58.1568843],[-6.1470062,58.1568843],[-6.1470062,58.1105865],[-6.2799798,58.1105865],[-6.2799798,57.7122664],[-6.1591302,57.7122664],[-6.1591302,57.6667563],[-5.9339104,57.6667563],[-5.9339104,57.8892524],[-5.80643,57.8892524],[-5.80643,57.9621767],[-5.6141692,57.9621767],[-5.6141692,58.0911236],[-5.490819,58.0911236],[-5.490819,58.3733281],[-5.3199118,58.3733281],[-5.3199118,58.75015],[-3.5719977,58.75015],[-3.5719977,59.2091788],[-3.1944501,59.2091788],[-3.1944501,59.4759216],[-2.243583,59.4759216],[-2.243583,59.1388749],[-2.4611012,59.1388749],[-2.4611012,58.8185938],[-2.7407675,58.8185938],[-2.7407675,58.5804743],[-2.9116746,58.5804743],[-2.9116746,58.1157523],[-3.4865441,58.1157523],[-3.4865441,57.740386],[-1.7153245,57.740386],[-1.7153245,57.2225558],[-1.9794538,57.2225558],[-1.9794538,56.8760742],[-2.1658979,56.8760742],[-2.1658979,56.6333186],[-2.3601106,56.6333186],[-2.3601106,56.0477521],[-1.9794538,56.0477521],[-1.9794538,55.8650949],[-1.4745008,55.8650949],[-1.4745008,55.2499926],[-1.3221997,55.2499926],[-1.3221997,54.8221737],[-1.0550014,54.8221737],[-1.0550014,54.6746628],[-0.6618765,54.6746628],[-0.6618765,54.5527463],[-0.3247617,54.5527463],[-0.3247617,54.2865195],[0.0092841,54.2865195],[0.0092841,53.7938518],[0.2081962,53.7938518],[0.2081962,53.5217726],[0.4163548,53.5217726],[0.4163548,53.0298851],[1.4273388,53.0298851],[1.4273388,52.92021],[1.8333912,52.92021],[1.8333912,52.042488],[1.5235504,52.042488],[1.5235504,51.8261335],[1.2697049,51.8261335],[1.2697049,51.6967453],[1.116651,51.6967453],[1.116651,51.440346],[1.5235504,51.440346],[1.5235504,51.3331831],[1.4507565,51.3331831],[1.4507565,51.0207553],[1.0699883,51.0207553],[1.0699883,50.9008416],[0.7788126,50.9008416],[0.7788126,50.729843],[-0.7255952,50.729843],[-0.7255952,50.7038437],[-1.0074383,50.7038437],[-1.0074383,50.5736307],[-2.3625252,50.5736307],[-2.3625252,50.4846421],[-2.4987805,50.4846421],[-2.4987805,50.5736307],[-3.4096378,50.5736307],[-3.4096378,50.2057837],[-3.6922446,50.2057837],[-3.6922446,50.1347737],[-5.005468,50.1347737],[-5.005468,49.9474456],[-5.2839506,49.9474456],[-5.2839506,50.0229734]],[[-6.4580707,49.8673563],[-6.4580707,49.9499935],[-6.3978807,49.9499935],[-6.3978807,50.0053797],[-6.1799606,50.0053797],[-6.1799606,49.9168614],[-6.2540201,49.9168614],[-6.2540201,49.8673563]],[[-5.8343165,49.932156],[-5.8343165,49.9754641],[-5.7683254,49.9754641],[-5.7683254,49.932156]],[[-1.9483797,60.6885737],[-1.9483797,60.3058841],[-1.7543149,60.3058841],[-1.7543149,60.1284428],[-1.5754914,60.1284428],[-1.5754914,59.797917],[-1.0316959,59.797917],[-1.0316959,60.0354518],[-0.6626918,60.0354518],[-0.6626918,60.9103862],[-1.1034395,60.9103862],[-1.1034395,60.8040022],[-1.3506319,60.8040022],[-1.3506319,60.6885737]],[[-2.203381,60.1968568],[-2.203381,60.0929443],[-1.9864011,60.0929443],[-1.9864011,60.1968568]],[[-1.7543149,59.5698289],[-1.7543149,59.4639383],[-1.5373349,59.4639383],[-1.5373349,59.5698289]],[[-4.5585981,59.1370518],[-4.5585981,58.9569099],[-4.2867004,58.9569099],[-4.2867004,59.1370518]],[[-6.2787732,59.2025744],[-6.2787732,59.0227769],[-5.6650612,59.0227769],[-5.6650612,59.2025744]],[[-8.7163482,57.9440556],[-8.7163482,57.7305936],[-8.3592926,57.7305936],[-8.3592926,57.9440556]],[[-7.6077005,50.4021026],[-7.6077005,50.2688657],[-7.3907205,50.2688657],[-7.3907205,50.4021026]],[[-7.7304303,58.3579902],[-7.7304303,58.248313],[-7.5134503,58.248313],[-7.5134503,58.3579902]]]},{"name":"OS Scottish Popular historic","type":"tms","template":"http://ooc.openstreetmap.org/npescotland/tiles/{zoom}/{x}/{y}.jpg","scaleExtent":[6,15],"polygon":[[[-7.8,54.5],[-7.8,61.1],[-1.1,61.1],[-1.1,54.5],[-7.8,54.5]]]},{"name":"OS Town Plans, Aberdeen 1866-1867 (NLS)","type":"tms","description":"Detailed town plan of Aberdeen 1866-1867, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/aberdeen/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.14039404,57.11218789],[-2.14064752,57.17894161],[-2.04501987,57.17901252],[-2.04493842,57.11225862]]],"terms_url":"http://maps.nls.uk/townplans/aberdeen.html","terms_text":"National Library of Scotland - Aberdeen 1866-1867"},{"name":"OS Town Plans, Airdrie 1858 (NLS)","type":"tms","description":"Detailed town plan of Airdrie 1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/airdrie/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.99291738,55.86408041],[-3.99338933,55.87329115],[-3.9691085,55.87368212],[-3.9686423,55.86447124]]],"terms_url":"http://maps.nls.uk/townplans/airdrie.html","terms_text":"National Library of Scotland - Airdrie 1858"},{"name":"OS Town Plans, Alexandria 1859 (NLS)","type":"tms","description":"Detailed town plan of Alexandria 1859, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/alexandria/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.58973571,55.97536707],[-4.59104461,55.99493153],[-4.55985072,55.99558348],[-4.55855754,55.97601855]]],"terms_url":"http://maps.nls.uk/townplans/alexandria.html","terms_text":"National Library of Scotland - Alexandria 1859"},{"name":"OS Town Plans, Alloa 1861-1862 (NLS)","type":"tms","description":"Detailed town plan of Alloa 1861-1862, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/alloa/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.81166061,56.09864363],[-3.81274448,56.12169929],[-3.7804609,56.12216898],[-3.77939631,56.09911292]]],"terms_url":"http://maps.nls.uk/townplans/alloa.html","terms_text":"National Library of Scotland - Alloa 1861-1862"},{"name":"OS Town Plans, Annan 1859 (NLS)","type":"tms","description":"Detailed town plan of Annan 1859, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/annan/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.27921439,54.98252155],[-3.27960062,54.9946601],[-3.24866331,54.99498165],[-3.24828642,54.98284297]]],"terms_url":"http://maps.nls.uk/townplans/annan.html","terms_text":"National Library of Scotland - Annan 1859"},{"name":"OS Town Plans, Arbroath 1858 (NLS)","type":"tms","description":"Detailed town plan of Arbroath 1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/arbroath/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.60716469,56.53995105],[-2.60764981,56.57022426],[-2.56498708,56.57042549],[-2.564536,56.54015206]]],"terms_url":"http://maps.nls.uk/townplans/arbroath.html","terms_text":"National Library of Scotland - Arbroath 1858"},{"name":"OS Town Plans, Ayr 1855 (NLS)","type":"tms","description":"Detailed town plan of Ayr 1855, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/ayr/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.66768105,55.43748864],[-4.67080057,55.48363961],[-4.60609844,55.48503484],[-4.60305426,55.43888149]]],"terms_url":"http://maps.nls.uk/townplans/ayr.html","terms_text":"National Library of Scotland - Ayr 1855"},{"name":"OS Town Plans, Berwick-upon-Tweed 1852 (NLS)","type":"tms","description":"Detailed town plan of Berwick-upon-Tweed 1852, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/berwick/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.02117487,55.75577627],[-2.02118763,55.77904118],[-1.98976956,55.77904265],[-1.9897755,55.75577774]]],"terms_url":"http://maps.nls.uk/townplans/berwick.html","terms_text":"National Library of Scotland - Berwick-upon-Tweed 1852"},{"name":"OS Town Plans, Brechin 1862 (NLS)","type":"tms","description":"Detailed town plan of Brechin 1862, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/brechin/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.67480248,56.71456775],[-2.67521172,56.73739937],[-2.64319679,56.73756872],[-2.64280695,56.71473694]]],"terms_url":"http://maps.nls.uk/townplans/brechin.html","terms_text":"National Library of Scotland - Brechin 1862"},{"name":"OS Town Plans, Burntisland 1894 (NLS)","type":"tms","description":"Detailed town plan of Burntisland 1894, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/burntisland/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.24879624,56.04240046],[-3.2495182,56.06472996],[-3.21830572,56.06504207],[-3.21760179,56.0427123]]],"terms_url":"http://maps.nls.uk/townplans/burntisland.html","terms_text":"National Library of Scotland - Burntisland 1894"},{"name":"OS Town Plans, Campbelton 1865 (NLS)","type":"tms","description":"Detailed town plan of Campbelton 1865, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/campbeltown/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-5.62345307,55.40255998],[-5.62631353,55.43375303],[-5.58276654,55.43503753],[-5.57994024,55.40384299]]],"terms_url":"http://maps.nls.uk/townplans/campbelton.html","terms_text":"National Library of Scotland - Campbelton 1865"},{"name":"OS Town Plans, Coatbridge 1858 (NLS)","type":"tms","description":"Detailed town plan of Coatbridge 1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/coatbridge/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.05035921,55.84648689],[-4.05157062,55.86947193],[-4.01953905,55.87000186],[-4.01834651,55.84701638]]],"terms_url":"http://maps.nls.uk/townplans/coatbridge.html","terms_text":"National Library of Scotland - Coatbridge 1858"},{"name":"OS Town Plans, Cupar 1854 (NLS)","type":"tms","description":"Detailed town plan of Cupar 1854, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/cupar1854/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.04765872,56.28653177],[-3.04890965,56.332192],[-2.98498515,56.33271677],[-2.98381041,56.28705563]]],"terms_url":"http://maps.nls.uk/townplans/cupar_1.html","terms_text":"National Library of Scotland - Cupar 1854"},{"name":"OS Town Plans, Cupar 1893-1894 (NLS)","type":"tms","description":"Detailed town plan of Cupar 1893-1894, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/cupar1893/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.0327697,56.30243657],[-3.03338443,56.32520139],[-3.00146629,56.32546356],[-3.00087054,56.30269852]]],"terms_url":"http://maps.nls.uk/townplans/cupar_2.html","terms_text":"National Library of Scotland - Cupar 1893-1894"},{"name":"OS Town Plans, Dalkeith 1852 (NLS)","type":"tms","description":"Detailed town plan of Dalkeith 1852, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/dalkeith1852/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.07862465,55.88900264],[-3.0790381,55.90389729],[-3.05835611,55.90407681],[-3.05795059,55.88918206]]],"terms_url":"http://maps.nls.uk/townplans/dalkeith_1.html","terms_text":"National Library of Scotland - Dalkeith 1852"},{"name":"OS Town Plans, Dalkeith 1893 (NLS)","type":"tms","description":"Detailed town plan of Dalkeith 1893, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/dalkeith1893/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.08600192,55.87936087],[-3.08658588,55.90025926],[-3.0436473,55.90063074],[-3.04308639,55.87973206]]],"terms_url":"http://maps.nls.uk/townplans/dalkeith_2.html","terms_text":"National Library of Scotland - Dalkeith 1893"},{"name":"OS Town Plans, Dumbarton 1859 (NLS)","type":"tms","description":"Detailed town plan of Dumbarton 1859, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/dumbarton/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.58559982,55.92742578],[-4.58714245,55.95056014],[-4.55463269,55.95123882],[-4.55310939,55.92810387]]],"terms_url":"http://maps.nls.uk/townplans/dumbarton.html","terms_text":"National Library of Scotland - Dumbarton 1859"},{"name":"OS Town Plans, Dumfries 1850 (NLS)","type":"tms","description":"Detailed town plan of Dumfries 1850, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/dumfries1850/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.63928076,55.03715991],[-3.64116352,55.08319002],[-3.57823183,55.08402202],[-3.57642118,55.0379905]]],"terms_url":"http://maps.nls.uk/townplans/dumfries_1.html","terms_text":"National Library of Scotland - Dumfries 1850"},{"name":"OS Town Plans, Dumfries 1893 (NLS)","type":"tms","description":"Detailed town plan of Dumfries 1893, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/dumfries1893/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.63179081,55.04150111],[-3.63330662,55.07873429],[-3.58259012,55.07940411],[-3.58112132,55.04217001]]],"terms_url":"http://maps.nls.uk/townplans/dumfries_2.html","terms_text":"National Library of Scotland - Dumfries 1893"},{"name":"OS Town Plans, Dundee 1857-1858 (NLS)","type":"tms","description":"Detailed town plan of Dundee 1857-1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/dundee1857/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.02584468,56.44879161],[-3.02656969,56.47566815],[-2.94710317,56.47629984],[-2.94643424,56.44942266]]],"terms_url":"http://maps.nls.uk/townplans/dundee_1.html","terms_text":"National Library of Scotland - Dundee 1857-1858"},{"name":"OS Town Plans, Dundee 1870-1872 (NLS)","type":"tms","description":"Detailed town plan of Dundee 1870-1872, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/dundee1870/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.03399945,56.448497],[-3.03497463,56.48435238],[-2.92352705,56.48523137],[-2.92265681,56.4493748]]],"terms_url":"http://maps.nls.uk/townplans/dundee_2.html","terms_text":"National Library of Scotland - Dundee 1870-1872"},{"name":"OS Town Plans, Dunfermline 1854 (NLS)","type":"tms","description":"Detailed town plan of Dunfermline 1854, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/dunfermline1854/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.49045481,56.0605979],[-3.49116489,56.07898822],[-3.44374075,56.07955208],[-3.44305323,56.06116138]]],"terms_url":"http://maps.nls.uk/townplans/dunfermline_1.html","terms_text":"National Library of Scotland - Dunfermline 1854"},{"name":"OS Town Plans, Dunfermline 1894 (NLS)","type":"tms","description":"Detailed town plan of Dunfermline 1894, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/dunfermline1893/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.48284159,56.05198219],[-3.48399434,56.08198924],[-3.44209721,56.08248587],[-3.44097697,56.05247826]]],"terms_url":"http://maps.nls.uk/townplans/dunfermline_2.html","terms_text":"National Library of Scotland - Dunfermline 1894"},{"name":"OS Town Plans, Edinburgh 1849-1851 (NLS)","type":"tms","description":"Detailed town plan of Edinburgh 1849-1851, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/edinburgh1849/{zoom}/{x}/{y}.png","scaleExtent":[13,20],"polygon":[[[-3.2361048,55.921366],[-3.23836397,55.99217223],[-3.14197035,55.99310288],[-3.13988689,55.92229419]]],"terms_url":"http://maps.nls.uk/townplans/edinburgh1056_1.html","terms_text":"National Library of Scotland - Edinburgh 1849-1851"},{"name":"OS Town Plans, Edinburgh 1876-1877 (NLS)","type":"tms","description":"Detailed town plan of Edinburgh 1876-1877, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/edinburgh1876/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.24740498,55.92116518],[-3.24989581,55.99850896],[-3.13061127,55.99966059],[-3.12835798,55.92231348]]],"terms_url":"http://maps.nls.uk/townplans/edinburgh1056_2.html","terms_text":"National Library of Scotland - Edinburgh 1876-1877"},{"name":"OS Town Plans, Edinburgh 1893-1894 (NLS)","type":"tms","description":"Detailed town plan of Edinburgh 1893-1894, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/edinburgh1893/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.26111081,55.89555387],[-3.26450423,55.9997912],[-3.11970824,56.00119128],[-3.1167031,55.89694851]]],"terms_url":"http://maps.nls.uk/townplans/edinburgh500.html","terms_text":"National Library of Scotland - Edinburgh 1893-1894"},{"name":"OS Town Plans, Elgin 1868 (NLS)","type":"tms","description":"Detailed town plan of Elgin 1868, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/elgin/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.33665196,57.62879017],[-3.33776583,57.65907381],[-3.29380859,57.65953111],[-3.29273129,57.62924695]]],"terms_url":"http://maps.nls.uk/townplans/elgin.html","terms_text":"National Library of Scotland - Elgin 1868"},{"name":"OS Town Plans, Falkirk 1858-1859 (NLS)","type":"tms","description":"Detailed town plan of Falkirk 1858-1859, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/falkirk/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.79587441,55.99343101],[-3.79697783,56.01720281],[-3.76648151,56.01764348],[-3.76539679,55.99387129]]],"terms_url":"http://maps.nls.uk/townplans/falkirk.html","terms_text":"National Library of Scotland - Falkirk 1858-1859"},{"name":"OS Town Plans, Forfar 1860-1861 (NLS)","type":"tms","description":"Detailed town plan of Forfar 1860-1861, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/forfar/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.90326183,56.6289471],[-2.90378797,56.65095013],[-2.87228457,56.65117489],[-2.87177676,56.62917168]]],"terms_url":"http://maps.nls.uk/townplans/forfar.html","terms_text":"National Library of Scotland - Forfar 1860-1861"},{"name":"OS Town Plans, Forres 1868 (NLS)","type":"tms","description":"Detailed town plan of Forres 1868, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/forres/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.63516795,57.58887872],[-3.63647637,57.618002],[-3.57751453,57.61875171],[-3.5762532,57.58962759]]],"terms_url":"http://maps.nls.uk/townplans/forres.html","terms_text":"National Library of Scotland - Forres 1868"},{"name":"OS Town Plans, Galashiels 1858 (NLS)","type":"tms","description":"Detailed town plan of Galashiels 1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/galashiels/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.82918609,55.59586303],[-2.82981273,55.62554026],[-2.78895254,55.62580992],[-2.78835674,55.59613239]]],"terms_url":"http://maps.nls.uk/townplans/galashiels.html","terms_text":"National Library of Scotland - Galashiels 1858"},{"name":"OS Town Plans, Girvan 1857 (NLS)","type":"tms","description":"Detailed town plan of Girvan 1857, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/girvan/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.87424251,55.22679729],[-4.87587895,55.24945946],[-4.84447382,55.25019598],[-4.84285519,55.22753318]]],"terms_url":"http://maps.nls.uk/townplans/girvan.html","terms_text":"National Library of Scotland - Girvan 1857"},{"name":"OS Town Plans, Glasgow 1857-1858 (NLS)","type":"tms","description":"Detailed town plan of Glasgow 1857-1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/glasgow1857/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.31575491,55.82072009],[-4.319683,55.88667625],[-4.1771319,55.88928081],[-4.1734447,55.82331825]]],"terms_url":"http://maps.nls.uk/townplans/glasgow_1.html","terms_text":"National Library of Scotland - Glasgow 1857-1858"},{"name":"OS Town Plans, Glasgow 1892-1894 (NLS)","type":"tms","description":"Detailed town plan of Glasgow 1892-1894, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/glasgow1894/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.3465357,55.81456228],[-4.35157646,55.89806268],[-4.17788765,55.9012587],[-4.17321842,55.81774834]]],"terms_url":"http://maps.nls.uk/townplans/glasgow_2.html","terms_text":"National Library of Scotland - Glasgow 1892-1894"},{"name":"OS Town Plans, Greenock 1857 (NLS)","type":"tms","description":"Detailed town plan of Greenock 1857, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/greenock/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.78108857,55.92617865],[-4.78382957,55.96437481],[-4.7302257,55.96557475],[-4.72753731,55.92737687]]],"terms_url":"http://maps.nls.uk/townplans/greenock.html","terms_text":"National Library of Scotland - Greenock 1857"},{"name":"OS Town Plans, Haddington 1853 (NLS)","type":"tms","description":"Detailed town plan of Haddington 1853, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/haddington1853/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.78855542,55.9451862],[-2.78888196,55.96124194],[-2.76674325,55.9613817],[-2.76642588,55.94532587]]],"terms_url":"http://maps.nls.uk/townplans/haddington_1.html","terms_text":"National Library of Scotland - Haddington 1853"},{"name":"OS Town Plans, Haddington 1893 (NLS)","type":"tms","description":"Detailed town plan of Haddington 1893, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/haddington1893/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.80152293,55.93428734],[-2.80214693,55.96447189],[-2.76038069,55.9647367],[-2.75978916,55.93455185]]],"terms_url":"http://maps.nls.uk/townplans/haddington_2.html","terms_text":"National Library of Scotland - Haddington 1893"},{"name":"OS Town Plans, Hamilton 1858 (NLS)","type":"tms","description":"Detailed town plan of Hamilton 1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/hamilton/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.06721642,55.74877265],[-4.06924047,55.78698508],[-4.01679233,55.78785698],[-4.01481949,55.74964331]]],"terms_url":"http://maps.nls.uk/townplans/hamilton.html","terms_text":"National Library of Scotland - Hamilton 1858"},{"name":"OS Town Plans, Hawick 1857-1858 (NLS)","type":"tms","description":"Detailed town plan of Hawick 1857-1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/hawick/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.80130149,55.4102516],[-2.80176329,55.43304638],[-2.7708832,55.43324489],[-2.77043917,55.41044995]]],"terms_url":"http://maps.nls.uk/townplans/hawick.html","terms_text":"National Library of Scotland - Hawick 1857-1858"},{"name":"OS Town Plans, Inverness 1867-1868 (NLS)","type":"tms","description":"Detailed town plan of Inverness 1867-1868, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/inverness/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.25481758,57.45916363],[-4.25752308,57.50302387],[-4.19713638,57.50409032],[-4.1945031,57.46022829]]],"terms_url":"http://maps.nls.uk/townplans/inverness.html","terms_text":"National Library of Scotland - Inverness 1867-1868"},{"name":"OS Town Plans, Irvine 1859 (NLS)","type":"tms","description":"Detailed town plan of Irvine 1859, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/irvine/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.67540402,55.60649957],[-4.67643252,55.62159024],[-4.65537888,55.62204812],[-4.65435844,55.60695719]]],"terms_url":"http://maps.nls.uk/townplans/irvine.html","terms_text":"National Library of Scotland - Irvine 1859"},{"name":"OS Town Plans, Jedburgh 1858 (NLS)","type":"tms","description":"Detailed town plan of Jedburgh 1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/jedburgh/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.56332521,55.47105448],[-2.56355503,55.48715562],[-2.54168193,55.48725438],[-2.54146103,55.47115318]]],"terms_url":"http://maps.nls.uk/townplans/jedburgh.html","terms_text":"National Library of Scotland - Jedburgh 1858"},{"name":"OS Town Plans, Kelso 1857 (NLS)","type":"tms","description":"Detailed town plan of Kelso 1857, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/kelso/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.44924544,55.58390848],[-2.44949757,55.6059582],[-2.41902085,55.60606617],[-2.41878581,55.58401636]]],"terms_url":"http://maps.nls.uk/townplans/kelso.html","terms_text":"National Library of Scotland - Kelso 1857"},{"name":"OS Town Plans, Kilmarnock 1857-1859 (NLS)","type":"tms","description":"Detailed town plan of Kilmarnock 1857-1859, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/kilmarnock/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.51746876,55.58950933],[-4.5194347,55.62017114],[-4.47675652,55.62104083],[-4.4748238,55.59037802]]],"terms_url":"http://maps.nls.uk/townplans/kilmarnock.html","terms_text":"National Library of Scotland - Kilmarnock 1857-1859"},{"name":"OS Town Plans, Kirkcaldy 1855 (NLS)","type":"tms","description":"Detailed town plan of Kirkcaldy 1855, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/kirkcaldy1855/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.17455285,56.09518942],[-3.17554995,56.12790251],[-3.12991402,56.12832843],[-3.12895559,56.09561481]]],"terms_url":"http://maps.nls.uk/townplans/kirkcaldy_1.html","terms_text":"National Library of Scotland - Kirkcaldy 1855"},{"name":"OS Town Plans, Kirkcaldy 1894 (NLS)","type":"tms","description":"Detailed town plan of Kirkcaldy 1894, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/kirkcaldy1894/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.17460426,56.09513375],[-3.17560428,56.12794116],[-3.12989512,56.12836777],[-3.12893395,56.09555983]]],"terms_url":"http://maps.nls.uk/townplans/kirkcaldy_2.html","terms_text":"National Library of Scotland - Kirkcaldy 1894"},{"name":"OS Town Plans, Kirkcudbright 1850 (NLS)","type":"tms","description":"Detailed town plan of Kirkcudbright 1850, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/kirkcudbright1850/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.06154334,54.82586314],[-4.0623081,54.84086061],[-4.0420219,54.84120364],[-4.04126464,54.82620598]]],"terms_url":"http://maps.nls.uk/townplans/kirkcudbright_1.html","terms_text":"National Library of Scotland - Kirkcudbright 1850"},{"name":"OS Town Plans, Kirkcudbright 1893 (NLS)","type":"tms","description":"Detailed town plan of Kirkcudbright 1893, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/kirkcudbright1893/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.06001868,54.82720122],[-4.06079036,54.84234455],[-4.04025067,54.84269158],[-4.03948667,54.82754805]]],"terms_url":"http://maps.nls.uk/townplans/kirkcudbright_2.html","terms_text":"National Library of Scotland - Kirkcudbright 1893"},{"name":"OS Town Plans, Kirkintilloch 1859 (NLS)","type":"tms","description":"Detailed town plan of Kirkintilloch 1859, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/kirkintilloch/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.16664222,55.93124287],[-4.16748402,55.94631265],[-4.14637318,55.94668235],[-4.14553956,55.93161237]]],"terms_url":"http://maps.nls.uk/townplans/kirkintilloch.html","terms_text":"National Library of Scotland - Kirkintilloch 1859"},{"name":"OS Town Plans, Kirriemuir 1861 (NLS)","type":"tms","description":"Detailed town plan of Kirriemuir 1861, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/kirriemuir/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.01255744,56.65896044],[-3.01302683,56.67645382],[-2.98815879,56.67665366],[-2.98770092,56.65916014]]],"terms_url":"http://maps.nls.uk/townplans/kirriemuir.html","terms_text":"National Library of Scotland - Kirriemuir 1861"},{"name":"OS Town Plans, Lanark 1858 (NLS)","type":"tms","description":"Detailed town plan of Lanark 1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/lanark/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.78642584,55.66308804],[-3.78710605,55.67800854],[-3.76632876,55.67830935],[-3.76565645,55.66338868]]],"terms_url":"http://maps.nls.uk/townplans/lanark.html","terms_text":"National Library of Scotland - Lanark 1858"},{"name":"OS Town Plans, Linlithgow 1856 (NLS)","type":"tms","description":"Detailed town plan of Linlithgow 1856, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/linlithgow/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.61908334,55.95549561],[-3.62033259,55.98538615],[-3.57838447,55.98593047],[-3.57716753,55.95603932]]],"terms_url":"http://maps.nls.uk/townplans/linlithgow.html","terms_text":"National Library of Scotland - Linlithgow 1856"},{"name":"OS Town Plans, Mayole 1856-1857 (NLS)","type":"tms","description":"Detailed town plan of Mayole 1856-1857, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/maybole/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.69086378,55.34340178],[-4.6918884,55.35849731],[-4.67089656,55.35895813],[-4.6698799,55.34386234]]],"terms_url":"http://maps.nls.uk/townplans/maybole.html","terms_text":"National Library of Scotland - Mayole 1856-1857"},{"name":"OS Town Plans, Montrose 1861-1862 (NLS)","type":"tms","description":"Detailed town plan of Montrose 1861-1862, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/montrose/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.4859324,56.69645192],[-2.4862257,56.71918799],[-2.45405417,56.71930941],[-2.45378027,56.69657324]]],"terms_url":"http://maps.nls.uk/townplans/montrose.html","terms_text":"National Library of Scotland - Montrose 1861-1862"},{"name":"OS Town Plans, Musselburgh 1853 (NLS)","type":"tms","description":"Detailed town plan of Musselburgh 1853, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/musselburgh1853/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.07888558,55.93371953],[-3.07954151,55.95729781],[-3.03240684,55.95770177],[-3.03177952,55.93412313]]],"terms_url":"http://maps.nls.uk/townplans/musselburgh_1.html","terms_text":"National Library of Scotland - Musselburgh 1853"},{"name":"OS Town Plans, Musselburgh 1893 (NLS)","type":"tms","description":"Detailed town plan of Musselburgh 1893, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/musselburgh1893/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.07017621,55.92694102],[-3.07078961,55.94917624],[-3.03988228,55.94944099],[-3.03928658,55.92720556]]],"terms_url":"http://maps.nls.uk/townplans/musselburgh_2.html","terms_text":"National Library of Scotland - Musselburgh 1893"},{"name":"OS Town Plans, Nairn 1867-1868 (NLS)","type":"tms","description":"Detailed town plan of Nairn 1867-1868, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/nairn/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.88433907,57.57899149],[-3.88509905,57.5936822],[-3.85931017,57.59406441],[-3.85856057,57.57937348]]],"terms_url":"http://maps.nls.uk/townplans/nairn.html","terms_text":"National Library of Scotland - Nairn 1867-1868"},{"name":"OS Town Plans, Oban 1867-1868 (NLS)","type":"tms","description":"Detailed town plan of Oban 1867-1868, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/oban/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-5.49548449,56.39080407],[-5.49836627,56.42219039],[-5.45383984,56.42343933],[-5.45099456,56.39205153]]],"terms_url":"http://maps.nls.uk/townplans/oban.html","terms_text":"National Library of Scotland - Oban 1867-1868"},{"name":"OS Town Plans, Paisley 1858 (NLS)","type":"tms","description":"Detailed town plan of Paisley 1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/paisley/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.45144945,55.85448259],[-4.4036847,55.85420972],[-4.40371385,55.83065193],[-4.4514497,55.83092507]]],"terms_url":"http://maps.nls.uk/townplans/paisley.html","terms_text":"National Library of Scotland - Paisley 1858"},{"name":"OS Town Plans, Peebles 1856 (NLS)","type":"tms","description":"Detailed town plan of Peebles 1856, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/peebles/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.20921287,55.63635834],[-3.20990288,55.65873817],[-3.17896372,55.65903935],[-3.17829135,55.63665927]]],"terms_url":"http://maps.nls.uk/townplans/peebles.html","terms_text":"National Library of Scotland - Peebles 1856"},{"name":"OS Town Plans, Perth 1860 (NLS)","type":"tms","description":"Detailed town plan of Perth 1860, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/perth/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.45302495,56.37794226],[-3.45416664,56.40789908],[-3.41187528,56.40838777],[-3.41076676,56.3784304]]],"terms_url":"http://maps.nls.uk/townplans/perth.html","terms_text":"National Library of Scotland - Perth 1860"},{"name":"OS Town Plans, Peterhead 1868 (NLS)","type":"tms","description":"Detailed town plan of Peterhead 1868, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/peterhead/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-1.80513747,57.48046916],[-1.80494005,57.51755411],[-1.75135366,57.51746003],[-1.75160539,57.48037522]]],"terms_url":"http://maps.nls.uk/townplans/peterhead","terms_text":"National Library of Scotland - Peterhead 1868"},{"name":"OS Town Plans, Port Glasgow 1856-1857 (NLS)","type":"tms","description":"Detailed town plan of Port Glasgow 1856-1857, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/portglasgow/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.70063209,55.91995983],[-4.70222026,55.9427679],[-4.67084958,55.94345237],[-4.6692798,55.92064372]]],"terms_url":"http://maps.nls.uk/townplans/port-glasgow.html","terms_text":"National Library of Scotland - Port Glasgow 1856-1857"},{"name":"OS Town Plans, Portobello 1893-1894 (NLS)","type":"tms","description":"Detailed town plan of Portobello 1893-1894, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/portobello/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.12437919,55.93846889],[-3.1250234,55.96068605],[-3.09394827,55.96096586],[-3.09332184,55.93874847]]],"terms_url":"http://maps.nls.uk/townplans/portobello.html","terms_text":"National Library of Scotland - Portobello 1893-1894"},{"name":"OS Town Plans, Rothesay 1862-1863 (NLS)","type":"tms","description":"Detailed town plan of Rothesay 1862-1863, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/rothesay/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-5.06449893,55.82864114],[-5.06569719,55.84385927],[-5.04413114,55.84439519],[-5.04294127,55.82917676]]],"terms_url":"http://maps.nls.uk/townplans/rothesay.html","terms_text":"National Library of Scotland - Rothesay 1862-1863"},{"name":"OS Town Plans, Selkirk 1865 (NLS)","type":"tms","description":"Detailed town plan of Selkirk 1865, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/selkirk/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.85998582,55.53499576],[-2.86063259,55.56459732],[-2.82003242,55.56487574],[-2.81941615,55.53527387]]],"terms_url":"http://maps.nls.uk/townplans/selkirk.html","terms_text":"National Library of Scotland - Selkirk 1865"},{"name":"OS Town Plans, St Andrews 1854 (NLS)","type":"tms","description":"Detailed town plan of St Andrews 1854, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/standrews1854/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.81342686,56.32097352],[-2.81405804,56.3506222],[-2.77243712,56.35088865],[-2.77183819,56.32123967]]],"terms_url":"http://maps.nls.uk/townplans/st-andrews_1.html","terms_text":"National Library of Scotland - St Andrews 1854"},{"name":"OS Town Plans, St Andrews 1893 (NLS)","type":"tms","description":"Detailed town plan of St Andrews 1893, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/standrews1893/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.81545583,56.31861733],[-2.81609919,56.3487653],[-2.77387785,56.34903619],[-2.77326775,56.31888792]]],"terms_url":"http://maps.nls.uk/townplans/st-andrews_2.html","terms_text":"National Library of Scotland - St Andrews 1893"},{"name":"OS Town Plans, Stirling 1858 (NLS)","type":"tms","description":"Detailed town plan of Stirling 1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/stirling/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.95768489,56.10754239],[-3.95882978,56.13007142],[-3.92711024,56.13057046],[-3.92598386,56.10804101]]],"terms_url":"http://maps.nls.uk/townplans/stirling.html","terms_text":"National Library of Scotland - Stirling 1858"},{"name":"OS Town Plans, Stonehaven 1864 (NLS)","type":"tms","description":"Detailed town plan of Stonehaven 1864, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/stonehaven/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-2.220167,56.9565098],[-2.2202543,56.97129283],[-2.19924399,56.9713281],[-2.19916501,56.95654504]]],"terms_url":"http://maps.nls.uk/townplans/stonehaven.html","terms_text":"National Library of Scotland - Stonehaven 1864"},{"name":"OS Town Plans, Stranraer 1847 (NLS)","type":"tms","description":"Detailed town plan of Stranraer 1847, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/stranraer1847/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-5.04859743,54.8822997],[-5.0508954,54.91268061],[-5.0095373,54.91371278],[-5.00727037,54.88333071]]],"terms_url":"http://maps.nls.uk/townplans/stranraer_1.html","terms_text":"National Library of Scotland - Stranraer 1847"},{"name":"OS Town Plans, Stranraer 1863-1877 (NLS)","type":"tms","description":"Detailed town plan of Stranraer 1863-1877, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/stranraer1867/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-5.04877289,54.88228699],[-5.05107324,54.9126976],[-5.00947337,54.91373582],[-5.00720427,54.88332405]]],"terms_url":"http://maps.nls.uk/townplans/stranraer_1a.html","terms_text":"National Library of Scotland - Stranraer 1863-1877"},{"name":"OS Town Plans, Stranraer 1893 (NLS)","type":"tms","description":"Detailed town plan of Stranraer 1893, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/stranraer1893/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-5.04418424,54.89773858],[-5.04511026,54.90999885],[-5.0140499,54.91077389],[-5.0131333,54.89851327]]],"terms_url":"http://maps.nls.uk/townplans/stranraer_2.html","terms_text":"National Library of Scotland - Stranraer 1893"},{"name":"OS Town Plans, Strathaven 1858 (NLS)","type":"tms","description":"Detailed town plan of Strathaven 1858, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/strathaven/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.06914872,55.67242091],[-4.06954357,55.67989707],[-4.05917487,55.6800715],[-4.05878199,55.67259529]]],"terms_url":"http://maps.nls.uk/townplans/strathaven.html","terms_text":"National Library of Scotland - Strathaven 1858"},{"name":"OS Town Plans, Wick 1872 (NLS)","type":"tms","description":"Detailed town plan of Wick 1872, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/wick/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-3.11470001,58.41344839],[-3.11588837,58.45101446],[-3.05949843,58.45149284],[-3.05837008,58.41392606]]],"terms_url":"http://maps.nls.uk/townplans/wick.html","terms_text":"National Library of Scotland - Wick 1872"},{"name":"OS Town Plans, Wigtown 1848 (NLS)","type":"tms","description":"Detailed town plan of Wigtown 1848, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/wigtown1848/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.45235587,54.8572296],[-4.45327284,54.87232603],[-4.43254469,54.87274317],[-4.43163545,54.85764651]]],"terms_url":"http://maps.nls.uk/townplans/wigtown_1.html","terms_text":"National Library of Scotland - Wigtown 1848"},{"name":"OS Town Plans, Wigtown 1894 (NLS)","type":"tms","description":"Detailed town plan of Wigtown 1894, courtesy of National Library of Scotland.","template":"http://geo.nls.uk/maps/towns/wigtown1894/{zoom}/{x}/{-y}.png","scaleExtent":[13,20],"polygon":[[[-4.45233361,54.85721131],[-4.45325423,54.87236807],[-4.43257837,54.87278416],[-4.43166549,54.85762716]]],"terms_url":"http://maps.nls.uk/townplans/wigtown_2.html","terms_text":"National Library of Scotland - Wigtown 1894"},{"name":"Pangasinán/Bulacan (Phillipines HiRes)","type":"tms","template":"http://gravitystorm.dev.openstreetmap.org/imagery/philippines/{zoom}/{x}/{y}.png","scaleExtent":[12,19],"polygon":[[[120.336593,15.985768],[120.445995,15.984],[120.446134,15.974459],[120.476464,15.974592],[120.594247,15.946832],[120.598064,16.090795],[120.596537,16.197999],[120.368537,16.218527],[120.347576,16.042308],[120.336593,15.985768]],[[120.8268,15.3658],[121.2684,15.2602],[121.2699,14.7025],[120.695,14.8423]]]},{"name":"Slovakia EEA CORINE 2006","type":"tms","template":"http://www.freemap.sk/tms/clc/{zoom}/{x}/{y}.png","polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_url":"http://www.eea.europa.eu/data-and-maps/data/clc-2006-vector-data-version-1","terms_text":"EEA Corine 2006"},{"name":"Slovakia EEA GMES Urban Atlas","type":"tms","template":"http://www.freemap.sk/tms/urbanatlas/{zoom}/{x}/{y}.png","polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_url":"http://www.eea.europa.eu/data-and-maps/data/urban-atlas","terms_text":"EEA GMES Urban Atlas"},{"name":"Slovakia Historic Maps","type":"tms","template":"http://tms.freemap.sk/historicke/{zoom}/{x}/{y}.png","scaleExtent":[0,12],"polygon":[[[16.8196949,47.4927236],[16.8196949,49.5030322],[22.8388318,49.5030322],[22.8388318,47.4927236],[16.8196949,47.4927236]]]},{"name":"South Africa CD:NGI Aerial","type":"tms","template":"http://{switch:a,b,c}.aerial.openstreetmap.org.za/ngi-aerial/{zoom}/{x}/{y}.jpg","scaleExtent":[1,22],"polygon":[[[17.8396817,-32.7983384],[17.8893509,-32.6972835],[18.00364,-32.6982187],[18.0991679,-32.7485251],[18.2898747,-32.5526645],[18.2930182,-32.0487089],[18.105455,-31.6454966],[17.8529257,-31.3443951],[17.5480046,-30.902171],[17.4044506,-30.6374731],[17.2493704,-30.3991663],[16.9936977,-29.6543552],[16.7987996,-29.19437],[16.5494139,-28.8415949],[16.4498691,-28.691876],[16.4491046,-28.5515766],[16.6002551,-28.4825663],[16.7514057,-28.4486958],[16.7462192,-28.2458973],[16.8855148,-28.04729],[16.9929502,-28.0244005],[17.0529659,-28.0257086],[17.1007562,-28.0338839],[17.2011527,-28.0930546],[17.2026346,-28.2328424],[17.2474611,-28.2338215],[17.2507953,-28.198892],[17.3511919,-28.1975861],[17.3515624,-28.2442655],[17.4015754,-28.2452446],[17.4149122,-28.3489751],[17.4008345,-28.547997],[17.4526999,-28.5489733],[17.4512071,-28.6495106],[17.4983599,-28.6872054],[17.6028204,-28.6830048],[17.6499732,-28.6967928],[17.6525928,-28.7381457],[17.801386,-28.7381457],[17.9994276,-28.7560602],[18.0002748,-28.7956172],[18.1574507,-28.8718055],[18.5063811,-28.8718055],[18.6153564,-28.8295875],[18.9087513,-28.8277516],[19.1046973,-28.9488548],[19.1969071,-28.9378513],[19.243012,-28.8516164],[19.2314858,-28.802963],[19.2587296,-28.7009928],[19.4431493,-28.6973163],[19.5500289,-28.4958332],[19.6967264,-28.4939914],[19.698822,-28.4479358],[19.8507587,-28.4433291],[19.8497109,-28.4027818],[19.9953605,-28.399095],[19.9893671,-24.7497859],[20.2916682,-24.9192346],[20.4724562,-25.1501701],[20.6532441,-25.4529449],[20.733265,-25.6801957],[20.8281046,-25.8963498],[20.8429232,-26.215851],[20.6502804,-26.4840868],[20.6532441,-26.8204869],[21.0889134,-26.846933],[21.6727695,-26.8389998],[21.7765003,-26.6696268],[21.9721069,-26.6431395],[22.2803355,-26.3274702],[22.5707817,-26.1333967],[22.7752795,-25.6775246],[23.0005235,-25.2761948],[23.4658301,-25.2735148],[23.883717,-25.597366],[24.2364017,-25.613402],[24.603905,-25.7896563],[25.110704,-25.7389432],[25.5078447,-25.6855376],[25.6441766,-25.4823781],[25.8419267,-24.7805437],[25.846641,-24.7538456],[26.3928487,-24.6332894],[26.4739066,-24.5653312],[26.5089966,-24.4842437],[26.5861946,-24.4075775],[26.7300635,-24.3014458],[26.8567384,-24.2499463],[26.8574402,-24.1026901],[26.9215471,-23.8990957],[26.931831,-23.8461891],[26.9714827,-23.6994344],[27.0006074,-23.6367644],[27.0578041,-23.6052574],[27.1360547,-23.5203437],[27.3339623,-23.3973792],[27.5144057,-23.3593929],[27.5958145,-23.2085465],[27.8098634,-23.0994957],[27.8828506,-23.0620496],[27.9382928,-22.9496487],[28.0407556,-22.8255118],[28.2056786,-22.6552861],[28.3397223,-22.5639374],[28.4906093,-22.560697],[28.6108769,-22.5400248],[28.828175,-22.4550173],[28.9285324,-22.4232328],[28.9594116,-22.3090081],[29.0162574,-22.208335],[29.2324117,-22.1693453],[29.3531213,-22.1842926],[29.6548952,-22.1186426],[29.7777102,-22.1361956],[29.9292989,-22.1849425],[30.1166795,-22.2830348],[30.2563377,-22.2914767],[30.3033582,-22.3395204],[30.5061784,-22.3057617],[30.8374279,-22.284983],[31.0058599,-22.3077095],[31.1834152,-22.3232913],[31.2930586,-22.3674647],[31.5680579,-23.1903385],[31.5568311,-23.4430809],[31.6931122,-23.6175209],[31.7119696,-23.741136],[31.7774743,-23.8800628],[31.8886337,-23.9481098],[31.9144386,-24.1746736],[31.9948307,-24.3040878],[32.0166656,-24.4405988],[32.0077331,-24.6536578],[32.019643,-24.9140701],[32.035523,-25.0849767],[32.019643,-25.3821442],[31.9928457,-25.4493771],[31.9997931,-25.5165725],[32.0057481,-25.6078978],[32.0057481,-25.6624806],[31.9362735,-25.8403721],[31.9809357,-25.9546537],[31.8687838,-26.0037251],[31.4162062,-25.7277683],[31.3229117,-25.7438611],[31.2504595,-25.8296526],[31.1393001,-25.9162746],[31.1164727,-25.9912361],[30.9656135,-26.2665756],[30.8921689,-26.3279703],[30.8534616,-26.4035568],[30.8226943,-26.4488849],[30.8022583,-26.5240694],[30.8038369,-26.8082089],[30.9020939,-26.7807451],[30.9100338,-26.8489495],[30.9824859,-26.9082627],[30.976531,-27.0029222],[31.0034434,-27.0441587],[31.1543322,-27.1980416],[31.5015607,-27.311117],[31.9700183,-27.311117],[31.9700183,-27.120472],[31.9769658,-27.050664],[32.0002464,-26.7983892],[32.1069826,-26.7984645],[32.3114546,-26.8479493],[32.899986,-26.8516059],[32.886091,-26.9816971],[32.709427,-27.4785436],[32.6240724,-27.7775144],[32.5813951,-28.07479],[32.5387178,-28.2288046],[32.4275584,-28.5021568],[32.3640388,-28.5945699],[32.0702603,-28.8469827],[31.9878832,-28.9069497],[31.7764818,-28.969487],[31.4638459,-29.2859343],[31.359634,-29.3854348],[31.1680825,-29.6307408],[31.064863,-29.7893535],[31.0534493,-29.8470469],[31.0669933,-29.8640319],[31.0455459,-29.9502017],[30.9518556,-30.0033946],[30.8651833,-30.1024093],[30.7244725,-30.392502],[30.3556256,-30.9308873],[30.0972364,-31.2458274],[29.8673136,-31.4304296],[29.7409393,-31.5014699],[29.481312,-31.6978686],[28.8943171,-32.2898903],[28.5497137,-32.5894641],[28.1436499,-32.8320732],[28.0748735,-32.941689],[27.8450942,-33.082869],[27.3757956,-33.3860685],[26.8805407,-33.6458951],[26.5916871,-33.7480756],[26.4527308,-33.7935795],[26.206754,-33.7548943],[26.0077897,-33.7223961],[25.8055494,-33.7524272],[25.7511073,-33.8006512],[25.6529079,-33.8543597],[25.6529079,-33.9469768],[25.7195789,-34.0040115],[25.7202807,-34.0511235],[25.5508915,-34.063151],[25.3504571,-34.0502627],[25.2810609,-34.0020322],[25.0476316,-33.9994588],[24.954724,-34.0043594],[24.9496586,-34.1010363],[24.8770358,-34.1506456],[24.8762914,-34.2005281],[24.8532574,-34.2189562],[24.7645287,-34.2017946],[24.5001356,-34.2003254],[24.3486733,-34.1163824],[24.1988819,-34.1019039],[23.9963377,-34.0514443],[23.8017509,-34.0524332],[23.7493589,-34.0111855],[23.4973536,-34.009014],[23.4155191,-34.0434586],[23.4154284,-34.1140433],[22.9000853,-34.0993009],[22.8412418,-34.0547911],[22.6470321,-34.0502627],[22.6459843,-34.0072768],[22.570016,-34.0064081],[22.5050499,-34.0645866],[22.2519968,-34.0645866],[22.2221334,-34.1014701],[22.1621197,-34.1057019],[22.1712431,-34.1521766],[22.1576913,-34.2180897],[22.0015632,-34.2172232],[21.9496952,-34.3220009],[21.8611528,-34.4007145],[21.5614708,-34.4020114],[21.5468011,-34.3661242],[21.501744,-34.3669892],[21.5006961,-34.4020114],[21.4194886,-34.4465247],[21.1978706,-34.4478208],[21.0988193,-34.3991325],[21.0033746,-34.3753872],[20.893192,-34.3997115],[20.8976647,-34.4854003],[20.7446802,-34.4828092],[20.5042011,-34.486264],[20.2527197,-34.701477],[20.0803502,-34.8361855],[19.9923317,-34.8379056],[19.899074,-34.8275845],[19.8938348,-34.7936018],[19.5972963,-34.7961833],[19.3929677,-34.642015],[19.2877095,-34.6404784],[19.2861377,-34.5986563],[19.3474363,-34.5244458],[19.3285256,-34.4534372],[19.098001,-34.449981],[19.0725583,-34.3802371],[19.0023531,-34.3525593],[18.9520568,-34.3949373],[18.7975006,-34.3936403],[18.7984174,-34.1016376],[18.501748,-34.1015292],[18.4999545,-34.3616945],[18.4477325,-34.3620007],[18.4479944,-34.3522691],[18.3974362,-34.3514041],[18.3971742,-34.3022959],[18.3565705,-34.3005647],[18.3479258,-34.2020436],[18.2972095,-34.1950274],[18.2951139,-33.9937138],[18.3374474,-33.9914079],[18.3476638,-33.8492427],[18.3479258,-33.781555],[18.4124718,-33.7448849],[18.3615477,-33.6501624],[18.2992013,-33.585591],[18.2166839,-33.448872],[18.1389858,-33.3974083],[17.9473472,-33.1602647],[17.8855247,-33.0575732],[17.8485884,-32.9668505],[17.8396817,-32.8507302]]],"best":true},{"name":"South Tyrol Orthofoto 2011","type":"tms","description":"Orthophoto of South Tyrol from 2011","template":"http://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2011_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg","scaleExtent":[0,18],"polygon":[[[10.38615,46.68821],[10.39201,46.69016],[10.40215,46.70624],[10.41274,46.70821],[10.41622,46.71479],[10.4168,46.71847],[10.39934,46.73435],[10.43464,46.75356],[10.44107,46.75413],[10.44011,46.77149],[10.42123,46.78861],[10.42845,46.79755],[10.43851,46.79869],[10.44925,46.80462],[10.45602,46.81635],[10.45438,46.82221],[10.4583,46.82478],[10.45513,46.83059],[10.45906,46.83548],[10.46483,46.83624],[10.46229,46.8413],[10.46987,46.84933],[10.46819,46.8553],[10.47838,46.86013],[10.48372,46.85543],[10.49628,46.85305],[10.49931,46.84857],[10.52124,46.84653],[10.5527,46.8511],[10.55795,46.84695],[10.55264,46.8408],[10.55536,46.84087],[10.58883,46.85125],[10.59502,46.85829],[10.60936,46.8597],[10.62441,46.86558],[10.64858,46.86655],[10.66787,46.87651],[10.67297,46.87138],[10.69112,46.86861],[10.69786,46.86339],[10.69508,46.85308],[10.70594,46.84786],[10.71763,46.84795],[10.72333,46.83892],[10.75621,46.83383],[10.76481,46.82409],[10.76387,46.81971],[10.75239,46.81387],[10.74506,46.80223],[10.7276,46.79709],[10.73122,46.78925],[10.75722,46.78624],[10.77744,46.79149],[10.78678,46.79735],[10.81439,46.77662],[10.82479,46.77472],[10.83129,46.78138],[10.84112,46.78282],[10.85354,46.77506],[10.86845,46.77313],[10.86993,46.7669],[10.88294,46.76393],[10.88962,46.76529],[10.8951,46.77092],[10.90527,46.76911],[10.92299,46.7764],[10.92821,46.77408],[10.94388,46.77648],[10.97522,46.77361],[10.97932,46.77014],[10.99475,46.76804],[11.01397,46.77317],[11.02328,46.76715],[11.0346,46.79428],[11.04234,46.801],[11.03792,46.80562],[11.05633,46.80928],[11.07279,46.82092],[11.08171,46.82252],[11.0762,46.83384],[11.06887,46.83793],[11.07303,46.84345],[11.06988,46.85348],[11.08742,46.87927],[11.09961,46.88922],[11.09538,46.89178],[11.09795,46.89844],[11.0946,46.91247],[11.10792,46.91706],[11.10804,46.92632],[11.11418,46.93234],[11.13851,46.92865],[11.16322,46.94091],[11.16642,46.94479],[11.16114,46.94979],[11.1637,46.96677],[11.17598,46.96367],[11.18658,46.97062],[11.19527,46.97152],[11.20418,46.96877],[11.20688,46.96403],[11.22047,46.97025],[11.24139,46.9708],[11.24865,46.97517],[11.25582,46.97535],[11.26272,46.98169],[11.27662,46.98168],[11.28762,46.98699],[11.30709,46.98525],[11.3205,46.99345],[11.33765,46.98606],[11.34516,46.99169],[11.35932,46.99154],[11.37697,46.98025],[11.38324,46.97168],[11.40465,46.96609],[11.43929,46.97601],[11.45134,46.99294],[11.46803,46.99582],[11.46859,47.003],[11.47831,47.01201],[11.50238,47.01073],[11.50313,47.00808],[11.51366,47.00595],[11.51679,47.00091],[11.53381,46.99233],[11.53846,46.98519],[11.55297,46.99149],[11.57663,46.99657],[11.58,47.00277],[11.58879,47.00641],[11.59901,47.00657],[11.60944,47.01207],[11.62697,47.01437],[11.63629,47.00383],[11.66542,46.99304],[11.6885,46.99658],[11.71226,46.99416],[11.72897,46.97322],[11.74698,46.97013],[11.76411,46.97412],[11.78106,46.99342],[11.81526,46.991],[11.83564,46.99417],[11.84396,47.0025],[11.85192,47.0014],[11.86722,47.01252],[11.87393,47.01136],[11.8794,47.01714],[11.89137,47.01728],[11.91627,47.03422],[11.9329,47.03864],[11.94688,47.03464],[11.95457,47.04374],[11.96773,47.04158],[11.97912,47.0511],[11.98587,47.04815],[11.99534,47.05064],[12.02037,47.04821],[12.02968,47.05127],[12.03353,47.0583],[12.04276,47.06228],[12.07543,47.0605],[12.08035,47.06951],[12.09308,47.07791],[12.10329,47.07931],[12.11867,47.07445],[12.13561,47.08171],[12.15125,47.08049],[12.15997,47.08267],[12.18589,47.09322],[12.2278,47.08302],[12.24228,47.06892],[12.23786,47.0644],[12.21821,47.05795],[12.2182,47.04483],[12.20552,47.02595],[12.18048,47.02414],[12.16423,47.01782],[12.14786,47.02357],[12.12723,47.01218],[12.12285,47.00662],[12.1322,46.99339],[12.12974,46.98593],[12.13977,46.982],[12.13808,46.96514],[12.13328,46.96292],[12.13882,46.95764],[12.15927,46.95133],[12.1702,46.93758],[12.15414,46.91654],[12.14675,46.91413],[12.16205,46.908],[12.16959,46.91121],[12.19154,46.90682],[12.20106,46.8965],[12.2022,46.88806],[12.21663,46.87517],[12.22147,46.88084],[12.23125,46.88146],[12.2345,46.88919],[12.24162,46.89192],[12.27486,46.88512],[12.27979,46.87921],[12.27736,46.87319],[12.29326,46.86566],[12.2912,46.85704],[12.29733,46.84455],[12.30833,46.84137],[12.30726,46.83271],[12.285,46.81503],[12.29383,46.8027],[12.28905,46.79948],[12.28889,46.79427],[12.28232,46.79153],[12.28539,46.7839],[12.30943,46.78603],[12.35837,46.77583],[12.37036,46.74163],[12.38475,46.71745],[12.40283,46.70811],[12.41103,46.70701],[12.41522,46.70163],[12.42862,46.6997],[12.42943,46.69567],[12.44268,46.68979],[12.47501,46.68756],[12.4795,46.67969],[12.43473,46.66714],[12.40648,46.64167],[12.38115,46.64183],[12.37944,46.63733],[12.3915,46.62765],[12.38577,46.62154],[12.35939,46.61829],[12.34465,46.62376],[12.34034,46.63022],[12.33578,46.62732],[12.3172,46.62876],[12.31785,46.62355],[12.30802,46.61811],[12.28413,46.61623],[12.26982,46.62003],[12.25931,46.62809],[12.24502,46.62326],[12.24198,46.61586],[12.21241,46.60918],[12.20444,46.59836],[12.19228,46.59321],[12.19261,46.62059],[12.1818,46.6192],[12.17117,46.63275],[12.16062,46.63574],[12.1511,46.63215],[12.1436,46.6327],[12.13739,46.64122],[12.12342,46.64475],[12.10949,46.65204],[12.10609,46.65783],[12.09345,46.66123],[12.08826,46.66638],[12.07985,46.66686],[12.07038,46.67386],[12.07173,46.66064],[12.06686,46.65364],[12.07479,46.64329],[12.06837,46.63997],[12.06495,46.62121],[12.05448,46.61778],[12.05318,46.60989],[12.04613,46.60716],[12.05043,46.60016],[12.04763,46.58357],[12.03665,46.57668],[12.0266,46.55871],[12.02189,46.55791],[11.99941,46.53208],[11.99411,46.53345],[11.98704,46.54417],[11.96633,46.54363],[11.95094,46.53869],[11.94719,46.52879],[11.94147,46.52689],[11.93294,46.52631],[11.9121,46.532],[11.8904,46.52175],[11.85192,46.51682],[11.82849,46.50783],[11.82334,46.51315],[11.82391,46.52141],[11.81086,46.53146],[11.79385,46.52023],[11.79189,46.51322],[11.76157,46.50503],[11.74317,46.50391],[11.73202,46.50877],[11.71935,46.50916],[11.71524,46.51245],[11.69889,46.50218],[11.6672,46.49647],[11.64515,46.49743],[11.63849,46.50051],[11.63495,46.49486],[11.64297,46.49346],[11.65174,46.48271],[11.64536,46.47189],[11.64179,46.47439],[11.62679,46.4708],[11.62987,46.46377],[11.61882,46.44325],[11.62143,46.42539],[11.60161,46.39731],[11.60307,46.38924],[11.5932,46.38265],[11.56489,46.38018],[11.55878,46.35076],[11.55249,46.34418],[11.54423,46.34483],[11.53837,46.35015],[11.52445,46.35502],[11.47969,46.36277],[11.48052,46.3551],[11.46322,46.34922],[11.45556,46.33396],[11.42105,46.32441],[11.40517,46.32387],[11.39865,46.31426],[11.39994,46.30709],[11.39569,46.3083],[11.38188,46.30052],[11.36088,46.29906],[11.36078,46.29682],[11.38256,46.29177],[11.3871,46.28143],[11.39609,46.27423],[11.39862,46.264],[11.38756,46.26029],[11.37347,46.2629],[11.36836,46.26135],[11.35783,46.26481],[11.35495,46.27564],[11.33912,46.28306],[11.33379,46.29049],[11.33471,46.2962],[11.3129,46.28256],[11.31737,46.27303],[11.30645,46.25786],[11.29124,46.2604],[11.24743,46.22933],[11.20622,46.2187],[11.18267,46.22496],[11.17077,46.23806],[11.17994,46.24434],[11.18351,46.25269],[11.18935,46.25354],[11.19448,46.2461],[11.20029,46.25566],[11.16604,46.26129],[11.14885,46.27904],[11.13725,46.28336],[11.14293,46.28934],[11.15847,46.29059],[11.16439,46.2986],[11.1761,46.30346],[11.1847,46.32104],[11.18894,46.32151],[11.18696,46.32673],[11.1942,46.33016],[11.20204,46.34212],[11.19001,46.35984],[11.19263,46.36578],[11.20393,46.36765],[11.19792,46.37232],[11.21275,46.39804],[11.21345,46.40675],[11.20565,46.4166],[11.21026,46.4206],[11.20347,46.42682],[11.21416,46.43556],[11.21634,46.44255],[11.20903,46.45293],[11.21419,46.45807],[11.21736,46.45731],[11.21886,46.46199],[11.21626,46.47277],[11.20939,46.481],[11.20876,46.49346],[11.19608,46.50241],[11.1924,46.501],[11.18686,46.50734],[11.18002,46.49823],[11.17014,46.49635],[11.16095,46.4878],[11.12934,46.48058],[11.1103,46.49643],[11.10449,46.4948],[11.08812,46.50128],[11.08173,46.53021],[11.05915,46.51508],[11.03795,46.51357],[11.05006,46.50784],[11.05773,46.49235],[11.06278,46.4894],[11.06894,46.46619],[11.07625,46.45487],[11.0778,46.44569],[11.07301,46.44042],[11.05394,46.44849],[11.0414,46.44569],[11.02817,46.46116],[11.00952,46.46917],[11.00462,46.47607],[10.98695,46.48289],[10.96543,46.48103],[10.95791,46.46983],[10.93819,46.46578],[10.9325,46.45831],[10.93332,46.4528],[10.91305,46.44284],[10.89161,46.44366],[10.88324,46.44995],[10.88093,46.44579],[10.87162,46.4438],[10.86174,46.43509],[10.85113,46.43817],[10.80034,46.44185],[10.78906,46.45164],[10.77835,46.47112],[10.76934,46.47609],[10.76463,46.4848],[10.75906,46.48547],[10.74422,46.48333],[10.71753,46.46022],[10.69667,46.4573],[10.68293,46.44846],[10.66821,46.45122],[10.63303,46.44309],[10.61439,46.45098],[10.60128,46.46139],[10.59995,46.46766],[10.57672,46.47237],[10.55875,46.48187],[10.54986,46.49123],[10.53685,46.49062],[10.52657,46.49425],[10.49366,46.49719],[10.48141,46.49337],[10.45714,46.5096],[10.45124,46.53083],[10.45814,46.54215],[10.47056,46.54377],[10.46954,46.54856],[10.47617,46.55749],[10.47321,46.56701],[10.48305,46.5777],[10.48575,46.58921],[10.48221,46.59199],[10.48576,46.59805],[10.48291,46.60512],[10.49055,46.61394],[10.44632,46.63989],[10.40935,46.63389],[10.40011,46.63648],[10.39873,46.6455],[10.38946,46.65862],[10.39057,46.67089],[10.3803,46.68399],[10.38615,46.68821]]],"terms_url":"http://geoservices.buergernetz.bz.it/geokatalog/","terms_text":"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0","id":"South-Tyrol-Orthofoto2011"},{"name":"South Tyrol Orthofoto 2014","type":"tms","description":"Orthophoto of South Tyrol from 2011","template":"http://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2014_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg","scaleExtent":[0,18],"polygon":[[[12.23442,46.84254],[12.24913,46.82785],[12.24913,46.81945],[12.25753,46.81735],[12.26173,46.80686],[12.26594,46.80686],[12.26804,46.79637],[12.26173,46.79427],[12.27014,46.78587],[12.27224,46.76908],[12.28485,46.76698],[12.29745,46.7439],[12.30166,46.7439],[12.30166,46.7376],[12.28695,46.7376],[12.23652,46.72081],[12.18819,46.71451],[12.16298,46.70192],[12.10835,46.69353],[12.08944,46.68303],[12.05792,46.68093],[12.04531,46.67464],[12.03481,46.67464],[12.03061,46.68303],[12.0096,46.68303],[11.98438,46.66834],[11.94866,46.66414],[11.93816,46.65575],[11.90874,46.64525],[11.89193,46.64525],[11.8457,46.62846],[11.82049,46.62636],[11.80998,46.60748],[11.79528,46.60328],[11.78897,46.59069],[11.78057,46.58859],[11.76586,46.55501],[11.75325,46.54871],[11.73855,46.52982],[11.73224,46.52982],[11.72384,46.51513],[11.71543,46.51513],[11.71333,46.50254],[11.70913,46.50254],[11.70913,46.49624],[11.69652,46.48575],[11.69442,46.47735],[11.66711,46.47525],[11.66711,46.44587],[11.6608,46.44587],[11.64399,46.45846],[11.63769,46.45846],[11.63349,46.44587],[11.62508,46.44797],[11.62508,46.43957],[11.61878,46.43957],[11.61458,46.42278],[11.61037,46.42278],[11.61037,46.41649],[11.62508,46.41229],[11.62508,46.3934],[11.61458,46.38291],[11.60617,46.38291],[11.60407,46.37241],[11.58306,46.37241],[11.58306,46.34932],[11.55995,46.32414],[11.53894,46.32834],[11.53894,46.34513],[11.52423,46.34723],[11.50111,46.34723],[11.49901,46.32834],[11.48851,46.33044],[11.49271,46.32204],[11.41917,46.32414],[11.41707,46.25278],[11.35613,46.24858],[11.34773,46.25698],[11.34563,46.26747],[11.34143,46.26747],[11.33722,46.25068],[11.31201,46.24858],[11.30991,46.25278],[11.3015,46.25278],[11.2889,46.24019],[11.2889,46.2234],[11.25108,46.2234],[11.24898,46.2129],[11.16283,46.215],[11.16283,46.24858],[11.12711,46.24858],[11.13131,46.25278],[11.12291,46.25488],[11.12501,46.29895],[11.16283,46.29895],[11.16283,46.36821],[11.16703,46.36821],[11.16703,46.38081],[11.17543,46.3871],[11.17754,46.3997],[11.20485,46.3997],[11.20695,46.42068],[11.19014,46.42068],[11.19014,46.42698],[11.19435,46.42698],[11.19855,46.44167],[11.20485,46.44587],[11.20695,46.47315],[11.19014,46.47525],[11.18804,46.48365],[11.15232,46.47525],[11.08298,46.47525],[11.08088,46.43537],[11.04096,46.42068],[11.01154,46.42068],[10.99894,46.44587],[10.98843,46.44587],[10.98423,46.45217],[10.96952,46.45217],[10.96112,46.48365],[10.95691,46.48365],[10.95481,46.49414],[10.94851,46.49624],[10.94431,46.50673],[10.91069,46.49624],[10.90018,46.49624],[10.89808,46.51093],[10.85606,46.50254],[10.84135,46.54241],[10.86446,46.54661],[10.86236,46.55081],[10.76571,46.54031],[10.72158,46.55081],[10.59762,46.55291],[10.5619,46.54871],[10.53668,46.55291],[10.50096,46.54871],[10.48415,46.55501],[10.46314,46.55501],[10.47155,46.5676],[10.47365,46.59069],[10.47785,46.59069],[10.47785,46.61797],[10.46944,46.62636],[10.44843,46.63476],[10.42532,46.62846],[10.3938,46.63056],[10.3896,46.64525],[10.3812,46.64735],[10.3833,46.66414],[10.3791,46.66834],[10.3791,46.69353],[10.3854,46.72081],[10.3896,46.72081],[10.3938,46.7376],[10.41692,46.75229],[10.41692,46.78587],[10.42112,46.79847],[10.42532,46.79847],[10.42532,46.80686],[10.43373,46.81106],[10.43793,46.79007],[10.44423,46.78377],[10.44843,46.7439],[10.45264,46.7439],[10.45684,46.72711],[10.46104,46.72711],[10.46524,46.71032],[10.46944,46.71032],[10.47365,46.67254],[10.47995,46.67044],[10.48415,46.65575],[10.48836,46.65575],[10.48415,46.62846],[10.48836,46.62846],[10.48836,46.62217],[10.49886,46.62007],[10.52828,46.62427],[10.49886,46.63056],[10.49886,46.64525],[10.50516,46.64316],[10.49886,46.66204],[10.51777,46.65785],[10.58921,46.66204],[10.63123,46.65365],[10.79302,46.65575],[10.79723,46.65155],[10.88127,46.65155],[10.89178,46.65785],[10.9275,46.66414],[10.94431,46.67464],[10.98003,46.67464],[11.00104,46.68303],[11.02415,46.68303],[11.05147,46.69772],[11.12711,46.70822],[11.13971,46.71242],[11.14392,46.71871],[11.17543,46.72081],[11.19855,46.7334],[11.24898,46.7355],[11.25318,46.72291],[11.2952,46.72921],[11.30571,46.70822],[11.31831,46.70822],[11.33722,46.71871],[11.38555,46.72081],[11.43178,46.7376],[11.50952,46.7439],[11.54734,46.75649],[11.56835,46.75649],[11.58306,46.76698],[11.60617,46.76908],[11.61037,46.77538],[11.69862,46.79427],[11.71753,46.79427],[11.72174,46.79007],[11.73855,46.75859],[11.74905,46.75019],[11.76166,46.70192],[11.76586,46.70192],[11.78687,46.71661],[11.8331,46.72291],[11.86041,46.7376],[11.90874,46.7439],[11.92135,46.75229],[11.95286,46.75859],[11.95917,46.76488],[11.99489,46.77538],[12.00749,46.77538],[12.0096,46.77958],[12.03061,46.78168],[12.05792,46.79427],[12.09995,46.79847],[12.13566,46.81316],[12.15878,46.81316],[12.18609,46.82785],[12.21551,46.83205],[12.23442,46.84254]],[[11.97388,46.96637],[11.99489,46.96007],[11.99489,46.95587],[12.0096,46.95797],[12.0117,46.94748],[12.0159,46.94748],[12.0117,46.94118],[12.018,46.93908],[12.02851,46.92229],[12.00749,46.9118],[11.97388,46.9055],[11.95707,46.89501],[11.91714,46.88871],[11.85831,46.86982],[11.8394,46.86982],[11.80158,46.85303],[11.76166,46.84464],[11.74905,46.83415],[11.68181,46.81945],[11.67971,46.81526],[11.6545,46.81106],[11.64399,46.80476],[11.63769,46.80686],[11.63139,46.82155],[11.62508,46.82155],[11.62298,46.83205],[11.61037,46.84464],[11.61668,46.84884],[11.61458,46.85723],[11.61037,46.85723],[11.61668,46.86563],[11.64609,46.86563],[11.68602,46.88242],[11.69022,46.88871],[11.74905,46.89711],[11.75325,46.90341],[11.78057,46.9076],[11.80158,46.9202],[11.8457,46.92649],[11.87722,46.94118],[11.89613,46.94328],[11.92135,46.95797],[11.96757,46.96217],[11.97388,46.96637]]],"terms_url":"http://geoservices.buergernetz.bz.it/geokatalog/","terms_text":"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0","id":"South-Tyrol-Orthofoto2014","best":true},{"name":"South Tyrol Topomap","type":"tms","description":"Topographical basemap of South Tyrol","template":"http://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_BASEMAP_TOPO&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{z}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg","scaleExtent":[0,20],"polygon":[[[10.38615,46.68821],[10.39201,46.69016],[10.40215,46.70624],[10.41274,46.70821],[10.41622,46.71479],[10.4168,46.71847],[10.39934,46.73435],[10.43464,46.75356],[10.44107,46.75413],[10.44011,46.77149],[10.42123,46.78861],[10.42845,46.79755],[10.43851,46.79869],[10.44925,46.80462],[10.45602,46.81635],[10.45438,46.82221],[10.4583,46.82478],[10.45513,46.83059],[10.45906,46.83548],[10.46483,46.83624],[10.46229,46.8413],[10.46987,46.84933],[10.46819,46.8553],[10.47838,46.86013],[10.48372,46.85543],[10.49628,46.85305],[10.49931,46.84857],[10.52124,46.84653],[10.5527,46.8511],[10.55795,46.84695],[10.55264,46.8408],[10.55536,46.84087],[10.58883,46.85125],[10.59502,46.85829],[10.60936,46.8597],[10.62441,46.86558],[10.64858,46.86655],[10.66787,46.87651],[10.67297,46.87138],[10.69112,46.86861],[10.69786,46.86339],[10.69508,46.85308],[10.70594,46.84786],[10.71763,46.84795],[10.72333,46.83892],[10.75621,46.83383],[10.76481,46.82409],[10.76387,46.81971],[10.75239,46.81387],[10.74506,46.80223],[10.7276,46.79709],[10.73122,46.78925],[10.75722,46.78624],[10.77744,46.79149],[10.78678,46.79735],[10.81439,46.77662],[10.82479,46.77472],[10.83129,46.78138],[10.84112,46.78282],[10.85354,46.77506],[10.86845,46.77313],[10.86993,46.7669],[10.88294,46.76393],[10.88962,46.76529],[10.8951,46.77092],[10.90527,46.76911],[10.92299,46.7764],[10.92821,46.77408],[10.94388,46.77648],[10.97522,46.77361],[10.97932,46.77014],[10.99475,46.76804],[11.01397,46.77317],[11.02328,46.76715],[11.0346,46.79428],[11.04234,46.801],[11.03792,46.80562],[11.05633,46.80928],[11.07279,46.82092],[11.08171,46.82252],[11.0762,46.83384],[11.06887,46.83793],[11.07303,46.84345],[11.06988,46.85348],[11.08742,46.87927],[11.09961,46.88922],[11.09538,46.89178],[11.09795,46.89844],[11.0946,46.91247],[11.10792,46.91706],[11.10804,46.92632],[11.11418,46.93234],[11.13851,46.92865],[11.16322,46.94091],[11.16642,46.94479],[11.16114,46.94979],[11.1637,46.96677],[11.17598,46.96367],[11.18658,46.97062],[11.19527,46.97152],[11.20418,46.96877],[11.20688,46.96403],[11.22047,46.97025],[11.24139,46.9708],[11.24865,46.97517],[11.25582,46.97535],[11.26272,46.98169],[11.27662,46.98168],[11.28762,46.98699],[11.30709,46.98525],[11.3205,46.99345],[11.33765,46.98606],[11.34516,46.99169],[11.35932,46.99154],[11.37697,46.98025],[11.38324,46.97168],[11.40465,46.96609],[11.43929,46.97601],[11.45134,46.99294],[11.46803,46.99582],[11.46859,47.003],[11.47831,47.01201],[11.50238,47.01073],[11.50313,47.00808],[11.51366,47.00595],[11.51679,47.00091],[11.53381,46.99233],[11.53846,46.98519],[11.55297,46.99149],[11.57663,46.99657],[11.58,47.00277],[11.58879,47.00641],[11.59901,47.00657],[11.60944,47.01207],[11.62697,47.01437],[11.63629,47.00383],[11.66542,46.99304],[11.6885,46.99658],[11.71226,46.99416],[11.72897,46.97322],[11.74698,46.97013],[11.76411,46.97412],[11.78106,46.99342],[11.81526,46.991],[11.83564,46.99417],[11.84396,47.0025],[11.85192,47.0014],[11.86722,47.01252],[11.87393,47.01136],[11.8794,47.01714],[11.89137,47.01728],[11.91627,47.03422],[11.9329,47.03864],[11.94688,47.03464],[11.95457,47.04374],[11.96773,47.04158],[11.97912,47.0511],[11.98587,47.04815],[11.99534,47.05064],[12.02037,47.04821],[12.02968,47.05127],[12.03353,47.0583],[12.04276,47.06228],[12.07543,47.0605],[12.08035,47.06951],[12.09308,47.07791],[12.10329,47.07931],[12.11867,47.07445],[12.13561,47.08171],[12.15125,47.08049],[12.15997,47.08267],[12.18589,47.09322],[12.2278,47.08302],[12.24228,47.06892],[12.23786,47.0644],[12.21821,47.05795],[12.2182,47.04483],[12.20552,47.02595],[12.18048,47.02414],[12.16423,47.01782],[12.14786,47.02357],[12.12723,47.01218],[12.12285,47.00662],[12.1322,46.99339],[12.12974,46.98593],[12.13977,46.982],[12.13808,46.96514],[12.13328,46.96292],[12.13882,46.95764],[12.15927,46.95133],[12.1702,46.93758],[12.15414,46.91654],[12.14675,46.91413],[12.16205,46.908],[12.16959,46.91121],[12.19154,46.90682],[12.20106,46.8965],[12.2022,46.88806],[12.21663,46.87517],[12.22147,46.88084],[12.23125,46.88146],[12.2345,46.88919],[12.24162,46.89192],[12.27486,46.88512],[12.27979,46.87921],[12.27736,46.87319],[12.29326,46.86566],[12.2912,46.85704],[12.29733,46.84455],[12.30833,46.84137],[12.30726,46.83271],[12.285,46.81503],[12.29383,46.8027],[12.28905,46.79948],[12.28889,46.79427],[12.28232,46.79153],[12.28539,46.7839],[12.30943,46.78603],[12.35837,46.77583],[12.37036,46.74163],[12.38475,46.71745],[12.40283,46.70811],[12.41103,46.70701],[12.41522,46.70163],[12.42862,46.6997],[12.42943,46.69567],[12.44268,46.68979],[12.47501,46.68756],[12.4795,46.67969],[12.43473,46.66714],[12.40648,46.64167],[12.38115,46.64183],[12.37944,46.63733],[12.3915,46.62765],[12.38577,46.62154],[12.35939,46.61829],[12.34465,46.62376],[12.34034,46.63022],[12.33578,46.62732],[12.3172,46.62876],[12.31785,46.62355],[12.30802,46.61811],[12.28413,46.61623],[12.26982,46.62003],[12.25931,46.62809],[12.24502,46.62326],[12.24198,46.61586],[12.21241,46.60918],[12.20444,46.59836],[12.19228,46.59321],[12.19261,46.62059],[12.1818,46.6192],[12.17117,46.63275],[12.16062,46.63574],[12.1511,46.63215],[12.1436,46.6327],[12.13739,46.64122],[12.12342,46.64475],[12.10949,46.65204],[12.10609,46.65783],[12.09345,46.66123],[12.08826,46.66638],[12.07985,46.66686],[12.07038,46.67386],[12.07173,46.66064],[12.06686,46.65364],[12.07479,46.64329],[12.06837,46.63997],[12.06495,46.62121],[12.05448,46.61778],[12.05318,46.60989],[12.04613,46.60716],[12.05043,46.60016],[12.04763,46.58357],[12.03665,46.57668],[12.0266,46.55871],[12.02189,46.55791],[11.99941,46.53208],[11.99411,46.53345],[11.98704,46.54417],[11.96633,46.54363],[11.95094,46.53869],[11.94719,46.52879],[11.94147,46.52689],[11.93294,46.52631],[11.9121,46.532],[11.8904,46.52175],[11.85192,46.51682],[11.82849,46.50783],[11.82334,46.51315],[11.82391,46.52141],[11.81086,46.53146],[11.79385,46.52023],[11.79189,46.51322],[11.76157,46.50503],[11.74317,46.50391],[11.73202,46.50877],[11.71935,46.50916],[11.71524,46.51245],[11.69889,46.50218],[11.6672,46.49647],[11.64515,46.49743],[11.63849,46.50051],[11.63495,46.49486],[11.64297,46.49346],[11.65174,46.48271],[11.64536,46.47189],[11.64179,46.47439],[11.62679,46.4708],[11.62987,46.46377],[11.61882,46.44325],[11.62143,46.42539],[11.60161,46.39731],[11.60307,46.38924],[11.5932,46.38265],[11.56489,46.38018],[11.55878,46.35076],[11.55249,46.34418],[11.54423,46.34483],[11.53837,46.35015],[11.52445,46.35502],[11.47969,46.36277],[11.48052,46.3551],[11.46322,46.34922],[11.45556,46.33396],[11.42105,46.32441],[11.40517,46.32387],[11.39865,46.31426],[11.39994,46.30709],[11.39569,46.3083],[11.38188,46.30052],[11.36088,46.29906],[11.36078,46.29682],[11.38256,46.29177],[11.3871,46.28143],[11.39609,46.27423],[11.39862,46.264],[11.38756,46.26029],[11.37347,46.2629],[11.36836,46.26135],[11.35783,46.26481],[11.35495,46.27564],[11.33912,46.28306],[11.33379,46.29049],[11.33471,46.2962],[11.3129,46.28256],[11.31737,46.27303],[11.30645,46.25786],[11.29124,46.2604],[11.24743,46.22933],[11.20622,46.2187],[11.18267,46.22496],[11.17077,46.23806],[11.17994,46.24434],[11.18351,46.25269],[11.18935,46.25354],[11.19448,46.2461],[11.20029,46.25566],[11.16604,46.26129],[11.14885,46.27904],[11.13725,46.28336],[11.14293,46.28934],[11.15847,46.29059],[11.16439,46.2986],[11.1761,46.30346],[11.1847,46.32104],[11.18894,46.32151],[11.18696,46.32673],[11.1942,46.33016],[11.20204,46.34212],[11.19001,46.35984],[11.19263,46.36578],[11.20393,46.36765],[11.19792,46.37232],[11.21275,46.39804],[11.21345,46.40675],[11.20565,46.4166],[11.21026,46.4206],[11.20347,46.42682],[11.21416,46.43556],[11.21634,46.44255],[11.20903,46.45293],[11.21419,46.45807],[11.21736,46.45731],[11.21886,46.46199],[11.21626,46.47277],[11.20939,46.481],[11.20876,46.49346],[11.19608,46.50241],[11.1924,46.501],[11.18686,46.50734],[11.18002,46.49823],[11.17014,46.49635],[11.16095,46.4878],[11.12934,46.48058],[11.1103,46.49643],[11.10449,46.4948],[11.08812,46.50128],[11.08173,46.53021],[11.05915,46.51508],[11.03795,46.51357],[11.05006,46.50784],[11.05773,46.49235],[11.06278,46.4894],[11.06894,46.46619],[11.07625,46.45487],[11.0778,46.44569],[11.07301,46.44042],[11.05394,46.44849],[11.0414,46.44569],[11.02817,46.46116],[11.00952,46.46917],[11.00462,46.47607],[10.98695,46.48289],[10.96543,46.48103],[10.95791,46.46983],[10.93819,46.46578],[10.9325,46.45831],[10.93332,46.4528],[10.91305,46.44284],[10.89161,46.44366],[10.88324,46.44995],[10.88093,46.44579],[10.87162,46.4438],[10.86174,46.43509],[10.85113,46.43817],[10.80034,46.44185],[10.78906,46.45164],[10.77835,46.47112],[10.76934,46.47609],[10.76463,46.4848],[10.75906,46.48547],[10.74422,46.48333],[10.71753,46.46022],[10.69667,46.4573],[10.68293,46.44846],[10.66821,46.45122],[10.63303,46.44309],[10.61439,46.45098],[10.60128,46.46139],[10.59995,46.46766],[10.57672,46.47237],[10.55875,46.48187],[10.54986,46.49123],[10.53685,46.49062],[10.52657,46.49425],[10.49366,46.49719],[10.48141,46.49337],[10.45714,46.5096],[10.45124,46.53083],[10.45814,46.54215],[10.47056,46.54377],[10.46954,46.54856],[10.47617,46.55749],[10.47321,46.56701],[10.48305,46.5777],[10.48575,46.58921],[10.48221,46.59199],[10.48576,46.59805],[10.48291,46.60512],[10.49055,46.61394],[10.44632,46.63989],[10.40935,46.63389],[10.40011,46.63648],[10.39873,46.6455],[10.38946,46.65862],[10.39057,46.67089],[10.3803,46.68399],[10.38615,46.68821]]],"terms_url":"http://geoservices.buergernetz.bz.it/geokatalog/","terms_text":"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano","id":"South-Tyrol-Topomap"},{"name":"Stadt Uster Orthophoto 2008 10cm","type":"tms","template":"http://mapproxy.sosm.ch:8080/tiles/uster/EPSG900913/{zoom}/{x}/{y}.png?origin=nw","polygon":[[[8.6,47.31],[8.6,47.39],[8.77,47.39],[8.77,47.31],[8.6,47.31]]],"terms_text":"Stadt Uster Vermessung Orthophoto 2008"},{"name":"Stadt Zürich Luftbild 2011","type":"tms","template":"http://mapproxy.sosm.ch:8080/tiles/zh_luftbild2011/EPSG900913/{z}/{x}/{y}.png?origin=nw","polygon":[[[8.4441,47.3141],[8.4441,47.4411],[8.6284,47.4411],[8.6284,47.3141],[8.4441,47.3141]]],"terms_text":"Stadt Zürich Luftbild 2011"},{"name":"Stadtplan Zürich","type":"tms","template":"http://mapproxy.sosm.ch:8080/tiles/zh_stadtplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw","polygon":[[[8.4482,47.321],[8.4482,47.4339],[8.6248,47.4339],[8.6248,47.321],[8.4482,47.321]]],"terms_text":"Stadt Zürich Open Government Data"},{"name":"Stamen Terrain","type":"tms","template":"http://{switch:a,b,c,d}.tile.stamen.com/terrain-background/{z}/{x}/{y}.jpg","scaleExtent":[4,18],"polygon":[[[-125.990173,48.9962416],[-125.989419,47.9948396],[-123.9929739,47.9955062],[-123.9922429,47.0059202],[-125.988688,47.0052409],[-125.9879604,46.0015618],[-123.9939396,46.0022529],[-123.9925238,43.9961708],[-124.9931832,43.9958116],[-124.9918175,41.9942149],[-125.9851789,41.9938465],[-125.9838655,40.0076111],[-123.9833285,40.0083757],[-123.9814115,37.002615],[-122.21903,37.0033173],[-122.2184144,36.011671],[-122.020087,36.011751],[-122.0188591,33.9961766],[-119.9787757,33.9970206],[-119.9775867,31.9987658],[-114.0122833,32.00129],[-114.0116894,30.9862401],[-105.998294,30.9896679],[-105.9971419,28.9901065],[-102.0210506,28.9918418],[-102.0204916,28.00733],[-100.0062436,28.0082173],[-100.0051143,25.991909],[-98.0109067,25.9928035],[-98.0103613,25.0063461],[-97.0161086,25.0067957],[-97.016654,25.9932494],[-95.9824825,25.9937132],[-95.9835999,27.9891175],[-94.0200898,27.9899826],[-94.0206586,28.9918129],[-88.0156706,28.9944338],[-88.0162494,30.0038862],[-86.0277506,30.0047454],[-86.0271719,28.9953016],[-84.0187909,28.9961781],[-84.017095,25.9817708],[-81.9971976,25.9826768],[-81.9966618,25.0134917],[-84.0165592,25.0125783],[-84.0160068,24.0052745],[-80.0199985,24.007096],[-80.0245309,32.0161282],[-78.0066484,32.0169819],[-78.0072238,32.9894278],[-77.8807233,32.9894807],[-77.8813253,33.9955918],[-76.0115411,33.9963653],[-76.0121459,34.9952552],[-74.0068449,34.9960749],[-74.0099997,40.0084254],[-72.0013745,40.0091931],[-72.002019,40.9912464],[-69.8797398,40.9920457],[-69.8804173,42.00893],[-69.9927682,42.0088883],[-69.9934462,43.0105166],[-67.9845366,43.0112496],[-67.985224,44.0103812],[-65.9892568,44.0110975],[-65.9921237,47.9993584],[-70.006442,47.9980181],[-70.005708,47.0042007],[-72.023686,47.003514],[-72.0222508,45.0059846],[-78.0146667,45.0038705],[-78.0139662,44.0026998],[-80.029686,44.0019763],[-80.0290052,43.0122994],[-81.995479,43.011582],[-81.9982986,47.0042713],[-87.505706,47.0023972],[-87.5064535,48.0142702],[-88.0260889,48.0140968],[-88.026838,49.0086686],[-93.9981078,49.0067142],[-93.9988778,50.0086456],[-96.0138899,50.0079995],[-96.0131199,49.0060547]]],"terms_url":"http://maps.stamen.com/#terrain","terms_text":"Map tiles by Stamen Design, under CC BY 3.0"},{"name":"Stevns (Denmark)","type":"tms","template":"http://{switch:a,b,c}.tile.openstreetmap.dk/stevns/2009/{zoom}/{x}/{y}.png","scaleExtent":[0,20],"polygon":[[[12.0913942,55.3491574],[12.0943104,55.3842256],[12.1573875,55.3833103],[12.1587287,55.4013326],[12.1903468,55.400558],[12.1931411,55.4364665],[12.2564251,55.4347995],[12.2547073,55.4168882],[12.3822489,55.4134349],[12.3795942,55.3954143],[12.4109213,55.3946958],[12.409403,55.3766417],[12.4407807,55.375779],[12.4394142,55.3578314],[12.4707413,55.3569971],[12.4629475,55.2672214],[12.4315633,55.2681491],[12.430045,55.2502103],[12.3672011,55.2519673],[12.3656858,55.2340267],[12.2714604,55.2366031],[12.2744467,55.272476],[12.2115654,55.2741475],[12.2130078,55.2920322],[12.1815665,55.2928638],[12.183141,55.3107091],[12.2144897,55.3100981],[12.2159927,55.3279764],[12.1214458,55.3303379],[12.1229489,55.3483291]]],"terms_text":"Stevns Kommune"},{"name":"Surrey Air Survey","type":"tms","template":"http://gravitystorm.dev.openstreetmap.org/surrey/{zoom}/{x}/{y}.png","scaleExtent":[8,19],"polygon":[[[-0.752478,51.0821941],[-0.7595183,51.0856254],[-0.8014342,51.1457917],[-0.8398864,51.1440686],[-0.8357665,51.1802397],[-0.8529549,51.2011266],[-0.8522683,51.2096231],[-0.8495217,51.217903],[-0.8266907,51.2403696],[-0.8120995,51.2469248],[-0.7736474,51.2459577],[-0.7544213,51.2381127],[-0.754078,51.233921],[-0.7446366,51.2333836],[-0.7430693,51.2847178],[-0.751503,51.3069524],[-0.7664376,51.3121032],[-0.7820588,51.3270157],[-0.7815438,51.3388135],[-0.7374268,51.3720456],[-0.7192307,51.3769748],[-0.6795769,51.3847961],[-0.6807786,51.3901523],[-0.6531411,51.3917591],[-0.6301385,51.3905808],[-0.6291085,51.3970074],[-0.6234437,51.3977572],[-0.613144,51.4295552],[-0.6002471,51.4459121],[-0.5867081,51.4445365],[-0.5762368,51.453202],[-0.5626755,51.4523462],[-0.547741,51.4469972],[-0.5372697,51.4448575],[-0.537098,51.4526671],[-0.5439644,51.4545926],[-0.5405312,51.4698865],[-0.5309182,51.4760881],[-0.5091172,51.4744843],[-0.5086022,51.4695657],[-0.4900628,51.4682825],[-0.4526406,51.4606894],[-0.4486924,51.4429316],[-0.4414826,51.4418616],[-0.4418259,51.4369394],[-0.4112702,51.4380095],[-0.4014855,51.4279498],[-0.3807145,51.4262372],[-0.3805428,51.4161749],[-0.3491288,51.4138195],[-0.3274994,51.4037544],[-0.3039818,51.3990424],[-0.3019219,51.3754747],[-0.309475,51.369688],[-0.3111916,51.3529669],[-0.2955704,51.3541462],[-0.2923089,51.3673303],[-0.2850991,51.3680805],[-0.2787476,51.3771891],[-0.2655297,51.3837247],[-0.2411538,51.3847961],[-0.2123147,51.3628288],[-0.2107697,51.3498578],[-0.190857,51.3502867],[-0.1542931,51.3338802],[-0.1496583,51.3057719],[-0.1074296,51.2966491],[-0.0887185,51.3099571],[-0.0878602,51.3220811],[-0.0652009,51.3215448],[-0.0641709,51.3264793],[-0.0519829,51.3263721],[-0.0528412,51.334631],[-0.0330779,51.3430876],[0.0019187,51.3376339],[0.0118751,51.3281956],[0.013935,51.2994398],[0.0202865,51.2994398],[0.0240631,51.3072743],[0.0331611,51.3086694],[0.0455207,51.30545],[0.0523872,51.2877392],[0.0616569,51.2577764],[0.0640602,51.2415518],[0.0462074,51.2126342],[0.0407142,51.2109136],[0.0448341,51.1989753],[0.0494689,51.1997283],[0.0558204,51.1944573],[0.0611419,51.1790713],[0.0623435,51.1542061],[0.0577087,51.1417146],[0.0204582,51.1365447],[-0.0446015,51.1336364],[-0.1566964,51.1352522],[-0.1572114,51.1290043],[-0.2287942,51.1183379],[-0.2473336,51.1183379],[-0.2500802,51.1211394],[-0.299347,51.1137042],[-0.3221779,51.1119799],[-0.3223496,51.1058367],[-0.3596001,51.1019563],[-0.3589135,51.1113333],[-0.3863793,51.1117644],[-0.3869014,51.1062516],[-0.4281001,51.0947174],[-0.4856784,51.0951554],[-0.487135,51.0872266],[-0.5297404,51.0865404],[-0.5302259,51.0789914],[-0.61046,51.076551],[-0.6099745,51.080669],[-0.6577994,51.0792202],[-0.6582849,51.0743394],[-0.6836539,51.0707547],[-0.6997979,51.070831],[-0.7296581,51.0744919]]]},{"name":"Szeged ortophoto 2011","type":"tms","template":"http://e.tile.openstreetmap.hu/szeged-2011-10cm/{zoom}/{x}/{y}.png","scaleExtent":[10,22],"polygon":[[[20.1459914,46.2281144],[20.1332261,46.2290431],[20.1258373,46.2298686],[20.122329,46.2309893],[20.1208484,46.2317537],[20.1189709,46.2335126],[20.1131237,46.2413638],[20.1120293,46.2433005],[20.1115733,46.2449996],[20.1111871,46.247092],[20.1112944,46.2487725],[20.1115948,46.2509686],[20.1122171,46.2528047],[20.1129949,46.2542681],[20.1135421,46.2553549],[20.1147705,46.2567977],[20.1352251,46.2768529],[20.1366386,46.2775055],[20.1378939,46.2780301],[20.1393932,46.2783508],[20.1408818,46.2784583],[20.1611494,46.278159],[20.1621093,46.2781579],[20.1635894,46.277702],[20.1661777,46.2761484],[20.1687795,46.2738569],[20.1696108,46.2714413],[20.1695895,46.2704465],[20.1700871,46.2704418],[20.1739897,46.2643295],[20.1766182,46.2582878],[20.1947983,46.25492],[20.1858719,46.2448077],[20.1846595,46.2453122],[20.1780371,46.2383112],[20.1781766,46.2377101],[20.1795258,46.2370961],[20.1725666,46.2300241],[20.1698349,46.2350404],[20.1687701,46.2362946],[20.1670262,46.2378475],[20.1659431,46.2387342],[20.1654408,46.2389988],[20.1654837,46.2389988],[20.1635177,46.2401383],[20.1602051,46.2412003],[20.1592684,46.241531],[20.1592684,46.2415751],[20.1583504,46.2418505],[20.1549473,46.2422869],[20.1510796,46.2351538],[20.1493804,46.232459],[20.1459914,46.2281144]]],"terms_url":"http://www.geo.u-szeged.hu/","terms_text":"SZTE TFGT - University of Szeged"},{"name":"Thunderforest Landscape","type":"tms","template":"https://{switch:a,b,c}.tile.thunderforest.com/landscape/{zoom}/{x}/{y}.png","scaleExtent":[0,22],"terms_url":"http://www.thunderforest.com/terms/","terms_text":"Maps © Thunderforest, Data © OpenStreetMap contributors"},{"name":"Toulouse - Orthophotoplan 2007","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/toulouse_ortho2007/{zoom}/{x}/{y}","scaleExtent":[0,22],"polygon":[[[1.1919978,43.6328791],[1.2015377,43.6329729],[1.2011107,43.6554932],[1.2227985,43.6557029],[1.2226231,43.6653353],[1.2275341,43.6653849],[1.2275417,43.6656387],[1.2337568,43.6656883],[1.2337644,43.6650153],[1.2351218,43.6650319],[1.2350913,43.6670729],[1.2443566,43.6671556],[1.2441584,43.6743925],[1.2493973,43.6744256],[1.2493973,43.6746628],[1.2555666,43.6747234],[1.2555742,43.6744532],[1.2569545,43.6744697],[1.2568782,43.678529],[1.2874873,43.6788257],[1.2870803,43.7013229],[1.3088219,43.7014632],[1.3086493,43.7127673],[1.3303262,43.7129544],[1.3300242,43.7305221],[1.3367106,43.7305845],[1.3367322,43.7312235],[1.3734338,43.7310456],[1.3735848,43.7245772],[1.4604504,43.7252947],[1.4607783,43.7028034],[1.4824875,43.7029516],[1.4829828,43.6692071],[1.5046832,43.6693616],[1.5048383,43.6581174],[1.5265475,43.6582656],[1.5266945,43.6470298],[1.548368,43.6471633],[1.5485357,43.6359385],[1.5702172,43.636082],[1.5705123,43.6135777],[1.5488166,43.6134276],[1.549097,43.5909479],[1.5707695,43.5910694],[1.5709373,43.5798341],[1.5793714,43.5798894],[1.5794782,43.5737682],[1.5809119,43.5737792],[1.5810859,43.5573794],[1.5712334,43.5573131],[1.5716504,43.5235497],[1.3984804,43.5222618],[1.3986509,43.5110113],[1.3120959,43.5102543],[1.3118968,43.5215192],[1.2902569,43.5213126],[1.2898637,43.5438168],[1.311517,43.5440133],[1.3113271,43.5552596],[1.3036924,43.5551924],[1.3036117,43.5595099],[1.2955449,43.5594317],[1.2955449,43.5595489],[1.2895595,43.5594473],[1.2892899,43.5775366],[1.2675698,43.5773647],[1.2673973,43.5886141],[1.25355,43.5885047],[1.2533774,43.5956282],[1.2518029,43.5956282],[1.2518029,43.5949409],[1.2350437,43.5947847],[1.2350437,43.5945972],[1.2239572,43.5945972],[1.2239357,43.5994708],[1.2139708,43.599299],[1.2138845,43.6046408],[1.2020647,43.6044846],[1.2019464,43.61048],[1.1924294,43.6103695]]],"terms_url":"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData","terms_text":"ToulouseMetropole"},{"name":"Toulouse - Orthophotoplan 2011","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/toulouse_ortho2011/{zoom}/{x}/{y}","scaleExtent":[0,22],"polygon":[[[1.1135067,43.6867566],[1.1351836,43.6870842],[1.1348907,43.6983471],[1.1782867,43.6990338],[1.1779903,43.7102786],[1.1996591,43.7106144],[1.1993387,43.7218722],[1.2427356,43.7225269],[1.2424336,43.7337491],[1.2641536,43.734092],[1.2638301,43.7453588],[1.2855285,43.7456548],[1.2852481,43.756935],[1.306925,43.757231],[1.3066446,43.7684779],[1.3283431,43.7687894],[1.3280842,43.780034],[1.4367275,43.7815757],[1.4373098,43.7591004],[1.4590083,43.7593653],[1.4593318,43.7481479],[1.4810303,43.7483972],[1.4813322,43.7371777],[1.5030307,43.7374115],[1.5035915,43.7149664],[1.5253115,43.7151846],[1.5256135,43.7040057],[1.5472688,43.7042552],[1.5475708,43.6930431],[1.5692045,43.6932926],[1.5695712,43.6820316],[1.5912049,43.6822656],[1.5917441,43.6597998],[1.613421,43.6600339],[1.613723,43.6488291],[1.6353783,43.6490788],[1.6384146,43.5140731],[1.2921649,43.5094658],[1.2918629,43.5206966],[1.2702076,43.5203994],[1.2698841,43.5316437],[1.2482288,43.531331],[1.2476048,43.5537788],[1.2259628,43.5534914],[1.2256819,43.564716],[1.2039835,43.564419],[1.2033148,43.5869049],[1.1816164,43.5865611],[1.1810237,43.6090368],[1.1592821,43.6086932],[1.1589585,43.6199523],[1.1372601,43.6196244],[1.1365933,43.642094],[1.1149055,43.6417629]]],"terms_url":"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData","terms_text":"ToulouseMetropole"},{"name":"Toulouse - Orthophotoplan 2013","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/toulouse_2013/{zoom}/{x}/{y}","scaleExtent":[0,22],"polygon":[[[1.1135067,43.6867566],[1.1351836,43.6870842],[1.1348907,43.6983471],[1.1782867,43.6990338],[1.1779903,43.7102786],[1.1996591,43.7106144],[1.1993387,43.7218722],[1.2427356,43.7225269],[1.2424336,43.7337491],[1.2641536,43.734092],[1.2638301,43.7453588],[1.2855285,43.7456548],[1.2852481,43.756935],[1.306925,43.757231],[1.3066446,43.7684779],[1.3283431,43.7687894],[1.3280842,43.780034],[1.4367275,43.7815757],[1.4373098,43.7591004],[1.4590083,43.7593653],[1.4593318,43.7481479],[1.4810303,43.7483972],[1.4813322,43.7371777],[1.5030307,43.7374115],[1.5035915,43.7149664],[1.5253115,43.7151846],[1.5256135,43.7040057],[1.5472688,43.7042552],[1.5475708,43.6930431],[1.5692045,43.6932926],[1.5695712,43.6820316],[1.5912049,43.6822656],[1.5917441,43.6597998],[1.613421,43.6600339],[1.613723,43.6488291],[1.6353783,43.6490788],[1.6384146,43.5140731],[1.2921649,43.5094658],[1.2918629,43.5206966],[1.2702076,43.5203994],[1.2698841,43.5316437],[1.2482288,43.531331],[1.2476048,43.5537788],[1.2259628,43.5534914],[1.2256819,43.564716],[1.2039835,43.564419],[1.2033148,43.5869049],[1.1816164,43.5865611],[1.1810237,43.6090368],[1.1592821,43.6086932],[1.1589585,43.6199523],[1.1372601,43.6196244],[1.1365933,43.642094],[1.1149055,43.6417629]]],"terms_url":"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData","terms_text":"ToulouseMetropole"},{"name":"Toulouse - Orthophotoplan 2015","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/toulouse_2015/{zoom}/{x}/{y}","scaleExtent":[0,22],"polygon":[[[1.1135067,43.6867566],[1.1351836,43.6870842],[1.1348907,43.6983471],[1.1782867,43.6990338],[1.1779903,43.7102786],[1.1996591,43.7106144],[1.1993387,43.7218722],[1.2427356,43.7225269],[1.2424336,43.7337491],[1.2641536,43.734092],[1.2638301,43.7453588],[1.2855285,43.7456548],[1.2852481,43.756935],[1.306925,43.757231],[1.3066446,43.7684779],[1.3283431,43.7687894],[1.3280842,43.780034],[1.4367275,43.7815757],[1.4373098,43.7591004],[1.4590083,43.7593653],[1.4593318,43.7481479],[1.4810303,43.7483972],[1.4813322,43.7371777],[1.5030307,43.7374115],[1.5035915,43.7149664],[1.5253115,43.7151846],[1.5256135,43.7040057],[1.5472688,43.7042552],[1.5475708,43.6930431],[1.5692045,43.6932926],[1.5695712,43.6820316],[1.5912049,43.6822656],[1.5917441,43.6597998],[1.613421,43.6600339],[1.613723,43.6488291],[1.6353783,43.6490788],[1.6384146,43.5140731],[1.2921649,43.5094658],[1.2918629,43.5206966],[1.2702076,43.5203994],[1.2698841,43.5316437],[1.2482288,43.531331],[1.2476048,43.5537788],[1.2259628,43.5534914],[1.2256819,43.564716],[1.2039835,43.564419],[1.2033148,43.5869049],[1.1816164,43.5865611],[1.1810237,43.6090368],[1.1592821,43.6086932],[1.1589585,43.6199523],[1.1372601,43.6196244],[1.1365933,43.642094],[1.1149055,43.6417629]]],"terms_url":"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData","terms_text":"ToulouseMetropole"},{"name":"Tours - Orthophotos 2008-2010","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/tours/{zoom}/{x}/{y}","scaleExtent":[0,20],"polygon":[[[0.5457462,47.465264],[0.54585,47.4608163],[0.5392188,47.4606983],[0.5393484,47.456243],[0.5327959,47.4561003],[0.5329011,47.451565],[0.52619,47.4514013],[0.5265854,47.4424884],[0.5000941,47.4420739],[0.5002357,47.4375835],[0.4936014,47.4374324],[0.4937,47.4329285],[0.4606141,47.4324593],[0.4607248,47.4279827],[0.4541016,47.4278125],[0.454932,47.4053921],[0.4615431,47.4054476],[0.4619097,47.3964924],[0.4684346,47.3966005],[0.4691319,47.3786415],[0.4757125,47.3787609],[0.4762116,47.3652018],[0.4828297,47.3653499],[0.4829611,47.3608321],[0.4763543,47.360743],[0.476654,47.3517263],[0.4700497,47.3516186],[0.4701971,47.3471313],[0.4637503,47.3470104],[0.4571425,47.3424146],[0.4572922,47.3379061],[0.4506741,47.3378081],[0.4508379,47.3333051],[0.4442212,47.3332032],[0.4443809,47.328711],[0.4311392,47.3284977],[0.4316262,47.3150004],[0.4382432,47.3151136],[0.4383815,47.3106174],[0.4714487,47.3111374],[0.4713096,47.3156565],[0.477888,47.3157542],[0.4780733,47.3112802],[0.4846826,47.3113639],[0.4848576,47.3068686],[0.4914359,47.3069803],[0.491745,47.2979733],[0.4851578,47.2978722],[0.4854269,47.2888744],[0.4788485,47.2887697],[0.4791574,47.2797818],[0.4857769,47.2799005],[0.4859107,47.2753885],[0.492539,47.2755029],[0.4926669,47.2710127],[0.4992986,47.2711066],[0.4994296,47.2666116],[0.5192658,47.2669245],[0.5194225,47.2624231],[0.5260186,47.2625205],[0.5258735,47.2670183],[0.5456972,47.2673383],[0.5455537,47.2718283],[0.5587737,47.2720366],[0.5586259,47.2765185],[0.5652252,47.2766278],[0.5650848,47.2811206],[0.5716753,47.2812285],[0.5715223,47.2857217],[0.5781436,47.2858299],[0.5779914,47.2903294],[0.5846023,47.2904263],[0.5843076,47.2994231],[0.597499,47.2996094],[0.5976637,47.2951375],[0.6571596,47.2960036],[0.6572988,47.2915091],[0.6705019,47.2917186],[0.6703475,47.2962082],[0.6836175,47.2963688],[0.6834322,47.3008929],[0.690062,47.3009558],[0.6899241,47.3054703],[0.7362019,47.3061157],[0.7360848,47.3106063],[0.7559022,47.3108935],[0.7557718,47.315392],[0.7623755,47.3154716],[0.7622314,47.3199941],[0.7754911,47.3201546],[0.77497,47.3388218],[0.7745786,47.351628],[0.7680363,47.3515901],[0.767589,47.3605298],[0.7742443,47.3606238],[0.7733465,47.3921266],[0.7667434,47.3920195],[0.7664411,47.4010837],[0.7730647,47.4011115],[0.7728868,47.4101297],[0.7661849,47.4100226],[0.7660267,47.4145044],[0.7527613,47.4143038],[0.7529788,47.4098086],[0.7462373,47.4097016],[0.7459424,47.4232208],[0.7392324,47.4231451],[0.738869,47.4366116],[0.7323267,47.4365171],[0.7321869,47.4410556],[0.7255048,47.44098],[0.7254209,47.4453479],[0.7318793,47.4454803],[0.7318514,47.4501126],[0.7384496,47.450226],[0.7383098,47.454631],[0.7449359,47.4547444],[0.7443209,47.4771985],[0.7310685,47.4769717],[0.7309008,47.4815445],[0.7176205,47.4812611],[0.7177883,47.4768394],[0.69777,47.4764993],[0.6980496,47.4719827],[0.6914514,47.4718882],[0.6917309,47.4630241],[0.6851048,47.4629295],[0.684937,47.4673524],[0.678255,47.4673335],[0.6779754,47.4762158],[0.6714051,47.4761592],[0.6710417,47.4881952],[0.6577334,47.4879685],[0.6578173,47.48504],[0.6511911,47.4848322],[0.6514707,47.4758568],[0.6448166,47.4757245],[0.6449284,47.4712646],[0.6117976,47.4707543],[0.6118815,47.4663129],[0.6052833,47.4661239],[0.6054231,47.4616631],[0.5988808,47.4615497],[0.5990206,47.4570886],[0.572488,47.4566916],[0.5721805,47.4656513]]],"terms_url":"http://wiki.openstreetmap.org/wiki/Tours/Orthophoto","terms_text":"Orthophoto Tour(s) Plus 2008"},{"name":"Tours - Orthophotos 2013","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/tours_2013/{zoom}/{x}/{y}","scaleExtent":[0,22],"polygon":[[[0.427093505859375,47.26199018174824],[0.427093505859375,47.50096732311069],[0.814361572265625,47.50096732311069],[0.814361572265625,47.26199018174824],[0.427093505859375,47.26199018174824]]],"terms_url":"http://wiki.openstreetmap.org/wiki/Tours/Orthophoto","terms_text":"Orthophoto Tour(s)plus 2013"},{"name":"U.S. Forest Service roads","type":"tms","template":"http://osm.cycle.travel/forest/{zoom}/{x}/{y}.png","scaleExtent":[0,19],"polygon":[[[-124.7617886,48.4130148],[-124.6059492,45.90245],[-124.9934269,40.0557614],[-122.5369737,36.8566086],[-119.9775867,33.0064099],[-117.675935,32.4630223],[-114.8612307,32.4799891],[-111.0089311,31.336015],[-108.1992687,31.3260016],[-108.1871123,31.7755116],[-106.5307225,31.7820947],[-106.4842052,31.7464455],[-106.429317,31.7520583],[-106.2868855,31.5613291],[-106.205248,31.446704],[-105.0205259,30.5360988],[-104.5881916,29.6997856],[-103.2518856,28.8908685],[-102.7173632,29.3920567],[-102.1513983,29.7475702],[-101.2552871,29.4810523],[-100.0062436,28.0082173],[-99.2351068,26.4475962],[-98.0109067,25.9928035],[-97.435024,25.8266009],[-96.9555259,25.9821589],[-96.8061741,27.7978168],[-95.5563349,28.5876066],[-93.7405308,29.4742093],[-90.9028456,28.8564513],[-88.0156706,28.9944338],[-88.0162494,30.0038862],[-86.0277506,30.0047454],[-84.0187909,28.9961781],[-81.9971976,25.9826768],[-81.9966618,25.0134917],[-84.0165592,25.0125783],[-84.0160068,24.0052745],[-80.0199985,24.007096],[-79.8901116,26.8550713],[-80.0245309,32.0161282],[-75.4147385,35.0531894],[-74.0211163,39.5727927],[-72.002019,40.9912464],[-69.8797398,40.9920457],[-69.8489304,43.2619916],[-66.9452845,44.7104937],[-67.7596632,47.0990024],[-69.2505131,47.5122328],[-70.4614886,46.2176574],[-71.412273,45.254878],[-72.0222508,45.0059846],[-75.0798841,44.9802854],[-76.9023061,43.8024568],[-78.7623935,43.6249578],[-79.15798,43.4462589],[-79.0060087,42.8005317],[-82.662475,41.6889458],[-82.1761642,43.588535],[-83.2813977,46.138853],[-87.5064535,48.0142702],[-88.3492194,48.2963271],[-89.4353148,47.9837822],[-93.9981078,49.0067142],[-95.1105379,49.412004],[-96.0131199,49.0060547],[-123.3228926,49.0042878],[-123.2275233,48.1849927]],[[-160.5787616,22.5062947],[-160.5782192,21.4984647],[-158.7470604,21.2439843],[-157.5083185,20.995803],[-155.9961942,18.7790194],[-154.6217803,18.7586966],[-154.6890176,19.8805722],[-156.2927622,21.2225888],[-157.5047384,21.9984962],[-159.0093692,22.5070181]],[[-167.1571546,68.721974],[-164.8553982,67.0255078],[-168.002195,66.0017503],[-169.0087448,66.001546],[-169.0075381,64.9987675],[-172.5143281,63.8767267],[-173.8197023,59.74014],[-162.5018149,58.0005815],[-160.0159024,58.0012389],[-160.0149725,57.000035],[-160.5054788,56.9999017],[-165.8092575,54.824847],[-178.000097,52.2446469],[-177.9992996,51.2554252],[-171.4689067,51.8215329],[-162.40251,53.956664],[-159.0075717,55.002502],[-158.0190709,55.0027849],[-151.9963213,55.9991902],[-151.500341,57.9987853],[-151.5012894,58.9919816],[-138.5159989,58.9953194],[-138.5150471,57.9986434],[-133.9948193,54.0031685],[-130.0044418,54.0043387],[-130.0070826,57.0000507],[-131.975877,56.9995156],[-135.1229873,59.756601],[-138.0071813,59.991805],[-139.1715881,60.4127229],[-140.9874011,61.0118551],[-140.9683975,69.9535069],[-156.176891,71.5633329],[-160.413634,70.7397728],[-163.0218273,69.9707435],[-164.9717003,68.994689]]]},{"name":"Übersichtsplan Zürich","type":"tms","template":"http://mapproxy.sosm.ch:8080/tiles/zh_uebersichtsplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw","scaleExtent":[0,21],"polygon":[[[8.4482,47.321],[8.4482,47.4339],[8.6248,47.4339],[8.6248,47.321],[8.4482,47.321]]],"terms_text":"Stadt Zürich Open Government Data"},{"name":"USGS Large Scale Imagery","type":"tms","template":"http://{switch:a,b,c}.tile.openstreetmap.us/usgs_large_scale/{zoom}/{x}/{y}.jpg","scaleExtent":[12,20],"polygon":[[[-123.2549305,48.7529029],[-123.2549305,48.5592263],[-123.192224,48.5592263],[-123.192224,48.4348366],[-122.9419646,48.4348366],[-122.9419646,48.3720812],[-122.8806229,48.3720812],[-122.8806229,48.3094763],[-122.8167566,48.3094763],[-122.8167566,48.1904587],[-123.0041133,48.1904587],[-123.0041133,48.1275918],[-123.058416,48.1275918],[-123.058416,48.190514],[-123.254113,48.190514],[-123.254113,48.1274982],[-123.3706593,48.1274982],[-123.3706593,48.1908403],[-124.0582632,48.1908403],[-124.0582632,48.253442],[-124.1815163,48.253442],[-124.1815163,48.3164666],[-124.4319117,48.3164666],[-124.4319117,48.3782613],[-124.5564618,48.3782613],[-124.5564618,48.4408305],[-124.7555107,48.4408305],[-124.7555107,48.1914986],[-124.8185282,48.1914986],[-124.8185282,48.1228381],[-124.7552951,48.1228381],[-124.7552951,47.5535253],[-124.3812108,47.5535253],[-124.3812108,47.1218696],[-124.1928897,47.1218696],[-124.1928897,43.7569431],[-124.4443382,43.7569431],[-124.4443382,43.1425556],[-124.6398855,43.1425556],[-124.6398855,42.6194503],[-124.4438525,42.6194503],[-124.4438525,39.8080662],[-123.8815685,39.8080662],[-123.8815685,39.1102825],[-123.75805,39.1102825],[-123.75805,38.4968799],[-123.2702803,38.4968799],[-123.2702803,37.9331905],[-122.8148084,37.9331905],[-122.8148084,37.8019606],[-122.5664316,37.8019606],[-122.5664316,36.9319611],[-121.8784026,36.9319611],[-121.8784026,36.6897596],[-122.0034748,36.6897596],[-122.0034748,36.4341056],[-121.9414159,36.4341056],[-121.9414159,35.9297636],[-121.5040977,35.9297636],[-121.5040977,35.8100273],[-121.3790276,35.8100273],[-121.3790276,35.4239164],[-120.9426515,35.4239164],[-120.9426515,35.1849683],[-120.8171978,35.1849683],[-120.8171978,35.1219894],[-120.6918447,35.1219894],[-120.6918447,34.4966794],[-120.5045898,34.4966794],[-120.5045898,34.4339651],[-120.0078775,34.4339651],[-120.0078775,34.3682626],[-119.5283517,34.3682626],[-119.5283517,34.0576434],[-119.0060985,34.0576434],[-119.0060985,33.9975267],[-118.5046259,33.9975267],[-118.5046259,33.8694631],[-118.4413209,33.8694631],[-118.4413209,33.6865253],[-118.066912,33.6865253],[-118.066912,33.3063832],[-117.5030045,33.3063832],[-117.5030045,33.0500337],[-117.3188195,33.0500337],[-117.3188195,32.6205888],[-117.1917023,32.6205888],[-117.1917023,32.4974566],[-116.746496,32.4974566],[-116.746496,32.5609161],[-115.9970138,32.5609161],[-115.9970138,32.6264942],[-114.8808125,32.6264942],[-114.8808125,32.4340796],[-114.6294474,32.4340796],[-114.6294474,32.3731636],[-114.4447437,32.3731636],[-114.4447437,32.3075418],[-114.2557628,32.3075418],[-114.2557628,32.2444561],[-114.0680274,32.2444561],[-114.0680274,32.1829113],[-113.8166499,32.1829113],[-113.8166499,32.1207622],[-113.6307421,32.1207622],[-113.6307421,32.0565099],[-113.4417495,32.0565099],[-113.4417495,31.9984372],[-113.2546027,31.9984372],[-113.2546027,31.9325434],[-113.068072,31.9325434],[-113.068072,31.8718062],[-112.8161105,31.8718062],[-112.8161105,31.8104171],[-112.6308756,31.8104171],[-112.6308756,31.7464723],[-112.4418918,31.7464723],[-112.4418918,31.6856001],[-112.257192,31.6856001],[-112.257192,31.6210352],[-112.0033787,31.6210352],[-112.0033787,31.559584],[-111.815619,31.559584],[-111.815619,31.4970238],[-111.6278586,31.4970238],[-111.6278586,31.4339867],[-111.4418978,31.4339867],[-111.4418978,31.3733859],[-111.2559708,31.3733859],[-111.2559708,31.3113225],[-108.1845822,31.3113225],[-108.1845822,31.7459502],[-106.5065055,31.7459502],[-106.5065055,31.6842308],[-106.3797265,31.6842308],[-106.3797265,31.621752],[-106.317434,31.621752],[-106.317434,31.4968167],[-106.2551769,31.4968167],[-106.2551769,31.4344889],[-106.1924698,31.4344889],[-106.1924698,31.3721296],[-106.0039212,31.3721296],[-106.0039212,31.309328],[-105.9416582,31.309328],[-105.9416582,31.2457547],[-105.8798174,31.2457547],[-105.8798174,31.1836194],[-105.8162349,31.1836194],[-105.8162349,31.1207155],[-105.6921198,31.1207155],[-105.6921198,31.0584835],[-105.6302881,31.0584835],[-105.6302881,30.9328271],[-105.5044418,30.9328271],[-105.5044418,30.8715864],[-105.4412973,30.8715864],[-105.4412973,30.808463],[-105.3781497,30.808463],[-105.3781497,30.7471828],[-105.1904658,30.7471828],[-105.1904658,30.6843231],[-105.1286244,30.6843231],[-105.1286244,30.6199737],[-105.0036504,30.6199737],[-105.0036504,30.5589058],[-104.9417962,30.5589058],[-104.9417962,30.4963236],[-104.8782018,30.4963236],[-104.8782018,30.3098261],[-104.8155257,30.3098261],[-104.8155257,30.2478305],[-104.7536079,30.2478305],[-104.7536079,29.9353916],[-104.690949,29.9353916],[-104.690949,29.8090156],[-104.6291301,29.8090156],[-104.6291301,29.6843577],[-104.5659869,29.6843577],[-104.5659869,29.6223459],[-104.5037188,29.6223459],[-104.5037188,29.5595436],[-104.4410072,29.5595436],[-104.4410072,29.4974832],[-104.2537551,29.4974832],[-104.2537551,29.3716718],[-104.1291984,29.3716718],[-104.1291984,29.3091621],[-104.0688737,29.3091621],[-104.0688737,29.2467276],[-103.8187309,29.2467276],[-103.8187309,29.1843076],[-103.755736,29.1843076],[-103.755736,29.1223174],[-103.5667542,29.1223174],[-103.5667542,29.0598119],[-103.5049819,29.0598119],[-103.5049819,28.9967506],[-103.3165753,28.9967506],[-103.3165753,28.9346923],[-103.0597572,28.9346923],[-103.0597572,29.0592965],[-102.9979694,29.0592965],[-102.9979694,29.1212855],[-102.9331397,29.1212855],[-102.9331397,29.1848575],[-102.8095989,29.1848575],[-102.8095989,29.2526154],[-102.8701345,29.2526154],[-102.8701345,29.308096],[-102.8096681,29.308096],[-102.8096681,29.3715484],[-102.7475655,29.3715484],[-102.7475655,29.5581899],[-102.684554,29.5581899],[-102.684554,29.6847655],[-102.4967764,29.6847655],[-102.4967764,29.7457694],[-102.3086647,29.7457694],[-102.3086647,29.8086627],[-102.1909323,29.8086627],[-102.1909323,29.7460097],[-101.5049914,29.7460097],[-101.5049914,29.6846777],[-101.3805796,29.6846777],[-101.3805796,29.5594459],[-101.3175057,29.5594459],[-101.3175057,29.4958934],[-101.1910075,29.4958934],[-101.1910075,29.4326115],[-101.067501,29.4326115],[-101.067501,29.308808],[-100.9418897,29.308808],[-100.9418897,29.2456231],[-100.8167271,29.2456231],[-100.8167271,29.1190449],[-100.7522672,29.1190449],[-100.7522672,29.0578214],[-100.6925358,29.0578214],[-100.6925358,28.8720431],[-100.6290158,28.8720431],[-100.6290158,28.8095363],[-100.5679901,28.8095363],[-100.5679901,28.622554],[-100.5040411,28.622554],[-100.5040411,28.5583804],[-100.4421832,28.5583804],[-100.4421832,28.4968266],[-100.379434,28.4968266],[-100.379434,28.3092865],[-100.3171942,28.3092865],[-100.3171942,28.1835681],[-100.254483,28.1835681],[-100.254483,28.1213885],[-100.1282282,28.1213885],[-100.1282282,28.059215],[-100.0659537,28.059215],[-100.0659537,27.9966087],[-100.0023855,27.9966087],[-100.0023855,27.9332152],[-99.9426497,27.9332152],[-99.9426497,27.7454658],[-99.816851,27.7454658],[-99.816851,27.6834301],[-99.7541346,27.6834301],[-99.7541346,27.6221543],[-99.6291629,27.6221543],[-99.6291629,27.5588977],[-99.5672838,27.5588977],[-99.5672838,27.4353752],[-99.5041798,27.4353752],[-99.5041798,27.3774021],[-99.5671796,27.3774021],[-99.5671796,27.2463726],[-99.504975,27.2463726],[-99.504975,26.9965649],[-99.4427427,26.9965649],[-99.4427427,26.872803],[-99.3800633,26.872803],[-99.3800633,26.8068179],[-99.3190684,26.8068179],[-99.3190684,26.7473614],[-99.2537541,26.7473614],[-99.2537541,26.6210068],[-99.1910617,26.6210068],[-99.1910617,26.4956737],[-99.1300639,26.4956737],[-99.1300639,26.3713808],[-99.0029473,26.3713808],[-99.0029473,26.3093836],[-98.816572,26.3093836],[-98.816572,26.2457762],[-98.6920082,26.2457762],[-98.6920082,26.1837096],[-98.4440896,26.1837096],[-98.4440896,26.1217217],[-98.3823181,26.1217217],[-98.3823181,26.0596488],[-98.2532707,26.0596488],[-98.2532707,25.9986871],[-98.0109084,25.9986871],[-98.0109084,25.9932255],[-97.6932319,25.9932255],[-97.6932319,25.9334103],[-97.6313904,25.9334103],[-97.6313904,25.8695893],[-97.5046779,25.8695893],[-97.5046779,25.8073488],[-97.3083401,25.8073488],[-97.3083401,25.8731159],[-97.2456326,25.8731159],[-97.2456326,25.9353731],[-97.1138939,25.9353731],[-97.1138939,27.6809179],[-97.0571035,27.6809179],[-97.0571035,27.8108242],[-95.5810766,27.8108242],[-95.5810766,28.7468827],[-94.271041,28.7468827],[-94.271041,29.5594076],[-92.5029947,29.5594076],[-92.5029947,29.4974754],[-91.8776216,29.4974754],[-91.8776216,29.3727013],[-91.378418,29.3727013],[-91.378418,29.2468326],[-91.3153953,29.2468326],[-91.3153953,29.1844301],[-91.1294702,29.1844301],[-91.1294702,29.1232559],[-91.0052632,29.1232559],[-91.0052632,28.9968437],[-89.4500159,28.9968437],[-89.4500159,28.8677422],[-88.8104309,28.8677422],[-88.8104309,30.1841864],[-85.8791527,30.1841864],[-85.8791527,29.5455038],[-84.8368083,29.5455038],[-84.8368083,29.6225158],[-84.7482786,29.6225158],[-84.7482786,29.683624],[-84.685894,29.683624],[-84.685894,29.7468386],[-83.6296975,29.7468386],[-83.6296975,29.4324361],[-83.3174937,29.4324361],[-83.3174937,29.0579442],[-82.879659,29.0579442],[-82.879659,27.7453529],[-82.8182822,27.7453529],[-82.8182822,26.9290868],[-82.3796782,26.9290868],[-82.3796782,26.3694183],[-81.8777106,26.3694183],[-81.8777106,25.805971],[-81.5036862,25.805971],[-81.5036862,25.7474753],[-81.4405462,25.7474753],[-81.4405462,25.6851489],[-81.3155883,25.6851489],[-81.3155883,25.5600985],[-81.2538534,25.5600985],[-81.2538534,25.4342361],[-81.1902012,25.4342361],[-81.1902012,25.1234341],[-81.1288133,25.1234341],[-81.1288133,25.0619389],[-81.0649231,25.0619389],[-81.0649231,24.8157807],[-81.6289469,24.8157807],[-81.6289469,24.7538367],[-81.6907173,24.7538367],[-81.6907173,24.6899374],[-81.8173189,24.6899374],[-81.8173189,24.6279161],[-82.1910041,24.6279161],[-82.1910041,24.496294],[-81.6216596,24.496294],[-81.6216596,24.559484],[-81.372006,24.559484],[-81.372006,24.6220687],[-81.0593278,24.6220687],[-81.0593278,24.684826],[-80.9347147,24.684826],[-80.9347147,24.7474828],[-80.7471081,24.7474828],[-80.7471081,24.8100618],[-80.3629898,24.8100618],[-80.3629898,25.1175858],[-80.122344,25.1175858],[-80.122344,25.7472357],[-80.0588458,25.7472357],[-80.0588458,26.3708251],[-79.995837,26.3708251],[-79.995837,26.9398003],[-80.0587265,26.9398003],[-80.0587265,27.1277466],[-80.1226251,27.1277466],[-80.1226251,27.2534279],[-80.1846956,27.2534279],[-80.1846956,27.3781229],[-80.246175,27.3781229],[-80.246175,27.5658729],[-80.3094768,27.5658729],[-80.3094768,27.7530311],[-80.3721485,27.7530311],[-80.3721485,27.8774451],[-80.4351457,27.8774451],[-80.4351457,28.0033366],[-80.4966078,28.0033366],[-80.4966078,28.1277326],[-80.5587159,28.1277326],[-80.5587159,28.3723509],[-80.4966335,28.3723509],[-80.4966335,29.5160326],[-81.1213644,29.5160326],[-81.1213644,31.6846966],[-80.6018723,31.6846966],[-80.6018723,32.2475309],[-79.4921024,32.2475309],[-79.4921024,32.9970261],[-79.1116488,32.9970261],[-79.1116488,33.3729457],[-78.6153621,33.3729457],[-78.6153621,33.8097638],[-77.9316963,33.8097638],[-77.9316963,33.8718243],[-77.8692252,33.8718243],[-77.8692252,34.0552454],[-77.6826392,34.0552454],[-77.6826392,34.2974598],[-77.2453509,34.2974598],[-77.2453509,34.5598585],[-76.4973277,34.5598585],[-76.4973277,34.622796],[-76.4337602,34.622796],[-76.4337602,34.6849285],[-76.373212,34.6849285],[-76.373212,34.7467674],[-76.3059364,34.7467674],[-76.3059364,34.808551],[-76.2468017,34.808551],[-76.2468017,34.8728418],[-76.1825922,34.8728418],[-76.1825922,34.9335332],[-76.120814,34.9335332],[-76.120814,34.9952359],[-75.9979015,34.9952359],[-75.9979015,35.0578182],[-75.870338,35.0578182],[-75.870338,35.1219097],[-75.7462194,35.1219097],[-75.7462194,35.1818911],[-75.4929694,35.1818911],[-75.4929694,35.3082988],[-75.4325662,35.3082988],[-75.4325662,35.7542495],[-75.4969907,35.7542495],[-75.4969907,37.8105602],[-75.3082972,37.8105602],[-75.3082972,37.8720088],[-75.245601,37.8720088],[-75.245601,37.9954849],[-75.1828751,37.9954849],[-75.1828751,38.0585079],[-75.1184793,38.0585079],[-75.1184793,38.2469091],[-75.0592098,38.2469091],[-75.0592098,38.3704316],[-74.9948111,38.3704316],[-74.9948111,38.8718417],[-74.4878252,38.8718417],[-74.4878252,39.3089428],[-74.1766317,39.3089428],[-74.1766317,39.6224653],[-74.0567045,39.6224653],[-74.0567045,39.933178],[-73.9959035,39.933178],[-73.9959035,40.1854852],[-73.9341593,40.1854852],[-73.9341593,40.4959486],[-73.8723024,40.4959486],[-73.8723024,40.5527135],[-71.8074506,40.5527135],[-71.8074506,41.3088005],[-70.882512,41.3088005],[-70.882512,41.184978],[-70.7461947,41.184978],[-70.7461947,41.3091865],[-70.4337553,41.3091865],[-70.4337553,41.4963885],[-69.9334281,41.4963885],[-69.9334281,41.6230802],[-69.869857,41.6230802],[-69.869857,41.8776895],[-69.935791,41.8776895],[-69.935791,42.0032342],[-69.9975823,42.0032342],[-69.9975823,42.0650191],[-70.0606103,42.0650191],[-70.0606103,42.1294348],[-70.5572884,42.1294348],[-70.5572884,43.2487079],[-70.4974097,43.2487079],[-70.4974097,43.3092194],[-70.3704249,43.3092194],[-70.3704249,43.371963],[-70.3085701,43.371963],[-70.3085701,43.4969879],[-70.183921,43.4969879],[-70.183921,43.6223531],[-70.057583,43.6223531],[-70.057583,43.6850173],[-69.7455247,43.6850173],[-69.7455247,43.7476571],[-69.2472845,43.7476571],[-69.2472845,43.8107035],[-69.0560701,43.8107035],[-69.0560701,43.8717247],[-68.9950522,43.8717247],[-68.9950522,43.9982022],[-68.4963672,43.9982022],[-68.4963672,44.0597368],[-68.3081038,44.0597368],[-68.3081038,44.122137],[-68.1851802,44.122137],[-68.1851802,44.3081382],[-67.9956019,44.3081382],[-67.9956019,44.3727489],[-67.8103041,44.3727489],[-67.8103041,44.435178],[-67.4965289,44.435178],[-67.4965289,44.4968776],[-67.37102,44.4968776],[-67.37102,44.5600642],[-67.1848753,44.5600642],[-67.1848753,44.6213345],[-67.1221208,44.6213345],[-67.1221208,44.6867918],[-67.059365,44.6867918],[-67.059365,44.7473657],[-66.9311098,44.7473657],[-66.9311098,44.9406566],[-66.994683,44.9406566],[-66.994683,45.0024514],[-67.0595847,45.0024514],[-67.0595847,45.1273377],[-67.1201974,45.1273377],[-67.1201974,45.1910115],[-67.2469811,45.1910115],[-67.2469811,45.253442],[-67.3177546,45.253442],[-67.3177546,45.1898369],[-67.370749,45.1898369],[-67.370749,45.2534001],[-67.4326888,45.2534001],[-67.4326888,45.3083409],[-67.3708571,45.3083409],[-67.3708571,45.4396986],[-67.4305573,45.4396986],[-67.4305573,45.4950095],[-67.37099,45.4950095],[-67.37099,45.6264543],[-67.6214982,45.6264543],[-67.6214982,45.6896133],[-67.683828,45.6896133],[-67.683828,45.753259],[-67.7462097,45.753259],[-67.7462097,47.1268165],[-67.8700141,47.1268165],[-67.8700141,47.1900278],[-67.9323803,47.1900278],[-67.9323803,47.2539678],[-67.9959387,47.2539678],[-67.9959387,47.3149737],[-68.1206676,47.3149737],[-68.1206676,47.3780823],[-68.4423175,47.3780823],[-68.4423175,47.3166082],[-68.6314305,47.3166082],[-68.6314305,47.2544676],[-68.9978037,47.2544676],[-68.9978037,47.439895],[-69.0607223,47.439895],[-69.0607223,47.5047558],[-69.2538122,47.5047558],[-69.2538122,47.4398084],[-69.3179284,47.4398084],[-69.3179284,47.378601],[-69.4438546,47.378601],[-69.4438546,47.3156274],[-69.5038204,47.3156274],[-69.5038204,47.2525839],[-69.5667838,47.2525839],[-69.5667838,47.1910884],[-69.6303478,47.1910884],[-69.6303478,47.128701],[-69.6933103,47.128701],[-69.6933103,47.0654307],[-69.7557063,47.0654307],[-69.7557063,47.0042751],[-69.8180391,47.0042751],[-69.8180391,46.9415344],[-69.8804023,46.9415344],[-69.8804023,46.8792519],[-69.9421674,46.8792519],[-69.9421674,46.8177399],[-70.0063088,46.8177399],[-70.0063088,46.6920295],[-70.0704265,46.6920295],[-70.0704265,46.4425926],[-70.1945902,46.4425926],[-70.1945902,46.3785887],[-70.2562047,46.3785887],[-70.2562047,46.3152628],[-70.3203651,46.3152628],[-70.3203651,46.0651209],[-70.3814988,46.0651209],[-70.3814988,45.93552],[-70.3201618,45.93552],[-70.3201618,45.879479],[-70.4493131,45.879479],[-70.4493131,45.7538713],[-70.5070021,45.7538713],[-70.5070021,45.6916912],[-70.6316642,45.6916912],[-70.6316642,45.6291619],[-70.7575538,45.6291619],[-70.7575538,45.4414685],[-70.8809878,45.4414685],[-70.8809878,45.3780612],[-71.13328,45.3780612],[-71.13328,45.3151452],[-71.3830282,45.3151452],[-71.3830282,45.253416],[-71.5076448,45.253416],[-71.5076448,45.0655726],[-73.9418929,45.0655726],[-73.9418929,45.0031242],[-74.7469725,45.0031242],[-74.7469725,45.0649003],[-74.8800964,45.0649003],[-74.8800964,45.0029023],[-75.0662455,45.0029023],[-75.0662455,44.9415167],[-75.2539363,44.9415167],[-75.2539363,44.8776043],[-75.3789648,44.8776043],[-75.3789648,44.8153462],[-75.4431283,44.8153462],[-75.4431283,44.7536053],[-75.5666566,44.7536053],[-75.5666566,44.6909879],[-75.6290205,44.6909879],[-75.6290205,44.6284958],[-75.7540484,44.6284958],[-75.7540484,44.566385],[-75.817312,44.566385],[-75.817312,44.5028932],[-75.8799549,44.5028932],[-75.8799549,44.3784946],[-76.1300319,44.3784946],[-76.1300319,44.3159227],[-76.1926961,44.3159227],[-76.1926961,44.2534378],[-76.3182619,44.2534378],[-76.3182619,44.1916726],[-76.3792975,44.1916726],[-76.3792975,44.0653733],[-76.4427584,44.0653733],[-76.4427584,43.9963825],[-76.317027,43.9963825],[-76.317027,43.9414581],[-76.5076611,43.9414581],[-76.5076611,43.8723335],[-76.3829974,43.8723335],[-76.3829974,43.8091872],[-76.2534102,43.8091872],[-76.2534102,43.5665222],[-76.5064833,43.5665222],[-76.5064833,43.5033881],[-76.6331208,43.5033881],[-76.6331208,43.4432252],[-76.6951085,43.4432252],[-76.6951085,43.3786858],[-76.8177798,43.3786858],[-76.8177798,43.318066],[-77.682,43.318066],[-77.682,43.3789376],[-78.0565883,43.3789376],[-78.0565883,43.4396918],[-78.4389748,43.4396918],[-78.4389748,43.3794382],[-78.8803396,43.3794382],[-78.8803396,43.3149724],[-79.1298858,43.3149724],[-79.1298858,43.2429286],[-79.0669615,43.2429286],[-79.0669615,43.1299931],[-79.1298858,43.1299931],[-79.1298858,43.0577305],[-79.071264,43.0577305],[-79.071264,42.9294906],[-78.943264,42.9294906],[-78.943264,42.7542165],[-79.069439,42.7542165],[-79.069439,42.6941622],[-79.133439,42.6941622],[-79.133439,42.6296973],[-79.1947499,42.6296973],[-79.1947499,42.5663538],[-79.3786827,42.5663538],[-79.3786827,42.5033425],[-79.4442961,42.5033425],[-79.4442961,42.4410614],[-79.5679936,42.4410614],[-79.5679936,42.3775264],[-79.6906154,42.3775264],[-79.6906154,42.3171086],[-79.8164642,42.3171086],[-79.8164642,42.2534481],[-80.0052373,42.2534481],[-80.0052373,42.1909188],[-80.1916829,42.1909188],[-80.1916829,42.1272555],[-80.3167992,42.1272555],[-80.3167992,42.0669857],[-80.5063234,42.0669857],[-80.5063234,42.0034331],[-80.6930471,42.0034331],[-80.6930471,41.9415141],[-80.9440403,41.9415141],[-80.9440403,41.8781193],[-81.1942729,41.8781193],[-81.1942729,41.8166455],[-81.3190089,41.8166455],[-81.3190089,41.7545453],[-81.4418435,41.7545453],[-81.4418435,41.690965],[-81.5053523,41.690965],[-81.5053523,41.6301643],[-82.7470081,41.6301643],[-82.7470081,41.7536942],[-82.8839135,41.7536942],[-82.8839135,41.5656075],[-82.9957195,41.5656075],[-82.9957195,41.6270375],[-83.1257796,41.6270375],[-83.1257796,41.6878411],[-83.2474733,41.6878411],[-83.2474733,41.7536942],[-83.3737305,41.7536942],[-83.3737305,41.809276],[-83.3106019,41.809276],[-83.3106019,41.8716064],[-83.2474733,41.8716064],[-83.2474733,41.9361393],[-83.1843447,41.9361393],[-83.1843447,41.9960851],[-83.1207681,41.9960851],[-83.1207681,42.2464812],[-83.0589194,42.2464812],[-83.0589194,42.3089555],[-82.8685328,42.3089555],[-82.8685328,42.3717652],[-82.8072219,42.3717652],[-82.8072219,42.558553],[-82.7553745,42.558553],[-82.7553745,42.4954945],[-82.5599041,42.4954945],[-82.5599041,42.558553],[-82.4967755,42.558553],[-82.4967755,42.6833607],[-82.4328863,42.6833607],[-82.4328863,42.9342196],[-82.3700552,42.9342196],[-82.3700552,43.0648071],[-82.4328863,43.0648071],[-82.4328863,43.1917566],[-82.4947464,43.1917566],[-82.4947464,43.5034627],[-82.557133,43.5034627],[-82.557133,43.8160901],[-82.6197884,43.8160901],[-82.6197884,43.9422098],[-82.6839499,43.9422098],[-82.6839499,44.0022641],[-82.7465346,44.0022641],[-82.7465346,44.0670545],[-82.8708696,44.0670545],[-82.8708696,44.1291935],[-83.008517,44.1291935],[-83.008517,44.0664786],[-83.1336086,44.0664786],[-83.1336086,44.0053949],[-83.2414522,44.0053949],[-83.2414522,44.9962034],[-83.1806112,44.9962034],[-83.1806112,45.067302],[-83.2455172,45.067302],[-83.2455172,45.1287382],[-83.3065878,45.1287382],[-83.3065878,45.2551509],[-83.3706087,45.2551509],[-83.3706087,45.3165923],[-83.4325644,45.3165923],[-83.4325644,45.3792105],[-83.6178415,45.3792105],[-83.6178415,45.4419665],[-83.8084291,45.4419665],[-83.8084291,45.5036189],[-84.0550718,45.5036189],[-84.0550718,45.5647907],[-84.1235181,45.5647907],[-84.1235181,45.6287845],[-84.1807534,45.6287845],[-84.1807534,45.6914688],[-84.3111554,45.6914688],[-84.3111554,45.9337076],[-83.8209974,45.9337076],[-83.8209974,45.8725113],[-83.4968086,45.8725113],[-83.4968086,45.9337076],[-83.4338066,45.9337076],[-83.4338066,46.0016863],[-83.4962697,46.0016863],[-83.4962697,46.0668178],[-83.5599956,46.0668178],[-83.5599956,46.1261576],[-83.9954558,46.1261576],[-83.9954558,46.1931747],[-84.0591816,46.1931747],[-84.0591816,46.3814972],[-84.1152614,46.3814972],[-84.1152614,46.4953584],[-84.0591816,46.4953584],[-84.0591816,46.5682653],[-84.2579545,46.5682653],[-84.2579545,46.5051232],[-84.3071879,46.5051232],[-84.3071879,46.5682653],[-84.4415364,46.5682653],[-84.4415364,46.504525],[-84.9965729,46.504525],[-84.9965729,46.6842882],[-84.9298158,46.6842882],[-84.9298158,46.818077],[-85.3165894,46.818077],[-85.3165894,46.7535825],[-87.5562645,46.7535825],[-87.5562645,47.4407371],[-87.6825361,47.4407371],[-87.6825361,47.5035554],[-88.2560738,47.5035554],[-88.2560738,47.4433716],[-88.4417419,47.4433716],[-88.4417419,47.3789949],[-88.50683,47.3789949],[-88.50683,47.3153881],[-88.6312821,47.3153881],[-88.6312821,47.2539782],[-88.7569636,47.2539782],[-88.7569636,47.1934682],[-88.8838253,47.1934682],[-88.8838253,47.1284735],[-88.9434208,47.1284735],[-88.9434208,47.0662127],[-89.0708726,47.0662127],[-89.0708726,47.0026826],[-89.2565553,47.0026826],[-89.2565553,46.9410806],[-90.3677669,46.9410806],[-90.3677669,47.6844827],[-90.3069978,47.6844827],[-90.3069978,47.7460174],[-89.994859,47.7460174],[-89.994859,47.8082719],[-89.8048615,47.8082719],[-89.8048615,47.8700562],[-89.6797699,47.8700562],[-89.6797699,47.9339637],[-89.4933757,47.9339637],[-89.4933757,47.9957956],[-89.4284697,47.9957956],[-89.4284697,48.0656377],[-89.9932739,48.0656377],[-89.9932739,48.1282966],[-90.7455933,48.1282966],[-90.7455933,48.1893056],[-90.8087291,48.1893056],[-90.8087291,48.2522065],[-91.067763,48.2522065],[-91.067763,48.1916658],[-91.1946247,48.1916658],[-91.1946247,48.1279027],[-91.6814196,48.1279027],[-91.6814196,48.2525994],[-91.9321927,48.2525994],[-91.9321927,48.3142454],[-91.9929683,48.3142454],[-91.9929683,48.3780845],[-92.3189383,48.3780845],[-92.3189383,48.2529081],[-92.3732233,48.2529081],[-92.3732233,48.3153385],[-92.4322288,48.3153385],[-92.4322288,48.4411448],[-92.4977248,48.4411448],[-92.4977248,48.501781],[-92.5679413,48.501781],[-92.5679413,48.439579],[-92.6210462,48.439579],[-92.6210462,48.5650783],[-92.8086835,48.5650783],[-92.8086835,48.6286865],[-92.8086835,48.6267365],[-92.933185,48.6267365],[-92.933185,48.6922145],[-93.0051716,48.6922145],[-93.0051716,48.6282965],[-93.1225924,48.6282965],[-93.1225924,48.6922145],[-93.3190806,48.6922145],[-93.3190806,48.6267365],[-93.5049477,48.6267365],[-93.5049477,48.5635164],[-93.7474601,48.5635164],[-93.7474601,48.6267365],[-93.8135461,48.6267365],[-93.8135461,48.6898775],[-94.2453121,48.6898775],[-94.2453121,48.7554327],[-94.6183171,48.7554327],[-94.6183171,48.941036],[-94.6809018,48.941036],[-94.6809018,49.0029737],[-94.7441532,49.0029737],[-94.7441532,49.2536079],[-94.8084069,49.2536079],[-94.8084069,49.3784134],[-95.1192391,49.3784134],[-95.1192391,49.4425264],[-95.1934341,49.4425264],[-95.1934341,49.0035292],[-96.87069,49.0035292],[-96.87069,49.0656063],[-99.0049312,49.0656063],[-99.0049312,49.0050714],[-109.3699257,49.0050714],[-109.3699257,49.0668231],[-109.5058746,49.0668231],[-109.5058746,49.0050714],[-114.1830014,49.0050714],[-114.1830014,49.0687317],[-114.7578709,49.0687317],[-114.7578709,49.0050714],[-115.433731,49.0050714],[-115.433731,49.0671412],[-116.5062706,49.0671412],[-116.5062706,49.0050714],[-117.3089504,49.0050714],[-117.3089504,49.0659803],[-119.882945,49.0659803],[-119.882945,49.0050714],[-120.1208555,49.0050714],[-120.1208555,49.0678367],[-121.4451636,49.0678367],[-121.4451636,49.0050714],[-121.9311808,49.0050714],[-121.9311808,49.0656099],[-122.817484,49.0656099],[-122.817484,49.0029143],[-122.8795155,49.0029143],[-122.8795155,48.9347018],[-122.8174629,48.9347018],[-122.8174629,48.8101998],[-122.7538859,48.8101998],[-122.7538859,48.7533758],[-122.8712937,48.7533758],[-122.8712937,48.8153948],[-123.0055391,48.8153948],[-123.0055391,48.7529529],[-123.1296926,48.7529529],[-123.1296926,48.6902201],[-123.1838197,48.6902201],[-123.1838197,48.7529029]],[[-122.9341743,37.7521547],[-122.9347457,37.6842013],[-123.0679013,37.6849023],[-123.0673747,37.7475251],[-123.1292603,37.7478506],[-123.1286894,37.815685],[-123.0590687,37.8153192],[-123.0595947,37.7528143]],[[-71.6299464,41.2540893],[-71.4966465,41.2541393],[-71.4965596,41.122965],[-71.6298594,41.1229149]],[[-70.3184265,41.3775196],[-70.3183384,41.2448243],[-70.1906612,41.2448722],[-70.1906239,41.1886019],[-69.9336025,41.1886984],[-69.933729,41.3791941],[-69.9950664,41.3791712],[-69.995109,41.443159],[-70.0707828,41.4431307],[-70.0706972,41.3144915],[-70.2461667,41.3144258],[-70.2462087,41.3775467]],[[-68.9403374,43.9404062],[-68.6856948,43.9404977],[-68.6856475,43.8721797],[-68.7465405,43.8721577],[-68.7464976,43.8102529],[-68.8090782,43.8102304],[-68.8090343,43.746728],[-68.8773094,43.7467034],[-68.8773544,43.8117826],[-68.9402483,43.8117599]],[[-123.1291466,49.0645144],[-122.9954224,49.0645144],[-122.9954224,48.9343243],[-123.1291466,48.9343243]],[[-82.9407144,24.7535913],[-82.8719398,24.7535913],[-82.8719398,24.6905653],[-82.7446233,24.6905653],[-82.7446233,24.6214593],[-82.8088038,24.6214593],[-82.8088038,24.5594908],[-82.9407144,24.5594908]]]},{"name":"USGS Topographic Maps","type":"tms","template":"http://{switch:a,b,c}.tile.openstreetmap.us/usgs_scanned_topos/{zoom}/{x}/{y}.png","polygon":[[[-125.990173,48.9962416],[-125.989419,47.9948396],[-123.9929739,47.9955062],[-123.9922429,47.0059202],[-125.988688,47.0052409],[-125.9879604,46.0015618],[-123.9939396,46.0022529],[-123.9925238,43.9961708],[-124.9931832,43.9958116],[-124.9918175,41.9942149],[-125.9851789,41.9938465],[-125.9838655,40.0076111],[-123.9833285,40.0083757],[-123.9814115,37.002615],[-122.21903,37.0033173],[-122.2184144,36.011671],[-122.020087,36.011751],[-122.0188591,33.9961766],[-119.9787757,33.9970206],[-119.9775867,31.9987658],[-114.0122833,32.00129],[-114.0116894,30.9862401],[-105.998294,30.9896679],[-105.9971419,28.9901065],[-102.0210506,28.9918418],[-102.0204916,28.00733],[-100.0062436,28.0082173],[-100.0051143,25.991909],[-98.0109067,25.9928035],[-98.0103613,25.0063461],[-97.0161086,25.0067957],[-97.016654,25.9932494],[-95.9824825,25.9937132],[-95.9835999,27.9891175],[-94.0200898,27.9899826],[-94.0206586,28.9918129],[-88.0156706,28.9944338],[-88.0162494,30.0038862],[-86.0277506,30.0047454],[-86.0271719,28.9953016],[-84.0187909,28.9961781],[-84.017095,25.9817708],[-81.9971976,25.9826768],[-81.9966618,25.0134917],[-84.0165592,25.0125783],[-84.0160068,24.0052745],[-80.0199985,24.007096],[-80.0245309,32.0161282],[-78.0066484,32.0169819],[-78.0072238,32.9894278],[-77.8807233,32.9894807],[-77.8813253,33.9955918],[-76.0115411,33.9963653],[-76.0121459,34.9952552],[-74.0068449,34.9960749],[-74.0099997,40.0084254],[-72.0013745,40.0091931],[-72.002019,40.9912464],[-69.8797398,40.9920457],[-69.8804173,42.00893],[-69.9927682,42.0088883],[-69.9934462,43.0105166],[-67.9845366,43.0112496],[-67.985224,44.0103812],[-65.9892568,44.0110975],[-65.9921237,47.9993584],[-70.006442,47.9980181],[-70.005708,47.0042007],[-72.023686,47.003514],[-72.0222508,45.0059846],[-78.0146667,45.0038705],[-78.0139662,44.0026998],[-80.029686,44.0019763],[-80.0290052,43.0122994],[-81.995479,43.011582],[-81.9982986,47.0042713],[-87.505706,47.0023972],[-87.5064535,48.0142702],[-88.0260889,48.0140968],[-88.026838,49.0086686],[-93.9981078,49.0067142],[-93.9988778,50.0086456],[-96.0138899,50.0079995],[-96.0131199,49.0060547]],[[-160.5787616,22.5062947],[-160.5782192,21.4984647],[-159.0030121,21.499196],[-159.0027422,20.9951068],[-157.5083185,20.995803],[-157.5080519,20.4960241],[-155.966889,20.4967444],[-155.9674267,21.5028287],[-157.5044717,21.5021151],[-157.5047384,21.9984962],[-159.0090946,21.9978002],[-159.0093692,22.5070181]],[[-168.006102,68.9941463],[-168.0047628,68.0107853],[-165.4842481,68.0112562],[-165.4829337,67.0037303],[-168.0034485,67.0032389],[-168.002195,66.0017503],[-169.0087448,66.001546],[-169.0075381,64.9987675],[-168.0009882,64.9989798],[-167.9998282,63.9982374],[-164.9871288,63.9988964],[-164.9860062,62.9950845],[-167.9987057,62.9944019],[-167.9946035,59.0153692],[-162.5027857,59.0167799],[-162.5018149,58.0005815],[-160.0159024,58.0012389],[-160.0149725,57.000035],[-160.5054788,56.9999017],[-160.5045719,55.9968161],[-164.012195,55.9958373],[-164.0113186,55.00107],[-165.994782,55.0005023],[-165.9941266,54.2400584],[-168.0002944,54.2394734],[-168.0000986,54.0094921],[-170.0156134,54.0089011],[-170.0147683,53.0016446],[-171.9993636,53.0010487],[-171.9989488,52.4977745],[-176.0083239,52.4965566],[-176.0081186,52.2452555],[-178.000097,52.2446469],[-177.9992996,51.2554252],[-176.0073212,51.2560472],[-176.0075146,51.4980163],[-171.9981395,51.4992617],[-171.9985419,51.9985373],[-167.9984317,51.9997661],[-167.9994645,53.2560877],[-165.9932968,53.2566866],[-165.9939308,54.0100804],[-159.0067205,54.0121291],[-159.0075717,55.002502],[-158.0190709,55.0027849],[-158.0199473,55.9975094],[-151.9963213,55.9991902],[-151.9981536,57.9986536],[-151.500341,57.9987853],[-151.5012894,58.9919816],[-138.5159989,58.9953194],[-138.5150471,57.9986434],[-136.6872422,57.9991267],[-136.6863158,57.0016688],[-135.9973698,57.001856],[-135.9964667,56.0030544],[-134.6717732,56.003424],[-134.6708865,54.9969623],[-133.9956734,54.9971556],[-133.9948193,54.0031685],[-130.0044418,54.0043387],[-130.0070826,57.0000507],[-131.975877,56.9995156],[-131.9787378,59.9933094],[-138.0071813,59.991805],[-138.0082158,61.0125755],[-140.9874011,61.0118551],[-140.99984,71.0039309],[-154.5023956,71.0017377],[-154.5039632,71.9983391],[-157.499048,71.9978773],[-157.4974758,70.9982877],[-163.0233611,70.9973899],[-163.0218273,69.9707435],[-164.9730896,69.97041],[-164.9717003,68.994689]],[[-168.5133204,62.8689586],[-168.5144423,63.8765677],[-172.0202755,63.8757975],[-172.0191536,62.8681608]],[[-170.9947111,59.9954089],[-170.995726,60.9969787],[-174.0045311,60.9962508],[-174.0035162,59.9946581]],[[-156.0717261,20.2854602],[-154.7940471,20.2860582],[-154.7933145,18.9029464],[-156.0709936,18.9023432]]]},{"name":"Vector Streetmap for San Juan County WA","type":"tms","description":"Public domain street and address data from the San Juan County, WA. Updated at least quarterly.","template":"http://sjcgis.org/arcgis/rest/services/Basemaps/General_Basemap_WM/MapServer/tile/{zoom}/{y}/{x}","scaleExtent":[0,19],"polygon":[[[-123.274024,48.692975],[-123.007726,48.767256],[-123.007619,48.831577],[-122.783495,48.758416],[-122.693402,48.658522],[-122.767451,48.603606],[-122.744842,48.387083],[-123.248221,48.283531],[-123.114524,48.422614],[-123.219035,48.548575],[-123.274024,48.692975]]],"best":true},{"name":"Vejmidte (Denmark)","type":"tms","template":"http://{switch:a,b,c}.tile.openstreetmap.dk/danmark/vejmidte/{zoom}/{x}/{y}.png","scaleExtent":[0,20],"polygon":[[[8.3743941,54.9551655],[8.3683809,55.4042149],[8.2103997,55.4039795],[8.2087314,55.4937345],[8.0502655,55.4924731],[8.0185123,56.7501399],[8.1819161,56.7509948],[8.1763274,57.0208898],[8.3413329,57.0219872],[8.3392467,57.1119574],[8.5054433,57.1123212],[8.5033923,57.2020499],[9.3316304,57.2027636],[9.3319079,57.2924835],[9.4978864,57.2919578],[9.4988593,57.3820608],[9.6649749,57.3811615],[9.6687295,57.5605591],[9.8351961,57.5596265],[9.8374896,57.6493322],[10.1725726,57.6462818],[10.1754245,57.7367768],[10.5118282,57.7330269],[10.5152095,57.8228945],[10.6834853,57.8207722],[10.6751613,57.6412021],[10.5077045,57.6433097],[10.5039992,57.5535088],[10.671038,57.5514113],[10.6507805,57.1024538],[10.4857673,57.1045138],[10.4786236,56.9249051],[10.3143981,56.9267573],[10.3112341,56.8369269],[10.4750295,56.83509],[10.4649016,56.5656681],[10.9524239,56.5589761],[10.9479249,56.4692243],[11.1099335,56.4664675],[11.1052639,56.376833],[10.9429901,56.3795284],[10.9341235,56.1994768],[10.7719685,56.2020244],[10.7694751,56.1120103],[10.6079695,56.1150259],[10.4466742,56.116717],[10.2865948,56.118675],[10.2831527,56.0281851],[10.4439274,56.0270388],[10.4417713,55.7579243],[10.4334961,55.6693533],[10.743814,55.6646861],[10.743814,55.5712253],[10.8969041,55.5712253],[10.9051793,55.3953852],[11.0613726,55.3812841],[11.0593038,55.1124061],[11.0458567,55.0318621],[11.2030844,55.0247474],[11.2030844,55.117139],[11.0593038,55.1124061],[11.0613726,55.3812841],[11.0789572,55.5712253],[10.8969041,55.5712253],[10.9258671,55.6670198],[10.743814,55.6646861],[10.7562267,55.7579243],[10.4417713,55.7579243],[10.4439274,56.0270388],[10.4466742,56.116717],[10.6079695,56.1150259],[10.6052053,56.0247462],[10.9258671,56.0201215],[10.9197132,55.9309388],[11.0802782,55.92792],[11.0858066,56.0178284],[11.7265047,56.005058],[11.7319981,56.0952142],[12.0540333,56.0871256],[12.0608477,56.1762576],[12.7023469,56.1594405],[12.6611131,55.7114318],[12.9792318,55.7014026],[12.9612912,55.5217294],[12.3268659,55.5412096],[12.3206071,55.4513655],[12.4778226,55.447067],[12.4702432,55.3570479],[12.6269738,55.3523837],[12.6200898,55.2632576],[12.4627339,55.26722],[12.4552949,55.1778223],[12.2987046,55.1822303],[12.2897344,55.0923641],[12.6048608,55.0832904],[12.5872011,54.9036285],[12.2766618,54.9119031],[12.2610181,54.7331602],[12.1070691,54.7378161],[12.0858621,54.4681655],[11.7794953,54.4753579],[11.7837381,54.5654783],[11.1658525,54.5782155],[11.1706443,54.6686508],[10.8617173,54.6733956],[10.8651245,54.7634667],[10.7713646,54.7643888],[10.7707276,54.7372807],[10.7551428,54.7375776],[10.7544039,54.7195666],[10.7389074,54.7197588],[10.7384368,54.7108482],[10.7074486,54.7113045],[10.7041094,54.6756741],[10.5510973,54.6781698],[10.5547184,54.7670245],[10.2423994,54.7705935],[10.2459845,54.8604673],[10.0902268,54.8622134],[10.0873731,54.7723851],[9.1555798,54.7769557],[9.1562752,54.8675369],[8.5321973,54.8663765],[8.531432,54.95516]],[[11.4577738,56.819554],[11.7849181,56.8127385],[11.7716715,56.6332796],[11.4459621,56.6401087]],[[11.3274736,57.3612962],[11.3161808,57.1818004],[11.1508692,57.1847276],[11.1456628,57.094962],[10.8157703,57.1001693],[10.8290599,57.3695272]],[[11.5843266,56.2777928],[11.5782882,56.1880397],[11.7392309,56.1845765],[11.7456428,56.2743186]],[[14.6825922,55.3639405],[14.8395247,55.3565231],[14.8263755,55.2671261],[15.1393406,55.2517359],[15.1532015,55.3410836],[15.309925,55.3330556],[15.295719,55.2437356],[15.1393406,55.2517359],[15.1255631,55.1623802],[15.2815819,55.1544167],[15.2535578,54.9757646],[14.6317464,55.0062496]]],"terms_url":"http://wiki.openstreetmap.org/wiki/Vejmidte","terms_text":"Danish municipalities"},{"name":"Vienna: Beschriftungen (annotations)","type":"tms","template":"http://www.wien.gv.at/wmts/beschriftung/normal/google3857/{zoom}/{y}/{x}.png","scaleExtent":[0,19],"polygon":[[[16.17,48.1],[16.17,48.33],[16.58,48.33],[16.58,48.1],[16.17,48.1]]],"terms_url":"http://data.wien.gv.at/","terms_text":"Stadt Wien"},{"name":"Vienna: Mehrzweckkarte (general purpose)","type":"tms","template":"http://www.wien.gv.at/wmts/fmzk/pastell/google3857/{zoom}/{y}/{x}.jpeg","scaleExtent":[0,19],"polygon":[[[16.17,48.1],[16.17,48.33],[16.58,48.33],[16.58,48.1],[16.17,48.1]]],"terms_url":"http://data.wien.gv.at/","terms_text":"Stadt Wien"},{"name":"Vienna: Orthofoto (aerial image)","type":"tms","template":"http://www.wien.gv.at/wmts/lb/farbe/google3857/{zoom}/{y}/{x}.jpeg","scaleExtent":[0,19],"polygon":[[[16.17,48.1],[16.17,48.33],[16.58,48.33],[16.58,48.1],[16.17,48.1]]],"terms_url":"http://data.wien.gv.at/","terms_text":"Stadt Wien"}];
\ No newline at end of file
+iD.data.imagery = [{"name":"2013 aerial imagery for San Juan County WA","type":"tms","description":"Public domain aerial imagery taken in May/June 2013 from San Juan County, WA. Resolution is 9 inch.","template":"http://sjcgis.org/arcgis/rest/services/Basemaps/Aerials_2013_WM/MapServer/tile/{zoom}/{y}/{x}","scaleExtent":[0,19],"polygon":[[[-123.274024,48.692975],[-123.007726,48.767256],[-123.007619,48.831577],[-122.783495,48.758416],[-122.693402,48.658522],[-122.767451,48.603606],[-122.744842,48.387083],[-123.248221,48.283531],[-123.114524,48.422614],[-123.219035,48.548575],[-123.274024,48.692975]]],"best":true},{"name":"7th Series (OS7)","type":"tms","template":"http://ooc.openstreetmap.org/os7/{zoom}/{x}/{y}.jpg","polygon":[[[-9,49.8],[-9,61.1],[1.9,61.1],[1.9,49.8],[-9,49.8]]]},{"name":"AGRI black-and-white 2.5m","type":"tms","template":"http://agri.openstreetmap.org/{zoom}/{x}/{y}.png","polygon":[[[112.28778,-28.784589],[112.71488,-31.13894],[114.11263,-34.178287],[113.60788,-37.39012],[117.17992,-37.451794],[119.31538,-37.42096],[121.72262,-36.708394],[123.81925,-35.76893],[125.9547,-34.3066],[127.97368,-33.727398],[130.07031,-33.24166],[130.10913,-33.888704],[131.00214,-34.049705],[131.0798,-34.72257],[132.28342,-35.39],[134.18591,-35.61126],[133.8753,-37.1119],[134.8459,-37.6365],[139.7769,-37.82075],[139.93223,-39.4283],[141.6017,-39.8767],[142.3783,-39.368294],[142.3783,-40.64702],[142.49478,-42.074874],[144.009,-44.060127],[147.23161,-44.03222],[149.05645,-42.534313],[149.52237,-40.99959],[149.9494,-40.852921],[150.8036,-38.09627],[151.81313,-38.12682],[156.20052,-22.667706],[156.20052,-20.10109],[156.62761,-17.417627],[155.26869,-17.19521],[154.14272,-19.51662],[153.5215,-18.34139],[153.05558,-16.5636],[152.78379,-15.256768],[152.27905,-13.4135],[151.3472,-12.391767],[149.48354,-12.05024],[146.9598,-9.992408],[135.9719,-9.992408],[130.3032,-10.33636],[128.09016,-12.164136],[125.91588,-12.315912],[124.3239,-11.860326],[122.03323,-11.974295],[118.26706,-16.9353],[115.93747,-19.11357],[114.0738,-21.11863],[113.49141,-22.596033],[112.28778,-28.784589]]],"terms_text":"AGRI"},{"name":"basemap.at","type":"tms","description":"Basemap of Austria, based on goverment data.","template":"http://maps{switch:1,2,3,4}.wien.gv.at/basemap/geolandbasemap/normal/google3857/{zoom}/{y}/{x}.png","polygon":[[[16.5073284,46.9929304],[16.283417,46.9929304],[16.135839,46.8713046],[15.9831722,46.8190947],[16.0493278,46.655175],[15.8610387,46.7180116],[15.7592608,46.6900933],[15.5607938,46.6796202],[15.5760605,46.6342132],[15.4793715,46.6027553],[15.4335715,46.6516819],[15.2249267,46.6342132],[15.0468154,46.6481886],[14.9908376,46.5887681],[14.9603042,46.6237293],[14.8534374,46.6027553],[14.8330818,46.5012666],[14.7516595,46.4977636],[14.6804149,46.4381781],[14.6142593,46.4381781],[14.578637,46.3785275],[14.4412369,46.4311638],[14.1613476,46.4276563],[14.1257253,46.4767409],[14.0188585,46.4767409],[13.9119917,46.5257813],[13.8254805,46.5047694],[13.4438134,46.560783],[13.3064132,46.5502848],[13.1283019,46.5887681],[12.8433237,46.6132433],[12.7262791,46.6412014],[12.5125455,46.6656529],[12.3598787,46.7040543],[12.3649676,46.7703197],[12.2886341,46.7772902],[12.2733674,46.8852187],[12.2072118,46.8747835],[12.1308784,46.9026062],[12.1156117,46.9998721],[12.2530119,47.0657733],[12.2123007,47.0934969],[11.9833004,47.0449712],[11.7339445,46.9616816],[11.6321666,47.010283],[11.5405665,46.9755722],[11.4998553,47.0068129],[11.418433,46.9651546],[11.2555884,46.9755722],[11.1130993,46.913036],[11.0418548,46.7633482],[10.8891879,46.7598621],[10.7416099,46.7842599],[10.7059877,46.8643462],[10.5787653,46.8399847],[10.4566318,46.8504267],[10.4769874,46.9269392],[10.3853873,46.9894592],[10.2327204,46.8643462],[10.1207647,46.8330223],[9.8663199,46.9408389],[9.9019422,47.0033426],[9.6831197,47.0588402],[9.6118752,47.0380354],[9.6322307,47.128131],[9.5813418,47.1662025],[9.5406306,47.2664422],[9.6067863,47.3492559],[9.6729419,47.369939],[9.6424085,47.4457079],[9.5660751,47.4801122],[9.7136531,47.5282405],[9.7848976,47.5969187],[9.8357866,47.5454185],[9.9477423,47.538548],[10.0902313,47.4491493],[10.1105869,47.3664924],[10.2428982,47.3871688],[10.1869203,47.2698953],[10.3243205,47.2975125],[10.4820763,47.4491493],[10.4311873,47.4869904],[10.4413651,47.5900549],[10.4871652,47.5522881],[10.5482319,47.5351124],[10.5991209,47.5660246],[10.7568766,47.5316766],[10.8891879,47.5454185],[10.9400769,47.4869904],[10.9960547,47.3906141],[11.2352328,47.4422662],[11.2810328,47.3975039],[11.4235219,47.5144941],[11.5761888,47.5076195],[11.6067221,47.5900549],[11.8357224,47.5866227],[12.003656,47.6243647],[12.2072118,47.6037815],[12.1614117,47.6963421],[12.2581008,47.7442718],[12.2530119,47.6792136],[12.4311232,47.7100408],[12.4921899,47.631224],[12.5685234,47.6277944],[12.6295901,47.6894913],[12.7720792,47.6689338],[12.8331459,47.5419833],[12.975635,47.4732332],[13.0417906,47.4938677],[13.0367017,47.5557226],[13.0977685,47.6415112],[13.0316128,47.7100408],[12.9043905,47.7203125],[13.0061684,47.84683],[12.9451016,47.9355501],[12.8636793,47.9594103],[12.8636793,48.0036929],[12.7517236,48.0989418],[12.8738571,48.2109733],[12.9603683,48.2109733],[13.0417906,48.2652035],[13.1842797,48.2990682],[13.2606131,48.2922971],[13.3980133,48.3565867],[13.4438134,48.417418],[13.4387245,48.5523383],[13.509969,48.5860123],[13.6117469,48.5725454],[13.7287915,48.5118999],[13.7847694,48.5725454],[13.8203916,48.6263915],[13.7949471,48.7171267],[13.850925,48.7741724],[14.0595697,48.6633774],[14.0137696,48.6331182],[14.0748364,48.5927444],[14.2173255,48.5961101],[14.3649034,48.5489696],[14.4666813,48.6499311],[14.5582815,48.5961101],[14.5989926,48.6263915],[14.7211261,48.5759124],[14.7211261,48.6868997],[14.822904,48.7271983],[14.8178151,48.777526],[14.9647227,48.7851754],[14.9893637,49.0126611],[15.1485933,48.9950306],[15.1943934,48.9315502],[15.3063491,48.9850128],[15.3928603,48.9850128],[15.4844604,48.9282069],[15.749083,48.8545973],[15.8406831,48.8880697],[16.0086166,48.7808794],[16.2070835,48.7339115],[16.3953727,48.7372678],[16.4920617,48.8110498],[16.6905286,48.7741724],[16.7057953,48.7339115],[16.8991733,48.713769],[16.9755067,48.515271],[16.8482844,48.4511817],[16.8533733,48.3464411],[16.9551512,48.2516513],[16.9907734,48.1498955],[17.0925513,48.1397088],[17.0823736,48.0241182],[17.1739737,48.0207146],[17.0823736,47.8741447],[16.9856845,47.8673174],[17.0823736,47.8092489],[17.0925513,47.7031919],[16.7414176,47.6792136],[16.7057953,47.7511153],[16.5378617,47.7545368],[16.5480395,47.7066164],[16.4208172,47.6689338],[16.573484,47.6175045],[16.670173,47.631224],[16.7108842,47.538548],[16.6599952,47.4491493],[16.5429506,47.3940591],[16.4615283,47.3940591],[16.4920617,47.276801],[16.425906,47.1973317],[16.4717061,47.1489007],[16.5480395,47.1489007],[16.476795,47.0796369],[16.527684,47.0588402]]],"terms_text":"basemap.at","id":"basemap.at"},{"name":"basemap.at Orthofoto","type":"tms","description":"Orthofoto layer provided by basemap.at. \"Successor\" of geoimage.at imagery.","template":"http://maps{switch:1,2,3,4}.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{zoom}/{y}/{x}.jpeg","polygon":[[[16.5073284,46.9929304],[16.283417,46.9929304],[16.135839,46.8713046],[15.9831722,46.8190947],[16.0493278,46.655175],[15.8610387,46.7180116],[15.7592608,46.6900933],[15.5607938,46.6796202],[15.5760605,46.6342132],[15.4793715,46.6027553],[15.4335715,46.6516819],[15.2249267,46.6342132],[15.0468154,46.6481886],[14.9908376,46.5887681],[14.9603042,46.6237293],[14.8534374,46.6027553],[14.8330818,46.5012666],[14.7516595,46.4977636],[14.6804149,46.4381781],[14.6142593,46.4381781],[14.578637,46.3785275],[14.4412369,46.4311638],[14.1613476,46.4276563],[14.1257253,46.4767409],[14.0188585,46.4767409],[13.9119917,46.5257813],[13.8254805,46.5047694],[13.4438134,46.560783],[13.3064132,46.5502848],[13.1283019,46.5887681],[12.8433237,46.6132433],[12.7262791,46.6412014],[12.5125455,46.6656529],[12.3598787,46.7040543],[12.3649676,46.7703197],[12.2886341,46.7772902],[12.2733674,46.8852187],[12.2072118,46.8747835],[12.1308784,46.9026062],[12.1156117,46.9998721],[12.2530119,47.0657733],[12.2123007,47.0934969],[11.9833004,47.0449712],[11.7339445,46.9616816],[11.6321666,47.010283],[11.5405665,46.9755722],[11.4998553,47.0068129],[11.418433,46.9651546],[11.2555884,46.9755722],[11.1130993,46.913036],[11.0418548,46.7633482],[10.8891879,46.7598621],[10.7416099,46.7842599],[10.7059877,46.8643462],[10.5787653,46.8399847],[10.4566318,46.8504267],[10.4769874,46.9269392],[10.3853873,46.9894592],[10.2327204,46.8643462],[10.1207647,46.8330223],[9.8663199,46.9408389],[9.9019422,47.0033426],[9.6831197,47.0588402],[9.6118752,47.0380354],[9.6322307,47.128131],[9.5813418,47.1662025],[9.5406306,47.2664422],[9.6067863,47.3492559],[9.6729419,47.369939],[9.6424085,47.4457079],[9.5660751,47.4801122],[9.7136531,47.5282405],[9.7848976,47.5969187],[9.8357866,47.5454185],[9.9477423,47.538548],[10.0902313,47.4491493],[10.1105869,47.3664924],[10.2428982,47.3871688],[10.1869203,47.2698953],[10.3243205,47.2975125],[10.4820763,47.4491493],[10.4311873,47.4869904],[10.4413651,47.5900549],[10.4871652,47.5522881],[10.5482319,47.5351124],[10.5991209,47.5660246],[10.7568766,47.5316766],[10.8891879,47.5454185],[10.9400769,47.4869904],[10.9960547,47.3906141],[11.2352328,47.4422662],[11.2810328,47.3975039],[11.4235219,47.5144941],[11.5761888,47.5076195],[11.6067221,47.5900549],[11.8357224,47.5866227],[12.003656,47.6243647],[12.2072118,47.6037815],[12.1614117,47.6963421],[12.2581008,47.7442718],[12.2530119,47.6792136],[12.4311232,47.7100408],[12.4921899,47.631224],[12.5685234,47.6277944],[12.6295901,47.6894913],[12.7720792,47.6689338],[12.8331459,47.5419833],[12.975635,47.4732332],[13.0417906,47.4938677],[13.0367017,47.5557226],[13.0977685,47.6415112],[13.0316128,47.7100408],[12.9043905,47.7203125],[13.0061684,47.84683],[12.9451016,47.9355501],[12.8636793,47.9594103],[12.8636793,48.0036929],[12.7517236,48.0989418],[12.8738571,48.2109733],[12.9603683,48.2109733],[13.0417906,48.2652035],[13.1842797,48.2990682],[13.2606131,48.2922971],[13.3980133,48.3565867],[13.4438134,48.417418],[13.4387245,48.5523383],[13.509969,48.5860123],[13.6117469,48.5725454],[13.7287915,48.5118999],[13.7847694,48.5725454],[13.8203916,48.6263915],[13.7949471,48.7171267],[13.850925,48.7741724],[14.0595697,48.6633774],[14.0137696,48.6331182],[14.0748364,48.5927444],[14.2173255,48.5961101],[14.3649034,48.5489696],[14.4666813,48.6499311],[14.5582815,48.5961101],[14.5989926,48.6263915],[14.7211261,48.5759124],[14.7211261,48.6868997],[14.822904,48.7271983],[14.8178151,48.777526],[14.9647227,48.7851754],[14.9893637,49.0126611],[15.1485933,48.9950306],[15.1943934,48.9315502],[15.3063491,48.9850128],[15.3928603,48.9850128],[15.4844604,48.9282069],[15.749083,48.8545973],[15.8406831,48.8880697],[16.0086166,48.7808794],[16.2070835,48.7339115],[16.3953727,48.7372678],[16.4920617,48.8110498],[16.6905286,48.7741724],[16.7057953,48.7339115],[16.8991733,48.713769],[16.9755067,48.515271],[16.8482844,48.4511817],[16.8533733,48.3464411],[16.9551512,48.2516513],[16.9907734,48.1498955],[17.0925513,48.1397088],[17.0823736,48.0241182],[17.1739737,48.0207146],[17.0823736,47.8741447],[16.9856845,47.8673174],[17.0823736,47.8092489],[17.0925513,47.7031919],[16.7414176,47.6792136],[16.7057953,47.7511153],[16.5378617,47.7545368],[16.5480395,47.7066164],[16.4208172,47.6689338],[16.573484,47.6175045],[16.670173,47.631224],[16.7108842,47.538548],[16.6599952,47.4491493],[16.5429506,47.3940591],[16.4615283,47.3940591],[16.4920617,47.276801],[16.425906,47.1973317],[16.4717061,47.1489007],[16.5480395,47.1489007],[16.476795,47.0796369],[16.527684,47.0588402]]],"terms_text":"basemap.at","id":"basemap.at orthofoto","best":true},{"name":"Belgium AGIV Orthophoto Flanders","type":"tms","template":"http://tile.informatievlaanderen.be/ws/raadpleegdiensten/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=omwrgbmrvl&STYLE=&FORMAT=image/png&tileMatrixSet=GoogleMapsVL&tileMatrix={zoom}&tileRow={y}&tileCol={x}","scaleExtent":[0,21],"polygon":[[[2.522393220658428,51.101723961331],[3.1260610915867457,51.34117672029327],[3.174929443042849,51.382459567439525],[3.3761520666856217,51.38784154353026],[3.410647373595811,51.33040116175589],[3.4020235468682634,51.28547573497245],[3.4911364230529203,51.256700377228974],[3.4825125963253734,51.30345118353617],[3.5773746903283947,51.323216048914524],[3.813092620881357,51.27288873325703],[3.8217164476089045,51.236906864834886],[3.9309515861578386,51.236906864834886],[4.054559769252684,51.27468708752057],[4.20116482362099,51.35194974615148],[4.169544125619984,51.38066543475199],[4.342020660170932,51.395016527087456],[4.3650175314443915,51.46491366130351],[4.5374940659953396,51.50071687469512],[4.571989372905529,51.479238319799464],[4.560490937268798,51.44879304380801],[4.638105377816725,51.45058450468522],[4.750215125274841,51.5239738914927],[4.8364533925503155,51.507874144493115],[5.080795149830825,51.49892738159079],[5.135412719105292,51.447001512638565],[5.106666630013469,51.391429175957505],[5.264770120018504,51.31782647548482],[5.264770120018504,51.28727359653538],[5.4085005654776275,51.292666758936925],[5.486115006025553,51.325012432665545],[5.5809771000285755,51.28367780302667],[5.583851708937758,51.23510703218069],[5.767826679125435,51.20449910348059],[5.8770618176743685,51.161253258857485],[5.704585283123422,50.80292546633848],[5.905807906766195,50.7865720955422],[5.9374286047672005,50.732019528192964],[5.902933297857012,50.70107817444857],[5.8138204216723555,50.69379488717487],[5.615472406938765,50.761122144578216],[5.500488050571466,50.71200098472672],[5.204403332925673,50.70289881954383],[5.164158808197117,50.67558172042608],[5.037676016193088,50.70107817444857],[4.988807664736986,50.750210783384084],[4.916942442007425,50.72656077355532],[4.790459650003396,50.766576871275696],[4.681224511454462,50.77021300246129],[4.6697260758177315,50.73565834458533],[4.287403090896464,50.67922491935501],[3.91082932379356,50.677403355240585],[3.718230526878334,50.752029520237265],[3.6549891308763196,50.71200098472672],[3.5342555566906557,50.710180693059606],[3.514133294326379,50.741116039142966],[3.45664111614273,50.74384464791457],[3.373277457776438,50.69561581502901],[3.310036061774423,50.70745012302645],[3.2899137994101473,50.7365680045137],[3.1648683118607086,50.742935129324266],[3.1318103094051106,50.77203096207303],[3.080067349039826,50.76021296163662],[2.8745328120332805,50.73929687829333],[2.8960923788521487,50.71109084772858],[2.8745328120332805,50.69561581502901],[2.796918371485353,50.70289881954383],[2.699181668573149,50.80020030189157],[2.6201299235706315,50.79747497850781],[2.5698242676599374,50.85830267681076],[2.5669496587507554,50.923581424665855],[2.6028822701155367,50.94984841176044],[2.549702005295661,50.996006093918574],[2.522393220658428,51.101723961331]]],"terms_text":"Orthophoto Flanders most recent (c) AGIV","best":true},{"name":"Bing aerial imagery","type":"bing","description":"Satellite and aerial imagery.","template":"http://www.bing.com/maps/","scaleExtent":[0,22],"id":"Bing","default":true},{"name":"British Columbia Mosaic","type":"tms","template":"http://{switch:a,b,c,d}.imagery.paulnorman.ca/tiles/bc_mosaic/{zoom}/{x}/{y}.png","scaleExtent":[9,20],"polygon":[[[-123.3176032,49.3272567],[-123.4405258,49.3268222],[-123.440717,49.3384429],[-123.4398375,49.3430357],[-123.4401258,49.3435398],[-123.4401106,49.3439946],[-123.4406265,49.3444493],[-123.4404747,49.3455762],[-123.4397768,49.3460606],[-123.4389726,49.3461298],[-123.4372904,49.3567236],[-123.4374774,49.3710843],[-123.4335292,49.3709446],[-123.4330357,49.373725],[-123.4332717,49.3751221],[-123.4322847,49.3761001],[-123.4317482,49.3791736],[-123.4314264,49.3795927],[-123.4307826,49.3823866],[-123.4313405,49.3827358],[-123.4312118,49.3838533],[-123.4300415,49.3845883],[-123.4189858,49.3847087],[-123.4192235,49.4135198],[-123.3972532,49.4135691],[-123.3972758,49.4243473],[-123.4006929,49.4243314],[-123.4007741,49.5703491],[-123.4000812,49.570345],[-123.4010761,49.5933838],[-123.3760399,49.5932848],[-123.3769811,49.6756063],[-123.3507288,49.6756396],[-123.3507969,49.7086751],[-123.332887,49.708722],[-123.3327888,49.7256288],[-123.3007111,49.7255625],[-123.3009164,49.7375384],[-123.2885986,49.737638],[-123.2887823,49.8249207],[-123.2997955,49.8249207],[-123.3011721,49.8497814],[-123.3218218,49.850669],[-123.3273284,49.8577696],[-123.3276726,49.9758852],[-123.3008279,49.9752212],[-123.3007204,50.0997002],[-123.2501716,50.100735],[-123.25091,50.2754901],[-123.0224338,50.2755598],[-123.0224879,50.3254853],[-123.0009318,50.3254689],[-123.0007778,50.3423899],[-122.9775023,50.3423408],[-122.9774766,50.3504306],[-122.9508137,50.3504961],[-122.950795,50.3711984],[-122.9325221,50.3711521],[-122.9321048,50.399793],[-122.8874234,50.3999748],[-122.8873385,50.4256108],[-122.6620152,50.4256959],[-122.6623083,50.3994506],[-122.5990316,50.3992413],[-122.5988274,50.3755206],[-122.5724832,50.3753706],[-122.5735621,50.2493891],[-122.5990415,50.2494643],[-122.5991504,50.2265663],[-122.6185016,50.2266359],[-122.6185741,50.2244081],[-122.6490609,50.2245126],[-122.6492181,50.1993528],[-122.7308575,50.1993758],[-122.7311583,50.1244287],[-122.7490352,50.1245109],[-122.7490541,50.0903032],[-122.7687806,50.0903435],[-122.7689801,49.9494546],[-122.999047,49.9494706],[-122.9991199,49.8754553],[-122.9775894,49.8754553],[-122.9778145,49.6995098],[-122.9992362,49.6994781],[-122.9992524,49.6516526],[-123.0221525,49.6516526],[-123.0221162,49.5995096],[-123.0491898,49.5994625],[-123.0491898,49.5940523],[-123.0664647,49.5940405],[-123.0663594,49.5451868],[-123.0699906,49.5451202],[-123.0699008,49.5413153],[-123.0706835,49.5392837],[-123.0708888,49.5379931],[-123.0711454,49.5368773],[-123.0711069,49.5358115],[-123.0713764,49.532822],[-123.0716458,49.5321141],[-123.07171,49.5313896],[-123.0720308,49.5304153],[-123.0739554,49.5303486],[-123.0748023,49.5294992],[-123.0748151,49.5288079],[-123.0743403,49.5280584],[-123.073532,49.5274588],[-123.0733652,49.5270423],[-123.0732882,49.5255932],[-123.0737116,49.5249602],[-123.0736218,49.5244938],[-123.0992583,49.5244854],[-123.0991649,49.4754502],[-123.071052,49.4755252],[-123.071088,49.4663034],[-123.0739204,49.4663054],[-123.07422,49.4505028],[-123.0746319,49.4500858],[-123.074651,49.449329],[-123.0745999,49.449018],[-123.0744619,49.4486927],[-123.0743336,49.4479899],[-123.0742427,49.4477688],[-123.0743061,49.4447473],[-123.0747103,49.4447556],[-123.0746384,49.4377306],[-122.9996506,49.4377363],[-122.9996506,49.4369214],[-122.8606163,49.4415314],[-122.8102616,49.4423972],[-122.8098984,49.3766739],[-122.4036093,49.3766617],[-122.4036341,49.3771944],[-122.264739,49.3773028],[-122.263542,49.2360088],[-122.2155742,49.236139],[-122.0580956,49.235878],[-121.9538274,49.2966525],[-121.9400911,49.3045389],[-121.9235761,49.3142257],[-121.8990871,49.3225436],[-121.8883447,49.3259752],[-121.8552982,49.3363575],[-121.832697,49.3441519],[-121.7671336,49.3654361],[-121.6736683,49.3654589],[-121.6404153,49.3743775],[-121.5961976,49.3860493],[-121.5861178,49.3879193],[-121.5213684,49.3994649],[-121.5117375,49.4038378],[-121.4679302,49.4229024],[-121.4416803,49.4345607],[-121.422429,49.4345788],[-121.3462885,49.3932312],[-121.3480144,49.3412388],[-121.5135035,49.320577],[-121.6031683,49.2771727],[-121.6584065,49.1856125],[-121.679953,49.1654109],[-121.7815793,49.0702559],[-121.8076228,49.0622471],[-121.9393997,49.0636219],[-121.9725524,49.0424179],[-121.9921394,49.0332869],[-122.0035289,49.0273413],[-122.0178564,49.0241067],[-122.1108634,48.9992786],[-122.1493067,48.9995305],[-122.1492705,48.9991498],[-122.1991447,48.9996019],[-122.199181,48.9991974],[-122.234365,48.9994829],[-122.234365,49.000173],[-122.3994722,49.0012385],[-122.4521338,49.0016326],[-122.4521338,49.000883],[-122.4584089,49.0009306],[-122.4584814,48.9993124],[-122.4992458,48.9995022],[-122.4992458,48.9992906],[-122.5492618,48.9995107],[-122.5492564,48.9993206],[-122.6580785,48.9994212],[-122.6581061,48.9954007],[-122.7067604,48.9955344],[-122.7519761,48.9956392],[-122.7922063,48.9957204],[-122.7921907,48.9994331],[-123.0350417,48.9995724],[-123.0350437,49.0000958],[-123.0397091,49.0000536],[-123.0397444,49.0001812],[-123.0485506,49.0001348],[-123.0485329,49.0004712],[-123.0557122,49.000448],[-123.0556324,49.0002284],[-123.0641365,49.0001293],[-123.064158,48.9999421],[-123.074899,48.9996928],[-123.0750717,49.0006218],[-123.0899573,49.0003726],[-123.109229,48.9999421],[-123.1271193,49.0003046],[-123.1359953,48.9998741],[-123.1362716,49.0005765],[-123.153851,48.9998061],[-123.1540533,49.0006806],[-123.1710015,49.0001274],[-123.2000916,48.9996849],[-123.2003446,49.0497785],[-123.2108845,49.0497232],[-123.2112218,49.051989],[-123.2070479,49.0520857],[-123.2078911,49.0607884],[-123.2191688,49.0600978],[-123.218958,49.0612719],[-123.2251766,49.0612719],[-123.2253874,49.0622388],[-123.2297088,49.0620316],[-123.2298142,49.068592],[-123.2331869,49.0687301],[-123.2335031,49.0705945],[-123.249313,49.0702493],[-123.2497346,49.0802606],[-123.2751358,49.0803986],[-123.2751358,49.0870947],[-123.299483,49.0873018],[-123.29944,49.080253],[-123.3254508,49.0803944],[-123.3254353,49.1154662],[-123.2750966,49.1503341],[-123.275181,49.1873267],[-123.2788067,49.1871063],[-123.278891,49.1910741],[-123.3004767,49.1910741],[-123.3004186,49.2622933],[-123.3126185,49.2622416],[-123.3125958,49.2714948],[-123.3154251,49.2714727],[-123.3156628,49.2818906],[-123.3174735,49.2818832],[-123.3174961,49.2918488],[-123.3190353,49.2918488],[-123.3190692,49.298602],[-123.3202349,49.2985651],[-123.3202786,49.3019749],[-123.3222679,49.3019605],[-123.3223943,49.3118263],[-123.3254002,49.3118086],[-123.3253898,49.3201721],[-123.3192695,49.3201957],[-123.3192242,49.3246748],[-123.3179437,49.3246596],[-123.3179861,49.3254065]]],"terms_url":"http://imagery.paulnorman.ca/tiles/about.html","terms_text":"Copyright Province of British Columbia, City of Surrey"},{"name":"Cambodia, Laos, Thailand, Vietnam bilingual","type":"tms","template":"http://{switch:a,b,c,d}.tile.osm-tools.org/osm_then/{zoom}/{x}/{y}.png","scaleExtent":[0,19],"polygon":[[[97.3,5.6],[97.3,23.4],[109.6,23.4],[109.6,5.6],[97.3,5.6]]],"terms_url":"http://www.osm-tools.org/","terms_text":"© osm-tools.org & OpenStreetMap contributors, CC-BY-SA"},{"name":"Czech CUZK:KM tiles proxy","type":"tms","template":"http://osm-{switch:a,b,c}.zby.cz/tiles_cuzk.php/{zoom}/{x}/{y}.png","scaleExtent":[13,18],"polygon":[[[15.0063684,49.0177392],[15.1559854,49.0013828],[15.190896,48.9424551],[15.3105895,48.9882938],[15.4053469,48.9752013],[15.5400022,48.9162426],[15.7145553,48.8670572],[15.8342488,48.880178],[15.968904,48.8178233],[16.0885976,48.7455261],[16.3978059,48.7455261],[16.4875761,48.8145394],[16.6721036,48.7784014],[16.6820781,48.7356594],[16.9015163,48.7126294],[16.9464014,48.6237005],[17.1159672,48.8375227],[17.2107246,48.880178],[17.4052266,48.8178233],[17.4800351,48.8539329],[17.5299074,48.8178233],[17.7044605,48.8670572],[17.8141796,48.9359033],[17.8840008,48.9359033],[17.9438476,49.0210099],[18.0635412,49.0340903],[18.1184007,49.0994409],[18.1981964,49.3047337],[18.3877112,49.3339917],[18.577226,49.5091747],[18.7567663,49.4994587],[18.8465365,49.5253637],[18.8764598,49.5706645],[18.7966641,49.693412],[18.64206,49.7095399],[18.5872004,49.8351543],[18.6121366,49.8833809],[18.5622643,49.9347695],[18.512392,49.9058702],[18.362775,49.9540261],[18.3278644,49.9219275],[18.2630304,49.9732751],[18.1184007,50.0053395],[18.0635412,50.075806],[17.9139242,49.9796897],[17.779269,50.0309757],[17.714435,50.1237921],[17.6047159,50.1653411],[17.7593201,50.21962],[17.7343839,50.3439092],[17.6396265,50.2802117],[17.3802905,50.2802117],[17.3503671,50.3439092],[17.2805459,50.3375433],[17.1857885,50.4075214],[16.9015163,50.4615247],[16.8666057,50.4138779],[16.9663503,50.3184404],[17.0361715,50.2323826],[16.8366823,50.21962],[16.7120015,50.1046034],[16.5823335,50.1589513],[16.5623846,50.2387626],[16.4327166,50.3375433],[16.3529209,50.3916263],[16.2781124,50.3916263],[16.2082911,50.4456477],[16.3978059,50.5344899],[16.4476782,50.5978464],[16.3529209,50.670601],[16.2382145,50.6769221],[16.2182656,50.6326561],[16.1284954,50.6832425],[16.0486997,50.6073425],[15.988853,50.7021983],[15.8741467,50.6832425],[15.8292616,50.7653291],[15.729517,50.743243],[15.450232,50.8157725],[15.3903852,50.7747914],[15.3804108,50.8598659],[15.2956278,50.8850434],[15.2956278,50.9887568],[15.1709471,51.0201394],[14.9914067,51.0013124],[15.0063684,50.8881896],[14.8417898,50.8756034],[14.7969047,50.8252246],[14.6323261,50.8567177],[14.6622495,50.9353576],[14.5724793,50.9227841],[14.6123772,50.9856174],[14.4976708,51.0483657],[14.4178751,51.0232765],[14.3081561,51.0671736],[14.2532965,51.0044508],[14.4029134,50.9322145],[14.3729901,50.897627],[14.2433221,50.9070625],[14.2084114,50.844123],[14.0338583,50.8126214],[13.9789988,50.8252246],[13.9041903,50.7968626],[13.8742669,50.740087],[13.5351352,50.7243038],[13.530148,50.6579561],[13.4703012,50.6136722],[13.3905055,50.664279],[13.3256715,50.5883483],[13.250863,50.6105074],[13.1960035,50.5059517],[13.0513738,50.5218084],[12.9665909,50.4106997],[12.8269484,50.4710483],[12.7022676,50.4138779],[12.5077656,50.401164],[12.343187,50.2547088],[12.323238,50.1845054],[12.2484296,50.2738373],[12.1736211,50.3311765],[12.0988126,50.33436],[12.1187616,50.25152],[12.2234934,50.1653411],[12.2035445,50.1237921],[12.5027784,49.9732751],[12.4778422,49.9379795],[12.5476634,49.9155052],[12.4678677,49.8029766],[12.408021,49.7611134],[12.4828294,49.6869593],[12.5327017,49.6869593],[12.5177401,49.6288466],[12.6075102,49.5415474],[12.6723442,49.4378793],[12.8119867,49.3469896],[12.9466419,49.3437405],[13.2309141,49.1288206],[13.3256715,49.1059712],[13.4353906,49.0438984],[13.4154417,48.9948387],[13.5002246,48.949006],[13.5650586,48.9882938],[13.6847522,48.8834577],[13.7445989,48.9031312],[13.8243946,48.7751149],[13.8992031,48.7751149],[14.0587945,48.676418],[14.0438328,48.6302932],[14.1435774,48.5907241],[14.3729901,48.5610269],[14.4827091,48.6500662],[14.5774665,48.607215],[14.6273389,48.6335892],[14.7071346,48.5808269],[14.7470324,48.7027561],[14.8118664,48.7389485],[14.8168536,48.794831],[14.9864195,48.7652539]]],"overlay":true},{"name":"Czech ÚHUL:ORTOFOTO tiles proxy","type":"tms","template":"http://osm-{switch:a,b,c}.zby.cz/tiles_uhul.php/{zoom}/{x}/{y}.jpg","scaleExtent":[13,18],"polygon":[[[15.0063684,49.0177392],[15.1559854,49.0013828],[15.190896,48.9424551],[15.3105895,48.9882938],[15.4053469,48.9752013],[15.5400022,48.9162426],[15.7145553,48.8670572],[15.8342488,48.880178],[15.968904,48.8178233],[16.0885976,48.7455261],[16.3978059,48.7455261],[16.4875761,48.8145394],[16.6721036,48.7784014],[16.6820781,48.7356594],[16.9015163,48.7126294],[16.9464014,48.6237005],[17.1159672,48.8375227],[17.2107246,48.880178],[17.4052266,48.8178233],[17.4800351,48.8539329],[17.5299074,48.8178233],[17.7044605,48.8670572],[17.8141796,48.9359033],[17.8840008,48.9359033],[17.9438476,49.0210099],[18.0635412,49.0340903],[18.1184007,49.0994409],[18.1981964,49.3047337],[18.3877112,49.3339917],[18.577226,49.5091747],[18.7567663,49.4994587],[18.8465365,49.5253637],[18.8764598,49.5706645],[18.7966641,49.693412],[18.64206,49.7095399],[18.5872004,49.8351543],[18.6121366,49.8833809],[18.5622643,49.9347695],[18.512392,49.9058702],[18.362775,49.9540261],[18.3278644,49.9219275],[18.2630304,49.9732751],[18.1184007,50.0053395],[18.0635412,50.075806],[17.9139242,49.9796897],[17.779269,50.0309757],[17.714435,50.1237921],[17.6047159,50.1653411],[17.7593201,50.21962],[17.7343839,50.3439092],[17.6396265,50.2802117],[17.3802905,50.2802117],[17.3503671,50.3439092],[17.2805459,50.3375433],[17.1857885,50.4075214],[16.9015163,50.4615247],[16.8666057,50.4138779],[16.9663503,50.3184404],[17.0361715,50.2323826],[16.8366823,50.21962],[16.7120015,50.1046034],[16.5823335,50.1589513],[16.5623846,50.2387626],[16.4327166,50.3375433],[16.3529209,50.3916263],[16.2781124,50.3916263],[16.2082911,50.4456477],[16.3978059,50.5344899],[16.4476782,50.5978464],[16.3529209,50.670601],[16.2382145,50.6769221],[16.2182656,50.6326561],[16.1284954,50.6832425],[16.0486997,50.6073425],[15.988853,50.7021983],[15.8741467,50.6832425],[15.8292616,50.7653291],[15.729517,50.743243],[15.450232,50.8157725],[15.3903852,50.7747914],[15.3804108,50.8598659],[15.2956278,50.8850434],[15.2956278,50.9887568],[15.1709471,51.0201394],[14.9914067,51.0013124],[15.0063684,50.8881896],[14.8417898,50.8756034],[14.7969047,50.8252246],[14.6323261,50.8567177],[14.6622495,50.9353576],[14.5724793,50.9227841],[14.6123772,50.9856174],[14.4976708,51.0483657],[14.4178751,51.0232765],[14.3081561,51.0671736],[14.2532965,51.0044508],[14.4029134,50.9322145],[14.3729901,50.897627],[14.2433221,50.9070625],[14.2084114,50.844123],[14.0338583,50.8126214],[13.9789988,50.8252246],[13.9041903,50.7968626],[13.8742669,50.740087],[13.5351352,50.7243038],[13.530148,50.6579561],[13.4703012,50.6136722],[13.3905055,50.664279],[13.3256715,50.5883483],[13.250863,50.6105074],[13.1960035,50.5059517],[13.0513738,50.5218084],[12.9665909,50.4106997],[12.8269484,50.4710483],[12.7022676,50.4138779],[12.5077656,50.401164],[12.343187,50.2547088],[12.323238,50.1845054],[12.2484296,50.2738373],[12.1736211,50.3311765],[12.0988126,50.33436],[12.1187616,50.25152],[12.2234934,50.1653411],[12.2035445,50.1237921],[12.5027784,49.9732751],[12.4778422,49.9379795],[12.5476634,49.9155052],[12.4678677,49.8029766],[12.408021,49.7611134],[12.4828294,49.6869593],[12.5327017,49.6869593],[12.5177401,49.6288466],[12.6075102,49.5415474],[12.6723442,49.4378793],[12.8119867,49.3469896],[12.9466419,49.3437405],[13.2309141,49.1288206],[13.3256715,49.1059712],[13.4353906,49.0438984],[13.4154417,48.9948387],[13.5002246,48.949006],[13.5650586,48.9882938],[13.6847522,48.8834577],[13.7445989,48.9031312],[13.8243946,48.7751149],[13.8992031,48.7751149],[14.0587945,48.676418],[14.0438328,48.6302932],[14.1435774,48.5907241],[14.3729901,48.5610269],[14.4827091,48.6500662],[14.5774665,48.607215],[14.6273389,48.6335892],[14.7071346,48.5808269],[14.7470324,48.7027561],[14.8118664,48.7389485],[14.8168536,48.794831],[14.9864195,48.7652539]]],"terms_text":"Ortofoto public domain ÚHUL, year 2000"},{"name":"Danube flood ortophoto 2013","type":"tms","template":"http://e.tile.openstreetmap.hu/dunai-arviz-2013/{zoom}/{x}/{y}.jpg","scaleExtent":[10,20],"polygon":[[[19.0773152,47.6959718],[19.0779881,47.6959835],[19.0946205,47.6944562],[19.0805603,47.595874],[19.0743376,47.5890907],[19.0795196,47.5888284],[19.07717,47.5724109],[19.0577884,47.5720924],[19.0773152,47.6959718]]],"terms_url":"http://fototerkep.hu/","terms_text":"Fotótérkép.hu"},{"name":"FÖMI ortofotó 2000","type":"tms","description":"Hungary","template":"http://e.tile.openstreetmap.hu/ortofoto2000/{zoom}/{x}/{y}.jpg","scaleExtent":[0,17],"polygon":[[[16.1139147,46.8691038],[16.1789749,46.90662],[16.2000429,46.9415079],[16.2217547,46.9355441],[16.2462784,46.9463851],[16.2553226,46.9642125],[16.2764694,46.9626082],[16.290583,47.0139849],[16.3016199,46.9992329],[16.3414618,46.9965225],[16.3505162,47.0106313],[16.3734016,46.9985929],[16.412765,47.00475],[16.4332705,46.9927417],[16.4478119,47.003893],[16.479997,46.9941169],[16.5121988,47.0011695],[16.4635584,47.0322699],[16.4478586,47.0227481],[16.439123,47.029663],[16.445673,47.038872],[16.520323,47.056103],[16.473213,47.0736169],[16.4637199,47.09392],[16.500798,47.110058],[16.500035,47.123295],[16.5295349,47.1287419],[16.5171609,47.1496938],[16.454951,47.1425878],[16.4648728,47.1683349],[16.4555643,47.1875584],[16.4305559,47.1847022],[16.4195013,47.1949147],[16.4189215,47.2107114],[16.4371293,47.2097043],[16.4426335,47.2337117],[16.4313127,47.2527554],[16.4671512,47.2531652],[16.4892319,47.2798885],[16.4646338,47.3338455],[16.4337002,47.3528101],[16.458513,47.3670496],[16.4454619,47.4070195],[16.4831657,47.4093628],[16.4963821,47.3892659],[16.5170941,47.4100218],[16.5749054,47.4054243],[16.5807291,47.4191699],[16.661847,47.455595],[16.6706419,47.47422],[16.6523395,47.500342],[16.6895619,47.510161],[16.7147797,47.540199],[16.663545,47.567733],[16.673199,47.6049544],[16.6595343,47.6061018],[16.652758,47.622852],[16.6314207,47.6283176],[16.5739108,47.619667],[16.5147382,47.6461964],[16.4967504,47.6393149],[16.425464,47.6621679],[16.4437449,47.674205],[16.4480507,47.6964725],[16.4746984,47.6811576],[16.4872245,47.6979767],[16.5521729,47.7225519],[16.5363779,47.736785],[16.5479799,47.751544],[16.6095193,47.7603722],[16.6344148,47.7590843],[16.65729,47.7414879],[16.7209405,47.7353565],[16.7534062,47.6828165],[16.8301587,47.681058],[16.8394284,47.7045139],[16.8668943,47.7211462],[16.876679,47.6876452],[17.0937421,47.7077706],[17.0706562,47.7285366],[17.0516019,47.7938499],[17.0749479,47.8084997],[17.047139,47.8285635],[17.0519452,47.8377691],[17.0105513,47.8581765],[17.0163878,47.8673325],[17.0857537,47.8746239],[17.113171,47.9271605],[17.0917133,47.9342916],[17.1183782,47.9601083],[17.094657,47.9708775],[17.2010289,48.019992],[17.241769,48.0224651],[17.257955,47.998655],[17.334651,47.993125],[17.4029929,47.947849],[17.4539199,47.8852579],[17.5267369,47.865509],[17.5675779,47.8151289],[17.608402,47.8218859],[17.7085789,47.756678],[17.7798739,47.739487],[17.8660959,47.74575],[17.9001292,47.7392633],[17.946867,47.744668],[17.9708709,47.7578392],[18.0044103,47.7463402],[18.0380583,47.7576812],[18.2958774,47.7314616],[18.4540681,47.7651226],[18.4931553,47.7527552],[18.5590761,47.7659963],[18.6460866,47.7590921],[18.7260691,47.7890411],[18.7411784,47.8138245],[18.7920013,47.8230869],[18.8485417,47.8167221],[18.855876,47.826077],[18.828014,47.834291],[18.8135749,47.85555],[18.76353,47.8716049],[18.756858,47.896838],[18.776746,47.955092],[18.7552499,47.9763469],[18.8157429,47.993442],[18.819998,48.039676],[18.833268,48.048239],[18.8749364,48.0470707],[18.886674,48.058682],[18.9089819,48.051139],[18.9439039,48.058865],[18.9816099,48.0536009],[19.0148639,48.078179],[19.0585249,48.0573529],[19.0843619,48.072781],[19.107402,48.065596],[19.1352889,48.074146],[19.2413679,48.0536529],[19.2557819,48.0715559],[19.3031119,48.088711],[19.3865969,48.091914],[19.400018,48.082304],[19.454053,48.101436],[19.467354,48.083933],[19.4944199,48.109906],[19.492377,48.1396639],[19.5128219,48.154663],[19.504518,48.173443],[19.528967,48.190358],[19.526044,48.20313],[19.577502,48.2160149],[19.6308263,48.2500725],[19.6445239,48.2391719],[19.669857,48.239212],[19.691219,48.203894],[19.721125,48.201473],[19.74618,48.2165119],[19.7871629,48.19253],[19.7987329,48.19482],[19.8052829,48.183733],[19.782415,48.165039],[19.794812,48.153529],[19.821331,48.169081],[19.8452819,48.162742],[19.8551729,48.178431],[19.8601309,48.169409],[19.898745,48.1663119],[19.9145359,48.146863],[19.898298,48.1249019],[19.937383,48.131118],[19.9743939,48.1660049],[19.988706,48.1621679],[20.029038,48.1776849],[20.049449,48.1671999],[20.0729859,48.179606],[20.0700369,48.1917019],[20.1340909,48.225182],[20.1331879,48.253982],[20.206162,48.250979],[20.2038299,48.261906],[20.228466,48.262779],[20.2349469,48.279933],[20.286858,48.26164],[20.3257109,48.272794],[20.3374649,48.301667],[20.3656579,48.316606],[20.384077,48.3511809],[20.4098349,48.365857],[20.402532,48.382565],[20.4205349,48.403858],[20.416228,48.418536],[20.507929,48.489363],[20.5065069,48.534415],[20.537471,48.527878],[20.5464939,48.544292],[20.586595,48.535759],[20.6538739,48.561413],[20.836359,48.58284],[20.8378,48.57421],[20.8504359,48.5816329],[20.8453301,48.5665046],[20.8681549,48.551818],[20.922323,48.559453],[20.9346349,48.538341],[20.955882,48.533963],[20.9561979,48.521666],[20.9815849,48.5177669],[21.0151139,48.532313],[21.0663209,48.525894],[21.1174479,48.4910549],[21.1608749,48.521499],[21.179634,48.518232],[21.221061,48.537497],[21.305488,48.5222489],[21.313377,48.550841],[21.326875,48.554129],[21.319384,48.561201],[21.4154499,48.558951],[21.4226649,48.578821],[21.4406099,48.585104],[21.514091,48.551065],[21.5420199,48.508395],[21.6139329,48.509416],[21.6201879,48.469826],[21.663549,48.417961],[21.6645609,48.392164],[21.7017409,48.380695],[21.711871,48.357617],[21.8174139,48.332787],[21.8352029,48.3346409],[21.837213,48.363253],[21.8842979,48.356047],[21.8848429,48.367539],[21.897883,48.36256],[21.8997959,48.3702229],[21.9281859,48.3615969],[21.9268059,48.370899],[21.949198,48.378728],[21.994463,48.377323],[22.0213259,48.392749],[22.0546049,48.377528],[22.0764859,48.387241],[22.086743,48.371564],[22.1359089,48.380519],[22.131056,48.3912329],[22.152768,48.3962409],[22.1561913,48.4093076],[22.2125722,48.4256468],[22.2371405,48.4100396],[22.2654858,48.4098675],[22.2398761,48.3870055],[22.2675722,48.3611612],[22.3178106,48.3545437],[22.3132861,48.3250712],[22.3372944,48.3079113],[22.3384267,48.2792074],[22.3847547,48.2339632],[22.4006407,48.249198],[22.4328384,48.2525166],[22.456386,48.2423109],[22.4899029,48.2534237],[22.4972201,48.2395546],[22.5161491,48.237965],[22.5311088,48.2094282],[22.5711442,48.1961428],[22.5616362,48.1816066],[22.5982449,48.144756],[22.5902763,48.1073414],[22.6754492,48.091997],[22.7347192,48.119848],[22.7576242,48.1200599],[22.7703914,48.1090162],[22.772319,48.1218742],[22.8027688,48.1221112],[22.8025285,48.1070813],[22.8254256,48.1175119],[22.8364365,48.080249],[22.8611284,48.0750312],[22.8677955,48.0524256],[22.8820424,48.0548053],[22.8659692,48.0113165],[22.835562,47.9905988],[22.8407599,47.9813636],[22.8725729,47.9752683],[22.8697274,47.9659593],[22.8915652,47.9672446],[22.897435,47.9540629],[22.8473299,47.9077579],[22.7928135,47.8908586],[22.7586924,47.8941446],[22.77775,47.8422508],[22.7136344,47.8360928],[22.6801938,47.7877527],[22.6111171,47.7717455],[22.5490018,47.7722246],[22.4812121,47.8108886],[22.4513078,47.803389],[22.4313319,47.7398119],[22.3566167,47.7486206],[22.3177714,47.7660887],[22.3176236,47.7433657],[22.2851369,47.7292757],[22.264325,47.7310675],[22.2589955,47.6979057],[22.2306796,47.693196],[22.1796501,47.5916115],[22.1289245,47.5978984],[22.0942787,47.5583628],[22.0782587,47.5621299],[22.0534529,47.5474795],[22.0712176,47.5380742],[22.0617872,47.5288029],[22.0451278,47.5398919],[22.0367222,47.5326653],[22.0071886,47.48362],[22.0327909,47.4508372],[22.0238835,47.3908631],[22.0119849,47.3758016],[21.9627373,47.381053],[21.9382461,47.3725317],[21.8777922,47.2857763],[21.8872845,47.2730473],[21.8534909,47.2397622],[21.8580662,47.1873597],[21.8124804,47.1667511],[21.7924092,47.1059751],[21.7268258,47.0983882],[21.6976037,47.057915],[21.6504151,47.0408303],[21.6888701,47.0019977],[21.6678744,46.9712337],[21.6814917,46.9652089],[21.6381964,46.9330487],[21.5984455,46.9274708],[21.6142857,46.8867275],[21.6016694,46.8668202],[21.520328,46.8373749],[21.5186086,46.8000703],[21.4831761,46.7650246],[21.5263389,46.7393249],[21.529369,46.7209721],[21.4923253,46.6859652],[21.4728438,46.6959075],[21.4299047,46.693937],[21.4309553,46.6781367],[21.4546661,46.660863],[21.4162375,46.6426231],[21.4097959,46.6218052],[21.3657038,46.6379501],[21.3300499,46.6318155],[21.3139733,46.617666],[21.3012351,46.5908672],[21.3207905,46.5828562],[21.2743045,46.5407362],[21.2600254,46.5021583],[21.2744188,46.4767333],[21.2964506,46.4762973],[21.3174343,46.4507288],[21.2895176,46.4154784],[21.2963256,46.4069601],[21.2250116,46.4136899],[21.2064214,46.4033825],[21.1992563,46.3479034],[21.1762269,46.3357664],[21.180497,46.3044494],[21.1155437,46.3018529],[21.1030549,46.2624637],[21.0708792,46.2539014],[21.0660827,46.2429394],[21.0366237,46.2480392],[21.0246723,46.2665329],[20.960817,46.2623039],[20.9465849,46.2793024],[20.9250701,46.2766191],[20.9218133,46.2618129],[20.8732713,46.2877555],[20.7756538,46.2759602],[20.7490474,46.2508489],[20.7618619,46.204563],[20.727401,46.2077485],[20.7341052,46.1939355],[20.7140487,46.1660531],[20.6843592,46.1447802],[20.6549178,46.1497739],[20.6394471,46.1267602],[20.5450486,46.1790935],[20.5014839,46.190334],[20.4949436,46.1709908],[20.4592293,46.1428837],[20.3975133,46.1574709],[20.3685325,46.1528554],[20.3557074,46.1696256],[20.2968136,46.1521542],[20.2549024,46.1158522],[20.2484757,46.1300956],[20.2330132,46.1241668],[20.1817362,46.1601137],[20.1364966,46.1449476],[20.1009667,46.1772756],[20.0636156,46.1437275],[20.0346142,46.1458888],[20.0158072,46.1768354],[19.9354075,46.1764243],[19.8533469,46.1500005],[19.8179747,46.1281652],[19.7585403,46.1479754],[19.6982054,46.1879317],[19.6827672,46.1800388],[19.661508,46.1904394],[19.6317396,46.1692993],[19.5676482,46.179106],[19.5604013,46.1665762],[19.5026585,46.1424492],[19.5271208,46.1210269],[19.4645033,46.0953827],[19.4665828,46.0820437],[19.4160037,46.0460453],[19.3803957,46.0358749],[19.3640923,46.0522965],[19.2819012,46.0148048],[19.2965348,45.9881173],[19.2856472,45.9968981],[19.1479857,45.9963445],[19.1338422,46.0370993],[19.104873,46.0401673],[19.0660427,46.0001999],[19.0796791,45.9636376],[19.0059803,45.9590674],[19.0092745,45.9236559],[18.9061334,45.9353801],[18.8794572,45.9166827],[18.8647137,45.9208493],[18.8685629,45.9113361],[18.8276792,45.9051714],[18.8220041,45.9145893],[18.8075092,45.9036055],[18.809247,45.8796189],[18.7956242,45.8784488],[18.7048857,45.9181883],[18.6700246,45.9108439],[18.6596602,45.9168934],[18.6651348,45.899279],[18.6412808,45.8890396],[18.6550179,45.8742393],[18.6277704,45.8733782],[18.6148449,45.8531438],[18.6236656,45.8398531],[18.5732391,45.8137578],[18.5749849,45.8004344],[18.559716,45.8037961],[18.5223504,45.7826858],[18.4906706,45.7947167],[18.4821905,45.7655032],[18.4562828,45.7695229],[18.4450763,45.7605195],[18.446853,45.737128],[18.40763,45.7397119],[18.3918949,45.7616983],[18.3642257,45.7729364],[18.3394214,45.7471605],[18.2968157,45.7612196],[18.2440473,45.7612305],[18.2307311,45.7790328],[18.1908702,45.7878759],[18.1681939,45.7762712],[18.1246514,45.7896277],[18.1068067,45.7708256],[18.0818922,45.7645205],[17.9958808,45.7957311],[17.9302095,45.7863301],[17.9066757,45.7925692],[17.8653145,45.7670064],[17.8262748,45.8099957],[17.8089784,45.8040989],[17.7809054,45.8174884],[17.7603399,45.811923],[17.7408624,45.8295975],[17.6632915,45.8381849],[17.6276211,45.8979446],[17.5700676,45.9358204],[17.4378254,45.9503823],[17.4258964,45.9272681],[17.4108059,45.9399665],[17.392149,45.9302149],[17.3828713,45.9475733],[17.3476208,45.9423413],[17.3438769,45.9605329],[17.3537711,45.9525011],[17.3905375,45.9581914],[17.387423,45.9661823],[17.3583539,45.9642737],[17.3754852,45.9686921],[17.3751895,45.9881054],[17.3635685,45.9915442],[17.3567202,45.9735836],[17.3339583,45.9960781],[17.3319847,45.9728948],[17.3129974,45.9665347],[17.323647,45.9887776],[17.2987653,45.9838652],[17.3041996,46.0021128],[17.2579726,46.0110256],[17.29632,46.0285169],[17.2541514,46.030005],[17.270955,46.0567055],[17.2324767,46.0592034],[17.2525145,46.0664725],[17.2313144,46.0790345],[17.2019916,46.0765488],[17.2331299,46.0989644],[17.2104017,46.1001693],[17.2129734,46.113855],[17.175927,46.1084583],[17.1743424,46.1287608],[17.1865197,46.1332308],[17.1810983,46.1505485],[17.1562307,46.1585819],[17.1592857,46.1696818],[17.1261012,46.1684495],[17.1227409,46.1789791],[17.0752482,46.1889531],[17.0661614,46.2022984],[16.9735401,46.2251982],[16.973954,46.2431113],[16.9504085,46.2415285],[16.8862356,46.2814598],[16.8713682,46.3252767],[16.8802109,46.3356966],[16.8615374,46.3452401],[16.8656232,46.3556489],[16.8521959,46.3517189],[16.8498589,46.3626245],[16.8352859,46.3638195],[16.8376499,46.3748032],[16.8261732,46.3670994],[16.7933444,46.387385],[16.7592072,46.3776563],[16.7298672,46.40149],[16.7182119,46.3898704],[16.6772872,46.4494536],[16.6631785,46.4486958],[16.6663732,46.4582995],[16.6187915,46.4619875],[16.604468,46.4760773],[16.5235997,46.5053761],[16.5325768,46.5314027],[16.5176728,46.5363516],[16.5084107,46.5652692],[16.4829969,46.5660383],[16.4834008,46.5786011],[16.4455713,46.610952],[16.4248583,46.6131645],[16.385941,46.6442485],[16.3915424,46.6637257],[16.4198454,46.6584771],[16.4286335,46.6939737],[16.3689211,46.7040082],[16.3798266,46.7153869],[16.3710856,46.7222945],[16.3570587,46.7142387],[16.3185954,46.7541449],[16.3305417,46.7752119],[16.3121626,46.7780033],[16.3127666,46.797314],[16.3406373,46.8051851],[16.3508404,46.8300552],[16.3403309,46.8468762],[16.3015007,46.8595142],[16.2913867,46.8728341],[16.2332296,46.8766702],[16.1560866,46.8537074],[16.126571,46.8569079],[16.1139147,46.8691038]]],"terms_url":"http://www.fomi.hu/","terms_text":"Földmérési és Távérzékelési Intézet"},{"name":"FÖMI ortofotó 2005","type":"tms","description":"Hungary","template":"http://e.tile.openstreetmap.hu/ortofoto2005/{zoom}/{x}/{y}.jpg","scaleExtent":[0,17],"polygon":[[[16.1139147,46.8691038],[16.1789749,46.90662],[16.2000429,46.9415079],[16.2217547,46.9355441],[16.2462784,46.9463851],[16.2553226,46.9642125],[16.2764694,46.9626082],[16.290583,47.0139849],[16.3016199,46.9992329],[16.3414618,46.9965225],[16.3505162,47.0106313],[16.3734016,46.9985929],[16.412765,47.00475],[16.4332705,46.9927417],[16.4478119,47.003893],[16.479997,46.9941169],[16.5121988,47.0011695],[16.4635584,47.0322699],[16.4478586,47.0227481],[16.439123,47.029663],[16.445673,47.038872],[16.520323,47.056103],[16.473213,47.0736169],[16.4637199,47.09392],[16.500798,47.110058],[16.500035,47.123295],[16.5295349,47.1287419],[16.5171609,47.1496938],[16.454951,47.1425878],[16.4648728,47.1683349],[16.4555643,47.1875584],[16.4305559,47.1847022],[16.4195013,47.1949147],[16.4189215,47.2107114],[16.4371293,47.2097043],[16.4426335,47.2337117],[16.4313127,47.2527554],[16.4671512,47.2531652],[16.4892319,47.2798885],[16.4646338,47.3338455],[16.4337002,47.3528101],[16.458513,47.3670496],[16.4454619,47.4070195],[16.4831657,47.4093628],[16.4963821,47.3892659],[16.5170941,47.4100218],[16.5749054,47.4054243],[16.5807291,47.4191699],[16.661847,47.455595],[16.6706419,47.47422],[16.6523395,47.500342],[16.6895619,47.510161],[16.7147797,47.540199],[16.663545,47.567733],[16.673199,47.6049544],[16.6595343,47.6061018],[16.652758,47.622852],[16.6314207,47.6283176],[16.5739108,47.619667],[16.5147382,47.6461964],[16.4967504,47.6393149],[16.425464,47.6621679],[16.4437449,47.674205],[16.4480507,47.6964725],[16.4746984,47.6811576],[16.4872245,47.6979767],[16.5521729,47.7225519],[16.5363779,47.736785],[16.5479799,47.751544],[16.6095193,47.7603722],[16.6344148,47.7590843],[16.65729,47.7414879],[16.7209405,47.7353565],[16.7534062,47.6828165],[16.8301587,47.681058],[16.8394284,47.7045139],[16.8668943,47.7211462],[16.876679,47.6876452],[17.0937421,47.7077706],[17.0706562,47.7285366],[17.0516019,47.7938499],[17.0749479,47.8084997],[17.047139,47.8285635],[17.0519452,47.8377691],[17.0105513,47.8581765],[17.0163878,47.8673325],[17.0857537,47.8746239],[17.113171,47.9271605],[17.0917133,47.9342916],[17.1183782,47.9601083],[17.094657,47.9708775],[17.2010289,48.019992],[17.241769,48.0224651],[17.257955,47.998655],[17.334651,47.993125],[17.4029929,47.947849],[17.4539199,47.8852579],[17.5267369,47.865509],[17.5675779,47.8151289],[17.608402,47.8218859],[17.7085789,47.756678],[17.7798739,47.739487],[17.8660959,47.74575],[17.9001292,47.7392633],[17.946867,47.744668],[17.9708709,47.7578392],[18.0044103,47.7463402],[18.0380583,47.7576812],[18.2958774,47.7314616],[18.4540681,47.7651226],[18.4931553,47.7527552],[18.5590761,47.7659963],[18.6460866,47.7590921],[18.7260691,47.7890411],[18.7411784,47.8138245],[18.7920013,47.8230869],[18.8485417,47.8167221],[18.855876,47.826077],[18.828014,47.834291],[18.8135749,47.85555],[18.76353,47.8716049],[18.756858,47.896838],[18.776746,47.955092],[18.7552499,47.9763469],[18.8157429,47.993442],[18.819998,48.039676],[18.833268,48.048239],[18.8749364,48.0470707],[18.886674,48.058682],[18.9089819,48.051139],[18.9439039,48.058865],[18.9816099,48.0536009],[19.0148639,48.078179],[19.0585249,48.0573529],[19.0843619,48.072781],[19.107402,48.065596],[19.1352889,48.074146],[19.2413679,48.0536529],[19.2557819,48.0715559],[19.3031119,48.088711],[19.3865969,48.091914],[19.400018,48.082304],[19.454053,48.101436],[19.467354,48.083933],[19.4944199,48.109906],[19.492377,48.1396639],[19.5128219,48.154663],[19.504518,48.173443],[19.528967,48.190358],[19.526044,48.20313],[19.577502,48.2160149],[19.6308263,48.2500725],[19.6445239,48.2391719],[19.669857,48.239212],[19.691219,48.203894],[19.721125,48.201473],[19.74618,48.2165119],[19.7871629,48.19253],[19.7987329,48.19482],[19.8052829,48.183733],[19.782415,48.165039],[19.794812,48.153529],[19.821331,48.169081],[19.8452819,48.162742],[19.8551729,48.178431],[19.8601309,48.169409],[19.898745,48.1663119],[19.9145359,48.146863],[19.898298,48.1249019],[19.937383,48.131118],[19.9743939,48.1660049],[19.988706,48.1621679],[20.029038,48.1776849],[20.049449,48.1671999],[20.0729859,48.179606],[20.0700369,48.1917019],[20.1340909,48.225182],[20.1331879,48.253982],[20.206162,48.250979],[20.2038299,48.261906],[20.228466,48.262779],[20.2349469,48.279933],[20.286858,48.26164],[20.3257109,48.272794],[20.3374649,48.301667],[20.3656579,48.316606],[20.384077,48.3511809],[20.4098349,48.365857],[20.402532,48.382565],[20.4205349,48.403858],[20.416228,48.418536],[20.507929,48.489363],[20.5065069,48.534415],[20.537471,48.527878],[20.5464939,48.544292],[20.586595,48.535759],[20.6538739,48.561413],[20.836359,48.58284],[20.8378,48.57421],[20.8504359,48.5816329],[20.8453301,48.5665046],[20.8681549,48.551818],[20.922323,48.559453],[20.9346349,48.538341],[20.955882,48.533963],[20.9561979,48.521666],[20.9815849,48.5177669],[21.0151139,48.532313],[21.0663209,48.525894],[21.1174479,48.4910549],[21.1608749,48.521499],[21.179634,48.518232],[21.221061,48.537497],[21.305488,48.5222489],[21.313377,48.550841],[21.326875,48.554129],[21.319384,48.561201],[21.4154499,48.558951],[21.4226649,48.578821],[21.4406099,48.585104],[21.514091,48.551065],[21.5420199,48.508395],[21.6139329,48.509416],[21.6201879,48.469826],[21.663549,48.417961],[21.6645609,48.392164],[21.7017409,48.380695],[21.711871,48.357617],[21.8174139,48.332787],[21.8352029,48.3346409],[21.837213,48.363253],[21.8842979,48.356047],[21.8848429,48.367539],[21.897883,48.36256],[21.8997959,48.3702229],[21.9281859,48.3615969],[21.9268059,48.370899],[21.949198,48.378728],[21.994463,48.377323],[22.0213259,48.392749],[22.0546049,48.377528],[22.0764859,48.387241],[22.086743,48.371564],[22.1359089,48.380519],[22.131056,48.3912329],[22.152768,48.3962409],[22.1561913,48.4093076],[22.2125722,48.4256468],[22.2371405,48.4100396],[22.2654858,48.4098675],[22.2398761,48.3870055],[22.2675722,48.3611612],[22.3178106,48.3545437],[22.3132861,48.3250712],[22.3372944,48.3079113],[22.3384267,48.2792074],[22.3847547,48.2339632],[22.4006407,48.249198],[22.4328384,48.2525166],[22.456386,48.2423109],[22.4899029,48.2534237],[22.4972201,48.2395546],[22.5161491,48.237965],[22.5311088,48.2094282],[22.5711442,48.1961428],[22.5616362,48.1816066],[22.5982449,48.144756],[22.5902763,48.1073414],[22.6754492,48.091997],[22.7347192,48.119848],[22.7576242,48.1200599],[22.7703914,48.1090162],[22.772319,48.1218742],[22.8027688,48.1221112],[22.8025285,48.1070813],[22.8254256,48.1175119],[22.8364365,48.080249],[22.8611284,48.0750312],[22.8677955,48.0524256],[22.8820424,48.0548053],[22.8659692,48.0113165],[22.835562,47.9905988],[22.8407599,47.9813636],[22.8725729,47.9752683],[22.8697274,47.9659593],[22.8915652,47.9672446],[22.897435,47.9540629],[22.8473299,47.9077579],[22.7928135,47.8908586],[22.7586924,47.8941446],[22.77775,47.8422508],[22.7136344,47.8360928],[22.6801938,47.7877527],[22.6111171,47.7717455],[22.5490018,47.7722246],[22.4812121,47.8108886],[22.4513078,47.803389],[22.4313319,47.7398119],[22.3566167,47.7486206],[22.3177714,47.7660887],[22.3176236,47.7433657],[22.2851369,47.7292757],[22.264325,47.7310675],[22.2589955,47.6979057],[22.2306796,47.693196],[22.1796501,47.5916115],[22.1289245,47.5978984],[22.0942787,47.5583628],[22.0782587,47.5621299],[22.0534529,47.5474795],[22.0712176,47.5380742],[22.0617872,47.5288029],[22.0451278,47.5398919],[22.0367222,47.5326653],[22.0071886,47.48362],[22.0327909,47.4508372],[22.0238835,47.3908631],[22.0119849,47.3758016],[21.9627373,47.381053],[21.9382461,47.3725317],[21.8777922,47.2857763],[21.8872845,47.2730473],[21.8534909,47.2397622],[21.8580662,47.1873597],[21.8124804,47.1667511],[21.7924092,47.1059751],[21.7268258,47.0983882],[21.6976037,47.057915],[21.6504151,47.0408303],[21.6888701,47.0019977],[21.6678744,46.9712337],[21.6814917,46.9652089],[21.6381964,46.9330487],[21.5984455,46.9274708],[21.6142857,46.8867275],[21.6016694,46.8668202],[21.520328,46.8373749],[21.5186086,46.8000703],[21.4831761,46.7650246],[21.5263389,46.7393249],[21.529369,46.7209721],[21.4923253,46.6859652],[21.4728438,46.6959075],[21.4299047,46.693937],[21.4309553,46.6781367],[21.4546661,46.660863],[21.4162375,46.6426231],[21.4097959,46.6218052],[21.3657038,46.6379501],[21.3300499,46.6318155],[21.3139733,46.617666],[21.3012351,46.5908672],[21.3207905,46.5828562],[21.2743045,46.5407362],[21.2600254,46.5021583],[21.2744188,46.4767333],[21.2964506,46.4762973],[21.3174343,46.4507288],[21.2895176,46.4154784],[21.2963256,46.4069601],[21.2250116,46.4136899],[21.2064214,46.4033825],[21.1992563,46.3479034],[21.1762269,46.3357664],[21.180497,46.3044494],[21.1155437,46.3018529],[21.1030549,46.2624637],[21.0708792,46.2539014],[21.0660827,46.2429394],[21.0366237,46.2480392],[21.0246723,46.2665329],[20.960817,46.2623039],[20.9465849,46.2793024],[20.9250701,46.2766191],[20.9218133,46.2618129],[20.8732713,46.2877555],[20.7756538,46.2759602],[20.7490474,46.2508489],[20.7618619,46.204563],[20.727401,46.2077485],[20.7341052,46.1939355],[20.7140487,46.1660531],[20.6843592,46.1447802],[20.6549178,46.1497739],[20.6394471,46.1267602],[20.5450486,46.1790935],[20.5014839,46.190334],[20.4949436,46.1709908],[20.4592293,46.1428837],[20.3975133,46.1574709],[20.3685325,46.1528554],[20.3557074,46.1696256],[20.2968136,46.1521542],[20.2549024,46.1158522],[20.2484757,46.1300956],[20.2330132,46.1241668],[20.1817362,46.1601137],[20.1364966,46.1449476],[20.1009667,46.1772756],[20.0636156,46.1437275],[20.0346142,46.1458888],[20.0158072,46.1768354],[19.9354075,46.1764243],[19.8533469,46.1500005],[19.8179747,46.1281652],[19.7585403,46.1479754],[19.6982054,46.1879317],[19.6827672,46.1800388],[19.661508,46.1904394],[19.6317396,46.1692993],[19.5676482,46.179106],[19.5604013,46.1665762],[19.5026585,46.1424492],[19.5271208,46.1210269],[19.4645033,46.0953827],[19.4665828,46.0820437],[19.4160037,46.0460453],[19.3803957,46.0358749],[19.3640923,46.0522965],[19.2819012,46.0148048],[19.2965348,45.9881173],[19.2856472,45.9968981],[19.1479857,45.9963445],[19.1338422,46.0370993],[19.104873,46.0401673],[19.0660427,46.0001999],[19.0796791,45.9636376],[19.0059803,45.9590674],[19.0092745,45.9236559],[18.9061334,45.9353801],[18.8794572,45.9166827],[18.8647137,45.9208493],[18.8685629,45.9113361],[18.8276792,45.9051714],[18.8220041,45.9145893],[18.8075092,45.9036055],[18.809247,45.8796189],[18.7956242,45.8784488],[18.7048857,45.9181883],[18.6700246,45.9108439],[18.6596602,45.9168934],[18.6651348,45.899279],[18.6412808,45.8890396],[18.6550179,45.8742393],[18.6277704,45.8733782],[18.6148449,45.8531438],[18.6236656,45.8398531],[18.5732391,45.8137578],[18.5749849,45.8004344],[18.559716,45.8037961],[18.5223504,45.7826858],[18.4906706,45.7947167],[18.4821905,45.7655032],[18.4562828,45.7695229],[18.4450763,45.7605195],[18.446853,45.737128],[18.40763,45.7397119],[18.3918949,45.7616983],[18.3642257,45.7729364],[18.3394214,45.7471605],[18.2968157,45.7612196],[18.2440473,45.7612305],[18.2307311,45.7790328],[18.1908702,45.7878759],[18.1681939,45.7762712],[18.1246514,45.7896277],[18.1068067,45.7708256],[18.0818922,45.7645205],[17.9958808,45.7957311],[17.9302095,45.7863301],[17.9066757,45.7925692],[17.8653145,45.7670064],[17.8262748,45.8099957],[17.8089784,45.8040989],[17.7809054,45.8174884],[17.7603399,45.811923],[17.7408624,45.8295975],[17.6632915,45.8381849],[17.6276211,45.8979446],[17.5700676,45.9358204],[17.4378254,45.9503823],[17.4258964,45.9272681],[17.4108059,45.9399665],[17.392149,45.9302149],[17.3828713,45.9475733],[17.3476208,45.9423413],[17.3438769,45.9605329],[17.3537711,45.9525011],[17.3905375,45.9581914],[17.387423,45.9661823],[17.3583539,45.9642737],[17.3754852,45.9686921],[17.3751895,45.9881054],[17.3635685,45.9915442],[17.3567202,45.9735836],[17.3339583,45.9960781],[17.3319847,45.9728948],[17.3129974,45.9665347],[17.323647,45.9887776],[17.2987653,45.9838652],[17.3041996,46.0021128],[17.2579726,46.0110256],[17.29632,46.0285169],[17.2541514,46.030005],[17.270955,46.0567055],[17.2324767,46.0592034],[17.2525145,46.0664725],[17.2313144,46.0790345],[17.2019916,46.0765488],[17.2331299,46.0989644],[17.2104017,46.1001693],[17.2129734,46.113855],[17.175927,46.1084583],[17.1743424,46.1287608],[17.1865197,46.1332308],[17.1810983,46.1505485],[17.1562307,46.1585819],[17.1592857,46.1696818],[17.1261012,46.1684495],[17.1227409,46.1789791],[17.0752482,46.1889531],[17.0661614,46.2022984],[16.9735401,46.2251982],[16.973954,46.2431113],[16.9504085,46.2415285],[16.8862356,46.2814598],[16.8713682,46.3252767],[16.8802109,46.3356966],[16.8615374,46.3452401],[16.8656232,46.3556489],[16.8521959,46.3517189],[16.8498589,46.3626245],[16.8352859,46.3638195],[16.8376499,46.3748032],[16.8261732,46.3670994],[16.7933444,46.387385],[16.7592072,46.3776563],[16.7298672,46.40149],[16.7182119,46.3898704],[16.6772872,46.4494536],[16.6631785,46.4486958],[16.6663732,46.4582995],[16.6187915,46.4619875],[16.604468,46.4760773],[16.5235997,46.5053761],[16.5325768,46.5314027],[16.5176728,46.5363516],[16.5084107,46.5652692],[16.4829969,46.5660383],[16.4834008,46.5786011],[16.4455713,46.610952],[16.4248583,46.6131645],[16.385941,46.6442485],[16.3915424,46.6637257],[16.4198454,46.6584771],[16.4286335,46.6939737],[16.3689211,46.7040082],[16.3798266,46.7153869],[16.3710856,46.7222945],[16.3570587,46.7142387],[16.3185954,46.7541449],[16.3305417,46.7752119],[16.3121626,46.7780033],[16.3127666,46.797314],[16.3406373,46.8051851],[16.3508404,46.8300552],[16.3403309,46.8468762],[16.3015007,46.8595142],[16.2913867,46.8728341],[16.2332296,46.8766702],[16.1560866,46.8537074],[16.126571,46.8569079],[16.1139147,46.8691038]]],"terms_url":"http://www.fomi.hu/","terms_text":"Földmérési és Távérzékelési Intézet"},{"name":"FR-BAN","type":"tms","description":"French address registry or Base Adresses Nationale","template":"http://{switch:a,b,c}.layers.openstreetmap.fr/bano/{zoom}/{x}/{y}.png","scaleExtent":[12,20],"polygon":[[[8.3247852,49.0891892],[6.1566882,49.6167369],[4.8666714,50.2126152],[2.4937064,51.1761675],[1.3121526,50.9324682],[1.2659981,50.1877492],[0.1121369,49.8258592],[-0.3494075,49.4312336],[-1.0232625,49.4852345],[-1.3278818,49.7901162],[-2.1032765,49.7901162],[-1.6232703,48.7420657],[-3.1002126,48.9728514],[-5.1125465,48.6811558],[-5.3525496,48.4367783],[-4.5984193,47.7194959],[-2.555398,47.0232784],[-2.4738077,46.6638823],[-1.6676954,46.1055717],[-1.334807,45.5141125],[-1.4914604,44.1627003],[-1.9940567,43.3708146],[-0.956228,42.7364747],[2.2029487,42.2841894],[3.2342502,42.5444129],[3.2407774,43.1140543],[4.0436261,43.3280964],[6.4325902,42.808345],[7.6270723,43.5934102],[7.8163619,44.1720643],[7.0396221,44.41967],[7.268075,45.4958141],[7.1244761,46.2140775],[6.5631347,46.771283],[7.6571492,47.59128],[7.6527839,47.5941813],[7.6224698,47.5776739],[7.6047297,47.578221],[7.5877054,47.5901532],[7.521558,47.65161],[7.503992,47.70235],[7.520958,47.77685],[7.557124,47.84839],[7.549463,47.879205],[7.574615,47.93028],[7.613179,47.96804],[7.611904,47.9871],[7.5612401,48.0383618],[7.574915,48.1258],[7.595338,48.15977],[7.633047,48.19717],[7.662748,48.22473],[7.684659,48.30305],[7.763463,48.49158],[7.8004602,48.5125977],[7.799582,48.5878],[7.834088,48.64439],[7.9121073,48.6889897],[7.9672295,48.7571585],[8.020692,48.78879],[8.043024,48.7956],[8.0864658,48.8130551],[8.1364418,48.8978239],[8.1970586,48.96021],[8.2816129,48.9948995],[8.2996723,49.025966],[8.3124269,49.0599642],[8.3247852,49.0891892]],[[9.3609615,43.1345098],[8.4393174,42.48439],[8.4836272,41.8175373],[8.8469677,41.3768281],[9.2058772,41.3136241],[9.48946,41.5461776],[9.6356823,42.1994563],[9.6046655,42.901254],[9.3609615,43.1345098]]],"terms_url":"https://wiki.openstreetmap.org/wiki/WikiProject_France/WikiProject_Base_Adresses_Nationale_Ouverte_(BANO)","terms_text":"Tiles © cquest@Openstreetmap France, data © OpenStreetMap contributors, ODBL","id":"FR-BAN"},{"name":"FR-Cadastre","type":"tms","description":"French land registry","template":"http://tms.cadastre.openstreetmap.fr/*/tout/{z}/{x}/{y}.png","scaleExtent":[12,20],"polygon":[[[8.3247852,49.0891892],[6.1566882,49.6167369],[4.8666714,50.2126152],[2.4937064,51.1761675],[1.3121526,50.9324682],[1.2659981,50.1877492],[0.1121369,49.8258592],[-0.3494075,49.4312336],[-1.0232625,49.4852345],[-1.3278818,49.7901162],[-2.1032765,49.7901162],[-1.6232703,48.7420657],[-3.1002126,48.9728514],[-5.1125465,48.6811558],[-5.3525496,48.4367783],[-4.5984193,47.7194959],[-2.555398,47.0232784],[-2.4738077,46.6638823],[-1.6676954,46.1055717],[-1.334807,45.5141125],[-1.4914604,44.1627003],[-1.9940567,43.3708146],[-0.956228,42.7364747],[2.2029487,42.2841894],[3.2342502,42.5444129],[3.2407774,43.1140543],[4.0436261,43.3280964],[6.4325902,42.808345],[7.6270723,43.5934102],[7.8163619,44.1720643],[7.0396221,44.41967],[7.268075,45.4958141],[7.1244761,46.2140775],[6.5631347,46.771283],[7.6571492,47.59128],[7.6527839,47.5941813],[7.6224698,47.5776739],[7.6047297,47.578221],[7.5877054,47.5901532],[7.521558,47.65161],[7.503992,47.70235],[7.520958,47.77685],[7.557124,47.84839],[7.549463,47.879205],[7.574615,47.93028],[7.613179,47.96804],[7.611904,47.9871],[7.5612401,48.0383618],[7.574915,48.1258],[7.595338,48.15977],[7.633047,48.19717],[7.662748,48.22473],[7.684659,48.30305],[7.763463,48.49158],[7.8004602,48.5125977],[7.799582,48.5878],[7.834088,48.64439],[7.9121073,48.6889897],[7.9672295,48.7571585],[8.020692,48.78879],[8.043024,48.7956],[8.0864658,48.8130551],[8.1364418,48.8978239],[8.1970586,48.96021],[8.2816129,48.9948995],[8.2996723,49.025966],[8.3124269,49.0599642],[8.3247852,49.0891892]],[[9.3609615,43.1345098],[8.4393174,42.48439],[8.4836272,41.8175373],[8.8469677,41.3768281],[9.2058772,41.3136241],[9.48946,41.5461776],[9.6356823,42.1994563],[9.6046655,42.901254],[9.3609615,43.1345098]]],"terms_url":"http://wiki.openstreetmap.org/wiki/WikiProject_Cadastre_Fran%C3%A7ais/Conditions_d%27utilisation","terms_text":"cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2015","id":"FR-Cadastre"},{"name":"Freemap.sk Car","type":"tms","template":"http://t{switch:1,2,3,4}.freemap.sk/A/{zoom}/{x}/{y}.jpeg","scaleExtent":[8,16],"polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_text":"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."},{"name":"Freemap.sk Cyclo","type":"tms","template":"http://t{switch:1,2,3,4}.freemap.sk/C/{zoom}/{x}/{y}.jpeg","scaleExtent":[8,16],"polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_text":"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."},{"name":"Freemap.sk Hiking","type":"tms","template":"http://t{switch:1,2,3,4}.freemap.sk/T/{zoom}/{x}/{y}.jpeg","scaleExtent":[8,16],"polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_text":"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."},{"name":"Freemap.sk Ski","type":"tms","template":"http://t{switch:1,2,3,4}.freemap.sk/K/{zoom}/{x}/{y}.jpeg","scaleExtent":[8,16],"polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_text":"Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."},{"name":"Geodatastyrelsen (Denmark)","type":"tms","template":"http://osmtools.septima.dk/mapproxy/tiles/1.0.0/kortforsyningen_ortoforaar/EPSG3857/{zoom}/{x}/{y}.jpeg","scaleExtent":[0,21],"polygon":[[[8.3743941,54.9551655],[8.3683809,55.4042149],[8.2103997,55.4039795],[8.2087314,55.4937345],[8.0502655,55.4924731],[8.0185123,56.7501399],[8.1819161,56.7509948],[8.1763274,57.0208898],[8.3413329,57.0219872],[8.3392467,57.1119574],[8.5054433,57.1123212],[8.5033923,57.2020499],[9.3316304,57.2027636],[9.3319079,57.2924835],[9.4978864,57.2919578],[9.4988593,57.3820608],[9.6649749,57.3811615],[9.6687295,57.5605591],[9.8351961,57.5596265],[9.8374896,57.6493322],[10.1725726,57.6462818],[10.1754245,57.7367768],[10.5118282,57.7330269],[10.5152095,57.8228945],[10.6834853,57.8207722],[10.6751613,57.6412021],[10.5077045,57.6433097],[10.5039992,57.5535088],[10.671038,57.5514113],[10.6507805,57.1024538],[10.4857673,57.1045138],[10.4786236,56.9249051],[10.3143981,56.9267573],[10.3112341,56.8369269],[10.4750295,56.83509],[10.4649016,56.5656681],[10.9524239,56.5589761],[10.9479249,56.4692243],[11.1099335,56.4664675],[11.1052639,56.376833],[10.9429901,56.3795284],[10.9341235,56.1994768],[10.7719685,56.2020244],[10.7694751,56.1120103],[10.6079695,56.1150259],[10.4466742,56.116717],[10.2865948,56.118675],[10.2831527,56.0281851],[10.4439274,56.0270388],[10.4417713,55.7579243],[10.4334961,55.6693533],[10.743814,55.6646861],[10.743814,55.5712253],[10.8969041,55.5712253],[10.9051793,55.3953852],[11.0613726,55.3812841],[11.0593038,55.1124061],[11.0458567,55.0318621],[11.2030844,55.0247474],[11.2030844,55.117139],[11.0593038,55.1124061],[11.0613726,55.3812841],[11.0789572,55.5712253],[10.8969041,55.5712253],[10.9258671,55.6670198],[10.743814,55.6646861],[10.7562267,55.7579243],[10.4417713,55.7579243],[10.4439274,56.0270388],[10.4466742,56.116717],[10.6079695,56.1150259],[10.6052053,56.0247462],[10.9258671,56.0201215],[10.9197132,55.9309388],[11.0802782,55.92792],[11.0858066,56.0178284],[11.7265047,56.005058],[11.7319981,56.0952142],[12.0540333,56.0871256],[12.0608477,56.1762576],[12.7023469,56.1594405],[12.6611131,55.7114318],[12.9792318,55.7014026],[12.9612912,55.5217294],[12.3268659,55.5412096],[12.3206071,55.4513655],[12.4778226,55.447067],[12.4702432,55.3570479],[12.6269738,55.3523837],[12.6200898,55.2632576],[12.4627339,55.26722],[12.4552949,55.1778223],[12.2987046,55.1822303],[12.2897344,55.0923641],[12.6048608,55.0832904],[12.5872011,54.9036285],[12.2766618,54.9119031],[12.2610181,54.7331602],[12.1070691,54.7378161],[12.0858621,54.4681655],[11.7794953,54.4753579],[11.7837381,54.5654783],[11.1658525,54.5782155],[11.1706443,54.6686508],[10.8617173,54.6733956],[10.8651245,54.7634667],[10.7713646,54.7643888],[10.7707276,54.7372807],[10.7551428,54.7375776],[10.7544039,54.7195666],[10.7389074,54.7197588],[10.7384368,54.7108482],[10.7074486,54.7113045],[10.7041094,54.6756741],[10.5510973,54.6781698],[10.5547184,54.7670245],[10.2423994,54.7705935],[10.2459845,54.8604673],[10.0902268,54.8622134],[10.0873731,54.7723851],[9.1555798,54.7769557],[9.1562752,54.8675369],[8.5321973,54.8663765],[8.531432,54.95516]],[[11.4577738,56.819554],[11.7849181,56.8127385],[11.7716715,56.6332796],[11.4459621,56.6401087]],[[11.3274736,57.3612962],[11.3161808,57.1818004],[11.1508692,57.1847276],[11.1456628,57.094962],[10.8157703,57.1001693],[10.8290599,57.3695272]],[[11.5843266,56.2777928],[11.5782882,56.1880397],[11.7392309,56.1845765],[11.7456428,56.2743186]],[[14.6825922,55.3639405],[14.8395247,55.3565231],[14.8263755,55.2671261],[15.1393406,55.2517359],[15.1532015,55.3410836],[15.309925,55.3330556],[15.295719,55.2437356],[15.1393406,55.2517359],[15.1255631,55.1623802],[15.2815819,55.1544167],[15.2535578,54.9757646],[14.6317464,55.0062496]]],"terms_url":"http://download.kortforsyningen.dk/content/vilkaar-og-betingelser","terms_text":"Geodatastyrelsen og Danske Kommuner","best":true},{"name":"Geoportal.gov.pl (Orthophotomap)","type":"tms","template":"http://wms.misek.pl/geoportal.orto/tms/{zoom}/{x}/{y}","scaleExtent":[6,24],"polygon":[[[15.9751041,54.3709213],[16.311164,54.5561775],[17.1391878,54.7845723],[18.3448458,54.9022727],[19.6613689,54.4737213],[20.2815206,54.4213456],[21.4663914,54.3406369],[22.7759855,54.3769755],[22.8625989,54.4233613],[23.2956657,54.2678633],[23.5347186,54.0955258],[23.5208604,53.9775182],[23.7183389,53.4629603],[23.9296755,53.1856735],[23.9296755,52.6887269],[23.732197,52.6067497],[23.5658994,52.5878101],[23.2090523,52.3302642],[23.1951942,52.2370089],[23.5035377,52.1860596],[23.6906226,52.0030113],[23.5970802,51.739903],[23.6629063,51.3888562],[23.9366046,50.9827781],[24.1687284,50.8604752],[24.0197534,50.8035823],[24.1098313,50.6610467],[24.0578633,50.4188439],[23.6178674,50.3083403],[22.6824431,49.5163532],[22.7378756,49.2094935],[22.9041733,49.0780441],[22.8625989,48.9940062],[22.6096878,49.0371785],[22.0761495,49.2004392],[21.8474902,49.3721872],[21.3763135,49.4488281],[21.1026153,49.3721872],[20.9120659,49.3022043],[20.6452967,49.3902311],[20.1845136,49.3315641],[20.1186875,49.2004392],[19.9419962,49.1302123],[19.765305,49.2117568],[19.7479823,49.3992506],[19.6024718,49.4150307],[19.5089294,49.5815389],[19.4292451,49.5905232],[19.2317666,49.4150307],[18.9961783,49.387976],[18.9338167,49.4916048],[18.8368097,49.4938552],[18.8021643,49.6623381],[18.6427958,49.7094091],[18.521537,49.8994693],[18.0815412,50.0109209],[17.8875272,49.9886512],[17.7385522,50.0687739],[17.6068999,50.1709584],[17.7454813,50.2153184],[17.710836,50.3017019],[17.4163505,50.2640668],[16.9486384,50.4453265],[16.8932058,50.4033889],[17.0006064,50.3105529],[17.017929,50.2241854],[16.8135215,50.186489],[16.6402948,50.0976742],[16.4324227,50.2862087],[16.1968344,50.4276731],[16.4220291,50.5885165],[16.3388803,50.6632429],[16.2280152,50.6368824],[16.0547884,50.6127057],[15.5732181,50.7641544],[15.2683391,50.8976368],[15.2440873,50.980597],[15.0292862,51.0133036],[15.0015699,50.8582883],[14.8110205,50.8735944],[14.956531,51.0721176],[15.0188926,51.2914636],[14.9392083,51.4601459],[14.7209426,51.5571799],[14.7521234,51.6260562],[14.5996839,51.8427626],[14.70362,52.0733396],[14.5581095,52.2497371],[14.5165351,52.425436],[14.6031485,52.5878101],[14.1146491,52.8208272],[14.152759,52.9733951],[14.3502374,53.0734212],[14.4229927,53.2665624],[14.1977979,53.8734759],[14.2220497,53.9958517]]],"terms_text":"Copyright © Główny Urząd Geodezji i Kartografii.","best":true},{"name":"IBGE Mapa de Setores Rurais","type":"tms","template":"http://{switch:a,b,c}.tiles.mapbox.com/v4/tmpsantos.i00mo1kj/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw","scaleExtent":[0,14],"polygon":[[[-29.3325,2.335959],[-28.72472,2.031551],[-27.76041,-8.937033],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.838943],[-66.52331,-9.985873],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.669083],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.587397],[-73.29207,-9.454149],[-73.0625,-9.017267],[-73.61432,-8.40982],[-74.09056,-7.527548],[-74.03652,-7.27885],[-73.84718,-7.238285],[-73.78618,-6.774872],[-73.22362,-6.430106],[-73.33719,-6.029736],[-72.93016,-5.038711],[-71.93973,-4.425027],[-70.96802,-4.248294],[-70.79598,-4.064931],[-70.02393,-4.167345],[-69.51025,-1.134089],[-69.70776,-0.567619],[-70.13645,-0.226161],[-70.14083,0.5844],[-69.26594,0.806502],[-69.34226,0.968924],[-69.92481,1.015705],[-69.92343,1.773851],[-68.38511,1.82943],[-68.24848,2.119808],[-67.94571,1.948424],[-67.37696,2.327468],[-67.05751,1.858336],[-67.00579,1.291603],[-66.79967,1.314684],[-66.28683,0.857709],[-65.67671,1.111146],[-65.42494,0.966549],[-65.15671,1.24203],[-64.27483,1.601591],[-64.0486,2.065137],[-63.47236,2.279358],[-64.13446,2.433909],[-64.10005,2.723778],[-64.32628,3.118275],[-64.28142,3.541983],[-64.88451,4.117671],[-64.88064,4.342461],[-64.13653,4.223152],[-63.95465,4.021316],[-63.17706,4.048301],[-62.96093,3.763658],[-62.82024,4.106019],[-62.49922,4.270815],[-61.91181,4.26284],[-61.35393,4.630097],[-61.04904,4.623115],[-60.70452,4.969851],[-60.78709,5.296764],[-60.22457,5.371207],[-59.89857,5.107541],[-59.97549,4.603025],[-59.59676,4.439875],[-59.41942,3.96994],[-59.71017,3.542008],[-59.88955,2.72301],[-59.63006,2.316332],[-59.63382,1.966581],[-59.18812,1.478079],[-58.80545,1.320732],[-58.35933,1.689932],[-57.6,1.803907],[-57.39854,2.065119],[-57.12392,2.128758],[-56.02925,1.949445],[-56.23884,2.263348],[-55.98195,2.628657],[-55.64816,2.519953],[-54.93958,2.682515],[-54.24988,2.25056],[-53.73937,2.473731],[-52.98578,2.280494],[-52.65712,2.564069],[-52.41739,3.22121],[-51.73983,4.119158],[-51.7246,4.556867],[-51.0112,5.522895],[-43.48209,5.335832],[-29.3325,2.335959]]]},{"name":"IBGE Mapa de Setores Urbanos","type":"tms","template":"http://{switch:a,b,c}.tiles.mapbox.com/v4/tmpsantos.hgda0m6h/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw","scaleExtent":[0,19],"polygon":[[[-29.3325,2.335959],[-28.72472,2.031551],[-27.76041,-8.937033],[-27.67249,-22.20839],[-51.11495,-35.46552],[-53.39394,-33.85064],[-53.62553,-33.72493],[-53.62503,-33.15428],[-53.24498,-32.73392],[-53.65747,-32.51873],[-53.8329,-32.16592],[-54.64174,-31.55507],[-55.29638,-31.3429],[-55.57371,-30.99691],[-56.06384,-31.16749],[-56.10468,-30.86436],[-56.86862,-30.20752],[-57.39671,-30.40464],[-57.74384,-30.22142],[-55.83724,-28.16598],[-54.86969,-27.44994],[-53.9016,-27.02998],[-53.74972,-26.25781],[-53.97158,-25.74513],[-54.44723,-25.79609],[-54.67802,-25.64668],[-54.36097,-24.35145],[-54.41679,-24.06527],[-54.64355,-23.94107],[-55.22163,-24.11355],[-55.49138,-24.02797],[-55.71734,-22.68488],[-55.90555,-22.39886],[-56.45255,-22.21731],[-56.8256,-22.4002],[-57.34109,-22.34351],[-58.08472,-22.13075],[-57.95766,-20.99818],[-58.26551,-20.24147],[-58.03577,-19.95871],[-58.23083,-19.75211],[-57.64739,-18.19828],[-57.89356,-17.57377],[-58.16997,-17.53519],[-58.48825,-17.21961],[-58.57691,-16.81466],[-58.45563,-16.42158],[-60.2541,-16.32571],[-60.33481,-15.51483],[-60.67423,-15.1122],[-60.34999,-14.99707],[-60.63603,-13.84119],[-61.07283,-13.62569],[-61.9025,-13.62647],[-62.21395,-13.25048],[-62.80185,-13.10905],[-63.17194,-12.76568],[-63.74229,-12.54071],[-64.32845,-12.59578],[-65.10261,-12.0682],[-65.45781,-11.27865],[-65.41641,-9.838943],[-66.52331,-9.985873],[-67.66452,-10.80093],[-67.99778,-10.75991],[-68.52286,-11.20807],[-69.88988,-11.02776],[-70.30957,-11.1699],[-70.71896,-11.02003],[-70.68128,-9.669083],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.587397],[-73.29207,-9.454149],[-73.0625,-9.017267],[-73.61432,-8.40982],[-74.09056,-7.527548],[-74.03652,-7.27885],[-73.84718,-7.238285],[-73.78618,-6.774872],[-73.22362,-6.430106],[-73.33719,-6.029736],[-72.93016,-5.038711],[-71.93973,-4.425027],[-70.96802,-4.248294],[-70.79598,-4.064931],[-70.02393,-4.167345],[-69.51025,-1.134089],[-69.70776,-0.567619],[-70.13645,-0.226161],[-70.14083,0.5844],[-69.26594,0.806502],[-69.34226,0.968924],[-69.92481,1.015705],[-69.92343,1.773851],[-68.38511,1.82943],[-68.24848,2.119808],[-67.94571,1.948424],[-67.37696,2.327468],[-67.05751,1.858336],[-67.00579,1.291603],[-66.79967,1.314684],[-66.28683,0.857709],[-65.67671,1.111146],[-65.42494,0.966549],[-65.15671,1.24203],[-64.27483,1.601591],[-64.0486,2.065137],[-63.47236,2.279358],[-64.13446,2.433909],[-64.10005,2.723778],[-64.32628,3.118275],[-64.28142,3.541983],[-64.88451,4.117671],[-64.88064,4.342461],[-64.13653,4.223152],[-63.95465,4.021316],[-63.17706,4.048301],[-62.96093,3.763658],[-62.82024,4.106019],[-62.49922,4.270815],[-61.91181,4.26284],[-61.35393,4.630097],[-61.04904,4.623115],[-60.70452,4.969851],[-60.78709,5.296764],[-60.22457,5.371207],[-59.89857,5.107541],[-59.97549,4.603025],[-59.59676,4.439875],[-59.41942,3.96994],[-59.71017,3.542008],[-59.88955,2.72301],[-59.63006,2.316332],[-59.63382,1.966581],[-59.18812,1.478079],[-58.80545,1.320732],[-58.35933,1.689932],[-57.6,1.803907],[-57.39854,2.065119],[-57.12392,2.128758],[-56.02925,1.949445],[-56.23884,2.263348],[-55.98195,2.628657],[-55.64816,2.519953],[-54.93958,2.682515],[-54.24988,2.25056],[-53.73937,2.473731],[-52.98578,2.280494],[-52.65712,2.564069],[-52.41739,3.22121],[-51.73983,4.119158],[-51.7246,4.556867],[-51.0112,5.522895],[-43.48209,5.335832],[-29.3325,2.335959]]]},{"name":"Imagerie Drone (Haiti)","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/iomhaiti/{zoom}/{x}/{y}","polygon":[[[-72.1547401,19.6878969],[-72.162234,19.689011],[-72.164995,19.6932445],[-72.1657838,19.6979977],[-72.161603,19.7035677],[-72.1487449,19.7028993],[-72.1477194,19.7026765],[-72.1485082,19.7001514],[-72.1436963,19.7011169],[-72.1410143,19.7000029],[-72.139476,19.6973664],[-72.1382533,19.6927617],[-72.1386872,19.6923161],[-72.1380561,19.6896423],[-72.1385294,19.6894938],[-72.1388055,19.6901251],[-72.1388844,19.6876741],[-72.1378195,19.6872656],[-72.13778,19.6850003],[-72.1369517,19.6855945],[-72.136794,19.6840719],[-72.135729,19.6835148],[-72.1355713,19.6740817],[-72.1366362,19.6708133],[-72.1487843,19.6710733],[-72.1534779,19.6763843],[-72.1530835,19.6769414],[-72.1533251,19.6769768],[-72.1532807,19.6796525],[-72.1523834,19.6797175],[-72.1522749,19.6803488],[-72.1519101,19.6803395],[-72.1518608,19.6805067],[-72.1528173,19.6806552],[-72.1522299,19.6833011],[-72.1507801,19.6831499],[-72.1504457,19.6847862],[-72.1508591,19.6843492],[-72.1530087,19.6849898],[-72.1546258,19.6854354],[-72.1543103,19.6870694],[-72.1547244,19.6868466],[-72.1548501,19.6877564],[-72.1545814,19.6877982]],[[-72.1310601,19.6718929],[-72.1259842,19.6772765],[-72.1255379,19.6776179],[-72.1216891,19.6776442],[-72.1149677,19.672602],[-72.1152745,19.6687152],[-72.1198205,19.6627535],[-72.1227768,19.6625696],[-72.1248965,19.662701],[-72.1285779,19.6645394],[-72.1308091,19.6661677],[-72.1316737,19.668794],[-72.1315621,19.671]],[[-71.845795,19.6709758],[-71.8429354,19.6759525],[-71.8410027,19.6759525],[-71.8380249,19.6755254],[-71.8378671,19.6745041],[-71.8390504,19.6743927],[-71.8390109,19.6741141],[-71.8398392,19.673947],[-71.8389123,19.6736127],[-71.8380249,19.67209],[-71.8380052,19.6726285],[-71.8376699,19.6727214],[-71.8376305,19.672545],[-71.8354414,19.6732135],[-71.835333,19.6729999],[-71.8331242,19.6734642],[-71.8326706,19.6716815],[-71.8321579,19.67209],[-71.8307183,19.6694902],[-71.8306009,19.6697594],[-71.8302174,19.6698907],[-71.8291833,19.6672095],[-71.8290749,19.6672095],[-71.8289122,19.6667916],[-71.8289516,19.6666199],[-71.8288333,19.6663506],[-71.8285572,19.6664759],[-71.8288678,19.6672466],[-71.8287593,19.6674138],[-71.8277979,19.6678177],[-71.8277112,19.6678586],[-71.8278263,19.6679637],[-71.8271831,19.6681212],[-71.8271761,19.6680917],[-71.8264405,19.6683921],[-71.8264074,19.6683231],[-71.8261954,19.6684253],[-71.8261806,19.6683556],[-71.8258946,19.6684206],[-71.8258897,19.6686574],[-71.8251551,19.6687549],[-71.8254509,19.6691588],[-71.8229332,19.6695739],[-71.822713,19.6696658],[-71.8227688,19.6697577],[-71.8201751,19.6709855],[-71.8198474,19.6704537],[-71.8197985,19.6706014],[-71.8194674,19.6707557],[-71.8182472,19.6713433],[-71.8181426,19.6711431],[-71.8175813,19.6714254],[-71.816959,19.6707672],[-71.8176388,19.6718965],[-71.8171403,19.6720376],[-71.8158225,19.6718045],[-71.8138354,19.6711874],[-71.8123259,19.6706982],[-71.8121759,19.6704258],[-71.8124304,19.6701467],[-71.8119184,19.6700141],[-71.8118765,19.6705828],[-71.811169,19.6703483],[-71.8095938,19.6698516],[-71.8077992,19.6692829],[-71.8056028,19.668612],[-71.8051443,19.6668942],[-71.8051196,19.6652322],[-71.8052315,19.661979],[-71.8065603,19.6523921],[-71.8073412,19.6482946],[-71.8099686,19.6468292],[-71.8147517,19.6454502],[-71.8147726,19.6455619],[-71.8150027,19.6455093],[-71.8149469,19.6453846],[-71.8159928,19.6450234],[-71.8158882,19.6448855],[-71.8165854,19.6446097],[-71.8190119,19.643802],[-71.8211524,19.643454],[-71.8221564,19.6433292],[-71.8269046,19.643211],[-71.8280481,19.6432241],[-71.8304466,19.6440778],[-71.8306419,19.6448592],[-71.8295263,19.6450365],[-71.8296064,19.6456111],[-71.8299411,19.6455651],[-71.8303699,19.6451744],[-71.830471,19.6453452],[-71.8308092,19.6451974],[-71.8310184,19.6451088],[-71.8312519,19.6458541],[-71.8311125,19.6458245],[-71.831367,19.6465862],[-71.8328939,19.646189],[-71.8344566,19.6457062],[-71.8344664,19.6463052],[-71.834215,19.6461938],[-71.8342002,19.6465513],[-71.8346702,19.6463],[-71.8349118,19.6463905],[-71.8347984,19.6462187],[-71.8354393,19.6458496],[-71.8355034,19.6458032],[-71.8364747,19.6461328],[-71.8376382,19.6472658],[-71.8379143,19.647888],[-71.8390483,19.6508039],[-71.8456942,19.6696203]],[[-72.098878,18.54843],[-72.096993,18.5501994],[-72.0972888,18.5503209],[-72.0968451,18.5503489],[-72.0955632,18.551854],[-72.0956428,18.5526742],[-72.0959914,18.5533748],[-72.0962145,18.553203],[-72.0962842,18.5535665],[-72.0964446,18.5535533],[-72.0965352,18.5539764],[-72.0965056,18.554173],[-72.0966085,18.5541747],[-72.0965178,18.5542127],[-72.0968769,18.5546588],[-72.0979018,18.5552141],[-72.1006211,18.5555875],[-72.1014926,18.5556206],[-72.1024339,18.5555016],[-72.103417,18.5543515],[-72.1034798,18.5516215],[-72.1030789,18.5516149],[-72.1033752,18.5515224],[-72.1035042,18.5515224],[-72.1035239,18.5502417],[-72.1028701,18.5503062],[-72.1029015,18.55025],[-72.1028457,18.5501773],[-72.1035081,18.5500252],[-72.103491,18.5497396],[-72.1035181,18.5497361],[-72.1035398,18.5489039],[-72.1034317,18.5487056],[-72.102717,18.5481437],[-72.1025601,18.5481536],[-72.10229,18.5482751],[-72.1022891,18.5482569],[-72.1025201,18.5481396],[-72.1023388,18.5481321],[-72.0999082,18.5480901],[-72.09907,18.5483799]],[[-72.2542503,18.568262],[-72.2560252,18.5717765],[-72.2557886,18.5748049],[-72.2535009,18.5755526],[-72.2522782,18.5755526],[-72.2499906,18.5740945],[-72.2473874,18.5698323],[-72.2460069,18.566729],[-72.2458492,18.5629527],[-72.2479396,18.5625414],[-72.2501483,18.5628031],[-72.2519232,18.5650839]],[[-72.303145,18.5332749],[-72.3031275,18.5331799],[-72.3048311,18.5311081],[-72.3097397,18.5311081],[-72.3164332,18.5324302],[-72.3234056,18.5366083],[-72.3261388,18.5387765],[-72.3261946,18.5426371],[-72.3170468,18.5540596],[-72.3130864,18.5540596],[-72.2987511,18.5453342],[-72.2988627,18.5407333],[-72.2962969,18.5404689],[-72.2954602,18.5395169],[-72.2961853,18.5338582],[-72.2971893,18.5332235],[-72.3007034,18.5332764],[-72.3022652,18.5342284],[-72.3028486,18.5335189],[-72.303104,18.5333361],[-72.303181,18.5334007],[-72.3035793,18.5335614],[-72.3030793,18.5346463],[-72.303715,18.5339873],[-72.3045286,18.5344052],[-72.3044015,18.5345097],[-72.3062747,18.5352571],[-72.3063107,18.5352741],[-72.3061219,18.5357628],[-72.3061219,18.5358196],[-72.30637,18.5358928],[-72.3062726,18.5354869],[-72.3066688,18.5350891],[-72.3061963,18.5349706],[-72.3058869,18.5349385],[-72.3055373,18.5346833],[-72.3054864,18.534613],[-72.3055585,18.5345065],[-72.3046749,18.5342293],[-72.3047617,18.5338817],[-72.3043252,18.5337511],[-72.3042595,18.5336346]],[[-72.2981405,18.477502],[-72.2935652,18.4948587],[-72.2922242,18.4964297],[-72.2931708,18.4972526],[-72.2892266,18.5057058],[-72.2878067,18.5080996],[-72.2850458,18.5119893],[-72.2840203,18.5113161],[-72.2808649,18.515879],[-72.2773151,18.5175994],[-72.2723454,18.5175246],[-72.2662714,18.5144578],[-72.2665869,18.5066783],[-72.2692643,18.5046154],[-72.2661965,18.5029756],[-72.2688181,18.4965222],[-72.2691528,18.4959403],[-72.2702684,18.4961519],[-72.2702684,18.4955964],[-72.2690691,18.49557],[-72.2692922,18.4937714],[-72.2736988,18.4859951],[-72.2746749,18.4850429],[-72.2751769,18.483403],[-72.2765435,18.4813398],[-72.2773523,18.4814985],[-72.2783006,18.4809694],[-72.2778544,18.4807049],[-72.2771013,18.480123],[-72.2789978,18.4775836],[-72.279723,18.4772927],[-72.2806433,18.4776365],[-72.2813685,18.4771604],[-72.2808386,18.4769752],[-72.2812848,18.4758378],[-72.2823167,18.4751765],[-72.2851615,18.4750971],[-72.2849941,18.4763668],[-72.2854404,18.4769752],[-72.286277,18.4756262],[-72.2869325,18.4754675],[-72.2865978,18.4751897],[-72.2865978,18.4750046],[-72.2909765,18.4747268],[-72.2946579,18.4749384],[-72.2973911,18.476843]],[[-72.3466657,18.5222375],[-72.346833,18.5244325],[-72.3475303,18.5277645],[-72.3455501,18.5291131],[-72.3403069,18.5292189],[-72.3383267,18.5280289],[-72.3369043,18.530118],[-72.3338086,18.5296684],[-72.3289279,18.5270769],[-72.328649,18.5253316],[-72.3292068,18.5232689],[-72.330406,18.5220524],[-72.3321631,18.5221847],[-72.3322467,18.5191963],[-72.3369183,18.5183633],[-72.3382012,18.5184691],[-72.3381454,18.5181782],[-72.3411993,18.5177947],[-72.3454943,18.5171997],[-72.3492595,18.517279],[-72.3504308,18.5188922],[-72.3503472,18.5206112],[-72.3496778,18.5220392]],[[-72.3303078,18.5486462],[-72.3429687,18.5508149],[-72.3433236,18.5530585],[-72.3413121,18.5614341],[-72.3390639,18.5613593],[-72.3384723,18.5638271],[-72.3375257,18.5654348],[-72.3348436,18.5650609],[-72.3311755,18.5638271],[-72.3312149,18.5616211],[-72.3232082,18.5606863],[-72.3212361,18.559602],[-72.3208023,18.5587046],[-72.3208811,18.557882],[-72.3259493,18.5580274],[-72.3266186,18.5581993],[-72.3259214,18.5577498],[-72.3250986,18.5573797],[-72.3233767,18.552263],[-72.3245994,18.5478507],[-72.3288986,18.5483742],[-72.329979,18.5489548]],[[-72.3231383,18.5269828],[-72.3223434,18.528067],[-72.3209629,18.5279745],[-72.3207816,18.5271282],[-72.3208513,18.5253697],[-72.3214649,18.5249598],[-72.3225666,18.5248937],[-72.3228454,18.52533],[-72.3232359,18.5264804]],[[-72.2160832,18.6457752],[-72.2159649,18.6553795],[-72.2030279,18.6558279],[-72.1947057,18.6553421],[-72.1922208,18.6545573],[-72.1920631,18.6521283],[-72.193483,18.6477559],[-72.201253,18.6385249],[-72.2069327,18.6388239],[-72.2120996,18.6424117],[-72.2118068,18.6430591],[-72.2121693,18.6426892],[-72.2127968,18.6427552],[-72.2134662,18.6431252],[-72.2135638,18.6437462],[-72.2154176,18.6443947],[-72.2158909,18.6450301]],[[-72.2867654,18.6482017],[-72.2900977,18.6527446],[-72.28981,18.6536532],[-72.2900738,18.6542664],[-72.290721,18.6537667],[-72.2910327,18.6544709],[-72.2912485,18.654221],[-72.29168,18.6558905],[-72.2912245,18.656606],[-72.2922673,18.65597],[-72.2926869,18.6567536],[-72.2930705,18.6567309],[-72.2941253,18.6581846],[-72.2960192,18.6608421],[-72.2959713,18.6619096],[-72.2932862,18.664567],[-72.2906731,18.6659979],[-72.2895943,18.6661342],[-72.2895943,18.6665657],[-72.2877004,18.6664749],[-72.2875805,18.6676559],[-72.2831214,18.6697227],[-72.2796453,18.6696546],[-72.2784311,18.6690787],[-72.2783972,18.6687736],[-72.277736,18.6691671],[-72.2774394,18.669143],[-72.2770071,18.6683159],[-72.2765575,18.6681125],[-72.2765385,18.6680583],[-72.2752319,18.6685239],[-72.2749292,18.6674649],[-72.2746416,18.6674309],[-72.2734668,18.6682145],[-72.2732271,18.6682712],[-72.2726757,18.6671583],[-72.2719147,18.6674288],[-72.2718808,18.6673405],[-72.2688149,18.6681868],[-72.2688269,18.6671761],[-72.2690786,18.6668241],[-72.2688149,18.66679],[-72.2681077,18.6670739],[-72.2676282,18.6673805],[-72.2675563,18.6666878],[-72.266861,18.666949],[-72.2655904,18.6673578],[-72.2654466,18.6670058],[-72.2647514,18.6674146],[-72.2629893,18.6681868],[-72.2628455,18.6681754],[-72.2626537,18.6676076],[-72.2623001,18.6677098],[-72.2624799,18.6679199],[-72.2624799,18.6682322],[-72.262306,18.6682606],[-72.2620963,18.6679654],[-72.2622761,18.6689193],[-72.2601484,18.6688966],[-72.2542749,18.6687944],[-72.2505388,18.6683476],[-72.2504371,18.669536],[-72.2477926,18.6698893],[-72.2415204,18.669793],[-72.2414187,18.6741933],[-72.2389167,18.6739759],[-72.2387249,18.6734649],[-72.2383653,18.6733059],[-72.2387009,18.6739532],[-72.2375502,18.6738964],[-72.2374183,18.6735103],[-72.237742,18.67334],[-72.2375142,18.6732605],[-72.236843,18.6734876],[-72.2364354,18.6724088],[-72.2355124,18.6726019],[-72.2354045,18.6724202],[-72.2353027,18.6729028],[-72.2345475,18.6726871],[-72.2343077,18.6724599],[-72.2342358,18.6734706],[-72.2334087,18.6734592],[-72.2332889,18.6733003],[-72.2327375,18.6732889],[-72.2327135,18.6735047],[-72.227703,18.6725281],[-72.2265283,18.6716537],[-72.226804,18.6715742],[-72.2274993,18.6715855],[-72.2274873,18.6714493],[-72.2272899,18.6714623],[-72.2272814,18.6712977],[-72.2272094,18.671358],[-72.2261785,18.6713693],[-72.2256032,18.670881],[-72.2255073,18.6694502],[-72.2261066,18.6696886],[-72.2261785,18.6695949],[-72.2259837,18.6695495],[-72.225777,18.6691379],[-72.2253335,18.6694643],[-72.2249739,18.66947],[-72.2245783,18.6678802],[-72.2235525,18.6677046],[-72.2235907,18.6675921],[-72.2224634,18.6676283],[-72.2223659,18.667022],[-72.2223277,18.6670943],[-72.2219209,18.667026],[-72.2208105,18.6669015],[-72.220809,18.6665325],[-72.2208705,18.6663593],[-72.2206023,18.6668107],[-72.2203895,18.6666361],[-72.2184341,18.6650535],[-72.21829,18.6640979],[-72.2183493,18.6608376],[-72.2187223,18.6606541],[-72.2186894,18.660603],[-72.2187253,18.6604525],[-72.2189771,18.6603247],[-72.2187823,18.6601998],[-72.2186984,18.6602367],[-72.2185815,18.6600352],[-72.2186085,18.6600039],[-72.2187823,18.6601345],[-72.218995,18.6600181],[-72.2189111,18.6599131],[-72.2189681,18.6597938],[-72.2183807,18.6595837],[-72.2184728,18.6539662],[-72.2201001,18.6511554],[-72.225796,18.6469472],[-72.2283048,18.6457265],[-72.2379335,18.645855],[-72.237764,18.6446985],[-72.2400355,18.6432529],[-72.2455958,18.6433493],[-72.2482742,18.6450358],[-72.2487488,18.6436705],[-72.2511067,18.6429775],[-72.2512385,18.6433409],[-72.2512625,18.6431592],[-72.2514843,18.6431365],[-72.2513284,18.6429718],[-72.2533602,18.6423471],[-72.253516,18.6426765],[-72.2539535,18.6425402],[-72.2541453,18.642932],[-72.2543851,18.6428696],[-72.2543791,18.6427503],[-72.2564168,18.6423244],[-72.2566925,18.6431365],[-72.2568783,18.6428582],[-72.2568184,18.6425288],[-72.258843,18.6420991],[-72.258885,18.6422467],[-72.2592626,18.6422297],[-72.2596461,18.6424057],[-72.2592206,18.6406907],[-72.2599545,18.6404815],[-72.2601156,18.6406341],[-72.2601156,18.6399393],[-72.2615268,18.6394669],[-72.2626056,18.6391034],[-72.2654465,18.6387286],[-72.2719433,18.6386832],[-72.272201,18.6388649],[-72.2730341,18.6394158],[-72.273166,18.6412558],[-72.2738732,18.6410286],[-72.2742208,18.6416079],[-72.2752187,18.6416987],[-72.2754524,18.6415738],[-72.2755513,18.6416874],[-72.2755394,18.6417527],[-72.2764713,18.6418634],[-72.276753,18.6418975],[-72.2762953,18.6426002],[-72.2774226,18.6429978],[-72.277982,18.6427247],[-72.2785796,18.6431303],[-72.2785669,18.6432307],[-72.2789017,18.6433471],[-72.279851,18.6439655],[-72.2858703,18.6469651]],[[-72.5557247,18.5305893],[-72.5555866,18.5367036],[-72.554995,18.537975],[-72.5488026,18.537919],[-72.5486646,18.5372832],[-72.548842,18.5306267],[-72.5493745,18.5301031],[-72.555133,18.5301218]],[[-72.6235278,18.5079877],[-72.6234441,18.5095217],[-72.6226074,18.5104341],[-72.6204878,18.511849],[-72.6183403,18.5107514],[-72.6162207,18.5083183],[-72.6162625,18.506467],[-72.618661,18.5044438],[-72.6204041,18.5044967],[-72.6228305,18.506996]]]},{"name":"imagico.de OSM images for mapping: Alaska Range","type":"tms","description":"LC80700162014211LGN00, 2014-07-31 channels 234 (true color), Recent summer image of the Alaska Range for mapping natural features","template":"http://imagico.de/map/osmim_tiles.php?layer=LC80700162014211LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,12],"polygon":[[[-152.708729431479,62.3036424122946],[-152.708729431479,63.5464553885127],[-148.994366411548,63.5464553885127],[-148.994366411548,62.3036424122946],[-152.708729431479,62.3036424122946]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC80700162014211LGN00"},{"name":"imagico.de OSM images for mapping: Bakun Reservoir","type":"tms","description":"LC81190582014075LGN00/LC81180582015183LGN00, 2014-03-16, channels 234 (true color), Missing in older pre-2011 images","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81190582014075LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[113.53447549873,2.02707458823865],[113.53447549873,3.07076712442006],[114.765167437974,3.07076712442006],[114.765167437974,2.02707458823865],[113.53447549873,2.02707458823865]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81190582014075LGN00"},{"name":"imagico.de OSM images for mapping: Batam","type":"tms","description":"LC81250592016107LGN00, LC81250602015184LGN00, LC81240602014174LGN00, 2014-2016, channels 234 (true color), Missing Islands in OSM","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81250592016107LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[104.001374040597,0],[104.001374040597,1.45116299803241],[104.910109782012,1.45116299803241],[104.910109782012,0],[104.001374040597,0]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81250592016107LGN00"},{"name":"imagico.de OSM images for mapping: Bouvet Island","type":"tms","description":"LC81800982013291LGN00, 2013-10-18, channels 234 (true color), For more accurate coastline and glacier mapping","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81800982013291LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[3.24652940311363,-54.4705168479877],[3.24652940311363,-54.3753916879791],[3.46391271871771,-54.3753916879791],[3.46391271871771,-54.4705168479877],[3.24652940311363,-54.4705168479877]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81800982013291LGN00","best":true},{"name":"imagico.de OSM images for mapping: Clerke Rocks","type":"tms","description":"LC82050982015344LGN00, 2015-12-10, channels 234 (true color), Missing in other image sources","template":"http://imagico.de/map/osmim_tiles.php?layer=LC82050982015344LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[-35.1959928318028,-55.2968852515402],[-35.1959928318028,-54.7209735214882],[-34.1252010131324,-54.7209735214882],[-34.1252010131324,-55.2968852515402],[-35.1959928318028,-55.2968852515402]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC82050982015344LGN00"},{"name":"imagico.de OSM images for mapping: Cotonou","type":"tms","description":"S2A_OPER_PRD_MSIL1C_PDMC_20151222T164644_R022_V20151221T103009_20151221T103009, 2015-12-21, channels 234 (true color), Patchy and partly cloudy coverage in usual sources","template":"http://imagico.de/map/osmim_tiles.php?layer=S2A_R022_N06_20151221T103009&z={zoom}&x={x}&y={-y}","scaleExtent":[0,14],"polygon":[[[1.83974970187678,6.25776229826032],[1.83974970187678,7.1142717924319],[2.5494187763312,7.1142717924319],[2.5494187763312,6.25776229826032],[1.83974970187678,6.25776229826032]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-S2A_R022_N06_20151221T103009"},{"name":"imagico.de OSM images for mapping: Eastern Devon Island coast","type":"tms","description":"LC80360072014245LGN00/LC80380062014243LGN00, 2014-09-02, channel 654 (false color IR), Coastline mostly mapped meanwhile","template":"http://imagico.de/map/osmim_tiles.php?layer=LC80360072014245LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,11],"polygon":[[[-84.3479873388655,74.3894989734754],[-84.3479873388655,75.8903032392084],[-79.1485833901459,75.8903032392084],[-79.1485833901459,74.3894989734754],[-84.3479873388655,74.3894989734754]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC80360072014245LGN00"},{"name":"imagico.de OSM images for mapping: Eastern Iceland","type":"tms","description":"LC82160152013239LGN00, 2013-08-27, channels 234 (true color), Missing islets and inaccurate coast","template":"http://imagico.de/map/osmim_tiles.php?layer=LC82160152013239LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,12],"polygon":[[[-15.1680535723581,64.2088554380107],[-15.1680535723581,64.8157280042209],[-13.0435379254154,64.8157280042209],[-13.0435379254154,64.2088554380107],[-15.1680535723581,64.2088554380107]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC82160152013239LGN00"},{"name":"imagico.de OSM images for mapping: El Altar","type":"tms","description":"AST_L1T_00302052007154424_20150518041444_91492, 2012-02-05, channels 12x (true color with estimated blue), 2007 ASTER image offering better glacier coverage than common sources","template":"http://imagico.de/map/osmim_tiles.php?layer=AST_L1T_00302052007154424_20150518041444_91492&z={zoom}&x={x}&y={-y}","scaleExtent":[0,14],"polygon":[[[-78.531997745432,-1.8050814821624],[-78.531997745432,-1.60810556500124],[-78.3355811085593,-1.60810556500124],[-78.3355811085593,-1.8050814821624],[-78.531997745432,-1.8050814821624]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-AST_L1T_00302052007154424_20150518041444_91492"},{"name":"imagico.de OSM images for mapping: Elephant Island/Clarence Island","type":"tms","description":"S2A_OPER_PRD_MSIL1C_PDMC_20160109T225906_R009_V20160109T130043_20160109T130043, 2016-01-09, channels 234 (true color), Fairly clear up-to-date image for updating glacier edges","template":"http://imagico.de/map/osmim_tiles.php?layer=S2A_R009_S61_20160109&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[-56.1347609072749,-61.634696838288],[-56.1347609072749,-60.8398161307814],[-53.723458105877,-60.8398161307814],[-53.723458105877,-61.634696838288],[-56.1347609072749,-61.634696838288]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-S2A_R009_S61_20160109"},{"name":"imagico.de OSM images for mapping: Fogo, Cape Verde","type":"tms","description":"LC82100502015347LGN00, 2015-12-13, channels 234 (true color), Image from after the 2014/2015 eruption","template":"http://imagico.de/map/osmim_tiles.php?layer=LC82100502015347LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,14],"polygon":[[[-24.7587819559676,14.7481298855965],[-24.7587819559676,15.0924935449651],[-24.2670621357462,15.0924935449651],[-24.2670621357462,14.7481298855965],[-24.7587819559676,14.7481298855965]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC82100502015347LGN00"},{"name":"imagico.de OSM images for mapping: Greenland mosaic","type":"tms","description":"mostly Landsat 8 2013-2015 channels 234 (true color), Landsat mosaic of Greenland","template":"http://imagico.de/map/osmim_tiles.php?layer=greenland&z={zoom}&x={x}&y={-y}","scaleExtent":[0,12],"polygon":[[[-43.335169388775576,59.78884556778711],[-43.5940638938192,59.723921705576714],[-43.840898275878764,59.67490148496335],[-44.23515133460447,59.653417915878954],[-44.657213255061194,59.680989005977885],[-45.81015180316172,59.81951972989828],[-46.81057076187592,59.98139710469466],[-47.20837894817284,60.150960472742064],[-47.22064190066637,60.33805731472787],[-47.255916208498,60.42332684576548],[-47.34990349056956,60.446387835215525],[-47.51603887007207,60.45119769375011],[-47.65139646003081,60.48896403744677],[-47.79170835578903,60.52050863908786],[-49.10695022655055,60.73414367492607],[-49.52399924941209,60.97440124547532],[-50.493558334841985,61.089523147855694],[-51.1011476720755,61.3931538528416],[-51.226493283028084,61.8368218735183],[-51.66491000695862,62.06066494936552],[-51.98744899262875,62.355028063412306],[-52.04791761614332,62.676138274608135],[-52.68385390751712,62.89777335327022],[-53.00141158114564,63.22960936121321],[-52.98804591383922,63.665519960839994],[-53.37455124039754,63.88257990608798],[-53.462018437442744,64.21700667649995],[-53.625006563694996,64.39608940752123],[-53.62418230433685,64.87666336480167],[-53.92737410039694,65.14174166474336],[-54.58568916434171,65.51879633173807],[-55.020580045260964,66.04786962007503],[-54.974959716968506,66.43747058777413],[-55.04621700056885,66.81068389526814],[-55.18883177742317,67.07445292724583],[-55.295917291513724,67.2980754937805],[-55.49386806070968,67.62765205772878],[-55.58982586875712,67.74762927352513],[-55.800191618857184,68.05623485476666],[-56.166042896634444,68.44155152338232],[-56.086954623441976,68.68479069915158],[-55.692397350070934,69.09499941753234],[-55.78268862269791,69.35591450732602],[-55.97508469715559,69.51460160299163],[-56.22131441053026,69.61961934478276],[-56.28674985487528,69.75311038137812],[-56.27734150260429,69.86115681621736],[-56.47867255356253,69.98628865160101],[-56.729667549723445,70.20797294037203],[-56.780049018329095,70.4030123058809],[-56.66995480486827,70.53429026926025],[-56.76965573535976,70.59936425752305],[-56.750047814068225,70.67605894741244],[-56.630475021762926,70.75228057874938],[-56.63957096755714,70.79345598378389],[-56.95453022049966,70.92185386457368],[-57.682941688207656,71.10356260725686],[-57.9990573064922,71.18275256548473],[-58.06673093129251,71.31878823942327],[-57.73776694812512,71.73468567987527],[-57.688607830732714,71.96425305773354],[-57.29627634430133,72.25939767922573],[-57.027097307050845,72.49722993388094],[-57.22262816078322,72.61296218481311],[-57.61910829550675,72.72652221937263],[-58.05813139640902,73.01331566875426],[-58.76645057271363,73.2808359719379],[-59.14761885260487,73.53482225342569],[-59.03651118375505,73.80651043385626],[-58.8823279108656,74.19210040380365],[-59.24788269229215,74.4273495816669],[-59.99510425025614,74.65678100854564],[-60.806460490534164,74.7868931828055],[-61.54936387752781,74.99717139513008],[-62.44046860998914,75.00073689358435],[-62.985115364477565,75.11722591645595],[-63.51928606785155,75.31691397958907],[-63.64288486720879,75.52488932122031],[-64.1242392273263,75.5921799154749],[-64.58761243996756,75.53593567213079],[-65.31057987327657,75.42103306523184],[-65.99461388511591,75.4041967649632],[-66.28964875049822,75.41792163747078],[-68.76453492310549,75.13410011250316],[-71.04622564987365,74.79937286637706],[-73.5067977908339,75.97399646374085],[-74.5601685819203,76.43273848659732],[-74.5601685819203,82.6959322619224],[-12.86174239943403,82.6959322619224],[-11.878165975221727,82.54102593940235],[-10.7797834094343,82.51187042401891],[-10.7797834094343,78.34458993192563],[-10.838211677734567,78.32665786610472],[-12.549216515959552,77.9578508228317],[-12.803493182847879,77.85845362808246],[-12.916087338718654,77.65848905807152],[-13.070950321133406,77.52877948776312],[-13.47955419255021,77.40221679143431],[-14.13060832134256,77.30552053875587],[-14.69541342101231,77.14674387861214],[-14.882617750618206,76.84736003108713],[-14.323648701941867,76.53205658256601],[-12.810144796765599,76.24823964501138],[-12.151831546734856,75.86267532270129],[-12.987745033472448,75.38717284756257],[-14.066766809859267,74.8451997920592],[-15.423357647282502,74.4551642069618],[-17.28174157007599,74.24584688808936],[-19.113380020736102,73.72978765991853],[-20.062373344103577,73.11108267968514],[-20.162312506727517,72.6186060300425],[-19.85354831628143,72.0718529721276],[-19.943252248300748,71.55019790921727],[-20.918542646451737,70.67423312425346],[-21.379621573201593,70.27938590726379],[-21.725469254364587,70.05299977015657],[-21.93869730345768,69.92215619574657],[-22.463306498894173,69.6235894257334],[-23.059252433112615,69.5491649852365],[-23.860796144964162,69.34443527043162],[-24.74741743781591,68.93340370554307],[-25.481987646795183,68.76711754662492],[-25.815395630476477,68.51279831615729],[-26.344103298317982,68.32443780018751],[-27.449680541202035,68.19315579455328],[-28.42826258633533,67.66140945836786],[-29.237141834543507,67.60310787132272],[-30.062476147434136,67.41414423917192],[-31.96817868027385,66.21262359095492],[-33.33718066100074,65.93894291103432],[-33.86781919039464,65.7415652217968],[-34.94415141573626,65.29121928843726],[-36.438872573697054,65.22802281646563],[-36.716767002697864,65.14683055370199],[-36.97927615837815,64.90967633661491],[-37.473922616631825,64.38546237809376],[-38.95785728548117,62.7419538908273],[-39.61555442323402,61.96904156671025],[-40.549088272349444,60.92614046823071],[-41.17137829347243,60.43812852329213],[-42.07544989793619,60.311876129737485],[-42.734129957211564,60.001556976048406],[-43.335169388775576,59.78884556778711]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-greenland"},{"name":"imagico.de OSM images for mapping: Heard Island coast","type":"tms","description":"S2A_OPER_PRD_MSIL1C_PDMC_20160412T212111_R047_V20160411T044330_20160411T044330, 2016-04-12, channels 234 (true color), Recent image of Heard island with interior mostly cloud covered but mostly well visible coast","template":"http://imagico.de/map/osmim_tiles.php?layer=S2A_R047_S54_20160411T044330&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[73.0689652102818,-53.2705500548086],[73.0689652102818,-52.8754896362687],[74.0885530577575,-52.8754896362687],[74.0885530577575,-53.2705500548086],[73.0689652102818,-53.2705500548086]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-S2A_R047_S54_20160411T044330"},{"name":"imagico.de OSM images for mapping: Isla Londonderry","type":"tms","description":"LC82280982013259LGN00, 2013-09-16, channel 654 (false color IR), A lot of very coarse coastlines could be improved here, much snow cover though so no use for glacier mapping","template":"http://imagico.de/map/osmim_tiles.php?layer=LC82280982013259LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,12],"polygon":[[[-72.2652065929688,-55.5594608405404],[-72.2652065929688,-54.178890106312],[-69.4910293325508,-54.178890106312],[-69.4910293325508,-55.5594608405404],[-72.2652065929688,-55.5594608405404]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC82280982013259LGN00"},{"name":"imagico.de OSM images for mapping: Leskov Island ASTER","type":"tms","description":"AST_L1T_00311162013112731_20150618142416_109190, 2013-11-16, channels 12x (true color with estimated blue), Missing in other image sources","template":"http://imagico.de/map/osmim_tiles.php?layer=AST_L1T_00311162013112731_20150618142416_109190&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[-28.2107470814065,-56.721108415345],[-28.2107470814065,-56.6249750430891],[-27.9696123096903,-56.6249750430891],[-27.9696123096903,-56.721108415345],[-28.2107470814065,-56.721108415345]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-AST_L1T_00311162013112731_20150618142416_109190"},{"name":"imagico.de OSM images for mapping: Leskov Island Landsat","type":"tms","description":"LC81991002015286LGN00, 2015-10-13, channels 234 (true color), Missing in other image sources","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81991002015286LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[-28.2277611728877,-56.7347696464053],[-28.2277611728877,-56.6007525373185],[-27.9690463710613,-56.6007525373185],[-27.9690463710613,-56.7347696464053],[-28.2277611728877,-56.7347696464053]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81991002015286LGN00"},{"name":"imagico.de OSM images for mapping: May 2013 off-nadir Landsat","type":"tms","description":"LC80372442013137LGN01-LC80530012013137LGN01, 2013-05-17, channels 234 (true color), Only available image north of the regular Landsat limit, mostly with seasonal snow cover so difficult to interpret","template":"http://imagico.de/map/osmim_tiles.php?layer=ls_polar&z={zoom}&x={x}&y={-y}","scaleExtent":[0,10],"polygon":[[[-89.8315284119521,81.3934028410464],[-89.8315284119521,83.7045077508689],[-17.9663056823904,83.7045077508689],[-17.9663056823904,81.3934028410464],[-89.8315284119521,81.3934028410464]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-ls_polar"},{"name":"imagico.de OSM images for mapping: New Ireland","type":"tms","description":"LC80940622015159LGN00, 2015-06-08, channels 234 (true color), Many missing islands in OSM (mostly mapped meanwhile)","template":"http://imagico.de/map/osmim_tiles.php?layer=LC80940622015159LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,14],"polygon":[[[150.388533766196,-2.80056783608088],[150.388533766196,-2.38339617820643],[150.833478309574,-2.38339617820643],[150.833478309574,-2.80056783608088],[150.388533766196,-2.80056783608088]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC80940622015159LGN00"},{"name":"imagico.de OSM images for mapping: Northern Ellesmere Island","type":"tms","description":"ASTER L1T, 2012-07-09/2012-07-15, channels 12x (true color with estimated blue), Assembled from July 2012 ASTER imagery","template":"http://imagico.de/map/osmim_tiles.php?layer=nellesmere_ast&z={zoom}&x={x}&y={-y}","scaleExtent":[0,10],"polygon":[[[-83.0313625595429,82.4597689567848],[-83.0313625595429,83.0958397705009],[-65.6583851391606,83.0958397705009],[-65.6583851391606,82.4597689567848],[-83.0313625595429,82.4597689567848]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-nellesmere_ast"},{"name":"imagico.de OSM images for mapping: Northern German west coast tidalflats","type":"tms","description":"LC81960222015233LGN00, 2015-08-21 channels 134 (true color), Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81960222015233LGN00vis&z={zoom}&x={x}&y={-y}","scaleExtent":[0,12],"polygon":[[[7.63567991501593,53.2802190281286],[7.63567991501593,55.502457780526],[9.20773166222509,55.502457780526],[9.20773166222509,53.2802190281286],[7.63567991501593,53.2802190281286]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81960222015233LGN00vis"},{"name":"imagico.de OSM images for mapping: Northern German west coast tidalflats (infrared)","type":"tms","description":"LC81960222015233LGN00, 2015-08-21 channel 654 (false color IR), Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81960222015233LGN00ir&z={zoom}&x={x}&y={-y}","scaleExtent":[0,12],"polygon":[[[7.63567991501593,53.2802190281286],[7.63567991501593,55.502457780526],[9.20773166222509,55.502457780526],[9.20773166222509,53.2802190281286],[7.63567991501593,53.2802190281286]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81960222015233LGN00ir"},{"name":"imagico.de OSM images for mapping: Northern Greenland ASTER","type":"tms","description":"ASTER L1T, 2005-06-21 to 2012-08-13, channels 12x (true color with estimated blue), Assembled from mostly 2012 ASTER imagery, some 2005 images mainly in the northeast","template":"http://imagico.de/map/osmim_tiles.php?layer=ngreenland_ast&z={zoom}&x={x}&y={-y}","scaleExtent":[0,10],"polygon":[[[-52.49221819431,82.4897991404581],[-52.49221819431,83.7321400994933],[-21.1842327268577,83.7321400994933],[-21.1842327268577,82.4897991404581],[-52.49221819431,82.4897991404581]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-ngreenland_ast"},{"name":"imagico.de OSM images for mapping: Northwest Heard Island","type":"tms","description":"EO1A1350972013086110KF, 2013-03-13, channels 973 (false color IR), Glaciers of Northwest Heard Island (mapped meanwhile)","template":"http://imagico.de/map/osmim_tiles.php?layer=EO1A1350972013086110KF&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[73.2279041335011,-53.2033655831056],[73.2279041335011,-52.9494391381048],[73.7898811920934,-52.9494391381048],[73.7898811920934,-53.2033655831056],[73.2279041335011,-53.2033655831056]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-EO1A1350972013086110KF"},{"name":"imagico.de OSM images for mapping: Panama Canal","type":"tms","description":"S2A_OPER_PRD_MSIL1C_PDMC_20160607T121312_R111_V20160604T154554_20160604T154554, 2016-06-07, channels 234 (true color), Images of the new locks (but partly cloudy)","template":"http://imagico.de/map/osmim_tiles.php?layer=S2A_R111_N09_20160604T154554&z={zoom}&x={x}&y={-y}","scaleExtent":[0,14],"polygon":[[[-80.0165356176622,8.84894832639322],[-80.0165356176622,9.41480707574399],[-79.4685632943493,9.41480707574399],[-79.4685632943493,8.84894832639322],[-80.0165356176622,8.84894832639322]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-S2A_R111_N09_20160604T154554"},{"name":"imagico.de OSM images for mapping: Pensacola Mountains","type":"tms","description":"LC81511242016033LGN00/LC81511232016033LGN00, 2016-02-02, channels 234 (true color), Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81511242016033LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,10],"polygon":[[[-60.6153778814062,-84.1252820431153],[-60.6153778814062,-82.299687854391],[-44.5135525206644,-82.299687854391],[-44.5135525206644,-84.1252820431153],[-60.6153778814062,-84.1252820431153]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81511242016033LGN00"},{"name":"imagico.de OSM images for mapping: Prokletije Mountains","type":"tms","description":"S2A_OPER_PRD_MSIL1C_PDMC_20160316T034950_R136_V20150831T093006_20150831T093006, 2015-08-31, channels 234 (true color), Late summer imagery where usual sources are severely limited by clouds and snow","template":"http://imagico.de/map/osmim_tiles.php?layer=S2A_R136_N41_20150831T093006&z={zoom}&x={x}&y={-y}","scaleExtent":[0,14],"polygon":[[[19.0842590534772,42.1531616550022],[19.0842590534772,43.0960297809089],[20.6378953373619,43.0960297809089],[20.6378953373619,42.1531616550022],[19.0842590534772,42.1531616550022]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-S2A_R136_N41_20150831T093006"},{"name":"imagico.de OSM images for mapping: Qasigiannguit","type":"tms","description":"DMS_1142622_03746_20110415_17533956, 2011-04-15, true color, Icebridge DMS image of the settlement - alignment might be poor","template":"http://imagico.de/map/osmim_tiles.php?layer=DMS_1142622_03746_20110415_17533956&z={zoom}&x={x}&y={-y}","scaleExtent":[0,15],"polygon":[[[-51.2433353705628,68.7997259148871],[-51.2433353705628,68.8530261295114],[-51.140370472697,68.8530261295114],[-51.140370472697,68.7997259148871],[-51.2433353705628,68.7997259148871]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-DMS_1142622_03746_20110415_17533956"},{"name":"imagico.de OSM images for mapping: Rann of Kutch","type":"tms","description":"various Landsat early 2015, channel 654 (false color IR), Land/water distinction difficult to properly map based on Bing/Mapbox images","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81510432015030LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,12],"polygon":[[[67.8623118572194,22.3626187997331],[67.8623118572194,24.8869308169273],[71.4900144016907,24.8869308169273],[71.4900144016907,22.3626187997331],[67.8623118572194,22.3626187997331]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81510432015030LGN00"},{"name":"imagico.de OSM images for mapping: Rila and Pirin Mountains","type":"tms","description":"S2A_OPER_PRD_MSIL1C_PDMC_20160412T121341_R093_V20150828T092005_20150828T092005, 2015-08-28, channels 234 (true color), Late summer imagery where usual sources are severely limited by clouds and snow","template":"http://imagico.de/map/osmim_tiles.php?layer=S2A_R093_N41_20150828T092005&z={zoom}&x={x}&y={-y}","scaleExtent":[0,14],"polygon":[[[22.9923796970391,41.5848941590232],[22.9923796970391,42.2998374736026],[23.9940012388324,42.2998374736026],[23.9940012388324,41.5848941590232],[22.9923796970391,41.5848941590232]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-S2A_R093_N41_20150828T092005"},{"name":"imagico.de OSM images for mapping: Rwenzori Mountains","type":"tms","description":"LC81730602015040LGN00, 2015-02-09, channel 654 (false color IR), Recent image of most of the remaining Rwenzori Mountains glaciers","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81730602015040LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[29.7662967768464,0.20687257729646],[29.7662967768464,0.509176367154027],[30.0346684679771,0.509176367154027],[30.0346684679771,0.20687257729646],[29.7662967768464,0.20687257729646]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81730602015040LGN00"},{"name":"imagico.de OSM images for mapping: Scott Island","type":"tms","description":"LC80611072014036LGN00, 2014-02-05, channels 234 (true color), Missing in other image sources","template":"http://imagico.de/map/osmim_tiles.php?layer=LC80611072014036LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[-180,-67.4263452022474],[-180,-67.3252448474477],[-179.824753575046,-67.3252448474477],[-179.824753575046,-67.4263452022474],[-180,-67.4263452022474]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC80611072014036LGN00"},{"name":"imagico.de OSM images for mapping: Shag Rocks","type":"tms","description":"LC82100972015347LGN00, 2015-12-13, channels 234 (true color), Missing in other image sources","template":"http://imagico.de/map/osmim_tiles.php?layer=LC82100972015347LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[-42.1462581850356,-53.7205050698923],[-42.1462581850356,-53.4458622334244],[-41.6557780399063,-53.4458622334244],[-41.6557780399063,-53.7205050698923],[-42.1462581850356,-53.7205050698923]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC82100972015347LGN00"},{"name":"imagico.de OSM images for mapping: Southeastern Sulawesi","type":"tms","description":"LC81130622013270LGN00, 2013-09-27, channels 234 (true color), Missing islands and coarse coastline due to cloud cover in Bing, lakes could also use additional detail","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81130622013270LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[120.843824420484,-3.59549835456283],[120.843824420484,-2.51468168634705],[122.626180758858,-2.51468168634705],[122.626180758858,-3.59549835456283],[120.843824420484,-3.59549835456283]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81130622013270LGN00"},{"name":"imagico.de OSM images for mapping: Southern Transantarctic Mountains","type":"tms","description":"LC80281222016035LGN00/LC80281212016035LGN00, 2016-02-04, channels 234 (true color), Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox","template":"http://imagico.de/map/osmim_tiles.php?layer=LC80281222016035LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,10],"polygon":[[[154.508575968435,-84.5010049969839],[154.508575968435,-82.5848702651189],[177.005570718893,-82.5848702651189],[177.005570718893,-84.5010049969839],[154.508575968435,-84.5010049969839]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC80281222016035LGN00"},{"name":"imagico.de OSM images for mapping: Thule Air Base","type":"tms","description":"DMS_1142636_16001_20110507_18221638-DMS_1142636_16076_20110507_18224996, 2011-05-07, true color, Icebridge DMS image - alignment might be poor","template":"http://imagico.de/map/osmim_tiles.php?layer=DMS_1142636_160xx_20110507_1822xxxx&z={zoom}&x={x}&y={-y}","scaleExtent":[0,15],"polygon":[[[-68.9397691752981,76.5113260720978],[-68.9397691752981,76.5517569988038],[-68.5074010458985,76.5517569988038],[-68.5074010458985,76.5113260720978],[-68.9397691752981,76.5113260720978]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-DMS_1142636_160xx_20110507_1822xxxx"},{"name":"imagico.de OSM images for mapping: Vanatinai","type":"tms","description":"LC80910682014358LGN00, 2014-12-24, channels 234 (true color), Coarse coastline due to cloud cover in Bing/Mapbox","template":"http://imagico.de/map/osmim_tiles.php?layer=LC80910682014358LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[153.061381062565,-11.7892410342423],[153.061381062565,-11.0722925205757],[154.411998092239,-11.0722925205757],[154.411998092239,-11.7892410342423],[153.061381062565,-11.7892410342423]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC80910682014358LGN00"},{"name":"imagico.de OSM images for mapping: Volcán Calbuco","type":"tms","description":"LC82330892016031LGN00, 2016-01-31, channels 234 (true color), Image from after the 2015 eruption","template":"http://imagico.de/map/osmim_tiles.php?layer=LC82330892016031LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[-72.8669610523419,-41.5174389446875],[-72.8669610523419,-41.045274923011],[-71.8751580966041,-41.045274923011],[-71.8751580966041,-41.5174389446875],[-72.8669610523419,-41.5174389446875]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC82330892016031LGN00"},{"name":"imagico.de OSM images for mapping: Western Karakoram","type":"tms","description":"LC81490352013282LGN00, 2013-10-09, channels 234 (true color), Represents approximately minimum snow cover so can be well used for glacier mapping","template":"http://imagico.de/map/osmim_tiles.php?layer=LC81490352013282LGN00&z={zoom}&x={x}&y={-y}","scaleExtent":[0,13],"polygon":[[[73.9309166917002,34.9688073863467],[73.9309166917002,37.0985693236903],[76.5270029470414,37.0985693236903],[76.5270029470414,34.9688073863467],[73.9309166917002,34.9688073863467]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-LC81490352013282LGN00"},{"name":"imagico.de OSM images for mapping: Willkanuta Mountains and Quelccaya Ice Cap","type":"tms","description":"S2A_OPER_PRD_MSIL1C_PDMC_20160511T025410_R039_V20160510T145731_20160510T150701, 2016-05-10, channels 234 (true color), Poor and outdated imagery in other sources","template":"http://imagico.de/map/osmim_tiles.php?layer=S2A_R039_S15_20160510T145731&z={zoom}&x={x}&y={-y}","scaleExtent":[0,14],"polygon":[[[-71.1807064830626,-14.4978825528812],[-71.1807064830626,-13.7102928800508],[-70.5563773605996,-13.7102928800508],[-70.5563773605996,-14.4978825528812],[-71.1807064830626,-14.4978825528812]]],"terms_url":"http://maps.imagico.de/#osmim","terms_text":"imagico.de OSM images for mapping","id":"osmim-imagicode-S2A_R039_S15_20160510T145731"},{"name":"Interspect ortofotó 2014","type":"tms","description":"Four districts of Budapest: III, XIII, XIV, XV","template":"http://geoserver.infobex.hu/Budapest2014/IST/{zoom}/{x}/{y}.jpg","scaleExtent":[10,21],"polygon":[[[19.04642,47.61098],[19.05375,47.60995],[19.06033,47.61037],[19.06022,47.61009],[19.06091,47.61023],[19.0755,47.60835],[19.07796,47.60718],[19.07773,47.60627],[19.07599,47.60433],[19.07337,47.59906],[19.07232,47.59332],[19.0723,47.58865],[19.0693,47.5798],[19.06891,47.57742],[19.06949,47.57211],[19.06623,47.56375],[19.06717,47.56427],[19.0692,47.56456],[19.06992,47.56418],[19.07011,47.56363],[19.07785,47.56148],[19.07986,47.56053],[19.08359,47.55604],[19.08516,47.5548],[19.08601,47.5551],[19.08703,47.55488],[19.0984,47.54666],[19.09974,47.54692],[19.10094,47.54656],[19.1015,47.54593],[19.1015,47.54523],[19.10255,47.54458],[19.10939,47.56255],[19.10917,47.56324],[19.11193,47.57058],[19.11235,47.57087],[19.11271,47.57297],[19.11382,47.57379],[19.1144,47.57504],[19.11779,47.58375],[19.11774,47.5844],[19.11844,47.58512],[19.12,47.58924],[19.12008,47.59563],[19.1206,47.59856],[19.12127,47.59952],[19.12266,47.6004],[19.12436,47.6008],[19.1255,47.60048],[19.12577,47.5997],[19.128,47.59885],[19.13058,47.59898],[19.13768,47.60057],[19.13874,47.60043],[19.14144,47.59639],[19.14122,47.59568],[19.14023,47.59527],[19.15557,47.58499],[19.15413,47.58389],[19.15329,47.58013],[19.15344,47.57918],[19.15499,47.57884],[19.16043,47.57871],[19.16043,47.57583],[19.16213,47.57583],[19.16196,47.57383],[19.17573,47.56442],[19.17511,47.56345],[19.16356,47.55986],[19.16295,47.5594],[19.17589,47.55134],[19.18156,47.54896],[19.18205,47.5483],[19.18165,47.54762],[19.16905,47.53994],[19.15316,47.52885],[19.14747,47.52584],[19.14691,47.52332],[19.14947,47.52059],[19.15581,47.51256],[19.1572,47.51155],[19.15697,47.51051],[19.15885,47.50566],[19.15866,47.50493],[19.15793,47.50438],[19.10292,47.49828],[19.1016,47.49846],[19.10057,47.49914],[19.09185,47.5003],[19.08953,47.50117],[19.07138,47.51722],[19.06794,47.51558],[19.06631,47.51529],[19.06522,47.51545],[19.06347,47.51668],[19.06072,47.51512],[19.05709,47.51044],[19.05567,47.50992],[19.05417,47.50997],[19.04318,47.51383],[19.04093,47.51397],[19.04045,47.51449],[19.03916,47.51909],[19.03898,47.52143],[19.03938,47.52358],[19.04081,47.52649],[19.0408,47.53092],[19.02088,47.53091],[19.02088,47.529],[19.0172,47.52866],[19.01684,47.52876],[19.01453,47.53356],[19.01459,47.5347],[19.01373,47.5348],[19.01167,47.53786],[19.01055,47.53839],[19.0051,47.53978],[19.00501,47.54075],[19.00761,47.54245],[19.00684,47.54297],[19.00684,47.54385],[19.00525,47.54499],[19.0053,47.5455],[19.00462,47.54557],[19.00434,47.54599],[19.00261,47.55075],[18.99714,47.55468],[18.99466,47.55877],[18.99244,47.5605],[18.99173,47.56266],[18.99105,47.56278],[18.986,47.56863],[18.97914,47.57257],[18.97675,47.57301],[18.97622,47.57444],[18.97677,47.57463],[18.97641,47.57596],[18.98247,47.58127],[18.98227,47.58198],[18.98276,47.58283],[18.97695,47.58448],[18.97645,47.58485],[18.97639,47.58555],[18.98285,47.58936],[18.9841,47.58929],[18.99076,47.58612],[18.99375,47.58507],[18.99618,47.58645],[18.99727,47.58664],[19.00068,47.58457],[19.0016,47.58438],[19.00892,47.58637],[19.01088,47.58637],[19.01088,47.5869],[19.01264,47.58738],[19.02151,47.58876],[19.02593,47.58914],[19.03271,47.5883],[19.03199,47.59087],[19.03113,47.59163],[19.03125,47.59276],[19.02883,47.59838],[19.02808,47.59978],[19.0239,47.60425],[19.02393,47.60498],[19.02531,47.60575],[19.03768,47.6104],[19.04642,47.61098]]],"terms_url":"http://interspect.hu/","terms_text":"Interspect Kft.","best":true},{"name":"Ireland Bartholomew Quarter-Inch 1940","type":"tms","template":"http://geo.nls.uk/maps/ireland/bartholomew/{zoom}/{x}/{-y}.png","scaleExtent":[5,13],"polygon":[[[-8.8312773,55.3963337],[-7.3221271,55.398605],[-7.2891331,55.4333162],[-7.2368042,55.4530757],[-7.18881,55.4497995],[-7.1528144,55.3968384],[-6.90561,55.394903],[-6.9047153,55.3842114],[-5.8485282,55.3922956],[-5.8378629,55.248676],[-5.3614762,55.2507024],[-5.3899172,53.8466464],[-5.8734141,53.8487436],[-5.8983,52.8256258],[-6.0191742,52.8256258],[-6.0262844,51.7712367],[-8.1131422,51.7712367],[-8.1273627,51.3268839],[-10.6052842,51.3091083],[-10.6271879,52.0328254],[-10.6469845,52.0322454],[-10.6469845,52.0440365],[-10.6271879,52.0448095],[-10.6290733,52.0745627],[-10.6699234,52.0743695],[-10.6702376,52.0876941],[-10.6312729,52.0898179],[-10.6393128,52.4147202],[-10.3137689,52.4185533],[-10.3166401,53.3341342],[-10.3699669,53.3330727],[-10.385965,54.3534472],[-8.8163777,54.3586265],[-8.8173427,54.6595721],[-8.8413398,54.6616284],[-8.8422286,54.6929749],[-8.8315632,54.7145436],[-8.8151208,54.7145436]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"Ireland British War Office 1:25k GSGS 3906","type":"tms","template":"http://mapwarper.net/layers/tile/101/{zoom}/{x}/{y}.png","scaleExtent":[0,18],"polygon":[[[-10.71,51.32],[-10.71,55.46],[-5.37,55.46],[-5.37,51.32],[-10.71,51.32]]],"terms_url":"http://wiki.openstreetmap.org/wiki/WikiProject_Ireland#Trinity_College_Dublin","terms_text":"Glucksman Map Library, Trinity College Dublin","id":"GSGS3906"},{"name":"Ireland British War Office One-Inch 1941-43 GSGS 4136","type":"tms","template":"http://geo.nls.uk/maps/ireland/gsgs4136/{zoom}/{x}/{-y}.png","scaleExtent":[5,15],"polygon":[[[-10.0847426,51.4147902],[-10.0906535,51.5064103],[-10.4564222,51.5003961],[-10.5005905,52.3043019],[-10.0837522,52.312741],[-10.0840973,52.3404698],[-10.055802,52.3408915],[-10.0768509,52.7628238],[-9.7780248,52.7684611],[-9.7818205,52.8577261],[-9.6337877,52.8596012],[-9.6449626,53.1294502],[-10.0919663,53.1227152],[-10.1051422,53.3912913],[-10.4052593,53.3866349],[-10.4530828,54.193502],[-10.2998523,54.1974988],[-10.3149801,54.4669592],[-8.9276095,54.4853897],[-8.9339534,54.7546562],[-8.7773069,54.755501],[-8.7826749,55.0252208],[-8.9402974,55.0238221],[-8.9451773,55.2934155],[-7.528039,55.2970274],[-7.525599,55.3874955],[-7.0541955,55.3841691],[-7.0556595,55.2939712],[-6.3241545,55.2859128],[-6.3217146,55.3253556],[-6.1035807,55.3223016],[-6.1045566,55.2828557],[-5.7985836,55.2772968],[-5.8117595,55.0087135],[-5.656577,55.0056351],[-5.6721928,54.7355021],[-5.3618278,54.729585],[-5.3964755,54.1917889],[-5.855679,54.2017807],[-5.9220464,52.8524504],[-6.070885,52.8551025],[-6.1030927,52.1373337],[-6.8331336,52.1463183],[-6.8355736,52.0578908],[-7.5641506,52.0617913],[-7.5661026,51.7921593],[-8.147305,51.792763],[-8.146329,51.7033331],[-8.2912636,51.7027283],[-8.2897996,51.5227274],[-9.1174397,51.516958],[-9.1179277,51.4625685],[-9.3692452,51.4616564],[-9.3672933,51.4254613]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps","id":"GSGS4136"},{"name":"Ireland EEA CORINE 2006","type":"tms","template":"http://a.tile.openstreetmap.ie/tiles/corine/{zoom}/{x}/{y}.png","scaleExtent":[5,16],"polygon":[[[-5.842956,53.8627976],[-5.8341575,53.7633541],[-5.6267647,53.5383692],[-5.9648778,52.1631197],[-6.0453211,52.0527275],[-6.1823261,51.9699475],[-6.3960035,51.9234618],[-6.5945978,51.883911],[-7.2481994,51.9056295],[-7.341212,51.8148076],[-8.1971787,51.5037019],[-8.3191005,51.4167737],[-9.4478202,51.1991221],[-9.9015706,51.2266802],[-10.472215,51.4050139],[-10.8857437,51.6770619],[-11.035318,52.0620016],[-10.9950963,52.1831616],[-10.8178697,52.3139827],[-9.8839736,52.9032208],[-10.1165049,52.9676141],[-10.5514014,53.3317027],[-10.6896633,53.5854022],[-10.6444139,54.0100436],[-10.5501445,54.257482],[-10.2824192,54.4742405],[-9.8073011,54.5705346],[-9.196435,54.5486695],[-9.2253443,54.7000264],[-8.8985435,55.1363582],[-8.0476045,55.4711977],[-7.4367384,55.6191092],[-7.2205471,55.6205288],[-6.8258723,55.5608644],[-6.0679458,55.3727567],[-5.5639184,55.0759594],[-5.0649187,54.4640142],[-5.2572284,54.1582424]]],"terms_url":"http://www.eea.europa.eu/data-and-maps/data/clc-2006-vector-data-version-1","terms_text":"EEA Corine 2006"},{"name":"Ireland EEA GMES Urban Atlas","type":"tms","template":"http://a.tile.openstreetmap.ie/tiles/urbanatlas/{zoom}/{x}/{y}.png","scaleExtent":[5,17],"polygon":[[[-9.2759602,52.7993666],[-9.215509,52.8276933],[-9.1086618,52.9128016],[-9.0196831,52.8837107],[-8.8760649,52.8978445],[-8.8001797,52.8833558],[-8.7665597,52.9065354],[-8.5938079,52.9238592],[-8.5241972,52.8869724],[-8.4956786,52.9105906],[-8.3506448,52.9238592],[-8.2718204,52.9492401],[-8.2249679,52.8991338],[-8.1564001,52.9149986],[-8.0881237,52.7630417],[-8.1360092,52.7239783],[-8.1570652,52.6766443],[-8.2059695,52.6185385],[-8.2025734,52.5954396],[-8.2231242,52.5599691],[-8.2236294,52.5095371],[-8.2976651,52.5025088],[-8.3295888,52.4721087],[-8.3589695,52.4986072],[-8.3737385,52.4764529],[-8.432326,52.4342609],[-8.4754569,52.4216289],[-8.5017727,52.3870011],[-8.5476205,52.3681351],[-8.6444103,52.3376422],[-8.6841451,52.3660614],[-8.8154099,52.3721014],[-8.8614233,52.3521652],[-8.9074451,52.3824674],[-8.9388551,52.3789166],[-8.9782502,52.4093811],[-9.0298715,52.4104169],[-9.1059449,52.420981],[-9.1084962,52.4415071],[-9.140702,52.4650891],[-9.1315765,52.5136207],[-9.1739699,52.5620573],[-9.1426235,52.589645],[-9.1542382,52.610216],[-9.1426231,52.6387401],[-9.1776844,52.6447573],[-9.2012184,52.6526248],[-9.2036198,52.6686468],[-9.2238348,52.6706578],[-9.2161072,52.6919412],[-9.1882395,52.7057242],[-9.2750099,52.7350292],[-9.2601152,52.7616711]],[[-7.307313219981238,53.81625879275365],[-7.245858447032101,53.78300449111207],[-7.15144468970801,53.81179938127503],[-7.086900011973722,53.784424420834],[-7.0347149533800435,53.77996162275688],[-6.975320116954343,53.788481098127924],[-6.928628222423156,53.81443454540607],[-6.992829577403537,53.86609081229548],[-6.975320116954343,53.87945028968944],[-6.949914233165313,53.87094929783329],[-6.9375546140247035,53.87540241385127],[-6.936867968516893,53.896649390754646],[-6.897042529063821,53.889770599553906],[-6.867516772227924,53.880259817835736],[-6.851037280040446,53.88450958346468],[-6.842454211192801,53.89786317755242],[-6.812928454356904,53.90069520963246],[-6.79850889869286,53.89280549994937],[-6.789925829845217,53.89462633440526],[-6.791985766368652,53.904538374710896],[-6.778939501720231,53.918087767078354],[-6.77001311011868,53.91505470292794],[-6.75868345923979,53.921727153244476],[-6.744263903575747,53.916065748791254],[-6.727441088634364,53.92334455637637],[-6.713021532970319,53.90777445003927],[-6.684182421642232,53.90292024303218],[-6.623757616954815,53.88187882710815],[-6.590455309825955,53.857789593974296],[-6.591141955333765,53.835509894663346],[-6.574319140392382,53.82254170362619],[-6.571572558361136,53.804703885117576],[-6.5533764524041285,53.79983770791046],[-6.541360156017425,53.78300449111207],[-6.511491076427622,53.76900546961285],[-6.472695605236269,53.77326653566421],[-6.443513171154276,53.76393220797015],[-6.44728972144724,53.75114486961979],[-6.4775021237909485,53.728199094666586],[-6.459649340587848,53.71682309412751],[-6.435616747814443,53.72230833571077],[-6.4198239011347775,53.72921465935537],[-6.4009411496699595,53.72169889975152],[-6.375878588634836,53.718042098526006],[-6.359055773693453,53.708695495259434],[-6.340173022228636,53.708085862042424],[-6.329873339611461,53.71296268045594],[-6.325753466564592,53.72210519137233],[-6.2938244504513525,53.72576163932632],[-6.265328661877173,53.7363229253304],[-6.240952746349864,53.734292114843086],[-6.180871264416349,53.632015710147016],[-6.092793818322125,53.588038288422446],[-5.985734079608837,53.49383447350347],[-6.0887447432153685,53.27174268379562],[-6.033272979232964,53.1191110041494],[-5.984663357119282,52.9651254915577],[-6.122679104189409,52.73207538466633],[-6.185163845400262,52.73706461957944],[-6.1899703639549415,52.76075568810044],[-6.319059719423517,52.782357357522855],[-6.393904079774976,52.7790347214105],[-6.465315212587381,52.6946379192593],[-6.534666408876349,52.673409093161446],[-6.612257351259057,52.69255711803012],[-6.6692489284074155,52.74745702505679],[-6.671308864930852,52.76948072949997],[-6.720747341493285,52.7748810695361],[-6.71456753192298,52.80311808637125],[-6.658949245790243,52.84709806982182],[-6.582044948915348,52.81349473557279],[-6.547712673524768,52.83133677935633],[-6.531233181337292,52.87404491274922],[-6.617750515321548,52.87528820923615],[-6.728987087587023,52.90635903963372],[-6.780485500672891,52.859122574848655],[-6.870436062196207,52.85165948109425],[-6.938413967469552,52.86658438536895],[-6.965879787782016,52.89766145203082],[-6.987852444031986,52.969260966642985],[-7.039350857117853,52.9560260536776],[-7.109388698914634,53.007288776633686],[-7.068876613953752,53.058078015357786],[-7.088789333680287,53.11869890949892],[-7.119688381531809,53.15000684568904],[-7.105955471375577,53.16112391039828],[-7.127928127625547,53.17223809655703],[-7.180113186219227,53.182526443342745],[-7.160887112000503,53.19898266621498],[-7.057890285828767,53.19898266621498],[-7.048963894227218,53.217077217179636],[-7.0915359157115345,53.235575105358386],[-7.0434707301647235,53.25735126035676],[-7.05102383075065,53.29717703664696],[-6.996778835633536,53.31112780504489],[-7.044157375672535,53.33368557548294],[-7.105955471375576,53.371801590024276],[-7.22050647653913,53.432465115081854],[-7.149441429887032,53.45731709817442],[-7.099891489102085,53.463915962572514],[-7.0744645458045445,53.48370640260363],[-7.079028356140001,53.504650927752664],[-7.047733656696876,53.515119311359335],[-7.029478415355053,53.54147267392419],[-7.054253385747527,53.56471202500164],[-7.009267255298033,53.58561652973758],[-6.992641946218873,53.602642188744426],[-6.989056095241016,53.62739453790707],[-6.9717788132567895,53.63686620586593],[-6.9633031654909425,53.650973114934644],[-6.9871001765258205,53.66623418009986],[-6.999813648174589,53.67086935885432],[-7.008289295940436,53.65908728051006],[-7.044473792171549,53.65367801032349],[-7.066640870943764,53.63918547390694],[-7.101847407817279,53.65870092708686],[-7.120754622064167,53.672993645380515],[-7.137379931143327,53.66893809633893],[-7.160850955725672,53.683034277255075],[-7.174216400279507,53.686316272406906],[-7.196057492599188,53.69017711570491],[-7.210726882963154,53.69480966037566],[-7.247237365646801,53.71661437518035],[-7.239413690786019,53.73223735177976],[-7.260276823748104,53.74361339729716],[-7.2814659431627184,53.75922634307083],[-7.289615604476034,53.77271433845693],[-7.3238441819919515,53.78465723043301],[-7.337209626545788,53.78658318504567],[-7.351227044004687,53.80141007448381],[-7.307313219981238,53.81625879275365]],[[-5.685433013282673,54.77854496390836],[-5.696867084279401,54.73050346921268],[-5.8223689524230124,54.70033215177621],[-5.878760568989772,54.649492182564074],[-5.743404719024681,54.68128223623249],[-5.581196917402638,54.68781619319656],[-5.571488953592992,54.67074450064368],[-5.582915011231644,54.66440901595977],[-5.58291501123164,54.65085746679818],[-5.6086481910584185,54.63997082553691],[-5.6354970593650116,54.61551371292451],[-5.728732824433139,54.6184944610979],[-5.822612969913913,54.49193018941315],[-5.896754545381575,54.44975600798866],[-5.936834914186871,54.38213187386197],[-6.0187561190025445,54.36974944197913],[-6.059257912638059,54.38280030737259],[-6.101784280694663,54.41510088826871],[-6.1740201072375225,54.43476829635816],[-6.216261364689026,54.42827259213158],[-6.264329002478664,54.487825014814625],[-6.249277519938476,54.49741303545491],[-6.288340515296785,54.53143435197413],[-6.283750270272458,54.54447449434036],[-6.321445027854273,54.58928767713928],[-6.264329002478664,54.604982769755765],[-6.240052417736423,54.59541999854735],[-6.098762694536575,54.631690374598676],[-6.051950538018501,54.61314575326238],[-6.031509408441251,54.620921248201434],[-6.002995140908084,54.65571636730639],[-6.0647754758974335,54.6634355452454],[-6.059920158948984,54.704134188139534],[-6.047781866577864,54.71395188569398],[-6.120611620804591,54.801644524994515],[-6.002141887262449,54.80836072138932],[-5.984662746248036,54.78652900156178],[-5.685433013282673,54.77854496390836]],[[-9.128658300749114,53.24759266864586],[-9.024510568479629,53.26744820137083],[-9.016360907166316,53.26364619217274],[-9.001854510028616,53.26588844362053],[-8.9951717877517,53.259258838409615],[-8.973493688658284,53.262378780650025],[-8.95230456924367,53.271444820907114],[-8.956705386352859,53.281580911863244],[-8.961106203462048,53.28119110665652],[-8.960780217009516,53.28908396911955],[-8.954260487958864,53.28927883616923],[-8.95230456924367,53.30155366854246],[-8.963714095082308,53.303793931840495],[-8.9811543702928,53.294734752711804],[-8.985718180628256,53.30174847871221],[-9.019946758144176,53.30768976199425],[-9.00837423907927,53.31596722087059],[-9.01880580556031,53.31625933715475],[-9.045862681120513,53.31275380979257],[-9.06444390891487,53.32122500810515],[-9.080906224767762,53.307397587062724],[-9.08106921799403,53.303404329274585],[-9.09019683866494,53.30574189135002],[-9.095901601584261,53.298826232852214],[-9.10128037805105,53.3008718259498],[-9.115623781962478,53.28450433758295],[-9.121491538108067,53.2832375443259],[-9.13273807072044,53.28557621023763],[-9.144636576237877,53.27865728614638],[-9.13876882009229,53.26345120822951],[-9.128658300749114,53.24759266864586]],[[-8.595266214281438,51.69264788483154],[-8.55819409885298,51.69306638852667],[-8.566697711835303,51.682644706464686],[-8.579130708100188,51.67349700898941],[-8.544554623426079,51.66520531197343],[-8.494765061495364,51.667778759675976],[-8.30113898732036,51.7235009029955],[-8.268406960495541,51.784858633837544],[-8.154536388302146,51.7814362126791],[-8.115350159004825,51.809093351533164],[-8.068326683848039,51.870050153657075],[-8.10059769621054,51.89964422561186],[-8.08123508879304,51.918414974037226],[-8.09183842142643,51.95337589170907],[-8.124570448251253,51.95479649105758],[-8.132407694110718,51.970988142592034],[-8.099675667285895,51.978371865876596],[-8.144394070131078,52.02151390085561],[-8.159607547387685,52.064330945363764],[-8.140705954432507,52.07254939152303],[-8.165600735397863,52.09294727054506],[-8.18726841512697,52.0835993998731],[-8.2093971093184,52.10512489114057],[-8.207092037006792,52.12494181389489],[-8.227837687811258,52.143052434929714],[-8.222766528725723,52.16454923557058],[-8.30298304516965,52.1829264222872],[-8.427456949996438,52.17783811526099],[-8.46710419375608,52.169921813849676],[-8.509978538751975,52.18405707812542],[-8.530263175094117,52.16511480067495],[-8.574981577939297,52.18066502436804],[-8.587889982884295,52.16963906274442],[-8.642289689438227,52.18829678149147],[-8.719279104645906,52.15804472022032],[-8.698533453841442,52.13541291452849],[-8.740946784375014,52.10823956240069],[-8.77460084012448,52.05951253229793],[-8.803183736788409,52.03768144571248],[-8.86818677597573,52.03286015807593],[-8.870491848287335,52.01839317543363],[-8.844214023935015,51.991148511559096],[-8.79811257770287,51.964455373040394],[-8.782899100446263,51.931777239822054],[-8.835915763613228,51.9292188160068],[-8.838681850387156,51.90277322850554],[-8.802261707863764,51.89367006943167],[-8.792580404155013,51.85695425263326],[-8.765841565340368,51.82476769939557],[-8.758926348405547,51.80054140901511],[-8.79811257770287,51.78628456602828],[-8.832227647914657,51.79626482935233],[-8.836837792537873,51.77687258059678],[-8.885705325543944,51.746055989869106],[-8.859888515653944,51.72435763090916],[-8.807332866949299,51.71093369500414],[-8.678248817499297,51.693505197270746],[-8.60540853245251,51.67835695335278],[-8.595266214281438,51.69264788483154]],[[-7.138279151048154,55.06131559970097],[-7.117994514706011,54.99631329558348],[-7.070049010624583,54.98784996056705],[-7.076503213097081,54.93332450204895],[-7.025791622241725,54.91159959910791],[-7.007351043748867,54.87872502112528],[-7.024869593317081,54.8511320998998],[-6.990754523105296,54.81661438893913],[-7.051608432131725,54.80598761598125],[-7.115228427932084,54.80651902101645],[-7.170550163410654,54.84847793920564],[-7.199133060074584,54.84316909395457],[-7.222183783190655,54.85803210052931],[-7.2111194360949415,54.862808332627324],[-7.212041465019584,54.882438010878076],[-7.279349576518514,54.880846771447125],[-7.273817402970655,54.91530955931841],[-7.3033223285592275,54.915839525718205],[-7.363254208661015,54.90894941815292],[-7.385382902852443,54.91636948513913],[-7.391837105324943,54.93438395336098],[-7.429640291235302,54.95291983389722],[-7.420420001988872,54.99208185118366],[-7.410277683817801,55.03437621938347],[-7.3577220351131585,55.057619110599035],[-7.265519142648871,55.07557028899173],[-7.138279151048154,55.06131559970097]],[[-7.190498776293322,52.26144368927652],[-7.156844720543858,52.28443443581867],[-7.132871968503143,52.27343421670601],[-7.113278853854483,52.26779201951648],[-7.098295883829036,52.27230583471742],[-7.089767116276089,52.25509445009032],[-7.07109603055207,52.259186286149074],[-7.033984366335195,52.257352061495865],[-7.027530163862696,52.250720000975015],[-7.034675888028678,52.247756419376],[-7.031218279561267,52.24013487190721],[-7.034214873566356,52.23222966213934],[-7.050580886978767,52.2296884028405],[-7.062567262999124,52.21980434486687],[-7.076858711331088,52.216132562953725],[-7.084926464421715,52.22065163604718],[-7.084465449959392,52.22785295843095],[-7.101292477834124,52.221498911062525],[-7.105211100763858,52.21726237433474],[-7.111665303236357,52.21796849185403],[-7.107977187537785,52.21104805609072],[-7.117773744862115,52.20928246619701],[-7.129760120882472,52.21690931136535],[-7.14497359813908,52.21782726924826],[-7.150505771686938,52.22375823207553],[-7.158112510315241,52.22262858593765],[-7.158804032008724,52.22700580464912],[-7.158573524777563,52.23180612902503],[-7.167563306792832,52.23985256723076],[-7.16733279956167,52.244580933687786],[-7.172519212262786,52.24676851484933],[-7.177590371348324,52.25114335361416],[-7.190498776293322,52.26144368927652]]],"terms_url":"http://www.eea.europa.eu/data-and-maps/data/urban-atlas","terms_text":"EEA GMES Urban Atlas"},{"name":"Japan GSI ortho Imagery","type":"tms","template":"http://cyberjapandata.gsi.go.jp/xyz/ort/{z}/{x}/{y}.jpg","scaleExtent":[12,19],"polygon":[[[141.85546875,44.64911632343077],[140.2294921875,43.96909818325174],[138.955078125,41.80407814427237],[139.482421875,40.17887331434696],[138.8671875,38.30718056188316],[136.31835937499997,37.19533058280065],[132.1435546875,35.137879119634185],[128.935546875,33.35806161277885],[129.5068359375,32.47269502206151],[129.77050781249997,31.690781806136822],[130.2099609375,30.90222470517144],[131.220703125,30.78903675126116],[131.66015625,32.32427558887655],[132.71484375,32.879587173066305],[133.76953125,33.17434155100208],[136.7578125,33.87041555094183],[139.306640625,35.06597313798418],[140.888671875,35.17380831799959],[141.15234374999997,36.56260003738548],[142.11914062499997,39.9434364619742],[141.767578125,42.68243539838623],[141.85546875,44.64911632343077]]]},{"name":"Kanton Aargau 25cm (AGIS 2011)","type":"tms","template":"http://tiles.poole.ch/AGIS/OF2011/{zoom}/{x}/{y}.png","scaleExtent":[14,19],"polygon":[[[7.7,47.12],[7.7,47.63],[8.5,47.63],[8.5,47.12],[7.7,47.12]]],"terms_text":"AGIS OF2011"},{"name":"Kanton Aargau 25cm (AGIS 2014)","type":"tms","template":"http://mapproxy.osm.ch:8080/tiles/AGIS2014/EPSG900913/{z}/{x}/{y}.png?origin=nw","scaleExtent":[8,19],"polygon":[[[8.222923278808594,47.604774168947614],[8.244209289550781,47.613569753973955],[8.294334411621094,47.60986653003798],[8.300857543945312,47.58625231278527],[8.329353332519531,47.569808674020344],[8.382568359375,47.56702895728551],[8.398017883300781,47.57490443821351],[8.424797058105469,47.56795554592218],[8.415184020996094,47.54663986006874],[8.389778137207031,47.5262428287156],[8.372268676757812,47.51233121261258],[8.358535766601562,47.503286684046664],[8.36402893066406,47.48078455918],[8.371238708496094,47.481016589036074],[8.373985290527344,47.47011007802331],[8.368148803710938,47.46825342516445],[8.387031555175781,47.44852243794931],[8.380851745605469,47.447593738482304],[8.384284973144531,47.4355191531953],[8.376388549804688,47.431803338643334],[8.377761840820312,47.42808726171425],[8.389434814453125,47.42739046807988],[8.391494750976562,47.41902822496511],[8.380165100097656,47.40462347023052],[8.364715576171875,47.4016026187529],[8.367118835449219,47.39881398671558],[8.380851745605469,47.39788440990287],[8.39424133300781,47.39439835079049],[8.399734497070312,47.372314620566925],[8.40728759765625,47.37068703239024],[8.404197692871094,47.34417352612498],[8.416213989257812,47.33416935720614],[8.414497375488281,47.32602502961836],[8.452606201171875,47.33254059215931],[8.444023132324219,47.31927592106609],[8.427543640136719,47.29925625338924],[8.390121459960938,47.28854494625744],[8.41175079345703,47.247076403108416],[8.393898010253906,47.227728840642065],[8.404884338378906,47.194845099780174],[8.401451110839844,47.17757880776958],[8.409690856933594,47.17314466448546],[8.412437438964844,47.13976002139446],[8.379478454589844,47.13929295458033],[8.361968994140625,47.14559801038333],[8.342742919921875,47.177112073280966],[8.3056640625,47.24987305653909],[8.295021057128906,47.26268916206698],[8.300514221191406,47.26991141830738],[8.278884887695312,47.28225686421767],[8.259315490722656,47.285983225286174],[8.243522644042969,47.280859411143915],[8.240432739257812,47.27130916053537],[8.228759765625,47.27270686584952],[8.219146728515625,47.25336866567523],[8.204727172851562,47.245444953748034],[8.203353881835938,47.22679624955806],[8.180007934570312,47.22143353240336],[8.171768188476562,47.2279619858493],[8.155975341796875,47.23961793870555],[8.175888061523436,47.24218190428504],[8.17657470703125,47.25406775981567],[8.136062622070312,47.24730946320093],[8.12164306640625,47.24218190428504],[8.10791015625,47.2447457457832],[8.097267150878906,47.259427174956194],[8.077354431152344,47.2603591917818],[8.059844970703125,47.25569894358661],[8.062591552734375,47.24614415248379],[8.016586303710938,47.242881146090085],[8.015899658203125,47.258961160390896],[7.997016906738281,47.2796948387185],[7.951698303222655,47.274337475394645],[7.960968017578125,47.25430078914495],[7.933845520019531,47.237053849043896],[7.911529541015624,47.24381345414034],[7.859344482421875,47.23425651880584],[7.83977508544922,47.23425651880584],[7.826042175292968,47.24427960201268],[7.828102111816407,47.25966018070071],[7.82398223876953,47.26548499105541],[7.8408050537109375,47.273405704663965],[7.848701477050781,47.28551744450745],[7.860374450683594,47.30461109337307],[7.871704101562499,47.31136207506936],[7.8888702392578125,47.31136207506936],[7.897453308105469,47.31904317780638],[7.895393371582031,47.327653995607086],[7.908439636230469,47.340451266106996],[7.9259490966796875,47.332773275955894],[7.94757843017578,47.331609846720866],[7.94757843017578,47.316715688820764],[8.007316589355467,47.33905535093827],[8.004913330078125,47.34533667855891],[8.011093139648438,47.35719936945847],[8.024139404296875,47.36719917429931],[8.032722473144531,47.38393878966209],[8.026885986328125,47.39602520707679],[8.010749816894531,47.3955603961201],[8.004570007324219,47.40671472747142],[7.975730895996094,47.41507892620099],[7.9657745361328125,47.42181578692778],[7.985343933105469,47.425764580393924],[7.971954345703124,47.46105827584221],[7.957534790039062,47.457344265054225],[7.940711975097656,47.46221885041022],[7.946891784667968,47.48403288391224],[7.907066345214844,47.48588897929538],[7.8936767578125,47.50653361720931],[7.873420715332031,47.51325876844644],[7.875480651855468,47.52253342509336],[7.865180969238281,47.51975120023913],[7.856254577636718,47.533660849056794],[7.833251953125,47.5325018525392],[7.834281921386719,47.51465007145751],[7.789649963378906,47.49377665301097],[7.789649963378906,47.518128167602484],[7.7515411376953125,47.52461999690649],[7.731285095214843,47.53203824675999],[7.708969116210937,47.54015075619555],[7.740898132324219,47.54362716173679],[7.761497497558593,47.54895720250044],[7.781410217285156,47.55289644950155],[7.797546386718749,47.55915229204993],[7.805442810058593,47.56563904359584],[7.814369201660155,47.575136052077276],[7.819175720214843,47.58648387645128],[7.8325653076171875,47.586715439092906],[7.843208312988281,47.581620824334166],[7.859344482421875,47.58602074809481],[7.8847503662109375,47.58764167941513],[7.903633117675781,47.58092606572345],[7.911872863769532,47.56749225365282],[7.90740966796875,47.55776216936179],[7.917709350585938,47.545712894408624],[7.929382324218749,47.54640812019053],[7.941741943359374,47.54432241518175],[7.9520416259765625,47.54965238525127],[7.9561614990234375,47.55683540041267],[7.9767608642578125,47.55544521625339],[7.997360229492187,47.556603705614094],[8.019676208496094,47.54965238525127],[8.049888610839844,47.55637200979099],[8.058815002441406,47.56285910557121],[8.072891235351562,47.56355410390809],[8.086967468261719,47.557067094186735],[8.100700378417969,47.56216409801383],[8.105506896972656,47.57976811421671],[8.113059997558594,47.583473468887405],[8.133659362792969,47.58301031389572],[8.138809204101562,47.59042030203756],[8.15185546875,47.59551406038282],[8.166275024414062,47.5941249027327],[8.177261352539062,47.6017648134425],[8.193740844726562,47.616346999837226],[8.2012939453125,47.62120682516921],[8.219490051269531,47.61958693358351],[8.223953247070312,47.61102381568743],[8.222923278808594,47.604774168947614]]],"terms_text":"AGIS OF2014","best":true},{"name":"Kanton Solothurn 25cm (SOGIS 2011-2014)","type":"tms","template":"http://mapproxy.osm.ch:8080/tiles/sogis2014/EPSG900913/{z}/{x}/{y}.png?origin=nw","scaleExtent":[12,19],"polygon":[[[7.08,47.03],[7.08,47.54],[8.04,47.54],[8.04,47.03],[7.08,47.03]]],"terms_text":"Orthofoto WMS Solothurn"},{"name":"Kanton Zürich 2015 10cm","type":"tms","template":"http://mapproxy.osm.ch:8080/tiles/KTZUERICH2015/EPSG900913/{z}/{x}/{y}.png?origin=nw","scaleExtent":[8,21],"polygon":[[[8.807601928710938,47.66608099332474],[8.808631896972656,47.65475043477393],[8.830604553222656,47.648506014952225],[8.805885314941406,47.597597727711346],[8.749580383300781,47.61565270219988],[8.751983642578125,47.59505101193038],[8.807945251464844,47.585789182379905],[8.811721801757812,47.57467282332527],[8.840904235839844,47.57467282332527],[8.854637145996094,47.56216409801383],[8.8330078125,47.55382328811835],[8.845024108886719,47.53458802782819],[8.899612426757812,47.52786561031842],[8.895835876464844,47.491224888201955],[8.902702331542969,47.48588897929538],[8.887252807617188,47.475911695481756],[8.911285400390625,47.43969913094723],[8.934288024902344,47.43807362350206],[8.935317993164062,47.43017758727173],[8.917121887207031,47.42808726171425],[8.909912109375,47.404855836246135],[8.944587707519531,47.38905261221537],[8.945274353027344,47.379521907289295],[8.963127136230469,47.357664518690434],[8.973083496093748,47.35580389715929],[8.989906311035156,47.31857768821123],[8.973426818847656,47.30367985581531],[8.9593505859375,47.300653220457775],[8.941154479980469,47.2873805430142],[8.950080871582031,47.28458587064588],[8.940467834472656,47.259194168186234],[8.876266479492188,47.24847474828181],[8.876609802246092,47.243114224640834],[8.850173950195312,47.23961793870555],[8.849830627441406,47.247076403108416],[8.825111389160156,47.24824169331652],[8.800048828125,47.24031721435106],[8.804855346679688,47.23425651880584],[8.815155029296875,47.217702626593784],[8.793525695800781,47.21886856286133],[8.71490478515625,47.20021050593422],[8.685722351074219,47.18154588528182],[8.697395324707031,47.163108130899104],[8.660659790039062,47.15633823511178],[8.6572265625,47.16684287656919],[8.618087768554688,47.172444502751944],[8.622550964355469,47.17991241867412],[8.607101440429688,47.201376826785406],[8.595085144042969,47.19834433924206],[8.575859069824219,47.21513747655813],[8.541183471679688,47.2186353776589],[8.471488952636719,47.2053421258966],[8.441619873046875,47.22120035848172],[8.417243957519531,47.22120035848172],[8.383941650390625,47.292270864380086],[8.422050476074219,47.302282968719936],[8.442306518554688,47.32439601339355],[8.413810729980469,47.32299967378833],[8.408660888671875,47.33067908487908],[8.378448486328125,47.39718721653071],[8.360939025878906,47.39695481668995],[8.359222412109375,47.4053205652024],[8.379135131835938,47.40764414848437],[8.377418518066406,47.41624051540972],[8.384284973144531,47.42274494145051],[8.372611999511719,47.42808726171425],[8.372955322265625,47.437376962080776],[8.379478454589844,47.45037978769006],[8.36402893066406,47.46198673754625],[8.352012634277344,47.5079250985124],[8.373985290527344,47.517200697839414],[8.392181396484375,47.5366741201253],[8.417587280273436,47.56610235225701],[8.430290222167967,47.5693453981427],[8.491744995117188,47.581620824334166],[8.487625122070312,47.58648387645128],[8.463935852050781,47.58301031389572],[8.453292846679688,47.60315376826432],[8.479385375976562,47.617504142079596],[8.505821228027344,47.61958693358351],[8.513717651367188,47.635783590864854],[8.542213439941406,47.632776019724375],[8.545646667480469,47.627685889602006],[8.564186096191406,47.6256034207548],[8.566932678222656,47.61935551640258],[8.576202392578125,47.613569753973955],[8.564872741699219,47.60037582174319],[8.535346984863281,47.586715439092906],[8.550109863281248,47.5714301073211],[8.555259704589844,47.55498181333744],[8.581008911132812,47.59551406038282],[8.598861694335936,47.61449551898437],[8.59130859375,47.64642437575518],[8.609848022460938,47.65521295468833],[8.620834350585938,47.646886969413],[8.618431091308594,47.65660048985082],[8.602981567382812,47.666312203609145],[8.610877990722656,47.67856488312544],[8.62323760986328,47.67856488312544],[8.621864318847656,47.69312564683551],[8.64898681640625,47.697516190510555],[8.667526245117188,47.68665469810477],[8.671646118164062,47.67602211074509],[8.692245483398438,47.65197522925437],[8.734817504882812,47.64526787368664],[8.777389526367188,47.65313158281113],[8.785629272460938,47.667930646923494],[8.807601928710938,47.66608099332474]]],"terms_text":"Kanton Zürich OF 2015","best":true},{"name":"Katastrálna mapa Slovenska (KaPor, 2010-04)","type":"tms","template":"http://www.freemap.sk/tms/kapor2/{zoom}/{x}/{y}.jpg","polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_url":"http://wiki.freemap.sk/KatasterPortal","terms_text":"Permisssion by UGKK"},{"name":"Katastrálna mapa Slovenska (KaPor, 2011-05)","type":"tms","template":"http://www.freemap.sk/tms/kapor2_201105/{zoom}/{x}/{y}.jpg","polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_url":"http://wiki.freemap.sk/KatasterPortal","terms_text":"Permisssion by UGKK"},{"name":"Kelowna 2012","type":"tms","description":"High quality aerial imagery taken for the City of Kelowna","template":"http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna2012/{zoom}/{x}/{y}.png","scaleExtent":[9,20],"polygon":[[[-119.5867318,49.7928087],[-119.5465655,49.7928097],[-119.5465661,49.8013837],[-119.5343374,49.8013841],[-119.5343376,49.8047321],[-119.5296211,49.8047322],[-119.5296216,49.8119555],[-119.5104463,49.811956],[-119.5115683,49.8744325],[-119.5108946,49.8744904],[-119.5114111,49.8843312],[-119.5114115,49.9221763],[-119.49386,49.9223477],[-119.4940505,49.9313031],[-119.4803936,49.9317529],[-119.4804572,49.9407474],[-119.4666732,49.9409927],[-119.4692775,49.9913717],[-119.4551337,49.9916078],[-119.4556736,50.0121242],[-119.4416673,50.0123895],[-119.4417308,50.0136345],[-119.4221492,50.0140377],[-119.4221042,50.0119306],[-119.4121303,50.012165],[-119.4126082,50.0216913],[-119.4123387,50.0216913],[-119.4124772,50.0250773],[-119.4120917,50.0250821],[-119.4121954,50.0270769],[-119.4126083,50.0270718],[-119.4128328,50.0321946],[-119.3936313,50.0326418],[-119.393529,50.0307781],[-119.3795727,50.0310116],[-119.3795377,50.0287584],[-119.3735764,50.0288621],[-119.371544,49.9793618],[-119.3573506,49.9793618],[-119.3548353,49.9256081],[-119.3268079,49.9257238],[-119.3256573,49.8804068],[-119.3138893,49.8806528],[-119.3137097,49.8771651],[-119.3132156,49.877223],[-119.3131482,49.8749652],[-119.312452,49.8749073],[-119.3122275,49.87236],[-119.3117558,49.872331],[-119.3115986,49.8696098],[-119.3112169,49.8694217],[-119.3109199,49.8632417],[-119.3103721,49.8632724],[-119.3095139,49.8512388],[-119.3106368,49.8512316],[-119.3103859,49.8462564],[-119.3245344,49.8459957],[-119.3246018,49.8450689],[-119.3367018,49.844875],[-119.3367467,49.8435136],[-119.337937,49.8434702],[-119.3378023,49.8382055],[-119.3383637,49.8381041],[-119.3383749,49.8351202],[-119.3390936,49.8351058],[-119.3388016,49.8321217],[-119.3391497,49.8320565],[-119.3391722,49.8293331],[-119.3394641,49.8293331],[-119.3395879,49.8267878],[-119.3500053,49.8265829],[-119.3493701,49.8180588],[-119.4046964,49.8163785],[-119.4045694,49.8099022],[-119.4101592,49.8099022],[-119.4102862,49.8072787],[-119.4319467,49.8069098],[-119.4322643,49.7907965],[-119.4459847,49.7905504],[-119.445286,49.7820201],[-119.4967376,49.7811587],[-119.4966105,49.7784927],[-119.5418371,49.7775082],[-119.5415892,49.7718277],[-119.5560296,49.7714941],[-119.5561194,49.7718422],[-119.5715704,49.7715086],[-119.5716153,49.7717262],[-119.5819235,49.7714941],[-119.5820133,49.7717697],[-119.5922991,49.7715231],[-119.592344,49.7718132],[-119.6003839,49.7715957],[-119.6011924,49.7839081],[-119.5864365,49.7843863]]],"id":"kelowna_2012"},{"name":"Kelowna Roads overlay","type":"tms","template":"http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna_overlay/{zoom}/{x}/{y}.png","scaleExtent":[9,20],"polygon":[[[-119.5867318,49.7928087],[-119.5465655,49.7928097],[-119.5465661,49.8013837],[-119.5343374,49.8013841],[-119.5343376,49.8047321],[-119.5296211,49.8047322],[-119.5296216,49.8119555],[-119.5104463,49.811956],[-119.5115683,49.8744325],[-119.5108946,49.8744904],[-119.5114111,49.8843312],[-119.5114115,49.9221763],[-119.49386,49.9223477],[-119.4940505,49.9313031],[-119.4803936,49.9317529],[-119.4804572,49.9407474],[-119.4666732,49.9409927],[-119.4692775,49.9913717],[-119.4551337,49.9916078],[-119.4556736,50.0121242],[-119.4416673,50.0123895],[-119.4417308,50.0136345],[-119.4221492,50.0140377],[-119.4221042,50.0119306],[-119.4121303,50.012165],[-119.4126082,50.0216913],[-119.4123387,50.0216913],[-119.4124772,50.0250773],[-119.4120917,50.0250821],[-119.4121954,50.0270769],[-119.4126083,50.0270718],[-119.4128328,50.0321946],[-119.3936313,50.0326418],[-119.393529,50.0307781],[-119.3795727,50.0310116],[-119.3795377,50.0287584],[-119.3735764,50.0288621],[-119.371544,49.9793618],[-119.3573506,49.9793618],[-119.3548353,49.9256081],[-119.3268079,49.9257238],[-119.3256573,49.8804068],[-119.3138893,49.8806528],[-119.3137097,49.8771651],[-119.3132156,49.877223],[-119.3131482,49.8749652],[-119.312452,49.8749073],[-119.3122275,49.87236],[-119.3117558,49.872331],[-119.3115986,49.8696098],[-119.3112169,49.8694217],[-119.3109199,49.8632417],[-119.3103721,49.8632724],[-119.3095139,49.8512388],[-119.3106368,49.8512316],[-119.3103859,49.8462564],[-119.3245344,49.8459957],[-119.3246018,49.8450689],[-119.3367018,49.844875],[-119.3367467,49.8435136],[-119.337937,49.8434702],[-119.3378023,49.8382055],[-119.3383637,49.8381041],[-119.3383749,49.8351202],[-119.3390936,49.8351058],[-119.3388016,49.8321217],[-119.3391497,49.8320565],[-119.3391722,49.8293331],[-119.3394641,49.8293331],[-119.3395879,49.8267878],[-119.3500053,49.8265829],[-119.3493701,49.8180588],[-119.4046964,49.8163785],[-119.4045694,49.8099022],[-119.4101592,49.8099022],[-119.4102862,49.8072787],[-119.4319467,49.8069098],[-119.4322643,49.7907965],[-119.4459847,49.7905504],[-119.445286,49.7820201],[-119.4967376,49.7811587],[-119.4966105,49.7784927],[-119.5418371,49.7775082],[-119.5415892,49.7718277],[-119.5560296,49.7714941],[-119.5561194,49.7718422],[-119.5715704,49.7715086],[-119.5716153,49.7717262],[-119.5819235,49.7714941],[-119.5820133,49.7717697],[-119.5922991,49.7715231],[-119.592344,49.7718132],[-119.6003839,49.7715957],[-119.6011924,49.7839081],[-119.5864365,49.7843863]]],"id":"kelowna_roads","overlay":true},{"name":"Landsat 233055","type":"tms","description":"Recent Landsat imagery","template":"http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_233055/{zoom}/{x}/{y}.png","scaleExtent":[5,14],"polygon":[[[-60.8550011,6.1765004],[-60.4762612,7.9188291],[-62.161689,8.2778675],[-62.5322549,6.5375488]]],"id":"landsat_233055"},{"name":"Latest southwest British Columbia Landsat","type":"tms","description":"Recent lower-resolution landsat imagery for southwest British Columbia","template":"http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_047026/{zoom}/{x}/{y}.png","scaleExtent":[5,13],"polygon":[[[-121.9355512,47.7820648],[-121.5720582,48.6410125],[-121.2015461,49.4846247],[-121.8375516,49.6023246],[-122.4767046,49.7161735],[-123.118912,49.8268824],[-123.760228,49.9335836],[-124.0887706,49.0870469],[-124.4128889,48.2252567],[-123.792772,48.1197334],[-123.1727942,48.0109592],[-122.553553,47.8982299]]],"id":"landsat_047026"},{"name":"Lithuania - NŽT ORT10LT","type":"tms","template":"http://mapproxy.openmap.lt/ort10lt/g/{z}/{x}/{y}.jpeg","scaleExtent":[4,18],"polygon":[[[21.4926054,56.3592046],[21.8134688,56.4097144],[21.9728753,56.4567587],[22.2158294,56.4604404],[22.2183922,56.4162361],[23.3511527,56.4267251],[23.3521778,56.3824815],[23.9179035,56.383305],[23.9176231,56.3392908],[24.5649817,56.3382169],[24.564933,56.3828587],[24.6475683,56.4277798],[24.8099394,56.470646],[24.9733979,56.4698452],[25.1299701,56.2890356],[25.127433,56.1990144],[25.6921076,56.1933684],[26.0839005,56.0067879],[26.4673573,55.7304232],[26.5463565,55.7132705],[26.5154447,55.2345969],[25.7874641,54.8425656],[25.7675259,54.6350898],[25.6165253,54.4404007],[24.4566043,53.9577649],[23.6164786,53.9575517],[23.5632006,54.048085],[22.8462074,54.3563682],[22.831944,54.9414849],[22.4306085,55.1159913],[21.9605898,55.1107144],[21.7253241,55.1496885],[21.5628422,55.2362913],[21.2209638,55.2742668],[21.1630444,55.2803979],[20.9277788,55.3101641],[20.9257285,55.3588507],[20.9980451,55.4514157],[21.0282249,56.0796297]]],"terms_url":"http://www.geoportal.lt","terms_text":"NŽT ORT10LT"},{"name":"Locator Overlay","type":"tms","description":"Shows major features to help orient you.","template":"http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh76ba2/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw","scaleExtent":[0,16],"overzoom":false,"terms_url":"http://www.mapbox.com/about/maps/","terms_text":"Terms & Feedback","default":true,"overlay":true},{"name":"LPI NSW Base Map","type":"tms","template":"http://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Base_Map/MapServer/tile/{zoom}/{y}/{x}","scaleExtent":[0,19],"polygon":[[[140.9948644,-28.952966],[148.9611382,-28.8997729],[148.9870097,-28.4862285],[151.013609,-28.4786485],[151.1084711,-28.7032909],[151.8759917,-28.683118],[151.9334839,-28.4078753],[152.25544,-28.2332683],[153.0660798,-28.2104723],[153.1408196,-28.1090981],[153.4735137,-28.1164808],[153.3576523,-27.693606],[159.4938303,-27.699252],[159.4856997,-37.8474137],[149.5256879,-37.8281502],[149.9159578,-37.4869999],[148.0485886,-36.8131741],[147.9680996,-36.1567945],[146.7147701,-36.2866613],[145.3004625,-36.1567945],[144.5300673,-36.1475101],[142.8397973,-35.0254303],[142.356863,-34.7802471],[141.9774146,-34.4016159],[140.9950258,-34.1371824],[140.9948644,-28.952966]]],"terms_url":"http://www.lpi.nsw.gov.au/mapping_and_imagery/lpi_web_services","terms_text":"© Land and Property Information 2015"},{"name":"LPI NSW Imagery","type":"tms","template":"http://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Imagery/MapServer/tile/{zoom}/{y}/{x}","scaleExtent":[0,21],"polygon":[[[140.9868688,-28.9887829],[148.9951472,-28.9727491],[148.9966717,-28.4915066],[151.0029027,-28.4930697],[151.0029027,-28.7261663],[151.4915093,-28.7323921],[151.4918687,-28.7155337],[151.9228213,-28.719635],[151.9251607,-28.4897139],[151.9955886,-28.4898718],[151.9989947,-28.1192742],[152.4967606,-28.122091],[152.4968241,-28.1146398],[153.0044563,-28.1154389],[153.0044563,-28.120397],[153.5038629,-28.119345],[153.5039264,-28.1227063],[153.5919395,-28.1223619],[153.5926582,-28.1776872],[153.6111186,-28.1757867],[153.6113881,-28.1825173],[153.7426846,-28.2162084],[153.7787253,-28.710911],[152.6237954,-32.5877239],[152.3123961,-32.6328837],[151.4141942,-33.5790388],[150.8929925,-35.2648721],[150.4620695,-35.7777256],[150.0156501,-37.5103569],[149.9918121,-37.5126787],[149.519778,-37.5130704],[149.5199577,-37.5216919],[149.4462958,-37.5353701],[149.063344,-37.5357975],[148.9836635,-37.5217631],[148.9816872,-37.5191982],[148.9863847,-37.2584972],[148.4875376,-37.265846],[148.4824774,-37.0092669],[147.994386,-37.014339],[147.988288,-36.5332184],[147.9529707,-36.5260725],[147.9486513,-36.0685992],[147.5034997,-36.0716798],[147.5047701,-36.2651047],[146.4919996,-36.266129],[146.4922536,-36.2565],[145.9929826,-36.2534267],[145.9965866,-36.0188147],[145.9831568,-36.0187058],[145.9624506,-36.0219026],[145.946236,-36.0120936],[145.9454275,-36.0060259],[145.5041534,-36.0013564],[145.5037941,-36.0109125],[145.0072008,-36.0036213],[145.0035404,-36.1520424],[144.4860806,-36.1423149],[144.4874127,-36.0137522],[143.9874676,-36.0024134],[143.9932853,-35.5723753],[143.4971691,-35.5837101],[143.4917967,-35.4065648],[143.4613438,-35.3674934],[143.4585591,-35.3555888],[143.4897755,-35.3396522],[143.4895509,-35.332214],[143.4316994,-35.2570613],[143.2505542,-35.2606556],[143.2438356,-35.0132729],[142.9933305,-35.0177207],[142.9919767,-34.7961882],[142.4971375,-34.8032323],[142.4973172,-34.8007613],[142.4211401,-34.8017571],[142.4209155,-34.7838306],[142.2330892,-34.7859191],[142.2307707,-34.7807542],[142.2269959,-34.5061271],[141.9975302,-34.5083733],[141.9945959,-34.2526687],[141.4982345,-34.2556921],[141.498171,-34.2522794],[140.9945397,-34.2528411],[140.9868688,-28.9887829]]],"terms_url":"http://www.lpi.nsw.gov.au/mapping_and_imagery/lpi_web_services","terms_text":"© Land and Property Information 2015"},{"name":"LPI NSW Topographic Map","type":"tms","template":"http://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Topo_Map/MapServer/tile/{zoom}/{y}/{x}","scaleExtent":[0,16],"polygon":[[[140.9988422,-28.9992444],[148.9502438,-28.9993736],[148.9498845,-28.9665265],[148.9998308,-28.9665265],[149.0000917,-28.8165829],[149.1000729,-28.8165829],[149.0997046,-28.7488533],[148.9998504,-28.7497444],[148.9998169,-28.5000304],[151.0000514,-28.5005192],[151.0005904,-28.7325849],[151.0239466,-28.7327424],[151.0241262,-28.7418794],[151.0329297,-28.7418794],[151.033828,-28.7505431],[151.999984,-28.7495314],[151.999984,-28.7164478],[152.0334014,-28.7166053],[152.0332217,-28.683196],[152.0000739,-28.6833537],[151.9998769,-28.6416273],[151.9829886,-28.6413908],[151.9831683,-28.624912],[151.9331321,-28.6247543],[151.9334122,-28.500071],[151.9998875,-28.5002289],[151.9998556,-28.3749591],[152.2499739,-28.3750718],[152.2499356,-28.2500066],[152.9997192,-28.2498563],[152.9998989,-28.2832447],[153.1165002,-28.2834029],[153.11659,-28.2498563],[153.1666262,-28.2500146],[153.166716,-28.2331582],[153.2499898,-28.2332373],[153.2500265,-28.1249689],[153.6249628,-28.1250833],[153.6248398,-28.4999134],[153.7497955,-28.4999924],[153.7495877,-28.7497976],[153.6248117,-28.7501127],[153.6249745,-28.9999333],[153.4997672,-29.0000612],[153.4998417,-29.4995077],[153.3747962,-29.500055],[153.3754111,-29.8750302],[153.4999113,-29.8751403],[153.4999113,-30.0000922],[153.2498947,-29.9997621],[153.250025,-30.1917704],[153.2748185,-30.1916151],[153.2748185,-30.2168467],[153.2166077,-30.2166139],[153.2166077,-30.250065],[153.250025,-30.250065],[153.2497502,-30.3751935],[153.1243608,-30.3749743],[153.1246457,-30.6250359],[153.0331676,-30.6250482],[153.0333884,-30.8750837],[153.1249214,-30.8750291],[153.1249344,-31.1250505],[153.0082433,-31.1249736],[153.0082914,-31.2499759],[153.0000019,-31.250003],[152.9999392,-31.6249919],[152.8749386,-31.6250491],[152.8749572,-31.749954],[152.7832899,-31.7500034],[152.7831966,-31.8748579],[152.749914,-31.8750105],[152.7500397,-32.0000207],[152.6249044,-31.9999446],[152.6249078,-32.5000047],[152.4999757,-32.4999569],[152.5000336,-32.5666443],[152.4166699,-32.5663415],[152.4167598,-32.6249954],[152.3498477,-32.624991],[152.3498477,-32.6332294],[152.2830786,-32.6332218],[152.2832583,-32.6249755],[152.2494816,-32.6249755],[152.2498101,-32.874906],[151.8745693,-32.8750443],[151.8748535,-33.0000091],[151.7497706,-33.0001533],[151.7504669,-33.2500398],[151.6252418,-33.2497393],[151.6250828,-33.3751621],[151.499585,-33.3751442],[151.5003127,-33.6249385],[151.3741466,-33.6243658],[151.3727902,-34.001962],[151.2477819,-34.0011194],[151.2477819,-34.2493114],[150.9957327,-34.2501515],[151.0008143,-34.62483],[150.8717407,-34.6265026],[150.872757,-35.1242738],[150.7670589,-35.1234425],[150.7690916,-35.2463774],[150.6257894,-35.2496974],[150.6280314,-35.3751485],[150.4999742,-35.3751485],[150.4959088,-35.6275034],[150.3719169,-35.6250251],[150.3749658,-35.7537957],[150.2672351,-35.7513213],[150.2652024,-35.8741232],[150.2479249,-35.870829],[150.2458922,-36.374885],[150.1229166,-36.374885],[150.1259656,-36.6224345],[150.0253491,-36.6240658],[150.0283981,-36.7471337],[149.9928266,-36.7495768],[150.0040062,-37.1224477],[150.0588879,-37.1273097],[150.0568553,-37.37809],[149.9979083,-37.3732441],[149.9999409,-37.4830073],[149.987745,-37.4846202],[149.9857123,-37.5080043],[148.0684571,-36.80624],[147.9930603,-36.1379955],[147.8148345,-36.0055567],[147.3893924,-36.0113701],[147.3822059,-36.1310306],[146.9972549,-36.1275479],[146.9886311,-36.2528271],[146.4956356,-36.2447132],[146.5042595,-36.126387],[145.0011817,-36.0079505],[145.0154103,-36.2542074],[144.5072465,-36.2476506],[144.4991158,-36.0211037],[143.9965422,-35.9810531],[143.3382568,-35.2331794],[142.4097581,-34.7669434],[142.0361436,-34.3758837],[140.9965216,-34.1385805],[140.9988422,-28.9992444]]],"terms_url":"http://www.lpi.nsw.gov.au/mapping_and_imagery/lpi_web_services","terms_text":"© Land and Property Information 2015"},{"name":"Luxembourg Geoportail Basemap","type":"tms","template":"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/basemap/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png","scaleExtent":[0,20],"polygon":[[[5.961753,50.17631],[6.026268,50.18496],[6.033182,50.16395],[6.060695,50.15536],[6.07668,50.15913],[6.078237,50.17255],[6.101762,50.17199],[6.122501,50.16437],[6.120101,50.15594],[6.127695,50.14993],[6.113228,50.13739],[6.123691,50.13719],[6.140929,50.1305],[6.135554,50.11899],[6.138082,50.10263],[6.131085,50.09964],[6.135473,50.09119],[6.121939,50.09059],[6.126335,50.07817],[6.131858,50.07348],[6.121171,50.064],[6.114444,50.06139],[6.115631,50.05817],[6.123611,50.06323],[6.136608,50.04178],[6.130343,50.02975],[6.148207,50.02307],[6.13868,50.01572],[6.135938,50.01485],[6.131384,50.01905],[6.130243,50.01819],[6.139343,50.01116],[6.151702,50.01058],[6.145464,49.99689],[6.139657,49.9994],[6.138524,49.99829],[6.142178,49.99535],[6.150227,49.99518],[6.156247,49.98867],[6.173045,49.98589],[6.17348,49.98344],[6.170353,49.98376],[6.165487,49.97115],[6.171512,49.96298],[6.176298,49.962],[6.179954,49.95386],[6.183393,49.9548],[6.179829,49.96307],[6.183312,49.9686],[6.192774,49.97158],[6.199783,49.95352],[6.207066,49.95672],[6.212689,49.9514],[6.225023,49.95039],[6.22044,49.94369],[6.228241,49.93726],[6.22635,49.92766],[6.219133,49.92354],[6.229862,49.92125],[6.236032,49.91355],[6.231867,49.91064],[6.227694,49.91062],[6.232286,49.9072],[6.23381,49.90028],[6.246919,49.89535],[6.257809,49.88724],[6.263008,49.88101],[6.276455,49.87725],[6.281126,49.87957],[6.291661,49.87548],[6.297699,49.86673],[6.309889,49.87107],[6.315324,49.8673],[6.314651,49.86057],[6.323611,49.85188],[6.321577,49.8409],[6.327406,49.83673],[6.336561,49.83998],[6.339366,49.8507],[6.364651,49.85164],[6.402203,49.82098],[6.426434,49.81629],[6.428071,49.81186],[6.43097,49.81129],[6.441608,49.81547],[6.443442,49.81233],[6.45366,49.81275],[6.464538,49.81975],[6.47057,49.82385],[6.496805,49.81277],[6.50669,49.80993],[6.511554,49.80238],[6.51485,49.80513],[6.519604,49.81446],[6.529808,49.81048],[6.532249,49.80686],[6.530829,49.80116],[6.506225,49.78899],[6.519171,49.78344],[6.511055,49.77422],[6.520563,49.76818],[6.520516,49.76134],[6.503734,49.75086],[6.502627,49.73298],[6.507266,49.72938],[6.518092,49.7242],[6.516417,49.72129],[6.511763,49.72016],[6.504791,49.725],[6.498913,49.72639],[6.495576,49.72443],[6.507122,49.71655],[6.507884,49.71215],[6.504598,49.71227],[6.427139,49.66237],[6.439899,49.66025],[6.442511,49.65591],[6.421781,49.61809],[6.398978,49.60094],[6.379408,49.59526],[6.375507,49.58809],[6.384426,49.5801],[6.381188,49.57509],[6.369093,49.5783],[6.357913,49.57166],[6.384902,49.55817],[6.380095,49.54856],[6.358555,49.53296],[6.359322,49.52481],[6.370763,49.50545],[6.370562,49.45732],[6.333403,49.46493],[6.321894,49.47244],[6.295034,49.47928],[6.287889,49.48379],[6.271912,49.49995],[6.241327,49.50693],[6.196692,49.50331],[6.173373,49.50577],[6.160858,49.50085],[6.167099,49.49006],[6.140179,49.48525],[6.129367,49.48803],[6.127247,49.47081],[6.101403,49.46726],[6.104826,49.45076],[6.081667,49.45417],[6.077222,49.46139],[6.059167,49.46306],[6.052222,49.46028],[6.044213,49.44553],[6.025294,49.44703],[6.021545,49.45127],[6.01574,49.44885],[5.994123,49.45301],[5.976569,49.44885],[5.977725,49.45955],[5.972317,49.46087],[5.968912,49.48202],[5.9616,49.49026],[5.915781,49.49835],[5.890334,49.4948],[5.863321,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.831868,49.52639],[5.84308,49.53081],[5.835622,49.54114],[5.816251,49.53325],[5.805201,49.54272],[5.859432,49.57158],[5.868663,49.587],[5.862888,49.58525],[5.851102,49.58379],[5.847116,49.58961],[5.845652,49.5981],[5.869401,49.6106],[5.881819,49.63815],[5.899978,49.63907],[5.899339,49.66239],[5.856561,49.67628],[5.856283,49.68211],[5.875703,49.71118],[5.864811,49.72331],[5.843249,49.71822],[5.82191,49.72128],[5.824894,49.73767],[5.820728,49.74878],[5.786264,49.79079],[5.765172,49.78961],[5.750937,49.79094],[5.741591,49.82126],[5.745814,49.82435],[5.737197,49.83353],[5.740531,49.84142],[5.747012,49.84048],[5.746237,49.84783],[5.753989,49.84878],[5.740663,49.85152],[5.752288,49.85922],[5.749545,49.87554],[5.775668,49.87438],[5.775053,49.88057],[5.734598,49.89341],[5.733033,49.90285],[5.757834,49.91737],[5.760393,49.93252],[5.770728,49.93711],[5.768783,49.94239],[5.768802,49.96104],[5.786724,49.96816],[5.80524,49.96677],[5.806521,49.97321],[5.831293,49.97995],[5.834616,49.98656],[5.818057,49.99936],[5.815606,50.01437],[5.847923,50.02809],[5.861889,50.04581],[5.850872,50.0563],[5.857809,50.07186],[5.880997,50.08069],[5.891965,50.12041],[5.952856,50.13384],[5.961753,50.17631]]],"terms_url":"https://data.public.lu/en/datasets/carte-de-base-webservices-wms-et-wmts/","terms_text":"Administration du Cadastre et de la Topographie","id":"lu.geoportail.opendata.basemap"},{"name":"Luxembourg Geoportail Cadastre","type":"tms","template":"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/cadastre/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png","scaleExtent":[0,20],"polygon":[[[5.961753,50.17631],[6.026268,50.18496],[6.033182,50.16395],[6.060695,50.15536],[6.07668,50.15913],[6.078237,50.17255],[6.101762,50.17199],[6.122501,50.16437],[6.120101,50.15594],[6.127695,50.14993],[6.113228,50.13739],[6.123691,50.13719],[6.140929,50.1305],[6.135554,50.11899],[6.138082,50.10263],[6.131085,50.09964],[6.135473,50.09119],[6.121939,50.09059],[6.126335,50.07817],[6.131858,50.07348],[6.121171,50.064],[6.114444,50.06139],[6.115631,50.05817],[6.123611,50.06323],[6.136608,50.04178],[6.130343,50.02975],[6.148207,50.02307],[6.13868,50.01572],[6.135938,50.01485],[6.131384,50.01905],[6.130243,50.01819],[6.139343,50.01116],[6.151702,50.01058],[6.145464,49.99689],[6.139657,49.9994],[6.138524,49.99829],[6.142178,49.99535],[6.150227,49.99518],[6.156247,49.98867],[6.173045,49.98589],[6.17348,49.98344],[6.170353,49.98376],[6.165487,49.97115],[6.171512,49.96298],[6.176298,49.962],[6.179954,49.95386],[6.183393,49.9548],[6.179829,49.96307],[6.183312,49.9686],[6.192774,49.97158],[6.199783,49.95352],[6.207066,49.95672],[6.212689,49.9514],[6.225023,49.95039],[6.22044,49.94369],[6.228241,49.93726],[6.22635,49.92766],[6.219133,49.92354],[6.229862,49.92125],[6.236032,49.91355],[6.231867,49.91064],[6.227694,49.91062],[6.232286,49.9072],[6.23381,49.90028],[6.246919,49.89535],[6.257809,49.88724],[6.263008,49.88101],[6.276455,49.87725],[6.281126,49.87957],[6.291661,49.87548],[6.297699,49.86673],[6.309889,49.87107],[6.315324,49.8673],[6.314651,49.86057],[6.323611,49.85188],[6.321577,49.8409],[6.327406,49.83673],[6.336561,49.83998],[6.339366,49.8507],[6.364651,49.85164],[6.402203,49.82098],[6.426434,49.81629],[6.428071,49.81186],[6.43097,49.81129],[6.441608,49.81547],[6.443442,49.81233],[6.45366,49.81275],[6.464538,49.81975],[6.47057,49.82385],[6.496805,49.81277],[6.50669,49.80993],[6.511554,49.80238],[6.51485,49.80513],[6.519604,49.81446],[6.529808,49.81048],[6.532249,49.80686],[6.530829,49.80116],[6.506225,49.78899],[6.519171,49.78344],[6.511055,49.77422],[6.520563,49.76818],[6.520516,49.76134],[6.503734,49.75086],[6.502627,49.73298],[6.507266,49.72938],[6.518092,49.7242],[6.516417,49.72129],[6.511763,49.72016],[6.504791,49.725],[6.498913,49.72639],[6.495576,49.72443],[6.507122,49.71655],[6.507884,49.71215],[6.504598,49.71227],[6.427139,49.66237],[6.439899,49.66025],[6.442511,49.65591],[6.421781,49.61809],[6.398978,49.60094],[6.379408,49.59526],[6.375507,49.58809],[6.384426,49.5801],[6.381188,49.57509],[6.369093,49.5783],[6.357913,49.57166],[6.384902,49.55817],[6.380095,49.54856],[6.358555,49.53296],[6.359322,49.52481],[6.370763,49.50545],[6.370562,49.45732],[6.333403,49.46493],[6.321894,49.47244],[6.295034,49.47928],[6.287889,49.48379],[6.271912,49.49995],[6.241327,49.50693],[6.196692,49.50331],[6.173373,49.50577],[6.160858,49.50085],[6.167099,49.49006],[6.140179,49.48525],[6.129367,49.48803],[6.127247,49.47081],[6.101403,49.46726],[6.104826,49.45076],[6.081667,49.45417],[6.077222,49.46139],[6.059167,49.46306],[6.052222,49.46028],[6.044213,49.44553],[6.025294,49.44703],[6.021545,49.45127],[6.01574,49.44885],[5.994123,49.45301],[5.976569,49.44885],[5.977725,49.45955],[5.972317,49.46087],[5.968912,49.48202],[5.9616,49.49026],[5.915781,49.49835],[5.890334,49.4948],[5.863321,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.831868,49.52639],[5.84308,49.53081],[5.835622,49.54114],[5.816251,49.53325],[5.805201,49.54272],[5.859432,49.57158],[5.868663,49.587],[5.862888,49.58525],[5.851102,49.58379],[5.847116,49.58961],[5.845652,49.5981],[5.869401,49.6106],[5.881819,49.63815],[5.899978,49.63907],[5.899339,49.66239],[5.856561,49.67628],[5.856283,49.68211],[5.875703,49.71118],[5.864811,49.72331],[5.843249,49.71822],[5.82191,49.72128],[5.824894,49.73767],[5.820728,49.74878],[5.786264,49.79079],[5.765172,49.78961],[5.750937,49.79094],[5.741591,49.82126],[5.745814,49.82435],[5.737197,49.83353],[5.740531,49.84142],[5.747012,49.84048],[5.746237,49.84783],[5.753989,49.84878],[5.740663,49.85152],[5.752288,49.85922],[5.749545,49.87554],[5.775668,49.87438],[5.775053,49.88057],[5.734598,49.89341],[5.733033,49.90285],[5.757834,49.91737],[5.760393,49.93252],[5.770728,49.93711],[5.768783,49.94239],[5.768802,49.96104],[5.786724,49.96816],[5.80524,49.96677],[5.806521,49.97321],[5.831293,49.97995],[5.834616,49.98656],[5.818057,49.99936],[5.815606,50.01437],[5.847923,50.02809],[5.861889,50.04581],[5.850872,50.0563],[5.857809,50.07186],[5.880997,50.08069],[5.891965,50.12041],[5.952856,50.13384],[5.961753,50.17631]]],"terms_url":"https://data.public.lu/en/datasets/plan-cadastral-numerise-pcn-webservices-wms-et-wmts/","terms_text":"Administration du Cadastre et de la Topographie","id":"lu.geoportail.opendata.cadastre"},{"name":"Luxembourg Geoportail Ortho 2010","type":"tms","template":"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2010/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg","scaleExtent":[0,20],"polygon":[[[5.961753,50.17631],[6.026268,50.18496],[6.033182,50.16395],[6.060695,50.15536],[6.07668,50.15913],[6.078237,50.17255],[6.101762,50.17199],[6.122501,50.16437],[6.120101,50.15594],[6.127695,50.14993],[6.113228,50.13739],[6.123691,50.13719],[6.140929,50.1305],[6.135554,50.11899],[6.138082,50.10263],[6.131085,50.09964],[6.135473,50.09119],[6.121939,50.09059],[6.126335,50.07817],[6.131858,50.07348],[6.121171,50.064],[6.114444,50.06139],[6.115631,50.05817],[6.123611,50.06323],[6.136608,50.04178],[6.130343,50.02975],[6.148207,50.02307],[6.13868,50.01572],[6.135938,50.01485],[6.131384,50.01905],[6.130243,50.01819],[6.139343,50.01116],[6.151702,50.01058],[6.145464,49.99689],[6.139657,49.9994],[6.138524,49.99829],[6.142178,49.99535],[6.150227,49.99518],[6.156247,49.98867],[6.173045,49.98589],[6.17348,49.98344],[6.170353,49.98376],[6.165487,49.97115],[6.171512,49.96298],[6.176298,49.962],[6.179954,49.95386],[6.183393,49.9548],[6.179829,49.96307],[6.183312,49.9686],[6.192774,49.97158],[6.199783,49.95352],[6.207066,49.95672],[6.212689,49.9514],[6.225023,49.95039],[6.22044,49.94369],[6.228241,49.93726],[6.22635,49.92766],[6.219133,49.92354],[6.229862,49.92125],[6.236032,49.91355],[6.231867,49.91064],[6.227694,49.91062],[6.232286,49.9072],[6.23381,49.90028],[6.246919,49.89535],[6.257809,49.88724],[6.263008,49.88101],[6.276455,49.87725],[6.281126,49.87957],[6.291661,49.87548],[6.297699,49.86673],[6.309889,49.87107],[6.315324,49.8673],[6.314651,49.86057],[6.323611,49.85188],[6.321577,49.8409],[6.327406,49.83673],[6.336561,49.83998],[6.339366,49.8507],[6.364651,49.85164],[6.402203,49.82098],[6.426434,49.81629],[6.428071,49.81186],[6.43097,49.81129],[6.441608,49.81547],[6.443442,49.81233],[6.45366,49.81275],[6.464538,49.81975],[6.47057,49.82385],[6.496805,49.81277],[6.50669,49.80993],[6.511554,49.80238],[6.51485,49.80513],[6.519604,49.81446],[6.529808,49.81048],[6.532249,49.80686],[6.530829,49.80116],[6.506225,49.78899],[6.519171,49.78344],[6.511055,49.77422],[6.520563,49.76818],[6.520516,49.76134],[6.503734,49.75086],[6.502627,49.73298],[6.507266,49.72938],[6.518092,49.7242],[6.516417,49.72129],[6.511763,49.72016],[6.504791,49.725],[6.498913,49.72639],[6.495576,49.72443],[6.507122,49.71655],[6.507884,49.71215],[6.504598,49.71227],[6.427139,49.66237],[6.439899,49.66025],[6.442511,49.65591],[6.421781,49.61809],[6.398978,49.60094],[6.379408,49.59526],[6.375507,49.58809],[6.384426,49.5801],[6.381188,49.57509],[6.369093,49.5783],[6.357913,49.57166],[6.384902,49.55817],[6.380095,49.54856],[6.358555,49.53296],[6.359322,49.52481],[6.370763,49.50545],[6.370562,49.45732],[6.333403,49.46493],[6.321894,49.47244],[6.295034,49.47928],[6.287889,49.48379],[6.271912,49.49995],[6.241327,49.50693],[6.196692,49.50331],[6.173373,49.50577],[6.160858,49.50085],[6.167099,49.49006],[6.140179,49.48525],[6.129367,49.48803],[6.127247,49.47081],[6.101403,49.46726],[6.104826,49.45076],[6.081667,49.45417],[6.077222,49.46139],[6.059167,49.46306],[6.052222,49.46028],[6.044213,49.44553],[6.025294,49.44703],[6.021545,49.45127],[6.01574,49.44885],[5.994123,49.45301],[5.976569,49.44885],[5.977725,49.45955],[5.972317,49.46087],[5.968912,49.48202],[5.9616,49.49026],[5.915781,49.49835],[5.890334,49.4948],[5.863321,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.831868,49.52639],[5.84308,49.53081],[5.835622,49.54114],[5.816251,49.53325],[5.805201,49.54272],[5.859432,49.57158],[5.868663,49.587],[5.862888,49.58525],[5.851102,49.58379],[5.847116,49.58961],[5.845652,49.5981],[5.869401,49.6106],[5.881819,49.63815],[5.899978,49.63907],[5.899339,49.66239],[5.856561,49.67628],[5.856283,49.68211],[5.875703,49.71118],[5.864811,49.72331],[5.843249,49.71822],[5.82191,49.72128],[5.824894,49.73767],[5.820728,49.74878],[5.786264,49.79079],[5.765172,49.78961],[5.750937,49.79094],[5.741591,49.82126],[5.745814,49.82435],[5.737197,49.83353],[5.740531,49.84142],[5.747012,49.84048],[5.746237,49.84783],[5.753989,49.84878],[5.740663,49.85152],[5.752288,49.85922],[5.749545,49.87554],[5.775668,49.87438],[5.775053,49.88057],[5.734598,49.89341],[5.733033,49.90285],[5.757834,49.91737],[5.760393,49.93252],[5.770728,49.93711],[5.768783,49.94239],[5.768802,49.96104],[5.786724,49.96816],[5.80524,49.96677],[5.806521,49.97321],[5.831293,49.97995],[5.834616,49.98656],[5.818057,49.99936],[5.815606,50.01437],[5.847923,50.02809],[5.861889,50.04581],[5.850872,50.0563],[5.857809,50.07186],[5.880997,50.08069],[5.891965,50.12041],[5.952856,50.13384],[5.961753,50.17631]]],"terms_url":"https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts","terms_text":"Administration du Cadastre et de la Topographie","id":"lu.geoportail.opendata.ortho2010","best":true},{"name":"Luxembourg Geoportail Ortho 2013","type":"tms","template":"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2013/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg","scaleExtent":[0,20],"polygon":[[[5.961753,50.17631],[6.026268,50.18496],[6.033182,50.16395],[6.060695,50.15536],[6.07668,50.15913],[6.078237,50.17255],[6.101762,50.17199],[6.122501,50.16437],[6.120101,50.15594],[6.127695,50.14993],[6.113228,50.13739],[6.123691,50.13719],[6.140929,50.1305],[6.135554,50.11899],[6.138082,50.10263],[6.131085,50.09964],[6.135473,50.09119],[6.121939,50.09059],[6.126335,50.07817],[6.131858,50.07348],[6.121171,50.064],[6.114444,50.06139],[6.115631,50.05817],[6.123611,50.06323],[6.136608,50.04178],[6.130343,50.02975],[6.148207,50.02307],[6.13868,50.01572],[6.135938,50.01485],[6.131384,50.01905],[6.130243,50.01819],[6.139343,50.01116],[6.151702,50.01058],[6.145464,49.99689],[6.139657,49.9994],[6.138524,49.99829],[6.142178,49.99535],[6.150227,49.99518],[6.156247,49.98867],[6.173045,49.98589],[6.17348,49.98344],[6.170353,49.98376],[6.165487,49.97115],[6.171512,49.96298],[6.176298,49.962],[6.179954,49.95386],[6.183393,49.9548],[6.179829,49.96307],[6.183312,49.9686],[6.192774,49.97158],[6.199783,49.95352],[6.207066,49.95672],[6.212689,49.9514],[6.225023,49.95039],[6.22044,49.94369],[6.228241,49.93726],[6.22635,49.92766],[6.219133,49.92354],[6.229862,49.92125],[6.236032,49.91355],[6.231867,49.91064],[6.227694,49.91062],[6.232286,49.9072],[6.23381,49.90028],[6.246919,49.89535],[6.257809,49.88724],[6.263008,49.88101],[6.276455,49.87725],[6.281126,49.87957],[6.291661,49.87548],[6.297699,49.86673],[6.309889,49.87107],[6.315324,49.8673],[6.314651,49.86057],[6.323611,49.85188],[6.321577,49.8409],[6.327406,49.83673],[6.336561,49.83998],[6.339366,49.8507],[6.364651,49.85164],[6.402203,49.82098],[6.426434,49.81629],[6.428071,49.81186],[6.43097,49.81129],[6.441608,49.81547],[6.443442,49.81233],[6.45366,49.81275],[6.464538,49.81975],[6.47057,49.82385],[6.496805,49.81277],[6.50669,49.80993],[6.511554,49.80238],[6.51485,49.80513],[6.519604,49.81446],[6.529808,49.81048],[6.532249,49.80686],[6.530829,49.80116],[6.506225,49.78899],[6.519171,49.78344],[6.511055,49.77422],[6.520563,49.76818],[6.520516,49.76134],[6.503734,49.75086],[6.502627,49.73298],[6.507266,49.72938],[6.518092,49.7242],[6.516417,49.72129],[6.511763,49.72016],[6.504791,49.725],[6.498913,49.72639],[6.495576,49.72443],[6.507122,49.71655],[6.507884,49.71215],[6.504598,49.71227],[6.427139,49.66237],[6.439899,49.66025],[6.442511,49.65591],[6.421781,49.61809],[6.398978,49.60094],[6.379408,49.59526],[6.375507,49.58809],[6.384426,49.5801],[6.381188,49.57509],[6.369093,49.5783],[6.357913,49.57166],[6.384902,49.55817],[6.380095,49.54856],[6.358555,49.53296],[6.359322,49.52481],[6.370763,49.50545],[6.370562,49.45732],[6.333403,49.46493],[6.321894,49.47244],[6.295034,49.47928],[6.287889,49.48379],[6.271912,49.49995],[6.241327,49.50693],[6.196692,49.50331],[6.173373,49.50577],[6.160858,49.50085],[6.167099,49.49006],[6.140179,49.48525],[6.129367,49.48803],[6.127247,49.47081],[6.101403,49.46726],[6.104826,49.45076],[6.081667,49.45417],[6.077222,49.46139],[6.059167,49.46306],[6.052222,49.46028],[6.044213,49.44553],[6.025294,49.44703],[6.021545,49.45127],[6.01574,49.44885],[5.994123,49.45301],[5.976569,49.44885],[5.977725,49.45955],[5.972317,49.46087],[5.968912,49.48202],[5.9616,49.49026],[5.915781,49.49835],[5.890334,49.4948],[5.863321,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.831868,49.52639],[5.84308,49.53081],[5.835622,49.54114],[5.816251,49.53325],[5.805201,49.54272],[5.859432,49.57158],[5.868663,49.587],[5.862888,49.58525],[5.851102,49.58379],[5.847116,49.58961],[5.845652,49.5981],[5.869401,49.6106],[5.881819,49.63815],[5.899978,49.63907],[5.899339,49.66239],[5.856561,49.67628],[5.856283,49.68211],[5.875703,49.71118],[5.864811,49.72331],[5.843249,49.71822],[5.82191,49.72128],[5.824894,49.73767],[5.820728,49.74878],[5.786264,49.79079],[5.765172,49.78961],[5.750937,49.79094],[5.741591,49.82126],[5.745814,49.82435],[5.737197,49.83353],[5.740531,49.84142],[5.747012,49.84048],[5.746237,49.84783],[5.753989,49.84878],[5.740663,49.85152],[5.752288,49.85922],[5.749545,49.87554],[5.775668,49.87438],[5.775053,49.88057],[5.734598,49.89341],[5.733033,49.90285],[5.757834,49.91737],[5.760393,49.93252],[5.770728,49.93711],[5.768783,49.94239],[5.768802,49.96104],[5.786724,49.96816],[5.80524,49.96677],[5.806521,49.97321],[5.831293,49.97995],[5.834616,49.98656],[5.818057,49.99936],[5.815606,50.01437],[5.847923,50.02809],[5.861889,50.04581],[5.850872,50.0563],[5.857809,50.07186],[5.880997,50.08069],[5.891965,50.12041],[5.952856,50.13384],[5.961753,50.17631]]],"terms_url":"https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts","terms_text":"Administration du Cadastre et de la Topographie","id":"lu.geoportail.opendata.ortho2013","best":true},{"name":"Luxembourg Geoportail Topographical Map","type":"tms","template":"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/topo/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png","scaleExtent":[0,20],"polygon":[[[5.961753,50.17631],[6.026268,50.18496],[6.033182,50.16395],[6.060695,50.15536],[6.07668,50.15913],[6.078237,50.17255],[6.101762,50.17199],[6.122501,50.16437],[6.120101,50.15594],[6.127695,50.14993],[6.113228,50.13739],[6.123691,50.13719],[6.140929,50.1305],[6.135554,50.11899],[6.138082,50.10263],[6.131085,50.09964],[6.135473,50.09119],[6.121939,50.09059],[6.126335,50.07817],[6.131858,50.07348],[6.121171,50.064],[6.114444,50.06139],[6.115631,50.05817],[6.123611,50.06323],[6.136608,50.04178],[6.130343,50.02975],[6.148207,50.02307],[6.13868,50.01572],[6.135938,50.01485],[6.131384,50.01905],[6.130243,50.01819],[6.139343,50.01116],[6.151702,50.01058],[6.145464,49.99689],[6.139657,49.9994],[6.138524,49.99829],[6.142178,49.99535],[6.150227,49.99518],[6.156247,49.98867],[6.173045,49.98589],[6.17348,49.98344],[6.170353,49.98376],[6.165487,49.97115],[6.171512,49.96298],[6.176298,49.962],[6.179954,49.95386],[6.183393,49.9548],[6.179829,49.96307],[6.183312,49.9686],[6.192774,49.97158],[6.199783,49.95352],[6.207066,49.95672],[6.212689,49.9514],[6.225023,49.95039],[6.22044,49.94369],[6.228241,49.93726],[6.22635,49.92766],[6.219133,49.92354],[6.229862,49.92125],[6.236032,49.91355],[6.231867,49.91064],[6.227694,49.91062],[6.232286,49.9072],[6.23381,49.90028],[6.246919,49.89535],[6.257809,49.88724],[6.263008,49.88101],[6.276455,49.87725],[6.281126,49.87957],[6.291661,49.87548],[6.297699,49.86673],[6.309889,49.87107],[6.315324,49.8673],[6.314651,49.86057],[6.323611,49.85188],[6.321577,49.8409],[6.327406,49.83673],[6.336561,49.83998],[6.339366,49.8507],[6.364651,49.85164],[6.402203,49.82098],[6.426434,49.81629],[6.428071,49.81186],[6.43097,49.81129],[6.441608,49.81547],[6.443442,49.81233],[6.45366,49.81275],[6.464538,49.81975],[6.47057,49.82385],[6.496805,49.81277],[6.50669,49.80993],[6.511554,49.80238],[6.51485,49.80513],[6.519604,49.81446],[6.529808,49.81048],[6.532249,49.80686],[6.530829,49.80116],[6.506225,49.78899],[6.519171,49.78344],[6.511055,49.77422],[6.520563,49.76818],[6.520516,49.76134],[6.503734,49.75086],[6.502627,49.73298],[6.507266,49.72938],[6.518092,49.7242],[6.516417,49.72129],[6.511763,49.72016],[6.504791,49.725],[6.498913,49.72639],[6.495576,49.72443],[6.507122,49.71655],[6.507884,49.71215],[6.504598,49.71227],[6.427139,49.66237],[6.439899,49.66025],[6.442511,49.65591],[6.421781,49.61809],[6.398978,49.60094],[6.379408,49.59526],[6.375507,49.58809],[6.384426,49.5801],[6.381188,49.57509],[6.369093,49.5783],[6.357913,49.57166],[6.384902,49.55817],[6.380095,49.54856],[6.358555,49.53296],[6.359322,49.52481],[6.370763,49.50545],[6.370562,49.45732],[6.333403,49.46493],[6.321894,49.47244],[6.295034,49.47928],[6.287889,49.48379],[6.271912,49.49995],[6.241327,49.50693],[6.196692,49.50331],[6.173373,49.50577],[6.160858,49.50085],[6.167099,49.49006],[6.140179,49.48525],[6.129367,49.48803],[6.127247,49.47081],[6.101403,49.46726],[6.104826,49.45076],[6.081667,49.45417],[6.077222,49.46139],[6.059167,49.46306],[6.052222,49.46028],[6.044213,49.44553],[6.025294,49.44703],[6.021545,49.45127],[6.01574,49.44885],[5.994123,49.45301],[5.976569,49.44885],[5.977725,49.45955],[5.972317,49.46087],[5.968912,49.48202],[5.9616,49.49026],[5.915781,49.49835],[5.890334,49.4948],[5.863321,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.831868,49.52639],[5.84308,49.53081],[5.835622,49.54114],[5.816251,49.53325],[5.805201,49.54272],[5.859432,49.57158],[5.868663,49.587],[5.862888,49.58525],[5.851102,49.58379],[5.847116,49.58961],[5.845652,49.5981],[5.869401,49.6106],[5.881819,49.63815],[5.899978,49.63907],[5.899339,49.66239],[5.856561,49.67628],[5.856283,49.68211],[5.875703,49.71118],[5.864811,49.72331],[5.843249,49.71822],[5.82191,49.72128],[5.824894,49.73767],[5.820728,49.74878],[5.786264,49.79079],[5.765172,49.78961],[5.750937,49.79094],[5.741591,49.82126],[5.745814,49.82435],[5.737197,49.83353],[5.740531,49.84142],[5.747012,49.84048],[5.746237,49.84783],[5.753989,49.84878],[5.740663,49.85152],[5.752288,49.85922],[5.749545,49.87554],[5.775668,49.87438],[5.775053,49.88057],[5.734598,49.89341],[5.733033,49.90285],[5.757834,49.91737],[5.760393,49.93252],[5.770728,49.93711],[5.768783,49.94239],[5.768802,49.96104],[5.786724,49.96816],[5.80524,49.96677],[5.806521,49.97321],[5.831293,49.97995],[5.834616,49.98656],[5.818057,49.99936],[5.815606,50.01437],[5.847923,50.02809],[5.861889,50.04581],[5.850872,50.0563],[5.857809,50.07186],[5.880997,50.08069],[5.891965,50.12041],[5.952856,50.13384],[5.961753,50.17631]]],"terms_url":"https://data.public.lu/en/datasets/cartes-topographiques-services-wms-et-wmts/","terms_text":"Administration du Cadastre et de la Topographie","id":"lu.geoportail.opendata.topo"},{"name":"Mapbox Satellite","type":"tms","description":"Satellite and aerial imagery.","template":"http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh7ifmo/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw","scaleExtent":[0,19],"terms_url":"http://www.mapbox.com/about/maps/","terms_text":"Terms & Feedback","id":"Mapbox","default":true},{"name":"MD 2014 6 Inch Aerial Imagery","type":"tms","description":"Six Inch resolution aerial imagery for the State of Maryland","template":"http://whoots.mapwarper.net/tms/{z}/{x}/{y}/MD_SixInchImagery/http://geodata.md.gov/imap/services/Imagery/MD_SixInchImagery/MapServer/WmsServer","scaleExtent":[0,20],"polygon":[[[-76.234131,37.920368],[-76.598053,38.158317],[-76.940002,38.270532],[-77.038193,38.413786],[-77.23526,38.33627],[-77.312164,38.410558],[-77.262726,38.566422],[-77.042999,38.713376],[-77.049866,38.793697],[-76.92627,38.892503],[-77.040939,38.984499],[-77.12162,38.925229],[-77.150116,38.955137],[-77.252426,38.975425],[-77.259293,39.024252],[-77.34581,39.054918],[-77.461853,39.070379],[-77.537384,39.139647],[-77.474213,39.224807],[-77.572746,39.304284],[-77.723465,39.328986],[-77.777023,39.463234],[-77.861481,39.516225],[-77.840881,39.608862],[-77.956238,39.59299],[-78.166351,39.695564],[-78.270035,39.621557],[-78.338699,39.640066],[-78.466415,39.523641],[-78.662796,39.540058],[-78.798752,39.606217],[-78.9814,39.446799],[-79.06723,39.476486],[-79.485054,39.199536],[-79.485569,39.72158],[-75.788359,39.721811],[-75.690994,38.460579],[-75.049238,38.458159],[-75.049839,38.402218],[-75.081511,38.323208],[-75.097733,38.309066],[-75.186996,38.097551],[-75.23798,38.022402],[-75.61821,37.989669],[-75.863686,37.909534],[-76.234131,37.920368]]],"terms_url":"http://imap.maryland.gov/Pages/imagery-products.aspx","terms_text":"DoIT, MD iMap, MDP"},{"name":"New & Misaligned TIGER Roads","type":"tms","description":"At zoom level 16+, public domain map data from the US Census. At lower zooms, only changes since 2006 minus changes already incorporated into OpenStreetMap","template":"http://{switch:a,b,c}.tiles.mapbox.com/v4/enf.e0b8291e/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJhNVlHd29ZIn0.ti6wATGDWOmCnCYen-Ip7Q","scaleExtent":[0,22],"polygon":[[[-124.7617886,48.4130148],[-124.6059492,45.90245],[-124.9934269,40.0557614],[-122.5369737,36.8566086],[-119.9775867,33.0064099],[-117.675935,32.4630223],[-114.8612307,32.4799891],[-111.0089311,31.336015],[-108.1992687,31.3260016],[-108.1871123,31.7755116],[-106.5307225,31.7820947],[-106.4842052,31.7464455],[-106.429317,31.7520583],[-106.2868855,31.5613291],[-106.205248,31.446704],[-105.0205259,30.5360988],[-104.5881916,29.6997856],[-103.2518856,28.8908685],[-102.7173632,29.3920567],[-102.1513983,29.7475702],[-101.2552871,29.4810523],[-100.0062436,28.0082173],[-99.2351068,26.4475962],[-98.0109067,25.9928035],[-97.435024,25.8266009],[-96.9555259,25.9821589],[-96.8061741,27.7978168],[-95.5563349,28.5876066],[-93.7405308,29.4742093],[-90.9028456,28.8564513],[-88.0156706,28.9944338],[-88.0162494,30.0038862],[-86.0277506,30.0047454],[-84.0187909,28.9961781],[-81.9971976,25.9826768],[-81.9966618,25.0134917],[-84.0165592,25.0125783],[-84.0160068,24.0052745],[-80.0199985,24.007096],[-79.8901116,26.8550713],[-80.0245309,32.0161282],[-75.4147385,35.0531894],[-74.0211163,39.5727927],[-72.002019,40.9912464],[-69.8797398,40.9920457],[-69.8489304,43.2619916],[-66.9452845,44.7104937],[-67.7596632,47.0990024],[-69.2505131,47.5122328],[-70.4614886,46.2176574],[-71.412273,45.254878],[-72.0222508,45.0059846],[-75.0798841,44.9802854],[-76.9023061,43.8024568],[-78.7623935,43.6249578],[-79.15798,43.4462589],[-79.0060087,42.8005317],[-82.662475,41.6889458],[-82.1761642,43.588535],[-83.2813977,46.138853],[-87.5064535,48.0142702],[-88.3492194,48.2963271],[-89.4353148,47.9837822],[-93.9981078,49.0067142],[-95.1105379,49.412004],[-96.0131199,49.0060547],[-123.3228926,49.0042878],[-123.2275233,48.1849927]],[[-160.5787616,22.5062947],[-160.5782192,21.4984647],[-158.7470604,21.2439843],[-157.5083185,20.995803],[-155.9961942,18.7790194],[-154.6217803,18.7586966],[-154.6890176,19.8805722],[-156.2927622,21.2225888],[-157.5047384,21.9984962],[-159.0093692,22.5070181]],[[-167.1571546,68.721974],[-164.8553982,67.0255078],[-168.002195,66.0017503],[-169.0087448,66.001546],[-169.0075381,64.9987675],[-172.5143281,63.8767267],[-173.8197023,59.74014],[-162.5018149,58.0005815],[-160.0159024,58.0012389],[-160.0149725,57.000035],[-160.5054788,56.9999017],[-165.8092575,54.824847],[-178.000097,52.2446469],[-177.9992996,51.2554252],[-171.4689067,51.8215329],[-162.40251,53.956664],[-159.0075717,55.002502],[-158.0190709,55.0027849],[-151.9963213,55.9991902],[-151.500341,57.9987853],[-151.5012894,58.9919816],[-138.5159989,58.9953194],[-138.5150471,57.9986434],[-133.9948193,54.0031685],[-130.0044418,54.0043387],[-130.0070826,57.0000507],[-131.975877,56.9995156],[-135.1229873,59.756601],[-138.0071813,59.991805],[-139.1715881,60.4127229],[-140.9874011,61.0118551],[-140.9683975,69.9535069],[-156.176891,71.5633329],[-160.413634,70.7397728],[-163.0218273,69.9707435],[-164.9717003,68.994689]]],"overlay":true},{"name":"NJ 2015 Aerial Imagery (Infrared)","type":"tms","description":"Digital orthophotography of New Jersey, Near Infrared, 1 foot resolution","template":"http://whoots.mapwarper.net/tms/{z}/{x}/{y}/Infrared2015/http://geodata.state.nj.us/imagerywms/Infrared2015","scaleExtent":[0,20],"polygon":[[[-74.86599,40.085427],[-74.840927,40.107225],[-74.822903,40.130329],[-74.788055,40.124685],[-74.726086,40.149488],[-74.729176,40.16392],[-74.763336,40.191725],[-74.775524,40.214276],[-74.844017,40.247957],[-74.868393,40.291573],[-74.944611,40.33817],[-74.967098,40.395195],[-75.002632,40.406046],[-75.026836,40.402516],[-75.06134,40.416502],[-75.074215,40.455046],[-75.069065,40.536503],[-75.102367,40.567024],[-75.135927,40.573609],[-75.16777,40.559069],[-75.197639,40.573674],[-75.203733,40.618318],[-75.205064,40.691312],[-75.198326,40.753889],[-75.172405,40.780671],[-75.1367,40.777292],[-75.090179,40.822383],[-75.100994,40.839269],[-75.096874,40.850956],[-75.068464,40.850372],[-75.057049,40.867574],[-75.13773,40.973094],[-75.135155,40.994411],[-75.039024,41.03819],[-74.981518,41.112598],[-74.905472,41.170384],[-74.84024,41.278645],[-74.798012,41.322685],[-74.757156,41.347691],[-74.695702,41.360576],[-74.041054,41.059088],[-74.041051,41.059087],[-74.04105,41.059087],[-74.04105,41.059086],[-74.041049,41.059086],[-74.041049,41.059086],[-73.890266,40.998039],[-73.933406,40.882078],[-73.933407,40.882077],[-73.933408,40.882076],[-73.933408,40.882075],[-73.933408,40.882075],[-74.011459,40.75558],[-74.024543,40.709436],[-74.066048,40.651732],[-74.152222,40.638967],[-74.183121,40.644568],[-74.200459,40.631281],[-74.199257,40.598444],[-74.21505,40.558026],[-74.246807,40.548113],[-74.24715,40.519541],[-74.267578,40.489651],[-74.26054,40.469282],[-74.199257,40.445641],[-74.181061,40.460401],[-74.136429,40.459095],[-73.997555,40.413496],[-74.026566,40.47777],[-74.003906,40.484037],[-73.977814,40.452042],[-73.964767,40.33189],[-74.088364,39.756824],[-74.356842,39.383406],[-74.609528,39.215231],[-74.776382,38.998909],[-74.863586,38.931639],[-74.931221,38.920688],[-74.980316,38.930304],[-74.960747,39.00798],[-74.905472,39.100226],[-74.899979,39.164141],[-75.101166,39.201398],[-75.135498,39.171062],[-75.425949,39.378099],[-75.475044,39.43195],[-75.543365,39.457403],[-75.552292,39.482845],[-75.538902,39.541911],[-75.519676,39.56997],[-75.571175,39.608069],[-75.577698,39.625524],[-75.539932,39.656456],[-75.472984,39.747454],[-75.466253,39.750761],[-75.466252,39.750762],[-75.466252,39.750763],[-75.466252,39.750763],[-75.466252,39.750763],[-75.466251,39.750764],[-75.466251,39.750765],[-75.466251,39.750765],[-75.466251,39.750765],[-75.466251,39.750765],[-75.46625,39.750767],[-75.466249,39.750768],[-75.466249,39.750769],[-75.466249,39.750769],[-75.465088,39.764478],[-75.415041,39.801786],[-75.324669,39.858891],[-75.246048,39.864689],[-75.143738,39.900255],[-75.142365,39.957912],[-75.07061,39.987117],[-75.056534,40.008683],[-74.935341,40.072555],[-74.86599,40.085427]]],"terms_url":"https://njgin.state.nj.us/NJ_NJGINExplorer/ShowMetadata.jsp?docId={E30775F2-6370-4525-8E68-C371ED29BBB3}","terms_text":"NJ Office of Information Technology (NJOIT), Office of Geographic Information Systems (OGIS)"},{"name":"NJ 2015 Aerial Imagery (Natural Color)","type":"tms","description":"Digital orthophotography of New Jersey, Natural Color, 1 foot resolution","template":"http://whoots.mapwarper.net/tms/{z}/{x}/{y}/Natural2015/http://geodata.state.nj.us/imagerywms/Natural2015","scaleExtent":[0,20],"polygon":[[[-74.86599,40.085427],[-74.840927,40.107225],[-74.822903,40.130329],[-74.788055,40.124685],[-74.726086,40.149488],[-74.729176,40.16392],[-74.763336,40.191725],[-74.775524,40.214276],[-74.844017,40.247957],[-74.868393,40.291573],[-74.944611,40.33817],[-74.967098,40.395195],[-75.002632,40.406046],[-75.026836,40.402516],[-75.06134,40.416502],[-75.074215,40.455046],[-75.069065,40.536503],[-75.102367,40.567024],[-75.135927,40.573609],[-75.16777,40.559069],[-75.197639,40.573674],[-75.203733,40.618318],[-75.205064,40.691312],[-75.198326,40.753889],[-75.172405,40.780671],[-75.1367,40.777292],[-75.090179,40.822383],[-75.100994,40.839269],[-75.096874,40.850956],[-75.068464,40.850372],[-75.057049,40.867574],[-75.13773,40.973094],[-75.135155,40.994411],[-75.039024,41.03819],[-74.981518,41.112598],[-74.905472,41.170384],[-74.84024,41.278645],[-74.798012,41.322685],[-74.757156,41.347691],[-74.695702,41.360576],[-74.041054,41.059088],[-74.041051,41.059087],[-74.04105,41.059087],[-74.04105,41.059086],[-74.041049,41.059086],[-74.041049,41.059086],[-73.890266,40.998039],[-73.933406,40.882078],[-73.933407,40.882077],[-73.933408,40.882076],[-73.933408,40.882075],[-73.933408,40.882075],[-74.011459,40.75558],[-74.024543,40.709436],[-74.066048,40.651732],[-74.152222,40.638967],[-74.183121,40.644568],[-74.200459,40.631281],[-74.199257,40.598444],[-74.21505,40.558026],[-74.246807,40.548113],[-74.24715,40.519541],[-74.267578,40.489651],[-74.26054,40.469282],[-74.199257,40.445641],[-74.181061,40.460401],[-74.136429,40.459095],[-73.997555,40.413496],[-74.026566,40.47777],[-74.003906,40.484037],[-73.977814,40.452042],[-73.964767,40.33189],[-74.088364,39.756824],[-74.356842,39.383406],[-74.609528,39.215231],[-74.776382,38.998909],[-74.863586,38.931639],[-74.931221,38.920688],[-74.980316,38.930304],[-74.960747,39.00798],[-74.905472,39.100226],[-74.899979,39.164141],[-75.101166,39.201398],[-75.135498,39.171062],[-75.425949,39.378099],[-75.475044,39.43195],[-75.543365,39.457403],[-75.552292,39.482845],[-75.538902,39.541911],[-75.519676,39.56997],[-75.571175,39.608069],[-75.577698,39.625524],[-75.539932,39.656456],[-75.472984,39.747454],[-75.466253,39.750761],[-75.466252,39.750762],[-75.466252,39.750763],[-75.466252,39.750763],[-75.466252,39.750763],[-75.466251,39.750764],[-75.466251,39.750765],[-75.466251,39.750765],[-75.466251,39.750765],[-75.466251,39.750765],[-75.46625,39.750767],[-75.466249,39.750768],[-75.466249,39.750769],[-75.466249,39.750769],[-75.465088,39.764478],[-75.415041,39.801786],[-75.324669,39.858891],[-75.246048,39.864689],[-75.143738,39.900255],[-75.142365,39.957912],[-75.07061,39.987117],[-75.056534,40.008683],[-74.935341,40.072555],[-74.86599,40.085427]]],"terms_url":"https://njgin.state.nj.us/NJ_NJGINExplorer/ShowMetadata.jsp?docId={CDC67AB8-ADA1-4B4B-9087-67A82CB9151C}","terms_text":"NJ Office of Information Technology (NJOIT), Office of Geographic Information Systems (OGIS)"},{"name":"NLS - Bartholomew Half Inch, 1897-1907","type":"tms","template":"http://geo.nls.uk/mapdata2/bartholomew/great_britain/{zoom}/{x}/{-y}.png","scaleExtent":[0,15],"polygon":[[[-9,49.8],[-9,61.1],[1.9,61.1],[1.9,49.8],[-9,49.8]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"NLS - OS 1-inch 7th Series 1955-61","type":"tms","template":"http://geo.nls.uk/mapdata2/os/seventh/{zoom}/{x}/{-y}.png","scaleExtent":[5,16],"polygon":[[[-6.4585407,49.9044128],[-6.3872009,49.9841116],[-6.2296827,49.9896159],[-6.2171269,49.8680087],[-6.4551164,49.8591793]],[[-1.4495137,60.8634056],[-0.7167114,60.8545122],[-0.7349744,60.4359756],[-0.6938826,60.4168218],[-0.7258429,60.3942735],[-0.7395401,60.0484714],[-0.9267357,60.0461918],[-0.9381501,59.8266157],[-1.4586452,59.831205],[-1.4455187,60.0535999],[-1.463211,60.0535999],[-1.4643524,60.0630002],[-1.5716475,60.0638546],[-1.5693646,60.1790005],[-1.643558,60.1807033],[-1.643558,60.1892162],[-1.8216221,60.1894999],[-1.8204807,60.3615507],[-1.8415973,60.3697345],[-1.8216221,60.3832755],[-1.8179852,60.5934321],[-1.453168,60.5934321]],[[-4.9089213,54.4242078],[-4.282598,54.4429861],[-4.2535417,54.029769],[-4.8766366,54.0221831]],[[-5.8667408,59.1444603],[-5.7759966,59.1470945],[-5.7720016,59.1014052],[-5.8621751,59.0990605]],[[-1.7065887,59.5703599],[-1.5579165,59.5693481],[-1.5564897,59.4965695],[-1.7054472,59.4975834]],[[-7.6865827,58.2940975],[-7.5330594,58.3006957],[-7.5256401,58.2646905],[-7.6797341,58.2577853]],[[-4.5338281,59.0359871],[-4.481322,59.0371616],[-4.4796099,59.0186583],[-4.5332574,59.0180707]],[[-8.6710698,57.8769896],[-8.4673234,57.8897332],[-8.4467775,57.7907],[-8.6510947,57.7779213]],[[-5.2395519,50.3530581],[-5.7920073,50.3384899],[-5.760047,49.9317027],[-4.6551363,49.9581461],[-4.677965,50.2860073],[-4.244219,50.2801723],[-4.2487848,50.2042525],[-3.3812929,50.2042525],[-3.4223846,50.5188201],[-3.1164796,50.5246258],[-3.1210453,50.6579592],[-2.6736357,50.6619495],[-2.5953453,50.6394325],[-2.5905026,50.5728419],[-2.4791203,50.5733545],[-2.4758919,50.5066704],[-2.3967943,50.5056438],[-2.401637,50.5723293],[-1.0400296,50.5718167],[-1.0335726,50.7059289],[-0.549302,50.7038843],[-0.5460736,50.7886618],[-0.0924734,50.7856002],[-0.0876307,50.7181949],[0.4789659,50.7120623],[0.487037,50.8182467],[0.9761503,50.8049868],[0.9922927,51.0126311],[1.4491213,51.0004424],[1.4781775,51.4090372],[1.0229632,51.4271576],[1.035877,51.7640881],[1.6105448,51.7500992],[1.646058,52.1560003],[1.7267698,52.1540195],[1.749369,52.4481811],[1.7870672,52.4811624],[1.759102,52.522505],[1.7933451,52.9602749],[0.3798147,52.9958468],[0.3895238,53.2511239],[0.3478614,53.2511239],[0.3238912,53.282186],[0.3461492,53.6538501],[0.128487,53.6575466],[0.116582,53.6674703],[0.1350586,54.0655731],[-0.0609831,54.065908],[-0.0414249,54.4709448],[-0.5662701,54.4771794],[-0.5592078,54.6565127],[-1.1665638,54.6623485],[-1.1637389,54.842611],[-1.3316194,54.843909],[-1.3257065,55.2470842],[-1.529453,55.2487108],[-1.524178,55.6540122],[-1.7638798,55.6540122],[-1.7733693,55.9719116],[-2.1607858,55.9682981],[-2.1543289,56.0621387],[-2.4578051,56.0585337],[-2.4190635,56.641717],[-2.0962164,56.641717],[-2.0833025,57.0021322],[-1.9283359,57.0126802],[-1.9180966,57.3590895],[-1.7502161,57.3625721],[-1.7695869,57.7608634],[-3.6937554,57.7574187],[-3.7066693,57.9806386],[-3.5969013,57.9772149],[-3.6033582,58.1207277],[-3.0222335,58.1309566],[-3.0286905,58.5410788],[-2.8478961,58.530968],[-2.86081,58.8430508],[-2.679624,58.8414991],[-2.6841897,58.885175],[-2.6339665,58.9052239],[-2.679624,58.9335083],[-2.6887555,59.0229231],[-2.3668703,59.0229231],[-2.3702946,59.2652861],[-2.3429001,59.2821989],[-2.3714361,59.2996861],[-2.3737189,59.3707083],[-2.3429001,59.385825],[-2.3725775,59.400354],[-2.3714361,59.4259098],[-3.0734196,59.4230067],[-3.0711368,59.3433649],[-3.103097,59.3311405],[-3.0745611,59.3136695],[-3.0722782,59.232603],[-3.3850319,59.1484167],[-3.3747589,58.9352753],[-3.5653789,58.9323303],[-3.554829,58.69759],[-5.2808579,58.6667732],[-5.2534159,58.3514125],[-5.5068508,58.3437887],[-5.4761804,58.0323557],[-5.8974958,58.0212436],[-5.8522972,57.6171758],[-6.1396311,57.6137174],[-6.1541592,57.7423183],[-6.2913692,57.7380102],[-6.3365678,58.1398784],[-6.1121891,58.1466944],[-6.1473778,58.5106285],[-6.2934817,58.5416182],[-6.8413713,58.2977321],[-7.0057382,58.2929331],[-7.1016189,58.2064403],[-7.2573132,58.1793148],[-7.2531092,58.1004928],[-7.4070698,58.0905566],[-7.391347,57.7911354],[-7.790991,57.7733151],[-7.7624215,57.5444165],[-7.698501,57.1453194],[-7.7943817,57.1304547],[-7.716764,56.7368628],[-7.0122067,56.7654359],[-6.979922,56.5453858],[-7.0638622,56.5453858],[-7.0444914,56.3562587],[-6.500676,56.3812917],[-6.4491433,55.9793649],[-6.563287,55.9691456],[-6.5393742,55.7030135],[-6.5595521,55.6907321],[-6.5345315,55.6761713],[-6.5216176,55.5704434],[-5.8912587,55.5923416],[-5.8560127,55.2320733],[-5.2293639,55.2515958],[-5.1837064,54.6254139],[-3.6655956,54.6518373],[-3.6496155,54.4320023],[-3.5400375,54.4306744],[-3.530906,54.0290181],[-3.0697656,54.030359],[-3.0675737,53.8221388],[-3.0804876,53.7739911],[-3.0619239,53.7477488],[-3.0611168,53.6737049],[-3.2144691,53.6708361],[-3.2057699,53.4226163],[-3.2799632,53.355224],[-3.2896655,53.3608441],[-3.3327547,53.364931],[-3.3761293,53.3540318],[-4.0888976,53.3433102],[-4.0945474,53.4612036],[-4.697412,53.4448624],[-4.6882805,53.3318598],[-4.7202407,53.2895771],[-4.6837148,53.2486184],[-4.6768661,53.1542644],[-4.8480816,53.1446807],[-4.8178336,52.7440299],[-4.2545751,52.7558939],[-4.228876,52.254876],[-4.2607571,52.2536408],[-4.2724603,52.2432637],[-4.8136263,52.230095],[-4.8079191,52.1138892],[-5.3889104,52.0991668],[-5.3717888,51.9129667],[-5.4208706,51.9101502],[-5.414022,51.8453218],[-5.3683645,51.8474373],[-5.3466772,51.5595332],[-4.773676,51.5758518],[-4.7656859,51.4885146],[-4.1915432,51.4970427],[-4.1869775,51.4344663],[-3.6151177,51.4444274],[-3.6105519,51.3746543],[-3.1494115,51.3789292],[-3.1494115,51.2919281],[-4.3038735,51.2745907],[-4.2861169,51.0508721],[-4.8543277,51.0366633],[-4.8372201,50.7212787],[-5.2618345,50.7082694]],[[-2.1502671,60.171318],[-2.0030218,60.1696146],[-2.0013096,60.0997023],[-2.148555,60.1011247]],[[-6.2086011,59.1163488],[-6.1229934,59.1166418],[-6.121852,59.0714985],[-6.2097426,59.0714985]],[[-4.4159559,59.0889036],[-4.4212022,59.0770848],[-4.3971904,59.0779143],[-4.3913388,59.0897328]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"NLS - OS 1:25k 1st Series 1937-61","type":"tms","template":"http://geo.nls.uk/mapdata2/os/25000/{zoom}/{x}/{-y}.png","scaleExtent":[5,16],"polygon":[[[-4.7157244,54.6796556],[-4.6850662,54.6800268],[-4.6835779,54.6623245],[-4.7148782,54.6615818]],[[-3.7085748,58.3371151],[-3.5405937,58.3380684],[-3.5315137,58.1608002],[-3.3608086,58.1622372],[-3.3653486,58.252173],[-3.1610473,58.2536063],[-3.1610473,58.3261509],[-3.0275704,58.3271045],[-3.0366505,58.6139001],[-3.0021463,58.614373],[-3.0030543,58.7036341],[-3.4180129,58.7003322],[-3.4171049,58.6290293],[-3.7240109,58.6266658],[-3.7231029,58.606806],[-4.2361262,58.5992374],[-4.2334022,58.5092347],[-3.88836,58.5144516],[-3.8829119,58.4261327],[-3.7158389,58.4270836]],[[-6.46676,49.9943621],[-6.1889102,50.004868],[-6.1789222,49.8967815],[-6.3169391,49.8915171],[-6.312399,49.8200979],[-6.4504159,49.8159968]],[[-5.6453263,50.2029809],[-5.7801329,50.2014076],[-5.7637888,50.0197267],[-5.3479221,50.0290604],[-5.3388421,49.9414854],[-5.024672,49.9473287],[-5.0355681,50.0383923],[-5.0010639,50.0453901],[-4.9974319,50.1304478],[-4.855783,50.13394],[-4.861231,50.206057],[-4.6546085,50.2140172],[-4.6558926,50.3018616],[-4.5184924,50.3026818],[-4.51464,50.325642],[-4.2488284,50.3264618],[-4.2488284,50.3100631],[-4.10886,50.3141633],[-4.1062917,50.2411267],[-3.9648088,50.2432047],[-3.9640778,50.2254158],[-3.8522287,50.2273626],[-3.8503757,50.1552563],[-3.6921809,50.1572487],[-3.5414602,50.1602198],[-3.5465781,50.3226814],[-3.4068012,50.3241013],[-3.4165761,50.5892711],[-3.2746691,50.5962721],[-3.2749172,50.6106323],[-2.9971742,50.613972],[-2.9896008,50.688537],[-2.7120266,50.690565],[-2.710908,50.6195964],[-2.5695473,50.6157538],[-2.5651019,50.5134083],[-2.4014463,50.513379],[-2.3940583,50.6160348],[-2.2894123,50.6147436],[-2.2876184,50.6008549],[-2.1477855,50.6048506],[-2.1451013,50.5325437],[-1.9335117,50.5347477],[-1.9362139,50.6170445],[-1.8573025,50.6228094],[-1.8554865,50.709139],[-1.6066929,50.709139],[-1.6085089,50.6239615],[-1.4450678,50.6228094],[-1.4432518,50.5317039],[-1.1545059,50.5293951],[-1.1472419,50.6170485],[-1.011041,50.6205051],[-1.011041,50.7056889],[-0.704135,50.7045388],[-0.700503,50.7769401],[-0.5860943,50.7723465],[-0.5879103,50.7907181],[-0.0149586,50.7798108],[-0.0185906,50.7625836],[0.0967261,50.7620093],[0.0921861,50.6913106],[0.3046595,50.6890096],[0.3101075,50.7757917],[0.5511831,50.7726336],[0.5529991,50.8432096],[0.695556,50.8403428],[0.696464,50.8592608],[0.9852099,50.8523824],[0.9906579,50.9417226],[1.0160821,50.9411504],[1.0215301,51.0303204],[1.2812198,51.0240383],[1.2848518,51.0948044],[1.4277848,51.0948044],[1.4386809,51.2882859],[1.4713691,51.2871502],[1.4804492,51.3994534],[1.1590151,51.4073836],[1.1590151,51.3869889],[1.0191822,51.3903886],[1.0228142,51.4798247],[0.8793493,51.4843484],[0.8829813,51.5566675],[1.0264462,51.5544092],[1.0373423,51.7493319],[1.2607117,51.7482076],[1.2661598,51.8279642],[1.3351682,51.8335756],[1.3478803,51.9199021],[1.4840812,51.9199021],[1.4986093,52.0038271],[1.6438902,52.0027092],[1.6656823,52.270221],[1.7310588,52.270221],[1.7528509,52.4465637],[1.8254914,52.4476705],[1.8345714,52.624408],[1.7690346,52.6291402],[1.7741711,52.717904],[1.6996925,52.721793],[1.706113,52.8103687],[1.559724,52.8165777],[1.5648605,52.9034116],[1.4184715,52.9103818],[1.4223238,52.9281894],[1.3439928,52.9289635],[1.3491293,53.0001194],[0.4515789,53.022589],[0.4497629,52.9351139],[0.3789384,52.9351139],[0.3716744,52.846365],[0.2227614,52.8496552],[0.2336575,52.9329248],[0.3062979,52.9351139],[0.308114,53.022589],[0.3807544,53.0236813],[0.3993708,53.2933729],[0.3248922,53.2987454],[0.3274604,53.3853782],[0.2504136,53.38691],[0.2581183,53.4748924],[0.1862079,53.4779494],[0.1913443,53.6548777],[0.1502527,53.6594436],[0.1528209,53.7666003],[0.0012954,53.7734308],[0.0025796,53.8424326],[-0.0282392,53.841675],[-0.0226575,53.9311501],[-0.1406983,53.9322193],[-0.1416063,54.0219323],[-0.1706625,54.0235326],[-0.1679384,54.0949482],[-0.0126694,54.0912206],[-0.0099454,54.1811226],[-0.1615824,54.1837795],[-0.1606744,54.2029038],[-0.2405789,54.2034349],[-0.2378549,54.2936234],[-0.3894919,54.2941533],[-0.3857497,54.3837321],[-0.461638,54.3856364],[-0.4571122,54.4939066],[-0.6105651,54.4965434],[-0.6096571,54.5676704],[-0.7667421,54.569776],[-0.7640181,54.5887213],[-0.9192871,54.5908258],[-0.9148116,54.6608348],[-1.1485204,54.6634343],[-1.1472363,54.7528316],[-1.2268514,54.7532021],[-1.2265398,54.8429879],[-1.2991803,54.8435107],[-1.2991803,54.9333391],[-1.3454886,54.9354258],[-1.3436726,55.0234878],[-1.3772688,55.0255698],[-1.3754528,55.1310877],[-1.4997441,55.1315727],[-1.4969272,55.2928323],[-1.5296721,55.2942946],[-1.5258198,55.6523803],[-1.7659492,55.6545537],[-1.7620968,55.7435626],[-1.9688392,55.7435626],[-1.9698023,55.8334505],[-2.0019051,55.8336308],[-2.0015841,55.9235526],[-2.1604851,55.9240613],[-2.1613931,55.9413549],[-2.3202942,55.9408463],[-2.3212022,56.0145126],[-2.5627317,56.0124824],[-2.5645477,56.1022207],[-2.9658863,56.0991822],[-2.9667943,56.1710304],[-2.4828272,56.1755797],[-2.4882752,56.2856078],[-2.5645477,56.2835918],[-2.5681798,56.3742075],[-2.7261728,56.3732019],[-2.7316208,56.4425301],[-2.6190281,56.4425301],[-2.6153961,56.5317671],[-2.453771,56.5347715],[-2.4534686,56.6420248],[-2.4062523,56.6440218],[-2.3953562,56.7297964],[-2.2936596,56.7337811],[-2.2972916,56.807423],[-2.1629067,56.8113995],[-2.1592747,56.9958425],[-1.9922016,57.0017771],[-2.0067297,57.2737477],[-1.9195612,57.2757112],[-1.9304572,57.3482876],[-1.8106005,57.3443682],[-1.7997044,57.4402728],[-1.6616875,57.4285429],[-1.6689516,57.5398256],[-1.7452241,57.5398256],[-1.7524881,57.6313302],[-1.8287606,57.6332746],[-1.8287606,57.7187255],[-3.1768526,57.7171219],[-3.1794208,57.734264],[-3.5134082,57.7292105],[-3.5129542,57.7112683],[-3.7635638,57.7076303],[-3.7598539,57.635713],[-3.8420372,57.6343382],[-3.8458895,57.6178365],[-3.9794374,57.6157733],[-3.9794374,57.686544],[-3.8150708,57.689976],[-3.817639,57.7968899],[-3.6853753,57.7989429],[-3.6892276,57.8891567],[-3.9383458,57.8877915],[-3.9421981,57.9750592],[-3.6943641,57.9784638],[-3.6969323,58.0695865],[-4.0372226,58.0641528],[-4.0346543,57.9730163],[-4.2003051,57.9702923],[-4.1832772,57.7012869],[-4.518752,57.6951111],[-4.5122925,57.6050682],[-4.6789116,57.6016628],[-4.666022,57.4218334],[-3.6677696,57.4394729],[-3.671282,57.5295384],[-3.3384979,57.5331943],[-3.3330498,57.4438859],[-2.8336466,57.4485275],[-2.8236396,56.9992706],[-2.3305398,57.0006693],[-2.3298977,56.9113932],[-2.6579889,56.9092901],[-2.6559637,56.8198406],[-2.8216747,56.8188467],[-2.8184967,56.7295397],[-3.1449248,56.7265508],[-3.1435628,56.6362749],[-3.4679089,56.6350265],[-3.474265,56.7238108],[-3.8011471,56.7188284],[-3.785711,56.4493026],[-3.946428,56.4457896],[-3.9428873,56.2659777],[-4.423146,56.2588459],[-4.4141572,56.0815506],[-4.8944159,56.0708008],[-4.8791072,55.8896994],[-5.1994158,55.8821374],[-5.1852906,55.7023791],[-5.0273445,55.7067203],[-5.0222081,55.6879046],[-4.897649,55.6907999],[-4.8880181,55.6002822],[-4.7339244,55.6046348],[-4.7275038,55.5342082],[-4.773732,55.5334815],[-4.7685955,55.4447227],[-4.8494947,55.4418092],[-4.8405059,55.3506535],[-4.8700405,55.3513836],[-4.8649041,55.2629462],[-4.9920314,55.2592875],[-4.9907473,55.1691779],[-5.0600894,55.1655105],[-5.0575212,55.0751884],[-5.2141831,55.0722477],[-5.1991766,54.8020337],[-5.0466316,54.8062205],[-5.0502636,54.7244996],[-4.9703591,54.7203043],[-4.9776232,54.6215905],[-4.796022,54.6342056],[-4.796022,54.7307917],[-4.8977186,54.7265971],[-4.9086147,54.8145928],[-4.8069181,54.8166856],[-4.8105501,54.7915648],[-4.6943253,54.7978465],[-4.6761652,54.7244996],[-4.5744686,54.7244996],[-4.5599405,54.6426135],[-4.3093309,54.6384098],[-4.3333262,54.8229889],[-4.2626999,54.8274274],[-4.2549952,54.7348587],[-3.8338058,54.7400481],[-3.836374,54.8141105],[-3.7118149,54.8133706],[-3.7143831,54.8318654],[-3.5346072,54.8355633],[-3.5271039,54.9066228],[-3.4808758,54.9084684],[-3.4776655,54.7457328],[-3.5874573,54.744621],[-3.5836049,54.6546166],[-3.7107322,54.6531308],[-3.6991752,54.4550407],[-3.5746161,54.4572801],[-3.5759002,54.3863042],[-3.539945,54.3855564],[-3.5386609,54.297224],[-3.46033,54.2957252],[-3.4590458,54.2079507],[-3.3807149,54.2102037],[-3.381999,54.1169788],[-3.302878,54.1160656],[-3.300154,54.0276224],[-3.1013007,54.0292224],[-3.093596,53.6062158],[-3.2065981,53.6016441],[-3.2091663,53.4917753],[-3.2451215,53.4887193],[-3.2348486,53.4045934],[-3.5276266,53.3999999],[-3.5343966,53.328481],[-3.6488053,53.3252272],[-3.6527308,53.3057716],[-3.7271873,53.3046865],[-3.7315003,53.3945257],[-3.9108315,53.3912769],[-3.9071995,53.3023804],[-3.9521457,53.3015665],[-3.9566724,53.3912183],[-4.1081979,53.3889209],[-4.1081979,53.4072967],[-4.2622916,53.4065312],[-4.2635757,53.4753707],[-4.638537,53.4677274],[-4.6346847,53.3812621],[-4.7091633,53.3774321],[-4.7001745,53.1954965],[-4.5499332,53.1962658],[-4.5435126,53.1092488],[-4.3919871,53.1100196],[-4.3855666,53.0236002],[-4.6115707,53.0205105],[-4.603866,52.9284932],[-4.7566756,52.9261709],[-4.7476868,52.8370555],[-4.8208813,52.8331768],[-4.8208813,52.7446476],[-4.3701572,52.7539749],[-4.3765778,52.8401583],[-4.2314728,52.8455875],[-4.2237682,52.7586379],[-4.1056297,52.7570836],[-4.1015192,52.6714874],[-4.1487355,52.6703862],[-4.1305754,52.4008596],[-4.1995838,52.3986435],[-4.2050319,52.3110195],[-4.3466808,52.303247],[-4.3484968,52.2365693],[-4.4901457,52.2332328],[-4.4883297,52.2098702],[-4.6572188,52.2098702],[-4.6590348,52.1385939],[-4.7788916,52.13525],[-4.7807076,52.1162967],[-4.9259885,52.1140663],[-4.9187245,52.0392855],[-5.2365265,52.0314653],[-5.2347105,51.9442339],[-5.3473032,51.9408755],[-5.3473032,51.9195995],[-5.4925842,51.9162392],[-5.4853201,51.8265386],[-5.1983903,51.8321501],[-5.1893102,51.7625177],[-5.335825,51.7589528],[-5.3281204,51.6686495],[-5.1836575,51.6730296],[-5.1836575,51.6539134],[-5.0674452,51.6578966],[-5.0603825,51.5677905],[-4.5974594,51.5809588],[-4.60388,51.6726314],[-4.345773,51.6726314],[-4.3355001,51.4962964],[-3.9528341,51.5106841],[-3.9425611,51.5905333],[-3.8809237,51.5953198],[-3.8706508,51.5074872],[-3.7679216,51.4978952],[-3.7550805,51.4242895],[-3.5855774,51.41468],[-3.5778727,51.3329177],[-3.0796364,51.3329177],[-3.0770682,51.2494018],[-3.7216935,51.2381477],[-3.7216935,51.2558315],[-3.8706508,51.2558315],[-3.8680825,51.2365398],[-4.2944084,51.2252825],[-4.289272,51.0496352],[-4.5692089,51.0431767],[-4.5624122,50.9497388],[-4.5905604,50.9520269],[-4.5896524,50.8627065],[-4.6296046,50.8592677],[-4.6226411,50.7691513],[-4.6952816,50.7680028],[-4.6934655,50.6967379],[-4.8342064,50.6938621],[-4.8296664,50.6046231],[-4.9676833,50.6000126],[-4.9685913,50.5821427],[-5.1084242,50.5786832],[-5.1029762,50.4892254],[-5.1311244,50.48807],[-5.1274923,50.4163798],[-5.2664172,50.4117509],[-5.2609692,50.3034214],[-5.5124868,50.2976214],[-5.5061308,50.2256428],[-5.6468717,50.2209953]],[[-5.1336607,55.2630226],[-5.1021999,55.2639372],[-5.0999527,55.2458239],[-5.1322161,55.2446343]],[[-5.6431878,55.5095745],[-5.4861028,55.5126594],[-5.4715747,55.3348829],[-5.6277517,55.3302345]],[[-4.7213517,51.2180246],[-4.5804201,51.2212417],[-4.5746416,51.1306736],[-4.7174993,51.1280545]],[[-5.1608796,55.4153626],[-5.0045387,55.4190069],[-5.0184798,55.6153521],[-5.1755648,55.6138137]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"NLS - OS 25-inch (Scotland), 1892-1905","type":"tms","template":"http://geo.nls.uk/mapdata2/os/25_inch/scotland_1/{zoom}/{x}/{y}.png","scaleExtent":[0,18],"polygon":[[[-9.25,54.43],[-9.25,61.12],[0.22,61.12],[0.22,54.43],[-9.25,54.43]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"NLS - OS 6-inch County Series, 1888-1913","type":"tms","template":"http://geo.nls.uk/mapdata3/os/6_inch_gb_1900/{zoom}/{x}/{y}.png","scaleExtent":[0,17],"polygon":[[[-9,49.8],[-9,61.1],[1.9,61.1],[1.9,49.8],[-9,49.8]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"NLS - OS 6-inch Scotland 1842-82","type":"tms","template":"http://geo.nls.uk/maps/os/six_inch/{zoom}/{x}/{-y}.png","scaleExtent":[5,16],"polygon":[[[-5.2112173,54.8018593],[-5.0642752,54.8026508],[-5.0560354,54.6305176],[-4.3158316,54.6297227],[-4.3117117,54.7448258],[-3.8530325,54.7464112],[-3.8530325,54.8034424],[-3.5522818,54.8034424],[-3.5522818,54.8374644],[-3.468511,54.8406277],[-3.4657644,54.8983158],[-3.3847403,54.8991055],[-3.3888601,54.9559214],[-3.0920786,54.9539468],[-3.0392359,54.9923274],[-3.0212713,55.0493881],[-2.9591232,55.0463283],[-2.9202807,55.0666294],[-2.7857081,55.068652],[-2.7852225,55.0914426],[-2.7337562,55.0922761],[-2.737616,55.151204],[-2.7648395,55.1510672],[-2.7013114,55.1722505],[-2.6635459,55.2192808],[-2.6460364,55.2188891],[-2.629042,55.2233933],[-2.6317886,55.2287781],[-2.6235488,55.2446345],[-2.6197723,55.2454663],[-2.6099017,55.2454174],[-2.6099876,55.2486466],[-2.6408121,55.2590039],[-2.6247896,55.2615631],[-2.6045186,55.2823081],[-2.5693176,55.296132],[-2.5479542,55.3121617],[-2.5091116,55.3234891],[-2.4780376,55.3494471],[-2.4421083,55.3533118],[-2.4052079,55.3439256],[-2.3726772,55.3447539],[-2.3221819,55.3687665],[-2.3241241,55.3999337],[-2.2576062,55.425015],[-2.1985547,55.4273529],[-2.1484296,55.4717466],[-2.1944348,55.484199],[-2.2040479,55.529306],[-2.2960584,55.6379722],[-2.2177808,55.6379722],[-2.1059266,55.7452498],[-1.9716874,55.7462161],[-1.9697453,55.9190951],[-2.1201694,55.9207115],[-2.1242893,55.9776133],[-2.3440159,55.9783817],[-2.3440159,56.0390349],[-2.5046909,56.0413363],[-2.500571,56.1003588],[-2.8823459,56.0957629],[-2.8823459,56.1722898],[-2.4126804,56.1692316],[-2.4181736,56.2334017],[-2.5857151,56.2303484],[-2.5719822,56.3416356],[-2.7257908,56.3462022],[-2.7312839,56.4343808],[-2.6928318,56.4343808],[-2.6928318,56.4859769],[-2.5307834,56.4935587],[-2.5307834,56.570806],[-2.5302878,56.6047947],[-2.3732428,56.6044452],[-2.3684363,56.7398824],[-2.3292975,56.7398824],[-2.3292975,56.7888065],[-2.3145346,56.7891826],[-2.3148779,56.7967036],[-2.171369,56.7967036],[-2.1703979,56.9710595],[-2.0101725,56.9694716],[-2.0101725,57.0846832],[-2.0817687,57.085349],[-2.0488097,57.1259963],[-2.0409133,57.126369],[-2.0383434,57.2411129],[-1.878118,57.2421638],[-1.8771469,57.2978175],[-1.9868771,57.2983422],[-1.9082209,57.3560063],[-1.8752048,57.3560063],[-1.8761758,57.3769527],[-1.8120857,57.4120111],[-1.7120661,57.4120111],[-1.7034646,57.6441388],[-1.8666032,57.6451781],[-1.8646611,57.7033351],[-3.1204292,57.7064705],[-3.1218025,57.7504652],[-3.4445259,57.7526635],[-3.4472724,57.7138067],[-3.5145637,57.7094052],[-3.5118171,57.6939956],[-3.7645027,57.6917938],[-3.7672492,57.6344975],[-3.842378,57.6288312],[-3.8438346,57.5965825],[-3.9414265,57.5916386],[-3.9404554,57.6537782],[-3.8894746,57.6529989],[-3.8826772,57.7676408],[-3.7224517,57.766087],[-3.7195385,57.8819201],[-3.9146888,57.8853352],[-3.916062,57.9546243],[-3.745774,57.9538956],[-3.7471473,58.0688409],[-3.5837256,58.0695672],[-3.5837256,58.1116689],[-3.4560096,58.1138452],[-3.4544646,58.228503],[-3.4379851,58.2283222],[-3.4243233,58.2427725],[-3.412307,58.2438567],[-3.3735115,58.2695057],[-3.3063919,58.2862038],[-3.1229154,58.2859395],[-3.123602,58.3443661],[-2.9574338,58.3447264],[-2.951254,58.6422011],[-2.8812162,58.6429157],[-2.8851004,58.8112825],[-2.7180775,58.8142997],[-2.7161354,58.8715749],[-2.556881,58.8775984],[-2.5544533,58.9923453],[-2.5567617,59.0483775],[-2.391893,59.0485996],[-2.3918002,59.1106996],[-2.4733695,59.1106996],[-2.5591563,59.1783028],[-2.5630406,59.2210646],[-2.3921334,59.224046],[-2.3911409,59.2740075],[-2.3639512,59.2745036],[-2.3658933,59.285417],[-2.3911409,59.284921],[-2.3911409,59.3379505],[-2.2221759,59.3381981],[-2.2233897,59.395965],[-2.3758467,59.396583],[-2.3899271,59.4026383],[-2.4008516,59.3962122],[-2.5637882,59.3952604],[-2.5637882,59.3385811],[-2.7320164,59.3375306],[-2.7333896,59.3952604],[-3.0726511,59.3931174],[-3.0703404,59.3354759],[-3.0753186,59.3355634],[-3.0749753,59.3292593],[-3.0698254,59.3289091],[-3.069801,59.2196159],[-3.2363384,59.2166341],[-3.2336751,59.1606496],[-3.4032766,59.1588895],[-3.394086,58.9279316],[-3.5664497,58.9259268],[-3.5611089,58.8679885],[-3.392508,58.8699339],[-3.3894734,58.8698711],[-3.3891093,58.8684905],[-3.3912942,58.868616],[-3.3884161,58.7543084],[-3.2238208,58.7555677],[-3.2189655,58.691289],[-3.4634113,58.6905753],[-3.4551716,58.6341518],[-3.787508,58.6341518],[-3.7861347,58.5769211],[-3.9028645,58.5733411],[-3.9028645,58.6477304],[-4.0690327,58.6491594],[-4.0690327,58.5912376],[-4.7364521,58.5933845],[-4.7364521,58.6505884],[-5.0715351,58.6520173],[-5.0654779,58.5325854],[-5.2332047,58.5316087],[-5.2283494,58.4719947],[-5.2424298,58.4719947],[-5.2366034,58.4089731],[-5.2283494,58.4094818],[-5.2210664,58.3005859],[-5.5657939,58.2959933],[-5.5580254,58.2372573],[-5.4146722,58.2401326],[-5.4141866,58.2267768],[-5.3885749,58.2272242],[-5.382714,58.1198615],[-5.51043,58.1191362],[-5.5114011,58.006214],[-5.6745397,58.0041559],[-5.6716266,57.9449366],[-5.6716266,57.8887166],[-5.8347652,57.8856193],[-5.8277052,57.5988958],[-6.0384259,57.5986357],[-6.0389115,57.6459559],[-6.1981658,57.6456961],[-6.2076123,57.7600132],[-6.537067,57.7544033],[-6.5312406,57.6402392],[-6.7002056,57.6360809],[-6.6807844,57.5236293],[-6.8516915,57.5152857],[-6.8361545,57.3385811],[-6.6730158,57.3438213],[-6.674958,57.2850883],[-6.5098772,57.2850883],[-6.4982244,57.1757637],[-6.3506228,57.1820797],[-6.3312015,57.1251969],[-6.1797156,57.1230884],[-6.1719471,57.0682265],[-6.4593819,57.059779],[-6.4564687,57.1093806],[-6.6671895,57.1062165],[-6.6730158,57.002708],[-6.5021087,57.0048233],[-6.4836097,56.8917522],[-6.3266104,56.8894062],[-6.3156645,56.7799312],[-6.2146739,56.775675],[-6.2146739,56.7234965],[-6.6866107,56.7224309],[-6.6769001,56.6114413],[-6.8419809,56.607166],[-6.8400387,56.5483307],[-7.1546633,56.5461895],[-7.1488369,56.4872592],[-6.9915246,56.490476],[-6.9876404,56.4325329],[-6.6827265,56.4314591],[-6.6769001,56.5472601],[-6.5292985,56.5504717],[-6.5234721,56.4379018],[-6.3661598,56.4368281],[-6.3642177,56.3766524],[-6.5273563,56.3712749],[-6.5171745,56.2428427],[-6.4869621,56.247421],[-6.4869621,56.1893882],[-6.3001945,56.1985572],[-6.3029411,56.2581017],[-5.9019401,56.256576],[-5.8964469,56.0960466],[-6.0282829,56.0883855],[-6.0392692,56.1557502],[-6.3853385,56.1542205],[-6.3606193,55.96099],[-6.2123039,55.9640647],[-6.2047508,55.9202269],[-6.5185478,55.9129158],[-6.5061881,55.7501763],[-6.6764762,55.7409005],[-6.6599967,55.6263176],[-6.3551261,55.6232161],[-6.3578727,55.5689002],[-6.0392692,55.5720059],[-6.0310294,55.6247669],[-5.7398917,55.6309694],[-5.7371452,55.4569279],[-5.8964469,55.4600426],[-5.8964469,55.2789864],[-5.4350211,55.2821151],[-5.4405143,55.4506979],[-5.2867057,55.4569279],[-5.3086784,55.4070602],[-4.9735954,55.4008223],[-4.9845817,55.2038242],[-5.1493766,55.2038242],[-5.1411369,55.037337],[-5.2152946,55.0341891]],[[-2.1646559,60.1622059],[-1.9930299,60.1609801],[-1.9946862,60.1035151],[-2.1663122,60.104743]],[[-1.5360658,59.8570831],[-1.3653566,59.8559841],[-1.366847,59.7975565],[-1.190628,59.7964199],[-1.1862046,59.9695391],[-1.0078652,59.9683948],[-1.0041233,60.114145],[-0.8360832,60.1130715],[-0.834574,60.1716772],[-1.0074262,60.1727795],[-1.0052165,60.2583924],[-0.8299659,60.2572778],[-0.826979,60.3726551],[-0.6507514,60.3715381],[-0.6477198,60.4882292],[-0.9984896,60.4904445],[-0.9970279,60.546555],[-0.6425288,60.5443201],[-0.6394896,60.6606792],[-0.8148133,60.6617806],[-0.8132987,60.7196112],[-0.6383298,60.7185141],[-0.635467,60.8275393],[-0.797568,60.8285523],[-0.9941426,60.8297807],[-0.9954966,60.7782667],[-1.1670282,60.7793403],[-1.1700357,60.6646181],[-1.5222599,60.6668304],[-1.5237866,60.6084426],[-1.6975673,60.609536],[-1.7021271,60.4345249],[-1.5260578,60.4334111],[-1.5275203,60.3770719],[-1.8751127,60.3792746],[-1.8781372,60.2624647],[-1.7019645,60.2613443],[-1.7049134,60.1470532],[-1.528659,60.1459283]],[[-0.9847667,60.8943762],[-0.9860347,60.8361105],[-0.8078362,60.8351904],[-0.8065683,60.8934578]],[[-7.7696901,56.8788231],[-7.7614504,56.7608274],[-7.6009049,56.7641903],[-7.5972473,56.819332],[-7.4479894,56.8203948],[-7.4489319,56.8794098],[-7.2841369,56.8794098],[-7.2813904,57.0471152],[-7.1303283,57.0515969],[-7.1330749,57.511801],[-6.96828,57.5147514],[-6.9765198,57.6854668],[-6.8062317,57.6913392],[-6.8089782,57.8041985],[-6.6496765,57.8071252],[-6.6441833,57.8612267],[-6.3200866,57.8626878],[-6.3200866,58.1551617],[-6.1607849,58.1522633],[-6.1552917,58.20874],[-5.9850036,58.2101869],[-5.9904968,58.2680163],[-6.1497986,58.2665717],[-6.1415588,58.5557514],[-6.3173401,58.5557514],[-6.3091003,58.4983923],[-6.4876282,58.4955218],[-6.4876282,58.4423768],[-6.6606628,58.4395018],[-6.6469299,58.3819525],[-6.8117248,58.3805125],[-6.8117248,58.3286357],[-6.9792663,58.3286357],[-6.9710266,58.2694608],[-7.1413147,58.2680163],[-7.1403816,58.0358742],[-7.3020636,58.0351031],[-7.3030347,57.9774797],[-7.1379539,57.9777372],[-7.1413526,57.9202792],[-7.1398961,57.8640206],[-7.3020636,57.862471],[-7.298484,57.7442293],[-7.4509193,57.7456951],[-7.4550392,57.6899522],[-7.6186131,57.6906048],[-7.6198341,57.7456951],[-7.7901222,57.7442293],[-7.7873756,57.6855477],[-7.6222332,57.6853817],[-7.6173779,57.5712602],[-7.788285,57.5709998],[-7.7892561,57.512109],[-7.7038025,57.5115874],[-7.6999183,57.4546902],[-7.5367796,57.4552126],[-7.5348375,57.5126306],[-7.4581235,57.5131521],[-7.4552103,57.2824165],[-7.6115515,57.2845158],[-7.6144647,57.2272651],[-7.451326,57.2256881],[-7.451326,57.1103873],[-7.6164068,57.1088053],[-7.603783,56.8792358]],[[-1.7106618,59.5626284],[-1.5417509,59.562215],[-1.5423082,59.5037224],[-1.7112191,59.5041365]]],"terms_url":"http://geo.nls.uk/maps/","terms_text":"National Library of Scotland Historic Maps"},{"name":"OpenPT Map (overlay)","type":"tms","template":"http://openptmap.de/tiles/{zoom}/{x}/{y}.png","scaleExtent":[4,17],"terms_url":"http://openstreetmap.org/","terms_text":"© OpenStreetMap contributors, CC-BY-SA"},{"name":"OpenStreetMap (Standard)","type":"tms","description":"The default OpenStreetMap layer.","template":"http://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png","scaleExtent":[0,19],"terms_url":"http://openstreetmap.org/","terms_text":"© OpenStreetMap contributors, CC-BY-SA","id":"MAPNIK","default":true},{"name":"OpenStreetMap GPS traces","type":"tms","description":"Public GPS traces uploaded to OpenStreetMap.","template":"http://{switch:a,b,c}.gps-tile.openstreetmap.org/lines/{zoom}/{x}/{y}.png","scaleExtent":[0,20],"terms_url":"http://www.openstreetmap.org/copyright","terms_text":"© OpenStreetMap contributors","terms_html":"© <a href='http://www.openstreetmap.org/copyright'>OpenStreetMap contributors</a>. North: <span style='display: inline-block; width: 10px; height: 10px; background-color: #7fed11;'></span> South: <span style='display: inline-block; width: 10px; height: 10px; background-color: #7f11ed;'></span> East: <span style='display: inline-block; width: 10px; height: 10px; background-color: #ff3f3f;'></span> West: <span style='display: inline-block; width: 10px; height: 10px; background-color: #00bfbf;'></span>","overlay":true},{"name":"OS 1:25k historic (OSM)","type":"tms","template":"http://ooc.openstreetmap.org/os1/{zoom}/{x}/{y}.jpg","scaleExtent":[6,17],"polygon":[[[-9,49.8],[-9,61.1],[1.9,61.1],[1.9,49.8],[-9,49.8]]]},{"name":"OS New Popular Edition historic","type":"tms","template":"http://ooc.openstreetmap.org/npe/{zoom}/{x}/{y}.png","polygon":[[[-5.8,49.8],[-5.8,55.8],[1.9,55.8],[1.9,49.8],[-5.8,49.8]]]},{"name":"OS OpenData Locator","type":"tms","template":"http://tiles.itoworld.com/os_locator/{zoom}/{x}/{y}.png","polygon":[[[-9,49.8],[-9,61.1],[1.9,61.1],[1.9,49.8],[-9,49.8]]],"overlay":true},{"name":"OS OpenData StreetView","type":"tms","template":"http://os.openstreetmap.org/sv/{zoom}/{x}/{y}.png","scaleExtent":[1,18],"polygon":[[[-5.8292886,50.0229734],[-5.8292886,50.254819],[-5.373356,50.254819],[-5.373356,50.3530588],[-5.1756021,50.3530588],[-5.1756021,50.5925406],[-4.9970743,50.5925406],[-4.9970743,50.6935617],[-4.7965738,50.6935617],[-4.7965738,50.7822112],[-4.6949503,50.7822112],[-4.6949503,50.9607371],[-4.6043131,50.9607371],[-4.6043131,51.0692066],[-4.3792215,51.0692066],[-4.3792215,51.2521782],[-3.9039346,51.2521782],[-3.9039346,51.2916998],[-3.7171671,51.2916998],[-3.7171671,51.2453014],[-3.1486246,51.2453014],[-3.1486246,51.362067],[-3.7446329,51.362067],[-3.7446329,51.4340386],[-3.8297769,51.4340386],[-3.8297769,51.5298246],[-4.0852091,51.5298246],[-4.0852091,51.4939284],[-4.3792215,51.4939284],[-4.3792215,51.5427168],[-5.1444195,51.5427168],[-5.1444195,51.6296003],[-5.7387103,51.6296003],[-5.7387103,51.774037],[-5.5095393,51.774037],[-5.5095393,51.9802596],[-5.198799,51.9802596],[-5.198799,52.0973358],[-4.8880588,52.0973358],[-4.8880588,52.1831557],[-4.4957492,52.1831557],[-4.4957492,52.2925739],[-4.3015365,52.2925739],[-4.3015365,52.3685318],[-4.1811246,52.3685318],[-4.1811246,52.7933685],[-4.4413696,52.7933685],[-4.4413696,52.7369614],[-4.8569847,52.7369614],[-4.8569847,52.9317255],[-4.7288044,52.9317255],[-4.7288044,53.5038599],[-4.1578191,53.5038599],[-4.1578191,53.4113498],[-3.3110518,53.4113498],[-3.3110518,53.5038599],[-3.2333667,53.5038599],[-3.2333667,54.0159169],[-3.3926211,54.0159169],[-3.3926211,54.1980953],[-3.559644,54.1980953],[-3.559644,54.433732],[-3.7188984,54.433732],[-3.7188984,54.721897],[-4.3015365,54.721897],[-4.3015365,54.6140739],[-5.0473132,54.6140739],[-5.0473132,54.7532915],[-5.2298731,54.7532915],[-5.2298731,55.2190799],[-5.6532567,55.2190799],[-5.6532567,55.250088],[-5.8979647,55.250088],[-5.8979647,55.4822462],[-6.5933212,55.4822462],[-6.5933212,56.3013441],[-7.1727691,56.3013441],[-7.1727691,56.5601822],[-6.8171722,56.5601822],[-6.8171722,56.6991713],[-6.5315276,56.6991713],[-6.5315276,56.9066964],[-6.811679,56.9066964],[-6.811679,57.3716613],[-6.8721038,57.3716613],[-6.8721038,57.5518893],[-7.0973235,57.5518893],[-7.0973235,57.2411085],[-7.1742278,57.2411085],[-7.1742278,56.9066964],[-7.3719817,56.9066964],[-7.3719817,56.8075885],[-7.5202972,56.8075885],[-7.5202972,56.7142479],[-7.8306806,56.7142479],[-7.8306806,56.8994605],[-7.6494061,56.8994605],[-7.6494061,57.4739617],[-7.8306806,57.4739617],[-7.8306806,57.7915584],[-7.4736249,57.7915584],[-7.4736249,58.086063],[-7.1879804,58.086063],[-7.1879804,58.367197],[-6.8034589,58.367197],[-6.8034589,58.4155786],[-6.638664,58.4155786],[-6.638664,58.4673277],[-6.5178143,58.4673277],[-6.5178143,58.5625632],[-6.0536224,58.5625632],[-6.0536224,58.1568843],[-6.1470062,58.1568843],[-6.1470062,58.1105865],[-6.2799798,58.1105865],[-6.2799798,57.7122664],[-6.1591302,57.7122664],[-6.1591302,57.6667563],[-5.9339104,57.6667563],[-5.9339104,57.8892524],[-5.80643,57.8892524],[-5.80643,57.9621767],[-5.6141692,57.9621767],[-5.6141692,58.0911236],[-5.490819,58.0911236],[-5.490819,58.3733281],[-5.3199118,58.3733281],[-5.3199118,58.75015],[-3.5719977,58.75015],[-3.5719977,59.2091788],[-3.1944501,59.2091788],[-3.1944501,59.4759216],[-2.243583,59.4759216],[-2.243583,59.1388749],[-2.4611012,59.1388749],[-2.4611012,58.8185938],[-2.7407675,58.8185938],[-2.7407675,58.5804743],[-2.9116746,58.5804743],[-2.9116746,58.1157523],[-3.4865441,58.1157523],[-3.4865441,57.740386],[-1.7153245,57.740386],[-1.7153245,57.2225558],[-1.9794538,57.2225558],[-1.9794538,56.8760742],[-2.1658979,56.8760742],[-2.1658979,56.6333186],[-2.3601106,56.6333186],[-2.3601106,56.0477521],[-1.9794538,56.0477521],[-1.9794538,55.8650949],[-1.4745008,55.8650949],[-1.4745008,55.2499926],[-1.3221997,55.2499926],[-1.3221997,54.8221737],[-1.0550014,54.8221737],[-1.0550014,54.6746628],[-0.6618765,54.6746628],[-0.6618765,54.5527463],[-0.3247617,54.5527463],[-0.3247617,54.2865195],[0.0092841,54.2865195],[0.0092841,53.7938518],[0.2081962,53.7938518],[0.2081962,53.5217726],[0.4163548,53.5217726],[0.4163548,53.0298851],[1.4273388,53.0298851],[1.4273388,52.92021],[1.8333912,52.92021],[1.8333912,52.042488],[1.5235504,52.042488],[1.5235504,51.8261335],[1.2697049,51.8261335],[1.2697049,51.6967453],[1.116651,51.6967453],[1.116651,51.440346],[1.5235504,51.440346],[1.5235504,51.3331831],[1.4507565,51.3331831],[1.4507565,51.0207553],[1.0699883,51.0207553],[1.0699883,50.9008416],[0.7788126,50.9008416],[0.7788126,50.729843],[-0.7255952,50.729843],[-0.7255952,50.7038437],[-1.0074383,50.7038437],[-1.0074383,50.5736307],[-2.3625252,50.5736307],[-2.3625252,50.4846421],[-2.4987805,50.4846421],[-2.4987805,50.5736307],[-3.4096378,50.5736307],[-3.4096378,50.2057837],[-3.6922446,50.2057837],[-3.6922446,50.1347737],[-5.005468,50.1347737],[-5.005468,49.9474456],[-5.2839506,49.9474456],[-5.2839506,50.0229734]],[[-6.4580707,49.8673563],[-6.4580707,49.9499935],[-6.3978807,49.9499935],[-6.3978807,50.0053797],[-6.1799606,50.0053797],[-6.1799606,49.9168614],[-6.2540201,49.9168614],[-6.2540201,49.8673563]],[[-5.8343165,49.932156],[-5.8343165,49.9754641],[-5.7683254,49.9754641],[-5.7683254,49.932156]],[[-1.9483797,60.6885737],[-1.9483797,60.3058841],[-1.7543149,60.3058841],[-1.7543149,60.1284428],[-1.5754914,60.1284428],[-1.5754914,59.797917],[-1.0316959,59.797917],[-1.0316959,60.0354518],[-0.6626918,60.0354518],[-0.6626918,60.9103862],[-1.1034395,60.9103862],[-1.1034395,60.8040022],[-1.3506319,60.8040022],[-1.3506319,60.6885737]],[[-2.203381,60.1968568],[-2.203381,60.0929443],[-1.9864011,60.0929443],[-1.9864011,60.1968568]],[[-1.7543149,59.5698289],[-1.7543149,59.4639383],[-1.5373349,59.4639383],[-1.5373349,59.5698289]],[[-4.5585981,59.1370518],[-4.5585981,58.9569099],[-4.2867004,58.9569099],[-4.2867004,59.1370518]],[[-6.2787732,59.2025744],[-6.2787732,59.0227769],[-5.6650612,59.0227769],[-5.6650612,59.2025744]],[[-8.7163482,57.9440556],[-8.7163482,57.7305936],[-8.3592926,57.7305936],[-8.3592926,57.9440556]],[[-7.6077005,50.4021026],[-7.6077005,50.2688657],[-7.3907205,50.2688657],[-7.3907205,50.4021026]],[[-7.7304303,58.3579902],[-7.7304303,58.248313],[-7.5134503,58.248313],[-7.5134503,58.3579902]]]},{"name":"OS Scottish Popular historic","type":"tms","template":"http://ooc.openstreetmap.org/npescotland/tiles/{zoom}/{x}/{y}.jpg","scaleExtent":[6,15],"polygon":[[[-7.8,54.5],[-7.8,61.1],[-1.1,61.1],[-1.1,54.5],[-7.8,54.5]]]},{"name":"Pangasinán/Bulacan (Phillipines HiRes)","type":"tms","template":"http://gravitystorm.dev.openstreetmap.org/imagery/philippines/{zoom}/{x}/{y}.png","scaleExtent":[12,19],"polygon":[[[120.336593,15.985768],[120.445995,15.984],[120.446134,15.974459],[120.476464,15.974592],[120.594247,15.946832],[120.598064,16.090795],[120.596537,16.197999],[120.368537,16.218527],[120.347576,16.042308],[120.336593,15.985768]],[[120.8268,15.3658],[121.2684,15.2602],[121.2699,14.7025],[120.695,14.8423]]]},{"name":"Slovakia EEA CORINE 2006","type":"tms","template":"http://www.freemap.sk/tms/clc/{zoom}/{x}/{y}.png","polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_url":"http://www.eea.europa.eu/data-and-maps/data/clc-2006-vector-data-version-1","terms_text":"EEA Corine 2006"},{"name":"Slovakia EEA GMES Urban Atlas","type":"tms","template":"http://www.freemap.sk/tms/urbanatlas/{zoom}/{x}/{y}.png","polygon":[[[19.83682,49.25529],[19.80075,49.42385],[19.60437,49.48058],[19.49179,49.63961],[19.21831,49.52604],[19.16778,49.42521],[19.00308,49.42236],[18.97611,49.5308],[18.54685,49.51425],[18.31432,49.33818],[18.15913,49.2961],[18.05564,49.11134],[17.56396,48.84938],[17.17929,48.88816],[17.058,48.81105],[16.90426,48.61947],[16.79685,48.38561],[17.06762,48.01116],[17.32787,47.97749],[17.51699,47.82535],[17.74776,47.73093],[18.29515,47.72075],[18.67959,47.75541],[18.89755,47.81203],[18.79463,47.88245],[18.84318,48.04046],[19.46212,48.05333],[19.62064,48.22938],[19.89585,48.09387],[20.33766,48.2643],[20.55395,48.52358],[20.82335,48.55714],[21.10271,48.47096],[21.45863,48.55513],[21.74536,48.31435],[22.15293,48.37179],[22.61255,49.08914],[22.09997,49.23814],[21.9686,49.36363],[21.6244,49.46989],[21.06873,49.46402],[20.94336,49.31088],[20.73052,49.44006],[20.22804,49.41714],[20.05234,49.23052],[19.83682,49.25529]]],"terms_url":"http://www.eea.europa.eu/data-and-maps/data/urban-atlas","terms_text":"EEA GMES Urban Atlas"},{"name":"Slovakia Historic Maps","type":"tms","template":"http://tms.freemap.sk/historicke/{zoom}/{x}/{y}.png","scaleExtent":[0,12],"polygon":[[[16.8196949,47.4927236],[16.8196949,49.5030322],[22.8388318,49.5030322],[22.8388318,47.4927236],[16.8196949,47.4927236]]]},{"name":"South Africa CD:NGI Aerial","type":"tms","template":"http://{switch:a,b,c}.aerial.openstreetmap.org.za/ngi-aerial/{zoom}/{x}/{y}.jpg","scaleExtent":[1,22],"polygon":[[[17.8396817,-32.7983384],[17.8893509,-32.6972835],[18.00364,-32.6982187],[18.0991679,-32.7485251],[18.2898747,-32.5526645],[18.2930182,-32.0487089],[18.105455,-31.6454966],[17.8529257,-31.3443951],[17.5480046,-30.902171],[17.4044506,-30.6374731],[17.2493704,-30.3991663],[16.9936977,-29.6543552],[16.7987996,-29.19437],[16.5494139,-28.8415949],[16.4498691,-28.691876],[16.4491046,-28.5515766],[16.6002551,-28.4825663],[16.7514057,-28.4486958],[16.7462192,-28.2458973],[16.8855148,-28.04729],[16.9929502,-28.0244005],[17.0529659,-28.0257086],[17.1007562,-28.0338839],[17.2011527,-28.0930546],[17.2026346,-28.2328424],[17.2474611,-28.2338215],[17.2507953,-28.198892],[17.3511919,-28.1975861],[17.3515624,-28.2442655],[17.4015754,-28.2452446],[17.4149122,-28.3489751],[17.4008345,-28.547997],[17.4526999,-28.5489733],[17.4512071,-28.6495106],[17.4983599,-28.6872054],[17.6028204,-28.6830048],[17.6499732,-28.6967928],[17.6525928,-28.7381457],[17.801386,-28.7381457],[17.9994276,-28.7560602],[18.0002748,-28.7956172],[18.1574507,-28.8718055],[18.5063811,-28.8718055],[18.6153564,-28.8295875],[18.9087513,-28.8277516],[19.1046973,-28.9488548],[19.1969071,-28.9378513],[19.243012,-28.8516164],[19.2314858,-28.802963],[19.2587296,-28.7009928],[19.4431493,-28.6973163],[19.5500289,-28.4958332],[19.6967264,-28.4939914],[19.698822,-28.4479358],[19.8507587,-28.4433291],[19.8497109,-28.4027818],[19.9953605,-28.399095],[19.9893671,-24.7497859],[20.2916682,-24.9192346],[20.4724562,-25.1501701],[20.6532441,-25.4529449],[20.733265,-25.6801957],[20.8281046,-25.8963498],[20.8429232,-26.215851],[20.6502804,-26.4840868],[20.6532441,-26.8204869],[21.0889134,-26.846933],[21.6727695,-26.8389998],[21.7765003,-26.6696268],[21.9721069,-26.6431395],[22.2803355,-26.3274702],[22.5707817,-26.1333967],[22.7752795,-25.6775246],[23.0005235,-25.2761948],[23.4658301,-25.2735148],[23.883717,-25.597366],[24.2364017,-25.613402],[24.603905,-25.7896563],[25.110704,-25.7389432],[25.5078447,-25.6855376],[25.6441766,-25.4823781],[25.8419267,-24.7805437],[25.846641,-24.7538456],[26.3928487,-24.6332894],[26.4739066,-24.5653312],[26.5089966,-24.4842437],[26.5861946,-24.4075775],[26.7300635,-24.3014458],[26.8567384,-24.2499463],[26.8574402,-24.1026901],[26.9215471,-23.8990957],[26.931831,-23.8461891],[26.9714827,-23.6994344],[27.0006074,-23.6367644],[27.0578041,-23.6052574],[27.1360547,-23.5203437],[27.3339623,-23.3973792],[27.5144057,-23.3593929],[27.5958145,-23.2085465],[27.8098634,-23.0994957],[27.8828506,-23.0620496],[27.9382928,-22.9496487],[28.0407556,-22.8255118],[28.2056786,-22.6552861],[28.3397223,-22.5639374],[28.4906093,-22.560697],[28.6108769,-22.5400248],[28.828175,-22.4550173],[28.9285324,-22.4232328],[28.9594116,-22.3090081],[29.0162574,-22.208335],[29.2324117,-22.1693453],[29.3531213,-22.1842926],[29.6548952,-22.1186426],[29.7777102,-22.1361956],[29.9292989,-22.1849425],[30.1166795,-22.2830348],[30.2563377,-22.2914767],[30.3033582,-22.3395204],[30.5061784,-22.3057617],[30.8374279,-22.284983],[31.0058599,-22.3077095],[31.1834152,-22.3232913],[31.2930586,-22.3674647],[31.5680579,-23.1903385],[31.5568311,-23.4430809],[31.6931122,-23.6175209],[31.7119696,-23.741136],[31.7774743,-23.8800628],[31.8886337,-23.9481098],[31.9144386,-24.1746736],[31.9948307,-24.3040878],[32.0166656,-24.4405988],[32.0077331,-24.6536578],[32.019643,-24.9140701],[32.035523,-25.0849767],[32.019643,-25.3821442],[31.9928457,-25.4493771],[31.9997931,-25.5165725],[32.0057481,-25.6078978],[32.0057481,-25.6624806],[31.9362735,-25.8403721],[31.9809357,-25.9546537],[31.8687838,-26.0037251],[31.4162062,-25.7277683],[31.3229117,-25.7438611],[31.2504595,-25.8296526],[31.1393001,-25.9162746],[31.1164727,-25.9912361],[30.9656135,-26.2665756],[30.8921689,-26.3279703],[30.8534616,-26.4035568],[30.8226943,-26.4488849],[30.8022583,-26.5240694],[30.8038369,-26.8082089],[30.9020939,-26.7807451],[30.9100338,-26.8489495],[30.9824859,-26.9082627],[30.976531,-27.0029222],[31.0034434,-27.0441587],[31.1543322,-27.1980416],[31.5015607,-27.311117],[31.9700183,-27.311117],[31.9700183,-27.120472],[31.9769658,-27.050664],[32.0002464,-26.7983892],[32.1069826,-26.7984645],[32.3114546,-26.8479493],[32.899986,-26.8516059],[32.886091,-26.9816971],[32.709427,-27.4785436],[32.6240724,-27.7775144],[32.5813951,-28.07479],[32.5387178,-28.2288046],[32.4275584,-28.5021568],[32.3640388,-28.5945699],[32.0702603,-28.8469827],[31.9878832,-28.9069497],[31.7764818,-28.969487],[31.4638459,-29.2859343],[31.359634,-29.3854348],[31.1680825,-29.6307408],[31.064863,-29.7893535],[31.0534493,-29.8470469],[31.0669933,-29.8640319],[31.0455459,-29.9502017],[30.9518556,-30.0033946],[30.8651833,-30.1024093],[30.7244725,-30.392502],[30.3556256,-30.9308873],[30.0972364,-31.2458274],[29.8673136,-31.4304296],[29.7409393,-31.5014699],[29.481312,-31.6978686],[28.8943171,-32.2898903],[28.5497137,-32.5894641],[28.1436499,-32.8320732],[28.0748735,-32.941689],[27.8450942,-33.082869],[27.3757956,-33.3860685],[26.8805407,-33.6458951],[26.5916871,-33.7480756],[26.4527308,-33.7935795],[26.206754,-33.7548943],[26.0077897,-33.7223961],[25.8055494,-33.7524272],[25.7511073,-33.8006512],[25.6529079,-33.8543597],[25.6529079,-33.9469768],[25.7195789,-34.0040115],[25.7202807,-34.0511235],[25.5508915,-34.063151],[25.3504571,-34.0502627],[25.2810609,-34.0020322],[25.0476316,-33.9994588],[24.954724,-34.0043594],[24.9496586,-34.1010363],[24.8770358,-34.1506456],[24.8762914,-34.2005281],[24.8532574,-34.2189562],[24.7645287,-34.2017946],[24.5001356,-34.2003254],[24.3486733,-34.1163824],[24.1988819,-34.1019039],[23.9963377,-34.0514443],[23.8017509,-34.0524332],[23.7493589,-34.0111855],[23.4973536,-34.009014],[23.4155191,-34.0434586],[23.4154284,-34.1140433],[22.9000853,-34.0993009],[22.8412418,-34.0547911],[22.6470321,-34.0502627],[22.6459843,-34.0072768],[22.570016,-34.0064081],[22.5050499,-34.0645866],[22.2519968,-34.0645866],[22.2221334,-34.1014701],[22.1621197,-34.1057019],[22.1712431,-34.1521766],[22.1576913,-34.2180897],[22.0015632,-34.2172232],[21.9496952,-34.3220009],[21.8611528,-34.4007145],[21.5614708,-34.4020114],[21.5468011,-34.3661242],[21.501744,-34.3669892],[21.5006961,-34.4020114],[21.4194886,-34.4465247],[21.1978706,-34.4478208],[21.0988193,-34.3991325],[21.0033746,-34.3753872],[20.893192,-34.3997115],[20.8976647,-34.4854003],[20.7446802,-34.4828092],[20.5042011,-34.486264],[20.2527197,-34.701477],[20.0803502,-34.8361855],[19.9923317,-34.8379056],[19.899074,-34.8275845],[19.8938348,-34.7936018],[19.5972963,-34.7961833],[19.3929677,-34.642015],[19.2877095,-34.6404784],[19.2861377,-34.5986563],[19.3474363,-34.5244458],[19.3285256,-34.4534372],[19.098001,-34.449981],[19.0725583,-34.3802371],[19.0023531,-34.3525593],[18.9520568,-34.3949373],[18.7975006,-34.3936403],[18.7984174,-34.1016376],[18.501748,-34.1015292],[18.4999545,-34.3616945],[18.4477325,-34.3620007],[18.4479944,-34.3522691],[18.3974362,-34.3514041],[18.3971742,-34.3022959],[18.3565705,-34.3005647],[18.3479258,-34.2020436],[18.2972095,-34.1950274],[18.2951139,-33.9937138],[18.3374474,-33.9914079],[18.3476638,-33.8492427],[18.3479258,-33.781555],[18.4124718,-33.7448849],[18.3615477,-33.6501624],[18.2992013,-33.585591],[18.2166839,-33.448872],[18.1389858,-33.3974083],[17.9473472,-33.1602647],[17.8855247,-33.0575732],[17.8485884,-32.9668505],[17.8396817,-32.8507302]]],"best":true},{"name":"South Tyrol Orthofoto 2011","type":"tms","description":"Orthophoto of South Tyrol from 2011","template":"http://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2011_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg","scaleExtent":[0,18],"polygon":[[[10.38615,46.68821],[10.39201,46.69016],[10.40215,46.70624],[10.41274,46.70821],[10.41622,46.71479],[10.4168,46.71847],[10.39934,46.73435],[10.43464,46.75356],[10.44107,46.75413],[10.44011,46.77149],[10.42123,46.78861],[10.42845,46.79755],[10.43851,46.79869],[10.44925,46.80462],[10.45602,46.81635],[10.45438,46.82221],[10.4583,46.82478],[10.45513,46.83059],[10.45906,46.83548],[10.46483,46.83624],[10.46229,46.8413],[10.46987,46.84933],[10.46819,46.8553],[10.47838,46.86013],[10.48372,46.85543],[10.49628,46.85305],[10.49931,46.84857],[10.52124,46.84653],[10.5527,46.8511],[10.55795,46.84695],[10.55264,46.8408],[10.55536,46.84087],[10.58883,46.85125],[10.59502,46.85829],[10.60936,46.8597],[10.62441,46.86558],[10.64858,46.86655],[10.66787,46.87651],[10.67297,46.87138],[10.69112,46.86861],[10.69786,46.86339],[10.69508,46.85308],[10.70594,46.84786],[10.71763,46.84795],[10.72333,46.83892],[10.75621,46.83383],[10.76481,46.82409],[10.76387,46.81971],[10.75239,46.81387],[10.74506,46.80223],[10.7276,46.79709],[10.73122,46.78925],[10.75722,46.78624],[10.77744,46.79149],[10.78678,46.79735],[10.81439,46.77662],[10.82479,46.77472],[10.83129,46.78138],[10.84112,46.78282],[10.85354,46.77506],[10.86845,46.77313],[10.86993,46.7669],[10.88294,46.76393],[10.88962,46.76529],[10.8951,46.77092],[10.90527,46.76911],[10.92299,46.7764],[10.92821,46.77408],[10.94388,46.77648],[10.97522,46.77361],[10.97932,46.77014],[10.99475,46.76804],[11.01397,46.77317],[11.02328,46.76715],[11.0346,46.79428],[11.04234,46.801],[11.03792,46.80562],[11.05633,46.80928],[11.07279,46.82092],[11.08171,46.82252],[11.0762,46.83384],[11.06887,46.83793],[11.07303,46.84345],[11.06988,46.85348],[11.08742,46.87927],[11.09961,46.88922],[11.09538,46.89178],[11.09795,46.89844],[11.0946,46.91247],[11.10792,46.91706],[11.10804,46.92632],[11.11418,46.93234],[11.13851,46.92865],[11.16322,46.94091],[11.16642,46.94479],[11.16114,46.94979],[11.1637,46.96677],[11.17598,46.96367],[11.18658,46.97062],[11.19527,46.97152],[11.20418,46.96877],[11.20688,46.96403],[11.22047,46.97025],[11.24139,46.9708],[11.24865,46.97517],[11.25582,46.97535],[11.26272,46.98169],[11.27662,46.98168],[11.28762,46.98699],[11.30709,46.98525],[11.3205,46.99345],[11.33765,46.98606],[11.34516,46.99169],[11.35932,46.99154],[11.37697,46.98025],[11.38324,46.97168],[11.40465,46.96609],[11.43929,46.97601],[11.45134,46.99294],[11.46803,46.99582],[11.46859,47.003],[11.47831,47.01201],[11.50238,47.01073],[11.50313,47.00808],[11.51366,47.00595],[11.51679,47.00091],[11.53381,46.99233],[11.53846,46.98519],[11.55297,46.99149],[11.57663,46.99657],[11.58,47.00277],[11.58879,47.00641],[11.59901,47.00657],[11.60944,47.01207],[11.62697,47.01437],[11.63629,47.00383],[11.66542,46.99304],[11.6885,46.99658],[11.71226,46.99416],[11.72897,46.97322],[11.74698,46.97013],[11.76411,46.97412],[11.78106,46.99342],[11.81526,46.991],[11.83564,46.99417],[11.84396,47.0025],[11.85192,47.0014],[11.86722,47.01252],[11.87393,47.01136],[11.8794,47.01714],[11.89137,47.01728],[11.91627,47.03422],[11.9329,47.03864],[11.94688,47.03464],[11.95457,47.04374],[11.96773,47.04158],[11.97912,47.0511],[11.98587,47.04815],[11.99534,47.05064],[12.02037,47.04821],[12.02968,47.05127],[12.03353,47.0583],[12.04276,47.06228],[12.07543,47.0605],[12.08035,47.06951],[12.09308,47.07791],[12.10329,47.07931],[12.11867,47.07445],[12.13561,47.08171],[12.15125,47.08049],[12.15997,47.08267],[12.18589,47.09322],[12.2278,47.08302],[12.24228,47.06892],[12.23786,47.0644],[12.21821,47.05795],[12.2182,47.04483],[12.20552,47.02595],[12.18048,47.02414],[12.16423,47.01782],[12.14786,47.02357],[12.12723,47.01218],[12.12285,47.00662],[12.1322,46.99339],[12.12974,46.98593],[12.13977,46.982],[12.13808,46.96514],[12.13328,46.96292],[12.13882,46.95764],[12.15927,46.95133],[12.1702,46.93758],[12.15414,46.91654],[12.14675,46.91413],[12.16205,46.908],[12.16959,46.91121],[12.19154,46.90682],[12.20106,46.8965],[12.2022,46.88806],[12.21663,46.87517],[12.22147,46.88084],[12.23125,46.88146],[12.2345,46.88919],[12.24162,46.89192],[12.27486,46.88512],[12.27979,46.87921],[12.27736,46.87319],[12.29326,46.86566],[12.2912,46.85704],[12.29733,46.84455],[12.30833,46.84137],[12.30726,46.83271],[12.285,46.81503],[12.29383,46.8027],[12.28905,46.79948],[12.28889,46.79427],[12.28232,46.79153],[12.28539,46.7839],[12.30943,46.78603],[12.35837,46.77583],[12.37036,46.74163],[12.38475,46.71745],[12.40283,46.70811],[12.41103,46.70701],[12.41522,46.70163],[12.42862,46.6997],[12.42943,46.69567],[12.44268,46.68979],[12.47501,46.68756],[12.4795,46.67969],[12.43473,46.66714],[12.40648,46.64167],[12.38115,46.64183],[12.37944,46.63733],[12.3915,46.62765],[12.38577,46.62154],[12.35939,46.61829],[12.34465,46.62376],[12.34034,46.63022],[12.33578,46.62732],[12.3172,46.62876],[12.31785,46.62355],[12.30802,46.61811],[12.28413,46.61623],[12.26982,46.62003],[12.25931,46.62809],[12.24502,46.62326],[12.24198,46.61586],[12.21241,46.60918],[12.20444,46.59836],[12.19228,46.59321],[12.19261,46.62059],[12.1818,46.6192],[12.17117,46.63275],[12.16062,46.63574],[12.1511,46.63215],[12.1436,46.6327],[12.13739,46.64122],[12.12342,46.64475],[12.10949,46.65204],[12.10609,46.65783],[12.09345,46.66123],[12.08826,46.66638],[12.07985,46.66686],[12.07038,46.67386],[12.07173,46.66064],[12.06686,46.65364],[12.07479,46.64329],[12.06837,46.63997],[12.06495,46.62121],[12.05448,46.61778],[12.05318,46.60989],[12.04613,46.60716],[12.05043,46.60016],[12.04763,46.58357],[12.03665,46.57668],[12.0266,46.55871],[12.02189,46.55791],[11.99941,46.53208],[11.99411,46.53345],[11.98704,46.54417],[11.96633,46.54363],[11.95094,46.53869],[11.94719,46.52879],[11.94147,46.52689],[11.93294,46.52631],[11.9121,46.532],[11.8904,46.52175],[11.85192,46.51682],[11.82849,46.50783],[11.82334,46.51315],[11.82391,46.52141],[11.81086,46.53146],[11.79385,46.52023],[11.79189,46.51322],[11.76157,46.50503],[11.74317,46.50391],[11.73202,46.50877],[11.71935,46.50916],[11.71524,46.51245],[11.69889,46.50218],[11.6672,46.49647],[11.64515,46.49743],[11.63849,46.50051],[11.63495,46.49486],[11.64297,46.49346],[11.65174,46.48271],[11.64536,46.47189],[11.64179,46.47439],[11.62679,46.4708],[11.62987,46.46377],[11.61882,46.44325],[11.62143,46.42539],[11.60161,46.39731],[11.60307,46.38924],[11.5932,46.38265],[11.56489,46.38018],[11.55878,46.35076],[11.55249,46.34418],[11.54423,46.34483],[11.53837,46.35015],[11.52445,46.35502],[11.47969,46.36277],[11.48052,46.3551],[11.46322,46.34922],[11.45556,46.33396],[11.42105,46.32441],[11.40517,46.32387],[11.39865,46.31426],[11.39994,46.30709],[11.39569,46.3083],[11.38188,46.30052],[11.36088,46.29906],[11.36078,46.29682],[11.38256,46.29177],[11.3871,46.28143],[11.39609,46.27423],[11.39862,46.264],[11.38756,46.26029],[11.37347,46.2629],[11.36836,46.26135],[11.35783,46.26481],[11.35495,46.27564],[11.33912,46.28306],[11.33379,46.29049],[11.33471,46.2962],[11.3129,46.28256],[11.31737,46.27303],[11.30645,46.25786],[11.29124,46.2604],[11.24743,46.22933],[11.20622,46.2187],[11.18267,46.22496],[11.17077,46.23806],[11.17994,46.24434],[11.18351,46.25269],[11.18935,46.25354],[11.19448,46.2461],[11.20029,46.25566],[11.16604,46.26129],[11.14885,46.27904],[11.13725,46.28336],[11.14293,46.28934],[11.15847,46.29059],[11.16439,46.2986],[11.1761,46.30346],[11.1847,46.32104],[11.18894,46.32151],[11.18696,46.32673],[11.1942,46.33016],[11.20204,46.34212],[11.19001,46.35984],[11.19263,46.36578],[11.20393,46.36765],[11.19792,46.37232],[11.21275,46.39804],[11.21345,46.40675],[11.20565,46.4166],[11.21026,46.4206],[11.20347,46.42682],[11.21416,46.43556],[11.21634,46.44255],[11.20903,46.45293],[11.21419,46.45807],[11.21736,46.45731],[11.21886,46.46199],[11.21626,46.47277],[11.20939,46.481],[11.20876,46.49346],[11.19608,46.50241],[11.1924,46.501],[11.18686,46.50734],[11.18002,46.49823],[11.17014,46.49635],[11.16095,46.4878],[11.12934,46.48058],[11.1103,46.49643],[11.10449,46.4948],[11.08812,46.50128],[11.08173,46.53021],[11.05915,46.51508],[11.03795,46.51357],[11.05006,46.50784],[11.05773,46.49235],[11.06278,46.4894],[11.06894,46.46619],[11.07625,46.45487],[11.0778,46.44569],[11.07301,46.44042],[11.05394,46.44849],[11.0414,46.44569],[11.02817,46.46116],[11.00952,46.46917],[11.00462,46.47607],[10.98695,46.48289],[10.96543,46.48103],[10.95791,46.46983],[10.93819,46.46578],[10.9325,46.45831],[10.93332,46.4528],[10.91305,46.44284],[10.89161,46.44366],[10.88324,46.44995],[10.88093,46.44579],[10.87162,46.4438],[10.86174,46.43509],[10.85113,46.43817],[10.80034,46.44185],[10.78906,46.45164],[10.77835,46.47112],[10.76934,46.47609],[10.76463,46.4848],[10.75906,46.48547],[10.74422,46.48333],[10.71753,46.46022],[10.69667,46.4573],[10.68293,46.44846],[10.66821,46.45122],[10.63303,46.44309],[10.61439,46.45098],[10.60128,46.46139],[10.59995,46.46766],[10.57672,46.47237],[10.55875,46.48187],[10.54986,46.49123],[10.53685,46.49062],[10.52657,46.49425],[10.49366,46.49719],[10.48141,46.49337],[10.45714,46.5096],[10.45124,46.53083],[10.45814,46.54215],[10.47056,46.54377],[10.46954,46.54856],[10.47617,46.55749],[10.47321,46.56701],[10.48305,46.5777],[10.48575,46.58921],[10.48221,46.59199],[10.48576,46.59805],[10.48291,46.60512],[10.49055,46.61394],[10.44632,46.63989],[10.40935,46.63389],[10.40011,46.63648],[10.39873,46.6455],[10.38946,46.65862],[10.39057,46.67089],[10.3803,46.68399],[10.38615,46.68821]]],"terms_url":"http://geoservices.buergernetz.bz.it/geokatalog/","terms_text":"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0","id":"South-Tyrol-Orthofoto2011"},{"name":"South Tyrol Orthofoto 2014","type":"tms","description":"Orthophoto of South Tyrol from 2011","template":"http://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2014_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg","scaleExtent":[0,18],"polygon":[[[12.23442,46.84254],[12.24913,46.82785],[12.24913,46.81945],[12.25753,46.81735],[12.26173,46.80686],[12.26594,46.80686],[12.26804,46.79637],[12.26173,46.79427],[12.27014,46.78587],[12.27224,46.76908],[12.28485,46.76698],[12.29745,46.7439],[12.30166,46.7439],[12.30166,46.7376],[12.28695,46.7376],[12.23652,46.72081],[12.18819,46.71451],[12.16298,46.70192],[12.10835,46.69353],[12.08944,46.68303],[12.05792,46.68093],[12.04531,46.67464],[12.03481,46.67464],[12.03061,46.68303],[12.0096,46.68303],[11.98438,46.66834],[11.94866,46.66414],[11.93816,46.65575],[11.90874,46.64525],[11.89193,46.64525],[11.8457,46.62846],[11.82049,46.62636],[11.80998,46.60748],[11.79528,46.60328],[11.78897,46.59069],[11.78057,46.58859],[11.76586,46.55501],[11.75325,46.54871],[11.73855,46.52982],[11.73224,46.52982],[11.72384,46.51513],[11.71543,46.51513],[11.71333,46.50254],[11.70913,46.50254],[11.70913,46.49624],[11.69652,46.48575],[11.69442,46.47735],[11.66711,46.47525],[11.66711,46.44587],[11.6608,46.44587],[11.64399,46.45846],[11.63769,46.45846],[11.63349,46.44587],[11.62508,46.44797],[11.62508,46.43957],[11.61878,46.43957],[11.61458,46.42278],[11.61037,46.42278],[11.61037,46.41649],[11.62508,46.41229],[11.62508,46.3934],[11.61458,46.38291],[11.60617,46.38291],[11.60407,46.37241],[11.58306,46.37241],[11.58306,46.34932],[11.55995,46.32414],[11.53894,46.32834],[11.53894,46.34513],[11.52423,46.34723],[11.50111,46.34723],[11.49901,46.32834],[11.48851,46.33044],[11.49271,46.32204],[11.41917,46.32414],[11.41707,46.25278],[11.35613,46.24858],[11.34773,46.25698],[11.34563,46.26747],[11.34143,46.26747],[11.33722,46.25068],[11.31201,46.24858],[11.30991,46.25278],[11.3015,46.25278],[11.2889,46.24019],[11.2889,46.2234],[11.25108,46.2234],[11.24898,46.2129],[11.16283,46.215],[11.16283,46.24858],[11.12711,46.24858],[11.13131,46.25278],[11.12291,46.25488],[11.12501,46.29895],[11.16283,46.29895],[11.16283,46.36821],[11.16703,46.36821],[11.16703,46.38081],[11.17543,46.3871],[11.17754,46.3997],[11.20485,46.3997],[11.20695,46.42068],[11.19014,46.42068],[11.19014,46.42698],[11.19435,46.42698],[11.19855,46.44167],[11.20485,46.44587],[11.20695,46.47315],[11.19014,46.47525],[11.18804,46.48365],[11.15232,46.47525],[11.08298,46.47525],[11.08088,46.43537],[11.04096,46.42068],[11.01154,46.42068],[10.99894,46.44587],[10.98843,46.44587],[10.98423,46.45217],[10.96952,46.45217],[10.96112,46.48365],[10.95691,46.48365],[10.95481,46.49414],[10.94851,46.49624],[10.94431,46.50673],[10.91069,46.49624],[10.90018,46.49624],[10.89808,46.51093],[10.85606,46.50254],[10.84135,46.54241],[10.86446,46.54661],[10.86236,46.55081],[10.76571,46.54031],[10.72158,46.55081],[10.59762,46.55291],[10.5619,46.54871],[10.53668,46.55291],[10.50096,46.54871],[10.48415,46.55501],[10.46314,46.55501],[10.47155,46.5676],[10.47365,46.59069],[10.47785,46.59069],[10.47785,46.61797],[10.46944,46.62636],[10.44843,46.63476],[10.42532,46.62846],[10.3938,46.63056],[10.3896,46.64525],[10.3812,46.64735],[10.3833,46.66414],[10.3791,46.66834],[10.3791,46.69353],[10.3854,46.72081],[10.3896,46.72081],[10.3938,46.7376],[10.41692,46.75229],[10.41692,46.78587],[10.42112,46.79847],[10.42532,46.79847],[10.42532,46.80686],[10.43373,46.81106],[10.43793,46.79007],[10.44423,46.78377],[10.44843,46.7439],[10.45264,46.7439],[10.45684,46.72711],[10.46104,46.72711],[10.46524,46.71032],[10.46944,46.71032],[10.47365,46.67254],[10.47995,46.67044],[10.48415,46.65575],[10.48836,46.65575],[10.48415,46.62846],[10.48836,46.62846],[10.48836,46.62217],[10.49886,46.62007],[10.52828,46.62427],[10.49886,46.63056],[10.49886,46.64525],[10.50516,46.64316],[10.49886,46.66204],[10.51777,46.65785],[10.58921,46.66204],[10.63123,46.65365],[10.79302,46.65575],[10.79723,46.65155],[10.88127,46.65155],[10.89178,46.65785],[10.9275,46.66414],[10.94431,46.67464],[10.98003,46.67464],[11.00104,46.68303],[11.02415,46.68303],[11.05147,46.69772],[11.12711,46.70822],[11.13971,46.71242],[11.14392,46.71871],[11.17543,46.72081],[11.19855,46.7334],[11.24898,46.7355],[11.25318,46.72291],[11.2952,46.72921],[11.30571,46.70822],[11.31831,46.70822],[11.33722,46.71871],[11.38555,46.72081],[11.43178,46.7376],[11.50952,46.7439],[11.54734,46.75649],[11.56835,46.75649],[11.58306,46.76698],[11.60617,46.76908],[11.61037,46.77538],[11.69862,46.79427],[11.71753,46.79427],[11.72174,46.79007],[11.73855,46.75859],[11.74905,46.75019],[11.76166,46.70192],[11.76586,46.70192],[11.78687,46.71661],[11.8331,46.72291],[11.86041,46.7376],[11.90874,46.7439],[11.92135,46.75229],[11.95286,46.75859],[11.95917,46.76488],[11.99489,46.77538],[12.00749,46.77538],[12.0096,46.77958],[12.03061,46.78168],[12.05792,46.79427],[12.09995,46.79847],[12.13566,46.81316],[12.15878,46.81316],[12.18609,46.82785],[12.21551,46.83205],[12.23442,46.84254]],[[11.97388,46.96637],[11.99489,46.96007],[11.99489,46.95587],[12.0096,46.95797],[12.0117,46.94748],[12.0159,46.94748],[12.0117,46.94118],[12.018,46.93908],[12.02851,46.92229],[12.00749,46.9118],[11.97388,46.9055],[11.95707,46.89501],[11.91714,46.88871],[11.85831,46.86982],[11.8394,46.86982],[11.80158,46.85303],[11.76166,46.84464],[11.74905,46.83415],[11.68181,46.81945],[11.67971,46.81526],[11.6545,46.81106],[11.64399,46.80476],[11.63769,46.80686],[11.63139,46.82155],[11.62508,46.82155],[11.62298,46.83205],[11.61037,46.84464],[11.61668,46.84884],[11.61458,46.85723],[11.61037,46.85723],[11.61668,46.86563],[11.64609,46.86563],[11.68602,46.88242],[11.69022,46.88871],[11.74905,46.89711],[11.75325,46.90341],[11.78057,46.9076],[11.80158,46.9202],[11.8457,46.92649],[11.87722,46.94118],[11.89613,46.94328],[11.92135,46.95797],[11.96757,46.96217],[11.97388,46.96637]]],"terms_url":"http://geoservices.buergernetz.bz.it/geokatalog/","terms_text":"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0","id":"South-Tyrol-Orthofoto2014","best":true},{"name":"South Tyrol Topomap","type":"tms","description":"Topographical basemap of South Tyrol","template":"http://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_BASEMAP_TOPO&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{z}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg","scaleExtent":[0,20],"polygon":[[[10.38615,46.68821],[10.39201,46.69016],[10.40215,46.70624],[10.41274,46.70821],[10.41622,46.71479],[10.4168,46.71847],[10.39934,46.73435],[10.43464,46.75356],[10.44107,46.75413],[10.44011,46.77149],[10.42123,46.78861],[10.42845,46.79755],[10.43851,46.79869],[10.44925,46.80462],[10.45602,46.81635],[10.45438,46.82221],[10.4583,46.82478],[10.45513,46.83059],[10.45906,46.83548],[10.46483,46.83624],[10.46229,46.8413],[10.46987,46.84933],[10.46819,46.8553],[10.47838,46.86013],[10.48372,46.85543],[10.49628,46.85305],[10.49931,46.84857],[10.52124,46.84653],[10.5527,46.8511],[10.55795,46.84695],[10.55264,46.8408],[10.55536,46.84087],[10.58883,46.85125],[10.59502,46.85829],[10.60936,46.8597],[10.62441,46.86558],[10.64858,46.86655],[10.66787,46.87651],[10.67297,46.87138],[10.69112,46.86861],[10.69786,46.86339],[10.69508,46.85308],[10.70594,46.84786],[10.71763,46.84795],[10.72333,46.83892],[10.75621,46.83383],[10.76481,46.82409],[10.76387,46.81971],[10.75239,46.81387],[10.74506,46.80223],[10.7276,46.79709],[10.73122,46.78925],[10.75722,46.78624],[10.77744,46.79149],[10.78678,46.79735],[10.81439,46.77662],[10.82479,46.77472],[10.83129,46.78138],[10.84112,46.78282],[10.85354,46.77506],[10.86845,46.77313],[10.86993,46.7669],[10.88294,46.76393],[10.88962,46.76529],[10.8951,46.77092],[10.90527,46.76911],[10.92299,46.7764],[10.92821,46.77408],[10.94388,46.77648],[10.97522,46.77361],[10.97932,46.77014],[10.99475,46.76804],[11.01397,46.77317],[11.02328,46.76715],[11.0346,46.79428],[11.04234,46.801],[11.03792,46.80562],[11.05633,46.80928],[11.07279,46.82092],[11.08171,46.82252],[11.0762,46.83384],[11.06887,46.83793],[11.07303,46.84345],[11.06988,46.85348],[11.08742,46.87927],[11.09961,46.88922],[11.09538,46.89178],[11.09795,46.89844],[11.0946,46.91247],[11.10792,46.91706],[11.10804,46.92632],[11.11418,46.93234],[11.13851,46.92865],[11.16322,46.94091],[11.16642,46.94479],[11.16114,46.94979],[11.1637,46.96677],[11.17598,46.96367],[11.18658,46.97062],[11.19527,46.97152],[11.20418,46.96877],[11.20688,46.96403],[11.22047,46.97025],[11.24139,46.9708],[11.24865,46.97517],[11.25582,46.97535],[11.26272,46.98169],[11.27662,46.98168],[11.28762,46.98699],[11.30709,46.98525],[11.3205,46.99345],[11.33765,46.98606],[11.34516,46.99169],[11.35932,46.99154],[11.37697,46.98025],[11.38324,46.97168],[11.40465,46.96609],[11.43929,46.97601],[11.45134,46.99294],[11.46803,46.99582],[11.46859,47.003],[11.47831,47.01201],[11.50238,47.01073],[11.50313,47.00808],[11.51366,47.00595],[11.51679,47.00091],[11.53381,46.99233],[11.53846,46.98519],[11.55297,46.99149],[11.57663,46.99657],[11.58,47.00277],[11.58879,47.00641],[11.59901,47.00657],[11.60944,47.01207],[11.62697,47.01437],[11.63629,47.00383],[11.66542,46.99304],[11.6885,46.99658],[11.71226,46.99416],[11.72897,46.97322],[11.74698,46.97013],[11.76411,46.97412],[11.78106,46.99342],[11.81526,46.991],[11.83564,46.99417],[11.84396,47.0025],[11.85192,47.0014],[11.86722,47.01252],[11.87393,47.01136],[11.8794,47.01714],[11.89137,47.01728],[11.91627,47.03422],[11.9329,47.03864],[11.94688,47.03464],[11.95457,47.04374],[11.96773,47.04158],[11.97912,47.0511],[11.98587,47.04815],[11.99534,47.05064],[12.02037,47.04821],[12.02968,47.05127],[12.03353,47.0583],[12.04276,47.06228],[12.07543,47.0605],[12.08035,47.06951],[12.09308,47.07791],[12.10329,47.07931],[12.11867,47.07445],[12.13561,47.08171],[12.15125,47.08049],[12.15997,47.08267],[12.18589,47.09322],[12.2278,47.08302],[12.24228,47.06892],[12.23786,47.0644],[12.21821,47.05795],[12.2182,47.04483],[12.20552,47.02595],[12.18048,47.02414],[12.16423,47.01782],[12.14786,47.02357],[12.12723,47.01218],[12.12285,47.00662],[12.1322,46.99339],[12.12974,46.98593],[12.13977,46.982],[12.13808,46.96514],[12.13328,46.96292],[12.13882,46.95764],[12.15927,46.95133],[12.1702,46.93758],[12.15414,46.91654],[12.14675,46.91413],[12.16205,46.908],[12.16959,46.91121],[12.19154,46.90682],[12.20106,46.8965],[12.2022,46.88806],[12.21663,46.87517],[12.22147,46.88084],[12.23125,46.88146],[12.2345,46.88919],[12.24162,46.89192],[12.27486,46.88512],[12.27979,46.87921],[12.27736,46.87319],[12.29326,46.86566],[12.2912,46.85704],[12.29733,46.84455],[12.30833,46.84137],[12.30726,46.83271],[12.285,46.81503],[12.29383,46.8027],[12.28905,46.79948],[12.28889,46.79427],[12.28232,46.79153],[12.28539,46.7839],[12.30943,46.78603],[12.35837,46.77583],[12.37036,46.74163],[12.38475,46.71745],[12.40283,46.70811],[12.41103,46.70701],[12.41522,46.70163],[12.42862,46.6997],[12.42943,46.69567],[12.44268,46.68979],[12.47501,46.68756],[12.4795,46.67969],[12.43473,46.66714],[12.40648,46.64167],[12.38115,46.64183],[12.37944,46.63733],[12.3915,46.62765],[12.38577,46.62154],[12.35939,46.61829],[12.34465,46.62376],[12.34034,46.63022],[12.33578,46.62732],[12.3172,46.62876],[12.31785,46.62355],[12.30802,46.61811],[12.28413,46.61623],[12.26982,46.62003],[12.25931,46.62809],[12.24502,46.62326],[12.24198,46.61586],[12.21241,46.60918],[12.20444,46.59836],[12.19228,46.59321],[12.19261,46.62059],[12.1818,46.6192],[12.17117,46.63275],[12.16062,46.63574],[12.1511,46.63215],[12.1436,46.6327],[12.13739,46.64122],[12.12342,46.64475],[12.10949,46.65204],[12.10609,46.65783],[12.09345,46.66123],[12.08826,46.66638],[12.07985,46.66686],[12.07038,46.67386],[12.07173,46.66064],[12.06686,46.65364],[12.07479,46.64329],[12.06837,46.63997],[12.06495,46.62121],[12.05448,46.61778],[12.05318,46.60989],[12.04613,46.60716],[12.05043,46.60016],[12.04763,46.58357],[12.03665,46.57668],[12.0266,46.55871],[12.02189,46.55791],[11.99941,46.53208],[11.99411,46.53345],[11.98704,46.54417],[11.96633,46.54363],[11.95094,46.53869],[11.94719,46.52879],[11.94147,46.52689],[11.93294,46.52631],[11.9121,46.532],[11.8904,46.52175],[11.85192,46.51682],[11.82849,46.50783],[11.82334,46.51315],[11.82391,46.52141],[11.81086,46.53146],[11.79385,46.52023],[11.79189,46.51322],[11.76157,46.50503],[11.74317,46.50391],[11.73202,46.50877],[11.71935,46.50916],[11.71524,46.51245],[11.69889,46.50218],[11.6672,46.49647],[11.64515,46.49743],[11.63849,46.50051],[11.63495,46.49486],[11.64297,46.49346],[11.65174,46.48271],[11.64536,46.47189],[11.64179,46.47439],[11.62679,46.4708],[11.62987,46.46377],[11.61882,46.44325],[11.62143,46.42539],[11.60161,46.39731],[11.60307,46.38924],[11.5932,46.38265],[11.56489,46.38018],[11.55878,46.35076],[11.55249,46.34418],[11.54423,46.34483],[11.53837,46.35015],[11.52445,46.35502],[11.47969,46.36277],[11.48052,46.3551],[11.46322,46.34922],[11.45556,46.33396],[11.42105,46.32441],[11.40517,46.32387],[11.39865,46.31426],[11.39994,46.30709],[11.39569,46.3083],[11.38188,46.30052],[11.36088,46.29906],[11.36078,46.29682],[11.38256,46.29177],[11.3871,46.28143],[11.39609,46.27423],[11.39862,46.264],[11.38756,46.26029],[11.37347,46.2629],[11.36836,46.26135],[11.35783,46.26481],[11.35495,46.27564],[11.33912,46.28306],[11.33379,46.29049],[11.33471,46.2962],[11.3129,46.28256],[11.31737,46.27303],[11.30645,46.25786],[11.29124,46.2604],[11.24743,46.22933],[11.20622,46.2187],[11.18267,46.22496],[11.17077,46.23806],[11.17994,46.24434],[11.18351,46.25269],[11.18935,46.25354],[11.19448,46.2461],[11.20029,46.25566],[11.16604,46.26129],[11.14885,46.27904],[11.13725,46.28336],[11.14293,46.28934],[11.15847,46.29059],[11.16439,46.2986],[11.1761,46.30346],[11.1847,46.32104],[11.18894,46.32151],[11.18696,46.32673],[11.1942,46.33016],[11.20204,46.34212],[11.19001,46.35984],[11.19263,46.36578],[11.20393,46.36765],[11.19792,46.37232],[11.21275,46.39804],[11.21345,46.40675],[11.20565,46.4166],[11.21026,46.4206],[11.20347,46.42682],[11.21416,46.43556],[11.21634,46.44255],[11.20903,46.45293],[11.21419,46.45807],[11.21736,46.45731],[11.21886,46.46199],[11.21626,46.47277],[11.20939,46.481],[11.20876,46.49346],[11.19608,46.50241],[11.1924,46.501],[11.18686,46.50734],[11.18002,46.49823],[11.17014,46.49635],[11.16095,46.4878],[11.12934,46.48058],[11.1103,46.49643],[11.10449,46.4948],[11.08812,46.50128],[11.08173,46.53021],[11.05915,46.51508],[11.03795,46.51357],[11.05006,46.50784],[11.05773,46.49235],[11.06278,46.4894],[11.06894,46.46619],[11.07625,46.45487],[11.0778,46.44569],[11.07301,46.44042],[11.05394,46.44849],[11.0414,46.44569],[11.02817,46.46116],[11.00952,46.46917],[11.00462,46.47607],[10.98695,46.48289],[10.96543,46.48103],[10.95791,46.46983],[10.93819,46.46578],[10.9325,46.45831],[10.93332,46.4528],[10.91305,46.44284],[10.89161,46.44366],[10.88324,46.44995],[10.88093,46.44579],[10.87162,46.4438],[10.86174,46.43509],[10.85113,46.43817],[10.80034,46.44185],[10.78906,46.45164],[10.77835,46.47112],[10.76934,46.47609],[10.76463,46.4848],[10.75906,46.48547],[10.74422,46.48333],[10.71753,46.46022],[10.69667,46.4573],[10.68293,46.44846],[10.66821,46.45122],[10.63303,46.44309],[10.61439,46.45098],[10.60128,46.46139],[10.59995,46.46766],[10.57672,46.47237],[10.55875,46.48187],[10.54986,46.49123],[10.53685,46.49062],[10.52657,46.49425],[10.49366,46.49719],[10.48141,46.49337],[10.45714,46.5096],[10.45124,46.53083],[10.45814,46.54215],[10.47056,46.54377],[10.46954,46.54856],[10.47617,46.55749],[10.47321,46.56701],[10.48305,46.5777],[10.48575,46.58921],[10.48221,46.59199],[10.48576,46.59805],[10.48291,46.60512],[10.49055,46.61394],[10.44632,46.63989],[10.40935,46.63389],[10.40011,46.63648],[10.39873,46.6455],[10.38946,46.65862],[10.39057,46.67089],[10.3803,46.68399],[10.38615,46.68821]]],"terms_url":"http://geoservices.buergernetz.bz.it/geokatalog/","terms_text":"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano","id":"South-Tyrol-Topomap"},{"name":"Stadt Uster Orthophoto 2008 10cm","type":"tms","template":"http://mapproxy.sosm.ch:8080/tiles/uster/EPSG900913/{zoom}/{x}/{y}.png?origin=nw","polygon":[[[8.6,47.31],[8.6,47.39],[8.77,47.39],[8.77,47.31],[8.6,47.31]]],"terms_text":"Stadt Uster Vermessung Orthophoto 2008"},{"name":"Stadt Zürich Luftbild 2011","type":"tms","template":"http://mapproxy.sosm.ch:8080/tiles/zh_luftbild2011/EPSG900913/{z}/{x}/{y}.png?origin=nw","polygon":[[[8.4441,47.3141],[8.4441,47.4411],[8.6284,47.4411],[8.6284,47.3141],[8.4441,47.3141]]],"terms_text":"Stadt Zürich Luftbild 2011"},{"name":"Stadtplan Zürich","type":"tms","template":"http://mapproxy.sosm.ch:8080/tiles/zh_stadtplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw","polygon":[[[8.4482,47.321],[8.4482,47.4339],[8.6248,47.4339],[8.6248,47.321],[8.4482,47.321]]],"terms_text":"Stadt Zürich Open Government Data"},{"name":"Stamen Terrain","type":"tms","template":"http://{switch:a,b,c,d}.tile.stamen.com/terrain-background/{z}/{x}/{y}.jpg","scaleExtent":[4,18],"polygon":[[[-125.990173,48.9962416],[-125.989419,47.9948396],[-123.9929739,47.9955062],[-123.9922429,47.0059202],[-125.988688,47.0052409],[-125.9879604,46.0015618],[-123.9939396,46.0022529],[-123.9925238,43.9961708],[-124.9931832,43.9958116],[-124.9918175,41.9942149],[-125.9851789,41.9938465],[-125.9838655,40.0076111],[-123.9833285,40.0083757],[-123.9814115,37.002615],[-122.21903,37.0033173],[-122.2184144,36.011671],[-122.020087,36.011751],[-122.0188591,33.9961766],[-119.9787757,33.9970206],[-119.9775867,31.9987658],[-114.0122833,32.00129],[-114.0116894,30.9862401],[-105.998294,30.9896679],[-105.9971419,28.9901065],[-102.0210506,28.9918418],[-102.0204916,28.00733],[-100.0062436,28.0082173],[-100.0051143,25.991909],[-98.0109067,25.9928035],[-98.0103613,25.0063461],[-97.0161086,25.0067957],[-97.016654,25.9932494],[-95.9824825,25.9937132],[-95.9835999,27.9891175],[-94.0200898,27.9899826],[-94.0206586,28.9918129],[-88.0156706,28.9944338],[-88.0162494,30.0038862],[-86.0277506,30.0047454],[-86.0271719,28.9953016],[-84.0187909,28.9961781],[-84.017095,25.9817708],[-81.9971976,25.9826768],[-81.9966618,25.0134917],[-84.0165592,25.0125783],[-84.0160068,24.0052745],[-80.0199985,24.007096],[-80.0245309,32.0161282],[-78.0066484,32.0169819],[-78.0072238,32.9894278],[-77.8807233,32.9894807],[-77.8813253,33.9955918],[-76.0115411,33.9963653],[-76.0121459,34.9952552],[-74.0068449,34.9960749],[-74.0099997,40.0084254],[-72.0013745,40.0091931],[-72.002019,40.9912464],[-69.8797398,40.9920457],[-69.8804173,42.00893],[-69.9927682,42.0088883],[-69.9934462,43.0105166],[-67.9845366,43.0112496],[-67.985224,44.0103812],[-65.9892568,44.0110975],[-65.9921237,47.9993584],[-70.006442,47.9980181],[-70.005708,47.0042007],[-72.023686,47.003514],[-72.0222508,45.0059846],[-78.0146667,45.0038705],[-78.0139662,44.0026998],[-80.029686,44.0019763],[-80.0290052,43.0122994],[-81.995479,43.011582],[-81.9982986,47.0042713],[-87.505706,47.0023972],[-87.5064535,48.0142702],[-88.0260889,48.0140968],[-88.026838,49.0086686],[-93.9981078,49.0067142],[-93.9988778,50.0086456],[-96.0138899,50.0079995],[-96.0131199,49.0060547]]],"terms_url":"http://maps.stamen.com/#terrain","terms_text":"Map tiles by Stamen Design, under CC BY 3.0"},{"name":"Stevns (Denmark)","type":"tms","template":"http://{switch:a,b,c}.tile.openstreetmap.dk/stevns/2009/{zoom}/{x}/{y}.png","scaleExtent":[0,20],"polygon":[[[12.0913942,55.3491574],[12.0943104,55.3842256],[12.1573875,55.3833103],[12.1587287,55.4013326],[12.1903468,55.400558],[12.1931411,55.4364665],[12.2564251,55.4347995],[12.2547073,55.4168882],[12.3822489,55.4134349],[12.3795942,55.3954143],[12.4109213,55.3946958],[12.409403,55.3766417],[12.4407807,55.375779],[12.4394142,55.3578314],[12.4707413,55.3569971],[12.4629475,55.2672214],[12.4315633,55.2681491],[12.430045,55.2502103],[12.3672011,55.2519673],[12.3656858,55.2340267],[12.2714604,55.2366031],[12.2744467,55.272476],[12.2115654,55.2741475],[12.2130078,55.2920322],[12.1815665,55.2928638],[12.183141,55.3107091],[12.2144897,55.3100981],[12.2159927,55.3279764],[12.1214458,55.3303379],[12.1229489,55.3483291]]],"terms_text":"Stevns Kommune"},{"name":"Surrey Air Survey","type":"tms","template":"http://gravitystorm.dev.openstreetmap.org/surrey/{zoom}/{x}/{y}.png","scaleExtent":[8,19],"polygon":[[[-0.752478,51.0821941],[-0.7595183,51.0856254],[-0.8014342,51.1457917],[-0.8398864,51.1440686],[-0.8357665,51.1802397],[-0.8529549,51.2011266],[-0.8522683,51.2096231],[-0.8495217,51.217903],[-0.8266907,51.2403696],[-0.8120995,51.2469248],[-0.7736474,51.2459577],[-0.7544213,51.2381127],[-0.754078,51.233921],[-0.7446366,51.2333836],[-0.7430693,51.2847178],[-0.751503,51.3069524],[-0.7664376,51.3121032],[-0.7820588,51.3270157],[-0.7815438,51.3388135],[-0.7374268,51.3720456],[-0.7192307,51.3769748],[-0.6795769,51.3847961],[-0.6807786,51.3901523],[-0.6531411,51.3917591],[-0.6301385,51.3905808],[-0.6291085,51.3970074],[-0.6234437,51.3977572],[-0.613144,51.4295552],[-0.6002471,51.4459121],[-0.5867081,51.4445365],[-0.5762368,51.453202],[-0.5626755,51.4523462],[-0.547741,51.4469972],[-0.5372697,51.4448575],[-0.537098,51.4526671],[-0.5439644,51.4545926],[-0.5405312,51.4698865],[-0.5309182,51.4760881],[-0.5091172,51.4744843],[-0.5086022,51.4695657],[-0.4900628,51.4682825],[-0.4526406,51.4606894],[-0.4486924,51.4429316],[-0.4414826,51.4418616],[-0.4418259,51.4369394],[-0.4112702,51.4380095],[-0.4014855,51.4279498],[-0.3807145,51.4262372],[-0.3805428,51.4161749],[-0.3491288,51.4138195],[-0.3274994,51.4037544],[-0.3039818,51.3990424],[-0.3019219,51.3754747],[-0.309475,51.369688],[-0.3111916,51.3529669],[-0.2955704,51.3541462],[-0.2923089,51.3673303],[-0.2850991,51.3680805],[-0.2787476,51.3771891],[-0.2655297,51.3837247],[-0.2411538,51.3847961],[-0.2123147,51.3628288],[-0.2107697,51.3498578],[-0.190857,51.3502867],[-0.1542931,51.3338802],[-0.1496583,51.3057719],[-0.1074296,51.2966491],[-0.0887185,51.3099571],[-0.0878602,51.3220811],[-0.0652009,51.3215448],[-0.0641709,51.3264793],[-0.0519829,51.3263721],[-0.0528412,51.334631],[-0.0330779,51.3430876],[0.0019187,51.3376339],[0.0118751,51.3281956],[0.013935,51.2994398],[0.0202865,51.2994398],[0.0240631,51.3072743],[0.0331611,51.3086694],[0.0455207,51.30545],[0.0523872,51.2877392],[0.0616569,51.2577764],[0.0640602,51.2415518],[0.0462074,51.2126342],[0.0407142,51.2109136],[0.0448341,51.1989753],[0.0494689,51.1997283],[0.0558204,51.1944573],[0.0611419,51.1790713],[0.0623435,51.1542061],[0.0577087,51.1417146],[0.0204582,51.1365447],[-0.0446015,51.1336364],[-0.1566964,51.1352522],[-0.1572114,51.1290043],[-0.2287942,51.1183379],[-0.2473336,51.1183379],[-0.2500802,51.1211394],[-0.299347,51.1137042],[-0.3221779,51.1119799],[-0.3223496,51.1058367],[-0.3596001,51.1019563],[-0.3589135,51.1113333],[-0.3863793,51.1117644],[-0.3869014,51.1062516],[-0.4281001,51.0947174],[-0.4856784,51.0951554],[-0.487135,51.0872266],[-0.5297404,51.0865404],[-0.5302259,51.0789914],[-0.61046,51.076551],[-0.6099745,51.080669],[-0.6577994,51.0792202],[-0.6582849,51.0743394],[-0.6836539,51.0707547],[-0.6997979,51.070831],[-0.7296581,51.0744919]]]},{"name":"Szeged ortophoto 2011","type":"tms","template":"http://e.tile.openstreetmap.hu/szeged-2011-10cm/{zoom}/{x}/{y}.png","scaleExtent":[10,22],"polygon":[[[20.1459914,46.2281144],[20.1332261,46.2290431],[20.1258373,46.2298686],[20.122329,46.2309893],[20.1208484,46.2317537],[20.1189709,46.2335126],[20.1131237,46.2413638],[20.1120293,46.2433005],[20.1115733,46.2449996],[20.1111871,46.247092],[20.1112944,46.2487725],[20.1115948,46.2509686],[20.1122171,46.2528047],[20.1129949,46.2542681],[20.1135421,46.2553549],[20.1147705,46.2567977],[20.1352251,46.2768529],[20.1366386,46.2775055],[20.1378939,46.2780301],[20.1393932,46.2783508],[20.1408818,46.2784583],[20.1611494,46.278159],[20.1621093,46.2781579],[20.1635894,46.277702],[20.1661777,46.2761484],[20.1687795,46.2738569],[20.1696108,46.2714413],[20.1695895,46.2704465],[20.1700871,46.2704418],[20.1739897,46.2643295],[20.1766182,46.2582878],[20.1947983,46.25492],[20.1858719,46.2448077],[20.1846595,46.2453122],[20.1780371,46.2383112],[20.1781766,46.2377101],[20.1795258,46.2370961],[20.1725666,46.2300241],[20.1698349,46.2350404],[20.1687701,46.2362946],[20.1670262,46.2378475],[20.1659431,46.2387342],[20.1654408,46.2389988],[20.1654837,46.2389988],[20.1635177,46.2401383],[20.1602051,46.2412003],[20.1592684,46.241531],[20.1592684,46.2415751],[20.1583504,46.2418505],[20.1549473,46.2422869],[20.1510796,46.2351538],[20.1493804,46.232459],[20.1459914,46.2281144]]],"terms_url":"http://www.geo.u-szeged.hu/","terms_text":"SZTE TFGT - University of Szeged"},{"name":"Thunderforest Landscape","type":"tms","template":"https://{switch:a,b,c}.tile.thunderforest.com/landscape/{zoom}/{x}/{y}.png","scaleExtent":[0,22],"terms_url":"http://www.thunderforest.com/terms/","terms_text":"Maps © Thunderforest, Data © OpenStreetMap contributors"},{"name":"Toulouse - Orthophotoplan 2007","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/toulouse_ortho2007/{zoom}/{x}/{y}","scaleExtent":[0,22],"polygon":[[[1.1919978,43.6328791],[1.2015377,43.6329729],[1.2011107,43.6554932],[1.2227985,43.6557029],[1.2226231,43.6653353],[1.2275341,43.6653849],[1.2275417,43.6656387],[1.2337568,43.6656883],[1.2337644,43.6650153],[1.2351218,43.6650319],[1.2350913,43.6670729],[1.2443566,43.6671556],[1.2441584,43.6743925],[1.2493973,43.6744256],[1.2493973,43.6746628],[1.2555666,43.6747234],[1.2555742,43.6744532],[1.2569545,43.6744697],[1.2568782,43.678529],[1.2874873,43.6788257],[1.2870803,43.7013229],[1.3088219,43.7014632],[1.3086493,43.7127673],[1.3303262,43.7129544],[1.3300242,43.7305221],[1.3367106,43.7305845],[1.3367322,43.7312235],[1.3734338,43.7310456],[1.3735848,43.7245772],[1.4604504,43.7252947],[1.4607783,43.7028034],[1.4824875,43.7029516],[1.4829828,43.6692071],[1.5046832,43.6693616],[1.5048383,43.6581174],[1.5265475,43.6582656],[1.5266945,43.6470298],[1.548368,43.6471633],[1.5485357,43.6359385],[1.5702172,43.636082],[1.5705123,43.6135777],[1.5488166,43.6134276],[1.549097,43.5909479],[1.5707695,43.5910694],[1.5709373,43.5798341],[1.5793714,43.5798894],[1.5794782,43.5737682],[1.5809119,43.5737792],[1.5810859,43.5573794],[1.5712334,43.5573131],[1.5716504,43.5235497],[1.3984804,43.5222618],[1.3986509,43.5110113],[1.3120959,43.5102543],[1.3118968,43.5215192],[1.2902569,43.5213126],[1.2898637,43.5438168],[1.311517,43.5440133],[1.3113271,43.5552596],[1.3036924,43.5551924],[1.3036117,43.5595099],[1.2955449,43.5594317],[1.2955449,43.5595489],[1.2895595,43.5594473],[1.2892899,43.5775366],[1.2675698,43.5773647],[1.2673973,43.5886141],[1.25355,43.5885047],[1.2533774,43.5956282],[1.2518029,43.5956282],[1.2518029,43.5949409],[1.2350437,43.5947847],[1.2350437,43.5945972],[1.2239572,43.5945972],[1.2239357,43.5994708],[1.2139708,43.599299],[1.2138845,43.6046408],[1.2020647,43.6044846],[1.2019464,43.61048],[1.1924294,43.6103695]]],"terms_url":"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData","terms_text":"ToulouseMetropole"},{"name":"Toulouse - Orthophotoplan 2011","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/toulouse_ortho2011/{zoom}/{x}/{y}","scaleExtent":[0,22],"polygon":[[[1.1135067,43.6867566],[1.1351836,43.6870842],[1.1348907,43.6983471],[1.1782867,43.6990338],[1.1779903,43.7102786],[1.1996591,43.7106144],[1.1993387,43.7218722],[1.2427356,43.7225269],[1.2424336,43.7337491],[1.2641536,43.734092],[1.2638301,43.7453588],[1.2855285,43.7456548],[1.2852481,43.756935],[1.306925,43.757231],[1.3066446,43.7684779],[1.3283431,43.7687894],[1.3280842,43.780034],[1.4367275,43.7815757],[1.4373098,43.7591004],[1.4590083,43.7593653],[1.4593318,43.7481479],[1.4810303,43.7483972],[1.4813322,43.7371777],[1.5030307,43.7374115],[1.5035915,43.7149664],[1.5253115,43.7151846],[1.5256135,43.7040057],[1.5472688,43.7042552],[1.5475708,43.6930431],[1.5692045,43.6932926],[1.5695712,43.6820316],[1.5912049,43.6822656],[1.5917441,43.6597998],[1.613421,43.6600339],[1.613723,43.6488291],[1.6353783,43.6490788],[1.6384146,43.5140731],[1.2921649,43.5094658],[1.2918629,43.5206966],[1.2702076,43.5203994],[1.2698841,43.5316437],[1.2482288,43.531331],[1.2476048,43.5537788],[1.2259628,43.5534914],[1.2256819,43.564716],[1.2039835,43.564419],[1.2033148,43.5869049],[1.1816164,43.5865611],[1.1810237,43.6090368],[1.1592821,43.6086932],[1.1589585,43.6199523],[1.1372601,43.6196244],[1.1365933,43.642094],[1.1149055,43.6417629]]],"terms_url":"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData","terms_text":"ToulouseMetropole"},{"name":"Toulouse - Orthophotoplan 2013","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/toulouse_2013/{zoom}/{x}/{y}","scaleExtent":[0,22],"polygon":[[[1.1135067,43.6867566],[1.1351836,43.6870842],[1.1348907,43.6983471],[1.1782867,43.6990338],[1.1779903,43.7102786],[1.1996591,43.7106144],[1.1993387,43.7218722],[1.2427356,43.7225269],[1.2424336,43.7337491],[1.2641536,43.734092],[1.2638301,43.7453588],[1.2855285,43.7456548],[1.2852481,43.756935],[1.306925,43.757231],[1.3066446,43.7684779],[1.3283431,43.7687894],[1.3280842,43.780034],[1.4367275,43.7815757],[1.4373098,43.7591004],[1.4590083,43.7593653],[1.4593318,43.7481479],[1.4810303,43.7483972],[1.4813322,43.7371777],[1.5030307,43.7374115],[1.5035915,43.7149664],[1.5253115,43.7151846],[1.5256135,43.7040057],[1.5472688,43.7042552],[1.5475708,43.6930431],[1.5692045,43.6932926],[1.5695712,43.6820316],[1.5912049,43.6822656],[1.5917441,43.6597998],[1.613421,43.6600339],[1.613723,43.6488291],[1.6353783,43.6490788],[1.6384146,43.5140731],[1.2921649,43.5094658],[1.2918629,43.5206966],[1.2702076,43.5203994],[1.2698841,43.5316437],[1.2482288,43.531331],[1.2476048,43.5537788],[1.2259628,43.5534914],[1.2256819,43.564716],[1.2039835,43.564419],[1.2033148,43.5869049],[1.1816164,43.5865611],[1.1810237,43.6090368],[1.1592821,43.6086932],[1.1589585,43.6199523],[1.1372601,43.6196244],[1.1365933,43.642094],[1.1149055,43.6417629]]],"terms_url":"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData","terms_text":"ToulouseMetropole"},{"name":"Toulouse - Orthophotoplan 2015","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/toulouse_2015/{zoom}/{x}/{y}","scaleExtent":[0,22],"polygon":[[[1.1135067,43.6867566],[1.1351836,43.6870842],[1.1348907,43.6983471],[1.1782867,43.6990338],[1.1779903,43.7102786],[1.1996591,43.7106144],[1.1993387,43.7218722],[1.2427356,43.7225269],[1.2424336,43.7337491],[1.2641536,43.734092],[1.2638301,43.7453588],[1.2855285,43.7456548],[1.2852481,43.756935],[1.306925,43.757231],[1.3066446,43.7684779],[1.3283431,43.7687894],[1.3280842,43.780034],[1.4367275,43.7815757],[1.4373098,43.7591004],[1.4590083,43.7593653],[1.4593318,43.7481479],[1.4810303,43.7483972],[1.4813322,43.7371777],[1.5030307,43.7374115],[1.5035915,43.7149664],[1.5253115,43.7151846],[1.5256135,43.7040057],[1.5472688,43.7042552],[1.5475708,43.6930431],[1.5692045,43.6932926],[1.5695712,43.6820316],[1.5912049,43.6822656],[1.5917441,43.6597998],[1.613421,43.6600339],[1.613723,43.6488291],[1.6353783,43.6490788],[1.6384146,43.5140731],[1.2921649,43.5094658],[1.2918629,43.5206966],[1.2702076,43.5203994],[1.2698841,43.5316437],[1.2482288,43.531331],[1.2476048,43.5537788],[1.2259628,43.5534914],[1.2256819,43.564716],[1.2039835,43.564419],[1.2033148,43.5869049],[1.1816164,43.5865611],[1.1810237,43.6090368],[1.1592821,43.6086932],[1.1589585,43.6199523],[1.1372601,43.6196244],[1.1365933,43.642094],[1.1149055,43.6417629]]],"terms_url":"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData","terms_text":"ToulouseMetropole"},{"name":"Tours - Orthophotos 2008-2010","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/tours/{zoom}/{x}/{y}","scaleExtent":[0,20],"polygon":[[[0.5457462,47.465264],[0.54585,47.4608163],[0.5392188,47.4606983],[0.5393484,47.456243],[0.5327959,47.4561003],[0.5329011,47.451565],[0.52619,47.4514013],[0.5265854,47.4424884],[0.5000941,47.4420739],[0.5002357,47.4375835],[0.4936014,47.4374324],[0.4937,47.4329285],[0.4606141,47.4324593],[0.4607248,47.4279827],[0.4541016,47.4278125],[0.454932,47.4053921],[0.4615431,47.4054476],[0.4619097,47.3964924],[0.4684346,47.3966005],[0.4691319,47.3786415],[0.4757125,47.3787609],[0.4762116,47.3652018],[0.4828297,47.3653499],[0.4829611,47.3608321],[0.4763543,47.360743],[0.476654,47.3517263],[0.4700497,47.3516186],[0.4701971,47.3471313],[0.4637503,47.3470104],[0.4571425,47.3424146],[0.4572922,47.3379061],[0.4506741,47.3378081],[0.4508379,47.3333051],[0.4442212,47.3332032],[0.4443809,47.328711],[0.4311392,47.3284977],[0.4316262,47.3150004],[0.4382432,47.3151136],[0.4383815,47.3106174],[0.4714487,47.3111374],[0.4713096,47.3156565],[0.477888,47.3157542],[0.4780733,47.3112802],[0.4846826,47.3113639],[0.4848576,47.3068686],[0.4914359,47.3069803],[0.491745,47.2979733],[0.4851578,47.2978722],[0.4854269,47.2888744],[0.4788485,47.2887697],[0.4791574,47.2797818],[0.4857769,47.2799005],[0.4859107,47.2753885],[0.492539,47.2755029],[0.4926669,47.2710127],[0.4992986,47.2711066],[0.4994296,47.2666116],[0.5192658,47.2669245],[0.5194225,47.2624231],[0.5260186,47.2625205],[0.5258735,47.2670183],[0.5456972,47.2673383],[0.5455537,47.2718283],[0.5587737,47.2720366],[0.5586259,47.2765185],[0.5652252,47.2766278],[0.5650848,47.2811206],[0.5716753,47.2812285],[0.5715223,47.2857217],[0.5781436,47.2858299],[0.5779914,47.2903294],[0.5846023,47.2904263],[0.5843076,47.2994231],[0.597499,47.2996094],[0.5976637,47.2951375],[0.6571596,47.2960036],[0.6572988,47.2915091],[0.6705019,47.2917186],[0.6703475,47.2962082],[0.6836175,47.2963688],[0.6834322,47.3008929],[0.690062,47.3009558],[0.6899241,47.3054703],[0.7362019,47.3061157],[0.7360848,47.3106063],[0.7559022,47.3108935],[0.7557718,47.315392],[0.7623755,47.3154716],[0.7622314,47.3199941],[0.7754911,47.3201546],[0.77497,47.3388218],[0.7745786,47.351628],[0.7680363,47.3515901],[0.767589,47.3605298],[0.7742443,47.3606238],[0.7733465,47.3921266],[0.7667434,47.3920195],[0.7664411,47.4010837],[0.7730647,47.4011115],[0.7728868,47.4101297],[0.7661849,47.4100226],[0.7660267,47.4145044],[0.7527613,47.4143038],[0.7529788,47.4098086],[0.7462373,47.4097016],[0.7459424,47.4232208],[0.7392324,47.4231451],[0.738869,47.4366116],[0.7323267,47.4365171],[0.7321869,47.4410556],[0.7255048,47.44098],[0.7254209,47.4453479],[0.7318793,47.4454803],[0.7318514,47.4501126],[0.7384496,47.450226],[0.7383098,47.454631],[0.7449359,47.4547444],[0.7443209,47.4771985],[0.7310685,47.4769717],[0.7309008,47.4815445],[0.7176205,47.4812611],[0.7177883,47.4768394],[0.69777,47.4764993],[0.6980496,47.4719827],[0.6914514,47.4718882],[0.6917309,47.4630241],[0.6851048,47.4629295],[0.684937,47.4673524],[0.678255,47.4673335],[0.6779754,47.4762158],[0.6714051,47.4761592],[0.6710417,47.4881952],[0.6577334,47.4879685],[0.6578173,47.48504],[0.6511911,47.4848322],[0.6514707,47.4758568],[0.6448166,47.4757245],[0.6449284,47.4712646],[0.6117976,47.4707543],[0.6118815,47.4663129],[0.6052833,47.4661239],[0.6054231,47.4616631],[0.5988808,47.4615497],[0.5990206,47.4570886],[0.572488,47.4566916],[0.5721805,47.4656513]]],"terms_url":"http://wiki.openstreetmap.org/wiki/Tours/Orthophoto","terms_text":"Orthophoto Tour(s) Plus 2008"},{"name":"Tours - Orthophotos 2013","type":"tms","template":"http://wms.openstreetmap.fr/tms/1.0.0/tours_2013/{zoom}/{x}/{y}","scaleExtent":[0,22],"polygon":[[[0.427093505859375,47.26199018174824],[0.427093505859375,47.50096732311069],[0.814361572265625,47.50096732311069],[0.814361572265625,47.26199018174824],[0.427093505859375,47.26199018174824]]],"terms_url":"http://wiki.openstreetmap.org/wiki/Tours/Orthophoto","terms_text":"Orthophoto Tour(s)plus 2013"},{"name":"U.S. Forest Service roads","type":"tms","template":"http://osm.cycle.travel/forest/{zoom}/{x}/{y}.png","scaleExtent":[0,19],"polygon":[[[-124.7617886,48.4130148],[-124.6059492,45.90245],[-124.9934269,40.0557614],[-122.5369737,36.8566086],[-119.9775867,33.0064099],[-117.675935,32.4630223],[-114.8612307,32.4799891],[-111.0089311,31.336015],[-108.1992687,31.3260016],[-108.1871123,31.7755116],[-106.5307225,31.7820947],[-106.4842052,31.7464455],[-106.429317,31.7520583],[-106.2868855,31.5613291],[-106.205248,31.446704],[-105.0205259,30.5360988],[-104.5881916,29.6997856],[-103.2518856,28.8908685],[-102.7173632,29.3920567],[-102.1513983,29.7475702],[-101.2552871,29.4810523],[-100.0062436,28.0082173],[-99.2351068,26.4475962],[-98.0109067,25.9928035],[-97.435024,25.8266009],[-96.9555259,25.9821589],[-96.8061741,27.7978168],[-95.5563349,28.5876066],[-93.7405308,29.4742093],[-90.9028456,28.8564513],[-88.0156706,28.9944338],[-88.0162494,30.0038862],[-86.0277506,30.0047454],[-84.0187909,28.9961781],[-81.9971976,25.9826768],[-81.9966618,25.0134917],[-84.0165592,25.0125783],[-84.0160068,24.0052745],[-80.0199985,24.007096],[-79.8901116,26.8550713],[-80.0245309,32.0161282],[-75.4147385,35.0531894],[-74.0211163,39.5727927],[-72.002019,40.9912464],[-69.8797398,40.9920457],[-69.8489304,43.2619916],[-66.9452845,44.7104937],[-67.7596632,47.0990024],[-69.2505131,47.5122328],[-70.4614886,46.2176574],[-71.412273,45.254878],[-72.0222508,45.0059846],[-75.0798841,44.9802854],[-76.9023061,43.8024568],[-78.7623935,43.6249578],[-79.15798,43.4462589],[-79.0060087,42.8005317],[-82.662475,41.6889458],[-82.1761642,43.588535],[-83.2813977,46.138853],[-87.5064535,48.0142702],[-88.3492194,48.2963271],[-89.4353148,47.9837822],[-93.9981078,49.0067142],[-95.1105379,49.412004],[-96.0131199,49.0060547],[-123.3228926,49.0042878],[-123.2275233,48.1849927]],[[-160.5787616,22.5062947],[-160.5782192,21.4984647],[-158.7470604,21.2439843],[-157.5083185,20.995803],[-155.9961942,18.7790194],[-154.6217803,18.7586966],[-154.6890176,19.8805722],[-156.2927622,21.2225888],[-157.5047384,21.9984962],[-159.0093692,22.5070181]],[[-167.1571546,68.721974],[-164.8553982,67.0255078],[-168.002195,66.0017503],[-169.0087448,66.001546],[-169.0075381,64.9987675],[-172.5143281,63.8767267],[-173.8197023,59.74014],[-162.5018149,58.0005815],[-160.0159024,58.0012389],[-160.0149725,57.000035],[-160.5054788,56.9999017],[-165.8092575,54.824847],[-178.000097,52.2446469],[-177.9992996,51.2554252],[-171.4689067,51.8215329],[-162.40251,53.956664],[-159.0075717,55.002502],[-158.0190709,55.0027849],[-151.9963213,55.9991902],[-151.500341,57.9987853],[-151.5012894,58.9919816],[-138.5159989,58.9953194],[-138.5150471,57.9986434],[-133.9948193,54.0031685],[-130.0044418,54.0043387],[-130.0070826,57.0000507],[-131.975877,56.9995156],[-135.1229873,59.756601],[-138.0071813,59.991805],[-139.1715881,60.4127229],[-140.9874011,61.0118551],[-140.9683975,69.9535069],[-156.176891,71.5633329],[-160.413634,70.7397728],[-163.0218273,69.9707435],[-164.9717003,68.994689]]]},{"name":"Übersichtsplan Zürich","type":"tms","template":"http://mapproxy.sosm.ch:8080/tiles/zh_uebersichtsplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw","scaleExtent":[0,21],"polygon":[[[8.4482,47.321],[8.4482,47.4339],[8.6248,47.4339],[8.6248,47.321],[8.4482,47.321]]],"terms_text":"Stadt Zürich Open Government Data"},{"name":"USGS Large Scale Imagery","type":"tms","template":"http://{switch:a,b,c}.tile.openstreetmap.us/usgs_large_scale/{zoom}/{x}/{y}.jpg","scaleExtent":[12,20],"polygon":[[[-123.2549305,48.7529029],[-123.2549305,48.5592263],[-123.192224,48.5592263],[-123.192224,48.4348366],[-122.9419646,48.4348366],[-122.9419646,48.3720812],[-122.8806229,48.3720812],[-122.8806229,48.3094763],[-122.8167566,48.3094763],[-122.8167566,48.1904587],[-123.0041133,48.1904587],[-123.0041133,48.1275918],[-123.058416,48.1275918],[-123.058416,48.190514],[-123.254113,48.190514],[-123.254113,48.1274982],[-123.3706593,48.1274982],[-123.3706593,48.1908403],[-124.0582632,48.1908403],[-124.0582632,48.253442],[-124.1815163,48.253442],[-124.1815163,48.3164666],[-124.4319117,48.3164666],[-124.4319117,48.3782613],[-124.5564618,48.3782613],[-124.5564618,48.4408305],[-124.7555107,48.4408305],[-124.7555107,48.1914986],[-124.8185282,48.1914986],[-124.8185282,48.1228381],[-124.7552951,48.1228381],[-124.7552951,47.5535253],[-124.3812108,47.5535253],[-124.3812108,47.1218696],[-124.1928897,47.1218696],[-124.1928897,43.7569431],[-124.4443382,43.7569431],[-124.4443382,43.1425556],[-124.6398855,43.1425556],[-124.6398855,42.6194503],[-124.4438525,42.6194503],[-124.4438525,39.8080662],[-123.8815685,39.8080662],[-123.8815685,39.1102825],[-123.75805,39.1102825],[-123.75805,38.4968799],[-123.2702803,38.4968799],[-123.2702803,37.9331905],[-122.8148084,37.9331905],[-122.8148084,37.8019606],[-122.5664316,37.8019606],[-122.5664316,36.9319611],[-121.8784026,36.9319611],[-121.8784026,36.6897596],[-122.0034748,36.6897596],[-122.0034748,36.4341056],[-121.9414159,36.4341056],[-121.9414159,35.9297636],[-121.5040977,35.9297636],[-121.5040977,35.8100273],[-121.3790276,35.8100273],[-121.3790276,35.4239164],[-120.9426515,35.4239164],[-120.9426515,35.1849683],[-120.8171978,35.1849683],[-120.8171978,35.1219894],[-120.6918447,35.1219894],[-120.6918447,34.4966794],[-120.5045898,34.4966794],[-120.5045898,34.4339651],[-120.0078775,34.4339651],[-120.0078775,34.3682626],[-119.5283517,34.3682626],[-119.5283517,34.0576434],[-119.0060985,34.0576434],[-119.0060985,33.9975267],[-118.5046259,33.9975267],[-118.5046259,33.8694631],[-118.4413209,33.8694631],[-118.4413209,33.6865253],[-118.066912,33.6865253],[-118.066912,33.3063832],[-117.5030045,33.3063832],[-117.5030045,33.0500337],[-117.3188195,33.0500337],[-117.3188195,32.6205888],[-117.1917023,32.6205888],[-117.1917023,32.4974566],[-116.746496,32.4974566],[-116.746496,32.5609161],[-115.9970138,32.5609161],[-115.9970138,32.6264942],[-114.8808125,32.6264942],[-114.8808125,32.4340796],[-114.6294474,32.4340796],[-114.6294474,32.3731636],[-114.4447437,32.3731636],[-114.4447437,32.3075418],[-114.2557628,32.3075418],[-114.2557628,32.2444561],[-114.0680274,32.2444561],[-114.0680274,32.1829113],[-113.8166499,32.1829113],[-113.8166499,32.1207622],[-113.6307421,32.1207622],[-113.6307421,32.0565099],[-113.4417495,32.0565099],[-113.4417495,31.9984372],[-113.2546027,31.9984372],[-113.2546027,31.9325434],[-113.068072,31.9325434],[-113.068072,31.8718062],[-112.8161105,31.8718062],[-112.8161105,31.8104171],[-112.6308756,31.8104171],[-112.6308756,31.7464723],[-112.4418918,31.7464723],[-112.4418918,31.6856001],[-112.257192,31.6856001],[-112.257192,31.6210352],[-112.0033787,31.6210352],[-112.0033787,31.559584],[-111.815619,31.559584],[-111.815619,31.4970238],[-111.6278586,31.4970238],[-111.6278586,31.4339867],[-111.4418978,31.4339867],[-111.4418978,31.3733859],[-111.2559708,31.3733859],[-111.2559708,31.3113225],[-108.1845822,31.3113225],[-108.1845822,31.7459502],[-106.5065055,31.7459502],[-106.5065055,31.6842308],[-106.3797265,31.6842308],[-106.3797265,31.621752],[-106.317434,31.621752],[-106.317434,31.4968167],[-106.2551769,31.4968167],[-106.2551769,31.4344889],[-106.1924698,31.4344889],[-106.1924698,31.3721296],[-106.0039212,31.3721296],[-106.0039212,31.309328],[-105.9416582,31.309328],[-105.9416582,31.2457547],[-105.8798174,31.2457547],[-105.8798174,31.1836194],[-105.8162349,31.1836194],[-105.8162349,31.1207155],[-105.6921198,31.1207155],[-105.6921198,31.0584835],[-105.6302881,31.0584835],[-105.6302881,30.9328271],[-105.5044418,30.9328271],[-105.5044418,30.8715864],[-105.4412973,30.8715864],[-105.4412973,30.808463],[-105.3781497,30.808463],[-105.3781497,30.7471828],[-105.1904658,30.7471828],[-105.1904658,30.6843231],[-105.1286244,30.6843231],[-105.1286244,30.6199737],[-105.0036504,30.6199737],[-105.0036504,30.5589058],[-104.9417962,30.5589058],[-104.9417962,30.4963236],[-104.8782018,30.4963236],[-104.8782018,30.3098261],[-104.8155257,30.3098261],[-104.8155257,30.2478305],[-104.7536079,30.2478305],[-104.7536079,29.9353916],[-104.690949,29.9353916],[-104.690949,29.8090156],[-104.6291301,29.8090156],[-104.6291301,29.6843577],[-104.5659869,29.6843577],[-104.5659869,29.6223459],[-104.5037188,29.6223459],[-104.5037188,29.5595436],[-104.4410072,29.5595436],[-104.4410072,29.4974832],[-104.2537551,29.4974832],[-104.2537551,29.3716718],[-104.1291984,29.3716718],[-104.1291984,29.3091621],[-104.0688737,29.3091621],[-104.0688737,29.2467276],[-103.8187309,29.2467276],[-103.8187309,29.1843076],[-103.755736,29.1843076],[-103.755736,29.1223174],[-103.5667542,29.1223174],[-103.5667542,29.0598119],[-103.5049819,29.0598119],[-103.5049819,28.9967506],[-103.3165753,28.9967506],[-103.3165753,28.9346923],[-103.0597572,28.9346923],[-103.0597572,29.0592965],[-102.9979694,29.0592965],[-102.9979694,29.1212855],[-102.9331397,29.1212855],[-102.9331397,29.1848575],[-102.8095989,29.1848575],[-102.8095989,29.2526154],[-102.8701345,29.2526154],[-102.8701345,29.308096],[-102.8096681,29.308096],[-102.8096681,29.3715484],[-102.7475655,29.3715484],[-102.7475655,29.5581899],[-102.684554,29.5581899],[-102.684554,29.6847655],[-102.4967764,29.6847655],[-102.4967764,29.7457694],[-102.3086647,29.7457694],[-102.3086647,29.8086627],[-102.1909323,29.8086627],[-102.1909323,29.7460097],[-101.5049914,29.7460097],[-101.5049914,29.6846777],[-101.3805796,29.6846777],[-101.3805796,29.5594459],[-101.3175057,29.5594459],[-101.3175057,29.4958934],[-101.1910075,29.4958934],[-101.1910075,29.4326115],[-101.067501,29.4326115],[-101.067501,29.308808],[-100.9418897,29.308808],[-100.9418897,29.2456231],[-100.8167271,29.2456231],[-100.8167271,29.1190449],[-100.7522672,29.1190449],[-100.7522672,29.0578214],[-100.6925358,29.0578214],[-100.6925358,28.8720431],[-100.6290158,28.8720431],[-100.6290158,28.8095363],[-100.5679901,28.8095363],[-100.5679901,28.622554],[-100.5040411,28.622554],[-100.5040411,28.5583804],[-100.4421832,28.5583804],[-100.4421832,28.4968266],[-100.379434,28.4968266],[-100.379434,28.3092865],[-100.3171942,28.3092865],[-100.3171942,28.1835681],[-100.254483,28.1835681],[-100.254483,28.1213885],[-100.1282282,28.1213885],[-100.1282282,28.059215],[-100.0659537,28.059215],[-100.0659537,27.9966087],[-100.0023855,27.9966087],[-100.0023855,27.9332152],[-99.9426497,27.9332152],[-99.9426497,27.7454658],[-99.816851,27.7454658],[-99.816851,27.6834301],[-99.7541346,27.6834301],[-99.7541346,27.6221543],[-99.6291629,27.6221543],[-99.6291629,27.5588977],[-99.5672838,27.5588977],[-99.5672838,27.4353752],[-99.5041798,27.4353752],[-99.5041798,27.3774021],[-99.5671796,27.3774021],[-99.5671796,27.2463726],[-99.504975,27.2463726],[-99.504975,26.9965649],[-99.4427427,26.9965649],[-99.4427427,26.872803],[-99.3800633,26.872803],[-99.3800633,26.8068179],[-99.3190684,26.8068179],[-99.3190684,26.7473614],[-99.2537541,26.7473614],[-99.2537541,26.6210068],[-99.1910617,26.6210068],[-99.1910617,26.4956737],[-99.1300639,26.4956737],[-99.1300639,26.3713808],[-99.0029473,26.3713808],[-99.0029473,26.3093836],[-98.816572,26.3093836],[-98.816572,26.2457762],[-98.6920082,26.2457762],[-98.6920082,26.1837096],[-98.4440896,26.1837096],[-98.4440896,26.1217217],[-98.3823181,26.1217217],[-98.3823181,26.0596488],[-98.2532707,26.0596488],[-98.2532707,25.9986871],[-98.0109084,25.9986871],[-98.0109084,25.9932255],[-97.6932319,25.9932255],[-97.6932319,25.9334103],[-97.6313904,25.9334103],[-97.6313904,25.8695893],[-97.5046779,25.8695893],[-97.5046779,25.8073488],[-97.3083401,25.8073488],[-97.3083401,25.8731159],[-97.2456326,25.8731159],[-97.2456326,25.9353731],[-97.1138939,25.9353731],[-97.1138939,27.6809179],[-97.0571035,27.6809179],[-97.0571035,27.8108242],[-95.5810766,27.8108242],[-95.5810766,28.7468827],[-94.271041,28.7468827],[-94.271041,29.5594076],[-92.5029947,29.5594076],[-92.5029947,29.4974754],[-91.8776216,29.4974754],[-91.8776216,29.3727013],[-91.378418,29.3727013],[-91.378418,29.2468326],[-91.3153953,29.2468326],[-91.3153953,29.1844301],[-91.1294702,29.1844301],[-91.1294702,29.1232559],[-91.0052632,29.1232559],[-91.0052632,28.9968437],[-89.4500159,28.9968437],[-89.4500159,28.8677422],[-88.8104309,28.8677422],[-88.8104309,30.1841864],[-85.8791527,30.1841864],[-85.8791527,29.5455038],[-84.8368083,29.5455038],[-84.8368083,29.6225158],[-84.7482786,29.6225158],[-84.7482786,29.683624],[-84.685894,29.683624],[-84.685894,29.7468386],[-83.6296975,29.7468386],[-83.6296975,29.4324361],[-83.3174937,29.4324361],[-83.3174937,29.0579442],[-82.879659,29.0579442],[-82.879659,27.7453529],[-82.8182822,27.7453529],[-82.8182822,26.9290868],[-82.3796782,26.9290868],[-82.3796782,26.3694183],[-81.8777106,26.3694183],[-81.8777106,25.805971],[-81.5036862,25.805971],[-81.5036862,25.7474753],[-81.4405462,25.7474753],[-81.4405462,25.6851489],[-81.3155883,25.6851489],[-81.3155883,25.5600985],[-81.2538534,25.5600985],[-81.2538534,25.4342361],[-81.1902012,25.4342361],[-81.1902012,25.1234341],[-81.1288133,25.1234341],[-81.1288133,25.0619389],[-81.0649231,25.0619389],[-81.0649231,24.8157807],[-81.6289469,24.8157807],[-81.6289469,24.7538367],[-81.6907173,24.7538367],[-81.6907173,24.6899374],[-81.8173189,24.6899374],[-81.8173189,24.6279161],[-82.1910041,24.6279161],[-82.1910041,24.496294],[-81.6216596,24.496294],[-81.6216596,24.559484],[-81.372006,24.559484],[-81.372006,24.6220687],[-81.0593278,24.6220687],[-81.0593278,24.684826],[-80.9347147,24.684826],[-80.9347147,24.7474828],[-80.7471081,24.7474828],[-80.7471081,24.8100618],[-80.3629898,24.8100618],[-80.3629898,25.1175858],[-80.122344,25.1175858],[-80.122344,25.7472357],[-80.0588458,25.7472357],[-80.0588458,26.3708251],[-79.995837,26.3708251],[-79.995837,26.9398003],[-80.0587265,26.9398003],[-80.0587265,27.1277466],[-80.1226251,27.1277466],[-80.1226251,27.2534279],[-80.1846956,27.2534279],[-80.1846956,27.3781229],[-80.246175,27.3781229],[-80.246175,27.5658729],[-80.3094768,27.5658729],[-80.3094768,27.7530311],[-80.3721485,27.7530311],[-80.3721485,27.8774451],[-80.4351457,27.8774451],[-80.4351457,28.0033366],[-80.4966078,28.0033366],[-80.4966078,28.1277326],[-80.5587159,28.1277326],[-80.5587159,28.3723509],[-80.4966335,28.3723509],[-80.4966335,29.5160326],[-81.1213644,29.5160326],[-81.1213644,31.6846966],[-80.6018723,31.6846966],[-80.6018723,32.2475309],[-79.4921024,32.2475309],[-79.4921024,32.9970261],[-79.1116488,32.9970261],[-79.1116488,33.3729457],[-78.6153621,33.3729457],[-78.6153621,33.8097638],[-77.9316963,33.8097638],[-77.9316963,33.8718243],[-77.8692252,33.8718243],[-77.8692252,34.0552454],[-77.6826392,34.0552454],[-77.6826392,34.2974598],[-77.2453509,34.2974598],[-77.2453509,34.5598585],[-76.4973277,34.5598585],[-76.4973277,34.622796],[-76.4337602,34.622796],[-76.4337602,34.6849285],[-76.373212,34.6849285],[-76.373212,34.7467674],[-76.3059364,34.7467674],[-76.3059364,34.808551],[-76.2468017,34.808551],[-76.2468017,34.8728418],[-76.1825922,34.8728418],[-76.1825922,34.9335332],[-76.120814,34.9335332],[-76.120814,34.9952359],[-75.9979015,34.9952359],[-75.9979015,35.0578182],[-75.870338,35.0578182],[-75.870338,35.1219097],[-75.7462194,35.1219097],[-75.7462194,35.1818911],[-75.4929694,35.1818911],[-75.4929694,35.3082988],[-75.4325662,35.3082988],[-75.4325662,35.7542495],[-75.4969907,35.7542495],[-75.4969907,37.8105602],[-75.3082972,37.8105602],[-75.3082972,37.8720088],[-75.245601,37.8720088],[-75.245601,37.9954849],[-75.1828751,37.9954849],[-75.1828751,38.0585079],[-75.1184793,38.0585079],[-75.1184793,38.2469091],[-75.0592098,38.2469091],[-75.0592098,38.3704316],[-74.9948111,38.3704316],[-74.9948111,38.8718417],[-74.4878252,38.8718417],[-74.4878252,39.3089428],[-74.1766317,39.3089428],[-74.1766317,39.6224653],[-74.0567045,39.6224653],[-74.0567045,39.933178],[-73.9959035,39.933178],[-73.9959035,40.1854852],[-73.9341593,40.1854852],[-73.9341593,40.4959486],[-73.8723024,40.4959486],[-73.8723024,40.5527135],[-71.8074506,40.5527135],[-71.8074506,41.3088005],[-70.882512,41.3088005],[-70.882512,41.184978],[-70.7461947,41.184978],[-70.7461947,41.3091865],[-70.4337553,41.3091865],[-70.4337553,41.4963885],[-69.9334281,41.4963885],[-69.9334281,41.6230802],[-69.869857,41.6230802],[-69.869857,41.8776895],[-69.935791,41.8776895],[-69.935791,42.0032342],[-69.9975823,42.0032342],[-69.9975823,42.0650191],[-70.0606103,42.0650191],[-70.0606103,42.1294348],[-70.5572884,42.1294348],[-70.5572884,43.2487079],[-70.4974097,43.2487079],[-70.4974097,43.3092194],[-70.3704249,43.3092194],[-70.3704249,43.371963],[-70.3085701,43.371963],[-70.3085701,43.4969879],[-70.183921,43.4969879],[-70.183921,43.6223531],[-70.057583,43.6223531],[-70.057583,43.6850173],[-69.7455247,43.6850173],[-69.7455247,43.7476571],[-69.2472845,43.7476571],[-69.2472845,43.8107035],[-69.0560701,43.8107035],[-69.0560701,43.8717247],[-68.9950522,43.8717247],[-68.9950522,43.9982022],[-68.4963672,43.9982022],[-68.4963672,44.0597368],[-68.3081038,44.0597368],[-68.3081038,44.122137],[-68.1851802,44.122137],[-68.1851802,44.3081382],[-67.9956019,44.3081382],[-67.9956019,44.3727489],[-67.8103041,44.3727489],[-67.8103041,44.435178],[-67.4965289,44.435178],[-67.4965289,44.4968776],[-67.37102,44.4968776],[-67.37102,44.5600642],[-67.1848753,44.5600642],[-67.1848753,44.6213345],[-67.1221208,44.6213345],[-67.1221208,44.6867918],[-67.059365,44.6867918],[-67.059365,44.7473657],[-66.9311098,44.7473657],[-66.9311098,44.9406566],[-66.994683,44.9406566],[-66.994683,45.0024514],[-67.0595847,45.0024514],[-67.0595847,45.1273377],[-67.1201974,45.1273377],[-67.1201974,45.1910115],[-67.2469811,45.1910115],[-67.2469811,45.253442],[-67.3177546,45.253442],[-67.3177546,45.1898369],[-67.370749,45.1898369],[-67.370749,45.2534001],[-67.4326888,45.2534001],[-67.4326888,45.3083409],[-67.3708571,45.3083409],[-67.3708571,45.4396986],[-67.4305573,45.4396986],[-67.4305573,45.4950095],[-67.37099,45.4950095],[-67.37099,45.6264543],[-67.6214982,45.6264543],[-67.6214982,45.6896133],[-67.683828,45.6896133],[-67.683828,45.753259],[-67.7462097,45.753259],[-67.7462097,47.1268165],[-67.8700141,47.1268165],[-67.8700141,47.1900278],[-67.9323803,47.1900278],[-67.9323803,47.2539678],[-67.9959387,47.2539678],[-67.9959387,47.3149737],[-68.1206676,47.3149737],[-68.1206676,47.3780823],[-68.4423175,47.3780823],[-68.4423175,47.3166082],[-68.6314305,47.3166082],[-68.6314305,47.2544676],[-68.9978037,47.2544676],[-68.9978037,47.439895],[-69.0607223,47.439895],[-69.0607223,47.5047558],[-69.2538122,47.5047558],[-69.2538122,47.4398084],[-69.3179284,47.4398084],[-69.3179284,47.378601],[-69.4438546,47.378601],[-69.4438546,47.3156274],[-69.5038204,47.3156274],[-69.5038204,47.2525839],[-69.5667838,47.2525839],[-69.5667838,47.1910884],[-69.6303478,47.1910884],[-69.6303478,47.128701],[-69.6933103,47.128701],[-69.6933103,47.0654307],[-69.7557063,47.0654307],[-69.7557063,47.0042751],[-69.8180391,47.0042751],[-69.8180391,46.9415344],[-69.8804023,46.9415344],[-69.8804023,46.8792519],[-69.9421674,46.8792519],[-69.9421674,46.8177399],[-70.0063088,46.8177399],[-70.0063088,46.6920295],[-70.0704265,46.6920295],[-70.0704265,46.4425926],[-70.1945902,46.4425926],[-70.1945902,46.3785887],[-70.2562047,46.3785887],[-70.2562047,46.3152628],[-70.3203651,46.3152628],[-70.3203651,46.0651209],[-70.3814988,46.0651209],[-70.3814988,45.93552],[-70.3201618,45.93552],[-70.3201618,45.879479],[-70.4493131,45.879479],[-70.4493131,45.7538713],[-70.5070021,45.7538713],[-70.5070021,45.6916912],[-70.6316642,45.6916912],[-70.6316642,45.6291619],[-70.7575538,45.6291619],[-70.7575538,45.4414685],[-70.8809878,45.4414685],[-70.8809878,45.3780612],[-71.13328,45.3780612],[-71.13328,45.3151452],[-71.3830282,45.3151452],[-71.3830282,45.253416],[-71.5076448,45.253416],[-71.5076448,45.0655726],[-73.9418929,45.0655726],[-73.9418929,45.0031242],[-74.7469725,45.0031242],[-74.7469725,45.0649003],[-74.8800964,45.0649003],[-74.8800964,45.0029023],[-75.0662455,45.0029023],[-75.0662455,44.9415167],[-75.2539363,44.9415167],[-75.2539363,44.8776043],[-75.3789648,44.8776043],[-75.3789648,44.8153462],[-75.4431283,44.8153462],[-75.4431283,44.7536053],[-75.5666566,44.7536053],[-75.5666566,44.6909879],[-75.6290205,44.6909879],[-75.6290205,44.6284958],[-75.7540484,44.6284958],[-75.7540484,44.566385],[-75.817312,44.566385],[-75.817312,44.5028932],[-75.8799549,44.5028932],[-75.8799549,44.3784946],[-76.1300319,44.3784946],[-76.1300319,44.3159227],[-76.1926961,44.3159227],[-76.1926961,44.2534378],[-76.3182619,44.2534378],[-76.3182619,44.1916726],[-76.3792975,44.1916726],[-76.3792975,44.0653733],[-76.4427584,44.0653733],[-76.4427584,43.9963825],[-76.317027,43.9963825],[-76.317027,43.9414581],[-76.5076611,43.9414581],[-76.5076611,43.8723335],[-76.3829974,43.8723335],[-76.3829974,43.8091872],[-76.2534102,43.8091872],[-76.2534102,43.5665222],[-76.5064833,43.5665222],[-76.5064833,43.5033881],[-76.6331208,43.5033881],[-76.6331208,43.4432252],[-76.6951085,43.4432252],[-76.6951085,43.3786858],[-76.8177798,43.3786858],[-76.8177798,43.318066],[-77.682,43.318066],[-77.682,43.3789376],[-78.0565883,43.3789376],[-78.0565883,43.4396918],[-78.4389748,43.4396918],[-78.4389748,43.3794382],[-78.8803396,43.3794382],[-78.8803396,43.3149724],[-79.1298858,43.3149724],[-79.1298858,43.2429286],[-79.0669615,43.2429286],[-79.0669615,43.1299931],[-79.1298858,43.1299931],[-79.1298858,43.0577305],[-79.071264,43.0577305],[-79.071264,42.9294906],[-78.943264,42.9294906],[-78.943264,42.7542165],[-79.069439,42.7542165],[-79.069439,42.6941622],[-79.133439,42.6941622],[-79.133439,42.6296973],[-79.1947499,42.6296973],[-79.1947499,42.5663538],[-79.3786827,42.5663538],[-79.3786827,42.5033425],[-79.4442961,42.5033425],[-79.4442961,42.4410614],[-79.5679936,42.4410614],[-79.5679936,42.3775264],[-79.6906154,42.3775264],[-79.6906154,42.3171086],[-79.8164642,42.3171086],[-79.8164642,42.2534481],[-80.0052373,42.2534481],[-80.0052373,42.1909188],[-80.1916829,42.1909188],[-80.1916829,42.1272555],[-80.3167992,42.1272555],[-80.3167992,42.0669857],[-80.5063234,42.0669857],[-80.5063234,42.0034331],[-80.6930471,42.0034331],[-80.6930471,41.9415141],[-80.9440403,41.9415141],[-80.9440403,41.8781193],[-81.1942729,41.8781193],[-81.1942729,41.8166455],[-81.3190089,41.8166455],[-81.3190089,41.7545453],[-81.4418435,41.7545453],[-81.4418435,41.690965],[-81.5053523,41.690965],[-81.5053523,41.6301643],[-82.7470081,41.6301643],[-82.7470081,41.7536942],[-82.8839135,41.7536942],[-82.8839135,41.5656075],[-82.9957195,41.5656075],[-82.9957195,41.6270375],[-83.1257796,41.6270375],[-83.1257796,41.6878411],[-83.2474733,41.6878411],[-83.2474733,41.7536942],[-83.3737305,41.7536942],[-83.3737305,41.809276],[-83.3106019,41.809276],[-83.3106019,41.8716064],[-83.2474733,41.8716064],[-83.2474733,41.9361393],[-83.1843447,41.9361393],[-83.1843447,41.9960851],[-83.1207681,41.9960851],[-83.1207681,42.2464812],[-83.0589194,42.2464812],[-83.0589194,42.3089555],[-82.8685328,42.3089555],[-82.8685328,42.3717652],[-82.8072219,42.3717652],[-82.8072219,42.558553],[-82.7553745,42.558553],[-82.7553745,42.4954945],[-82.5599041,42.4954945],[-82.5599041,42.558553],[-82.4967755,42.558553],[-82.4967755,42.6833607],[-82.4328863,42.6833607],[-82.4328863,42.9342196],[-82.3700552,42.9342196],[-82.3700552,43.0648071],[-82.4328863,43.0648071],[-82.4328863,43.1917566],[-82.4947464,43.1917566],[-82.4947464,43.5034627],[-82.557133,43.5034627],[-82.557133,43.8160901],[-82.6197884,43.8160901],[-82.6197884,43.9422098],[-82.6839499,43.9422098],[-82.6839499,44.0022641],[-82.7465346,44.0022641],[-82.7465346,44.0670545],[-82.8708696,44.0670545],[-82.8708696,44.1291935],[-83.008517,44.1291935],[-83.008517,44.0664786],[-83.1336086,44.0664786],[-83.1336086,44.0053949],[-83.2414522,44.0053949],[-83.2414522,44.9962034],[-83.1806112,44.9962034],[-83.1806112,45.067302],[-83.2455172,45.067302],[-83.2455172,45.1287382],[-83.3065878,45.1287382],[-83.3065878,45.2551509],[-83.3706087,45.2551509],[-83.3706087,45.3165923],[-83.4325644,45.3165923],[-83.4325644,45.3792105],[-83.6178415,45.3792105],[-83.6178415,45.4419665],[-83.8084291,45.4419665],[-83.8084291,45.5036189],[-84.0550718,45.5036189],[-84.0550718,45.5647907],[-84.1235181,45.5647907],[-84.1235181,45.6287845],[-84.1807534,45.6287845],[-84.1807534,45.6914688],[-84.3111554,45.6914688],[-84.3111554,45.9337076],[-83.8209974,45.9337076],[-83.8209974,45.8725113],[-83.4968086,45.8725113],[-83.4968086,45.9337076],[-83.4338066,45.9337076],[-83.4338066,46.0016863],[-83.4962697,46.0016863],[-83.4962697,46.0668178],[-83.5599956,46.0668178],[-83.5599956,46.1261576],[-83.9954558,46.1261576],[-83.9954558,46.1931747],[-84.0591816,46.1931747],[-84.0591816,46.3814972],[-84.1152614,46.3814972],[-84.1152614,46.4953584],[-84.0591816,46.4953584],[-84.0591816,46.5682653],[-84.2579545,46.5682653],[-84.2579545,46.5051232],[-84.3071879,46.5051232],[-84.3071879,46.5682653],[-84.4415364,46.5682653],[-84.4415364,46.504525],[-84.9965729,46.504525],[-84.9965729,46.6842882],[-84.9298158,46.6842882],[-84.9298158,46.818077],[-85.3165894,46.818077],[-85.3165894,46.7535825],[-87.5562645,46.7535825],[-87.5562645,47.4407371],[-87.6825361,47.4407371],[-87.6825361,47.5035554],[-88.2560738,47.5035554],[-88.2560738,47.4433716],[-88.4417419,47.4433716],[-88.4417419,47.3789949],[-88.50683,47.3789949],[-88.50683,47.3153881],[-88.6312821,47.3153881],[-88.6312821,47.2539782],[-88.7569636,47.2539782],[-88.7569636,47.1934682],[-88.8838253,47.1934682],[-88.8838253,47.1284735],[-88.9434208,47.1284735],[-88.9434208,47.0662127],[-89.0708726,47.0662127],[-89.0708726,47.0026826],[-89.2565553,47.0026826],[-89.2565553,46.9410806],[-90.3677669,46.9410806],[-90.3677669,47.6844827],[-90.3069978,47.6844827],[-90.3069978,47.7460174],[-89.994859,47.7460174],[-89.994859,47.8082719],[-89.8048615,47.8082719],[-89.8048615,47.8700562],[-89.6797699,47.8700562],[-89.6797699,47.9339637],[-89.4933757,47.9339637],[-89.4933757,47.9957956],[-89.4284697,47.9957956],[-89.4284697,48.0656377],[-89.9932739,48.0656377],[-89.9932739,48.1282966],[-90.7455933,48.1282966],[-90.7455933,48.1893056],[-90.8087291,48.1893056],[-90.8087291,48.2522065],[-91.067763,48.2522065],[-91.067763,48.1916658],[-91.1946247,48.1916658],[-91.1946247,48.1279027],[-91.6814196,48.1279027],[-91.6814196,48.2525994],[-91.9321927,48.2525994],[-91.9321927,48.3142454],[-91.9929683,48.3142454],[-91.9929683,48.3780845],[-92.3189383,48.3780845],[-92.3189383,48.2529081],[-92.3732233,48.2529081],[-92.3732233,48.3153385],[-92.4322288,48.3153385],[-92.4322288,48.4411448],[-92.4977248,48.4411448],[-92.4977248,48.501781],[-92.5679413,48.501781],[-92.5679413,48.439579],[-92.6210462,48.439579],[-92.6210462,48.5650783],[-92.8086835,48.5650783],[-92.8086835,48.6286865],[-92.8086835,48.6267365],[-92.933185,48.6267365],[-92.933185,48.6922145],[-93.0051716,48.6922145],[-93.0051716,48.6282965],[-93.1225924,48.6282965],[-93.1225924,48.6922145],[-93.3190806,48.6922145],[-93.3190806,48.6267365],[-93.5049477,48.6267365],[-93.5049477,48.5635164],[-93.7474601,48.5635164],[-93.7474601,48.6267365],[-93.8135461,48.6267365],[-93.8135461,48.6898775],[-94.2453121,48.6898775],[-94.2453121,48.7554327],[-94.6183171,48.7554327],[-94.6183171,48.941036],[-94.6809018,48.941036],[-94.6809018,49.0029737],[-94.7441532,49.0029737],[-94.7441532,49.2536079],[-94.8084069,49.2536079],[-94.8084069,49.3784134],[-95.1192391,49.3784134],[-95.1192391,49.4425264],[-95.1934341,49.4425264],[-95.1934341,49.0035292],[-96.87069,49.0035292],[-96.87069,49.0656063],[-99.0049312,49.0656063],[-99.0049312,49.0050714],[-109.3699257,49.0050714],[-109.3699257,49.0668231],[-109.5058746,49.0668231],[-109.5058746,49.0050714],[-114.1830014,49.0050714],[-114.1830014,49.0687317],[-114.7578709,49.0687317],[-114.7578709,49.0050714],[-115.433731,49.0050714],[-115.433731,49.0671412],[-116.5062706,49.0671412],[-116.5062706,49.0050714],[-117.3089504,49.0050714],[-117.3089504,49.0659803],[-119.882945,49.0659803],[-119.882945,49.0050714],[-120.1208555,49.0050714],[-120.1208555,49.0678367],[-121.4451636,49.0678367],[-121.4451636,49.0050714],[-121.9311808,49.0050714],[-121.9311808,49.0656099],[-122.817484,49.0656099],[-122.817484,49.0029143],[-122.8795155,49.0029143],[-122.8795155,48.9347018],[-122.8174629,48.9347018],[-122.8174629,48.8101998],[-122.7538859,48.8101998],[-122.7538859,48.7533758],[-122.8712937,48.7533758],[-122.8712937,48.8153948],[-123.0055391,48.8153948],[-123.0055391,48.7529529],[-123.1296926,48.7529529],[-123.1296926,48.6902201],[-123.1838197,48.6902201],[-123.1838197,48.7529029]],[[-122.9341743,37.7521547],[-122.9347457,37.6842013],[-123.0679013,37.6849023],[-123.0673747,37.7475251],[-123.1292603,37.7478506],[-123.1286894,37.815685],[-123.0590687,37.8153192],[-123.0595947,37.7528143]],[[-71.6299464,41.2540893],[-71.4966465,41.2541393],[-71.4965596,41.122965],[-71.6298594,41.1229149]],[[-70.3184265,41.3775196],[-70.3183384,41.2448243],[-70.1906612,41.2448722],[-70.1906239,41.1886019],[-69.9336025,41.1886984],[-69.933729,41.3791941],[-69.9950664,41.3791712],[-69.995109,41.443159],[-70.0707828,41.4431307],[-70.0706972,41.3144915],[-70.2461667,41.3144258],[-70.2462087,41.3775467]],[[-68.9403374,43.9404062],[-68.6856948,43.9404977],[-68.6856475,43.8721797],[-68.7465405,43.8721577],[-68.7464976,43.8102529],[-68.8090782,43.8102304],[-68.8090343,43.746728],[-68.8773094,43.7467034],[-68.8773544,43.8117826],[-68.9402483,43.8117599]],[[-123.1291466,49.0645144],[-122.9954224,49.0645144],[-122.9954224,48.9343243],[-123.1291466,48.9343243]],[[-82.9407144,24.7535913],[-82.8719398,24.7535913],[-82.8719398,24.6905653],[-82.7446233,24.6905653],[-82.7446233,24.6214593],[-82.8088038,24.6214593],[-82.8088038,24.5594908],[-82.9407144,24.5594908]]]},{"name":"USGS Topographic Maps","type":"tms","template":"http://{switch:a,b,c}.tile.openstreetmap.us/usgs_scanned_topos/{zoom}/{x}/{y}.png","polygon":[[[-125.990173,48.9962416],[-125.989419,47.9948396],[-123.9929739,47.9955062],[-123.9922429,47.0059202],[-125.988688,47.0052409],[-125.9879604,46.0015618],[-123.9939396,46.0022529],[-123.9925238,43.9961708],[-124.9931832,43.9958116],[-124.9918175,41.9942149],[-125.9851789,41.9938465],[-125.9838655,40.0076111],[-123.9833285,40.0083757],[-123.9814115,37.002615],[-122.21903,37.0033173],[-122.2184144,36.011671],[-122.020087,36.011751],[-122.0188591,33.9961766],[-119.9787757,33.9970206],[-119.9775867,31.9987658],[-114.0122833,32.00129],[-114.0116894,30.9862401],[-105.998294,30.9896679],[-105.9971419,28.9901065],[-102.0210506,28.9918418],[-102.0204916,28.00733],[-100.0062436,28.0082173],[-100.0051143,25.991909],[-98.0109067,25.9928035],[-98.0103613,25.0063461],[-97.0161086,25.0067957],[-97.016654,25.9932494],[-95.9824825,25.9937132],[-95.9835999,27.9891175],[-94.0200898,27.9899826],[-94.0206586,28.9918129],[-88.0156706,28.9944338],[-88.0162494,30.0038862],[-86.0277506,30.0047454],[-86.0271719,28.9953016],[-84.0187909,28.9961781],[-84.017095,25.9817708],[-81.9971976,25.9826768],[-81.9966618,25.0134917],[-84.0165592,25.0125783],[-84.0160068,24.0052745],[-80.0199985,24.007096],[-80.0245309,32.0161282],[-78.0066484,32.0169819],[-78.0072238,32.9894278],[-77.8807233,32.9894807],[-77.8813253,33.9955918],[-76.0115411,33.9963653],[-76.0121459,34.9952552],[-74.0068449,34.9960749],[-74.0099997,40.0084254],[-72.0013745,40.0091931],[-72.002019,40.9912464],[-69.8797398,40.9920457],[-69.8804173,42.00893],[-69.9927682,42.0088883],[-69.9934462,43.0105166],[-67.9845366,43.0112496],[-67.985224,44.0103812],[-65.9892568,44.0110975],[-65.9921237,47.9993584],[-70.006442,47.9980181],[-70.005708,47.0042007],[-72.023686,47.003514],[-72.0222508,45.0059846],[-78.0146667,45.0038705],[-78.0139662,44.0026998],[-80.029686,44.0019763],[-80.0290052,43.0122994],[-81.995479,43.011582],[-81.9982986,47.0042713],[-87.505706,47.0023972],[-87.5064535,48.0142702],[-88.0260889,48.0140968],[-88.026838,49.0086686],[-93.9981078,49.0067142],[-93.9988778,50.0086456],[-96.0138899,50.0079995],[-96.0131199,49.0060547]],[[-160.5787616,22.5062947],[-160.5782192,21.4984647],[-159.0030121,21.499196],[-159.0027422,20.9951068],[-157.5083185,20.995803],[-157.5080519,20.4960241],[-155.966889,20.4967444],[-155.9674267,21.5028287],[-157.5044717,21.5021151],[-157.5047384,21.9984962],[-159.0090946,21.9978002],[-159.0093692,22.5070181]],[[-168.006102,68.9941463],[-168.0047628,68.0107853],[-165.4842481,68.0112562],[-165.4829337,67.0037303],[-168.0034485,67.0032389],[-168.002195,66.0017503],[-169.0087448,66.001546],[-169.0075381,64.9987675],[-168.0009882,64.9989798],[-167.9998282,63.9982374],[-164.9871288,63.9988964],[-164.9860062,62.9950845],[-167.9987057,62.9944019],[-167.9946035,59.0153692],[-162.5027857,59.0167799],[-162.5018149,58.0005815],[-160.0159024,58.0012389],[-160.0149725,57.000035],[-160.5054788,56.9999017],[-160.5045719,55.9968161],[-164.012195,55.9958373],[-164.0113186,55.00107],[-165.994782,55.0005023],[-165.9941266,54.2400584],[-168.0002944,54.2394734],[-168.0000986,54.0094921],[-170.0156134,54.0089011],[-170.0147683,53.0016446],[-171.9993636,53.0010487],[-171.9989488,52.4977745],[-176.0083239,52.4965566],[-176.0081186,52.2452555],[-178.000097,52.2446469],[-177.9992996,51.2554252],[-176.0073212,51.2560472],[-176.0075146,51.4980163],[-171.9981395,51.4992617],[-171.9985419,51.9985373],[-167.9984317,51.9997661],[-167.9994645,53.2560877],[-165.9932968,53.2566866],[-165.9939308,54.0100804],[-159.0067205,54.0121291],[-159.0075717,55.002502],[-158.0190709,55.0027849],[-158.0199473,55.9975094],[-151.9963213,55.9991902],[-151.9981536,57.9986536],[-151.500341,57.9987853],[-151.5012894,58.9919816],[-138.5159989,58.9953194],[-138.5150471,57.9986434],[-136.6872422,57.9991267],[-136.6863158,57.0016688],[-135.9973698,57.001856],[-135.9964667,56.0030544],[-134.6717732,56.003424],[-134.6708865,54.9969623],[-133.9956734,54.9971556],[-133.9948193,54.0031685],[-130.0044418,54.0043387],[-130.0070826,57.0000507],[-131.975877,56.9995156],[-131.9787378,59.9933094],[-138.0071813,59.991805],[-138.0082158,61.0125755],[-140.9874011,61.0118551],[-140.99984,71.0039309],[-154.5023956,71.0017377],[-154.5039632,71.9983391],[-157.499048,71.9978773],[-157.4974758,70.9982877],[-163.0233611,70.9973899],[-163.0218273,69.9707435],[-164.9730896,69.97041],[-164.9717003,68.994689]],[[-168.5133204,62.8689586],[-168.5144423,63.8765677],[-172.0202755,63.8757975],[-172.0191536,62.8681608]],[[-170.9947111,59.9954089],[-170.995726,60.9969787],[-174.0045311,60.9962508],[-174.0035162,59.9946581]],[[-156.0717261,20.2854602],[-154.7940471,20.2860582],[-154.7933145,18.9029464],[-156.0709936,18.9023432]]]},{"name":"Vector Streetmap for San Juan County WA","type":"tms","description":"Public domain street and address data from the San Juan County, WA. Updated at least quarterly.","template":"http://sjcgis.org/arcgis/rest/services/Basemaps/General_Basemap_WM/MapServer/tile/{zoom}/{y}/{x}","scaleExtent":[0,19],"polygon":[[[-123.274024,48.692975],[-123.007726,48.767256],[-123.007619,48.831577],[-122.783495,48.758416],[-122.693402,48.658522],[-122.767451,48.603606],[-122.744842,48.387083],[-123.248221,48.283531],[-123.114524,48.422614],[-123.219035,48.548575],[-123.274024,48.692975]]],"best":true},{"name":"Vejmidte (Denmark)","type":"tms","template":"http://{switch:a,b,c}.tile.openstreetmap.dk/danmark/vejmidte/{zoom}/{x}/{y}.png","scaleExtent":[0,20],"polygon":[[[8.3743941,54.9551655],[8.3683809,55.4042149],[8.2103997,55.4039795],[8.2087314,55.4937345],[8.0502655,55.4924731],[8.0185123,56.7501399],[8.1819161,56.7509948],[8.1763274,57.0208898],[8.3413329,57.0219872],[8.3392467,57.1119574],[8.5054433,57.1123212],[8.5033923,57.2020499],[9.3316304,57.2027636],[9.3319079,57.2924835],[9.4978864,57.2919578],[9.4988593,57.3820608],[9.6649749,57.3811615],[9.6687295,57.5605591],[9.8351961,57.5596265],[9.8374896,57.6493322],[10.1725726,57.6462818],[10.1754245,57.7367768],[10.5118282,57.7330269],[10.5152095,57.8228945],[10.6834853,57.8207722],[10.6751613,57.6412021],[10.5077045,57.6433097],[10.5039992,57.5535088],[10.671038,57.5514113],[10.6507805,57.1024538],[10.4857673,57.1045138],[10.4786236,56.9249051],[10.3143981,56.9267573],[10.3112341,56.8369269],[10.4750295,56.83509],[10.4649016,56.5656681],[10.9524239,56.5589761],[10.9479249,56.4692243],[11.1099335,56.4664675],[11.1052639,56.376833],[10.9429901,56.3795284],[10.9341235,56.1994768],[10.7719685,56.2020244],[10.7694751,56.1120103],[10.6079695,56.1150259],[10.4466742,56.116717],[10.2865948,56.118675],[10.2831527,56.0281851],[10.4439274,56.0270388],[10.4417713,55.7579243],[10.4334961,55.6693533],[10.743814,55.6646861],[10.743814,55.5712253],[10.8969041,55.5712253],[10.9051793,55.3953852],[11.0613726,55.3812841],[11.0593038,55.1124061],[11.0458567,55.0318621],[11.2030844,55.0247474],[11.2030844,55.117139],[11.0593038,55.1124061],[11.0613726,55.3812841],[11.0789572,55.5712253],[10.8969041,55.5712253],[10.9258671,55.6670198],[10.743814,55.6646861],[10.7562267,55.7579243],[10.4417713,55.7579243],[10.4439274,56.0270388],[10.4466742,56.116717],[10.6079695,56.1150259],[10.6052053,56.0247462],[10.9258671,56.0201215],[10.9197132,55.9309388],[11.0802782,55.92792],[11.0858066,56.0178284],[11.7265047,56.005058],[11.7319981,56.0952142],[12.0540333,56.0871256],[12.0608477,56.1762576],[12.7023469,56.1594405],[12.6611131,55.7114318],[12.9792318,55.7014026],[12.9612912,55.5217294],[12.3268659,55.5412096],[12.3206071,55.4513655],[12.4778226,55.447067],[12.4702432,55.3570479],[12.6269738,55.3523837],[12.6200898,55.2632576],[12.4627339,55.26722],[12.4552949,55.1778223],[12.2987046,55.1822303],[12.2897344,55.0923641],[12.6048608,55.0832904],[12.5872011,54.9036285],[12.2766618,54.9119031],[12.2610181,54.7331602],[12.1070691,54.7378161],[12.0858621,54.4681655],[11.7794953,54.4753579],[11.7837381,54.5654783],[11.1658525,54.5782155],[11.1706443,54.6686508],[10.8617173,54.6733956],[10.8651245,54.7634667],[10.7713646,54.7643888],[10.7707276,54.7372807],[10.7551428,54.7375776],[10.7544039,54.7195666],[10.7389074,54.7197588],[10.7384368,54.7108482],[10.7074486,54.7113045],[10.7041094,54.6756741],[10.5510973,54.6781698],[10.5547184,54.7670245],[10.2423994,54.7705935],[10.2459845,54.8604673],[10.0902268,54.8622134],[10.0873731,54.7723851],[9.1555798,54.7769557],[9.1562752,54.8675369],[8.5321973,54.8663765],[8.531432,54.95516]],[[11.4577738,56.819554],[11.7849181,56.8127385],[11.7716715,56.6332796],[11.4459621,56.6401087]],[[11.3274736,57.3612962],[11.3161808,57.1818004],[11.1508692,57.1847276],[11.1456628,57.094962],[10.8157703,57.1001693],[10.8290599,57.3695272]],[[11.5843266,56.2777928],[11.5782882,56.1880397],[11.7392309,56.1845765],[11.7456428,56.2743186]],[[14.6825922,55.3639405],[14.8395247,55.3565231],[14.8263755,55.2671261],[15.1393406,55.2517359],[15.1532015,55.3410836],[15.309925,55.3330556],[15.295719,55.2437356],[15.1393406,55.2517359],[15.1255631,55.1623802],[15.2815819,55.1544167],[15.2535578,54.9757646],[14.6317464,55.0062496]]],"terms_url":"http://wiki.openstreetmap.org/wiki/Vejmidte","terms_text":"Danish municipalities"},{"name":"Vienna: Beschriftungen (annotations)","type":"tms","template":"http://www.wien.gv.at/wmts/beschriftung/normal/google3857/{zoom}/{y}/{x}.png","scaleExtent":[0,19],"polygon":[[[16.17,48.1],[16.17,48.33],[16.58,48.33],[16.58,48.1],[16.17,48.1]]],"terms_url":"http://data.wien.gv.at/","terms_text":"Stadt Wien"},{"name":"Vienna: Mehrzweckkarte (general purpose)","type":"tms","template":"http://www.wien.gv.at/wmts/fmzk/pastell/google3857/{zoom}/{y}/{x}.jpeg","scaleExtent":[0,19],"polygon":[[[16.17,48.1],[16.17,48.33],[16.58,48.33],[16.58,48.1],[16.17,48.1]]],"terms_url":"http://data.wien.gv.at/","terms_text":"Stadt Wien"},{"name":"Vienna: Orthofoto (aerial image)","type":"tms","template":"http://www.wien.gv.at/wmts/lb/farbe/google3857/{zoom}/{y}/{x}.jpeg","scaleExtent":[0,19],"polygon":[[[16.17,48.1],[16.17,48.33],[16.58,48.33],[16.58,48.1],[16.17,48.1]]],"terms_url":"http://data.wien.gv.at/","terms_text":"Stadt Wien"}];
\ No newline at end of file
-iD.data.presets = {"presets":{"address":{"fields":["address"],"geometry":["point"],"tags":{"addr:housenumber":"*"},"addTags":{},"removeTags":{},"matchScore":0.2,"name":"Address"},"aerialway":{"fields":["aerialway"],"geometry":["point","vertex","line"],"tags":{"aerialway":"*"},"terms":["ski lift","funifor","funitel"],"searchable":false,"name":"Aerialway"},"aerialway/cable_car":{"geometry":["line"],"terms":["tramway","ropeway"],"fields":["aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/heating"],"tags":{"aerialway":"cable_car"},"name":"Cable Car"},"aerialway/chair_lift":{"geometry":["line"],"fields":["aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/bubble","aerialway/heating"],"tags":{"aerialway":"chair_lift"},"name":"Chair Lift"},"aerialway/gondola":{"geometry":["line"],"fields":["aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/bubble","aerialway/heating"],"tags":{"aerialway":"gondola"},"name":"Gondola"},"aerialway/magic_carpet":{"geometry":["line"],"fields":["aerialway/capacity","aerialway/duration","aerialway/heating"],"tags":{"aerialway":"magic_carpet"},"name":"Magic Carpet Lift"},"aerialway/platter":{"geometry":["line"],"terms":["button lift","poma lift"],"fields":["aerialway/capacity","aerialway/duration"],"tags":{"aerialway":"platter"},"name":"Platter Lift"},"aerialway/pylon":{"geometry":["point","vertex"],"fields":["ref"],"tags":{"aerialway":"pylon"},"name":"Aerialway Pylon"},"aerialway/rope_tow":{"geometry":["line"],"terms":["handle tow","bugel lift"],"fields":["aerialway/capacity","aerialway/duration"],"tags":{"aerialway":"rope_tow"},"name":"Rope Tow Lift"},"aerialway/station":{"geometry":["point","vertex"],"fields":["aerialway/access","aerialway/summer/access","elevation"],"tags":{"aerialway":"station"},"name":"Aerialway Station"},"aerialway/t-bar":{"geometry":["line"],"fields":["aerialway/capacity","aerialway/duration"],"tags":{"aerialway":"t-bar"},"name":"T-bar Lift"},"aeroway":{"icon":"airport","fields":["aeroway"],"geometry":["point","vertex","line","area"],"tags":{"aeroway":"*"},"searchable":false,"name":"Aeroway"},"aeroway/aerodrome":{"icon":"airport","geometry":["point","area"],"terms":["airplane","airport","aerodrome"],"fields":["ref","iata","icao","operator"],"tags":{"aeroway":"aerodrome"},"name":"Airport"},"aeroway/apron":{"icon":"airport","geometry":["area"],"terms":["ramp"],"fields":["ref","surface"],"tags":{"aeroway":"apron"},"name":"Apron"},"aeroway/gate":{"icon":"airport","geometry":["point"],"fields":["ref"],"tags":{"aeroway":"gate"},"name":"Airport gate"},"aeroway/hangar":{"geometry":["area"],"fields":["building_area"],"tags":{"aeroway":"hangar"},"name":"Hangar"},"aeroway/helipad":{"icon":"heliport","geometry":["point","area"],"terms":["helicopter","helipad","heliport"],"tags":{"aeroway":"helipad"},"name":"Helipad"},"aeroway/runway":{"geometry":["line","area"],"terms":["landing strip"],"fields":["ref","surface","length","width"],"tags":{"aeroway":"runway"},"name":"Runway"},"aeroway/taxiway":{"geometry":["line"],"fields":["ref","surface"],"tags":{"aeroway":"taxiway"},"name":"Taxiway"},"aeroway/terminal":{"geometry":["point","area"],"terms":["airport","aerodrome"],"fields":["operator","building_area"],"tags":{"aeroway":"terminal"},"name":"Airport terminal"},"amenity":{"fields":["amenity"],"geometry":["point","vertex","area"],"tags":{"amenity":"*"},"searchable":false,"name":"Amenity"},"amenity/arts_centre":{"icon":"theatre","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"terms":[],"tags":{"amenity":"arts_centre"},"name":"Arts Center"},"amenity/atm":{"icon":"bank","fields":["operator","currency_multi","drive_through"],"geometry":["point","vertex"],"terms":["money","cash","machine"],"tags":{"amenity":"atm"},"name":"ATM"},"amenity/bank":{"icon":"bank","fields":["atm","operator","address","building_area","opening_hours","drive_through"],"geometry":["point","area"],"terms":["credit union","check","deposit","fund","investment","repository","reserve","safe","savings","stock","treasury","trust","vault"],"tags":{"amenity":"bank"},"name":"Bank"},"amenity/bar":{"icon":"bar","fields":["operator","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"terms":["dive","beer","bier","booze"],"tags":{"amenity":"bar"},"name":"Bar"},"amenity/bbq":{"fields":["covered","fuel"],"geometry":["point"],"terms":["bbq"],"tags":{"amenity":"bbq"},"name":"Barbecue/Grill"},"amenity/bench":{"fields":["backrest"],"geometry":["point","vertex","line"],"terms":["seat"],"tags":{"amenity":"bench"},"name":"Bench"},"amenity/bicycle_parking":{"icon":"bicycle","fields":["bicycle_parking","capacity","operator","covered","access_simple"],"geometry":["point","vertex","area"],"terms":["bike"],"tags":{"amenity":"bicycle_parking"},"name":"Bicycle Parking"},"amenity/bicycle_rental":{"icon":"bicycle","fields":["capacity","network","operator"],"geometry":["point","vertex","area"],"terms":["bike"],"tags":{"amenity":"bicycle_rental"},"name":"Bicycle Rental"},"amenity/bicycle_repair_station":{"icon":"bicycle","fields":["operator","brand","opening_hours","fee","service/bicycle/chain_tool","service/bicycle/pump"],"geometry":["point","vertex","area"],"terms":["bike","repair","chain","pump"],"tags":{"amenity":"bicycle_repair_station"},"name":"Bicycle Repair Tool Stand"},"amenity/biergarten":{"icon":"beer","fields":["address","building_area","opening_hours","smoking"],"geometry":["point","area"],"tags":{"amenity":"biergarten"},"terms":["beer","bier","booze"],"name":"Beer Garden"},"amenity/boat_rental":{"fields":["operator"],"geometry":["point","area"],"tags":{"amenity":"boat_rental"},"name":"Boat Rental"},"amenity/bureau_de_change":{"icon":"bank","fields":["operator","currency_multi"],"geometry":["point","vertex"],"terms":["bureau de change","money changer"],"tags":{"amenity":"bureau_de_change"},"name":"Currency Exchange"},"amenity/bus_station":{"icon":"bus","fields":["building_area","operator"],"geometry":["point","area"],"tags":{"amenity":"bus_station"},"name":"Bus Station"},"amenity/cafe":{"icon":"cafe","fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"terms":["bistro","coffee","tea"],"tags":{"amenity":"cafe"},"name":"Cafe"},"amenity/car_rental":{"icon":"car","fields":["operator"],"geometry":["point","area"],"tags":{"amenity":"car_rental"},"name":"Car Rental"},"amenity/car_sharing":{"icon":"car","fields":["operator","capacity"],"geometry":["point","area"],"tags":{"amenity":"car_sharing"},"name":"Car Sharing"},"amenity/car_wash":{"icon":"car","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"amenity":"car_wash"},"name":"Car Wash"},"amenity/casino":{"fields":["operator","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"terms":["gambling","roulette","craps","poker","blackjack"],"tags":{"amenity":"casino"},"name":"Casino"},"amenity/charging_station":{"icon":"car","fields":["operator"],"geometry":["point","area"],"tags":{"amenity":"charging_station"},"terms":["EV","Electric Vehicle","Supercharger"],"name":"Charging Station"},"amenity/childcare":{"icon":"school","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["daycare","orphanage","playgroup"],"tags":{"amenity":"childcare"},"name":"Nursery/Childcare"},"amenity/cinema":{"icon":"cinema","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"terms":["drive-in","film","flick","movie","theater","picture","show","screen"],"tags":{"amenity":"cinema"},"name":"Cinema"},"amenity/clinic":{"icon":"hospital","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"terms":["medical","urgentcare"],"tags":{"amenity":"clinic"},"name":"Clinic"},"amenity/clock":{"geometry":["point","vertex"],"tags":{"amenity":"clock"},"name":"Clock"},"amenity/college":{"icon":"college","fields":["operator","address"],"geometry":["point","area"],"terms":["university"],"tags":{"amenity":"college"},"name":"College Grounds"},"amenity/community_centre":{"icon":"town-hall","fields":["operator","address","building_area"],"geometry":["point","area"],"terms":["event","hall"],"tags":{"amenity":"community_centre"},"name":"Community Center"},"amenity/compressed_air":{"icon":"car","geometry":["point","area"],"tags":{"amenity":"compressed_air"},"name":"Compressed Air"},"amenity/courthouse":{"icon":"town-hall","fields":["operator","address","building_area"],"geometry":["point","area"],"tags":{"amenity":"courthouse"},"name":"Courthouse"},"amenity/dentist":{"icon":"dentist","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"terms":["tooth","teeth"],"tags":{"amenity":"dentist"},"name":"Dentist"},"amenity/doctors":{"icon":"hospital","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"terms":["medic*"],"tags":{"amenity":"doctors"},"name":"Doctor"},"amenity/dojo":{"icon":"pitch","fields":["sport","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["martial arts","dojang"],"tags":{"amenity":"dojo"},"name":"Dojo / Martial Arts Academy"},"amenity/drinking_water":{"icon":"water","geometry":["point"],"tags":{"amenity":"drinking_water"},"terms":["fountain","potable"],"name":"Drinking Water"},"amenity/embassy":{"icon":"embassy","fields":["country","address","building_area"],"geometry":["point","area"],"tags":{"amenity":"embassy"},"name":"Embassy"},"amenity/fast_food":{"icon":"fast-food","fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"geometry":["point","area"],"tags":{"amenity":"fast_food"},"terms":["restaurant"],"name":"Fast Food"},"amenity/ferry_terminal":{"icon":"ferry","fields":["network","operator","address","building_area"],"geometry":["point","vertex","area"],"terms":[],"tags":{"amenity":"ferry_terminal"},"name":"Ferry Terminal"},"amenity/fire_station":{"icon":"fire-station","fields":["operator","address","building_area"],"geometry":["point","area"],"terms":[],"tags":{"amenity":"fire_station"},"name":"Fire Station"},"amenity/fountain":{"geometry":["point","area"],"tags":{"amenity":"fountain"},"name":"Fountain"},"amenity/fuel":{"icon":"fuel","fields":["operator","address","opening_hours","fuel_multi"],"geometry":["point","area"],"terms":["petrol","fuel","gasoline","propane","diesel","lng","cng","biodiesel"],"tags":{"amenity":"fuel"},"name":"Gas Station"},"amenity/grave_yard":{"icon":"cemetery","fields":["religion","denomination"],"geometry":["point","area"],"tags":{"amenity":"grave_yard"},"name":"Graveyard"},"amenity/grit_bin":{"fields":["access_simple"],"geometry":["point","vertex"],"tags":{"amenity":"grit_bin"},"terms":["salt","sand"],"name":"Grit Bin"},"amenity/hospital":{"icon":"hospital","fields":["operator","address","emergency"],"geometry":["point","area"],"terms":["clinic","doctor","emergency room","health service","hospice","infirmary","institution","nursing home","sanatorium","sanitarium","sick","surgery","ward"],"tags":{"amenity":"hospital"},"name":"Hospital Grounds"},"amenity/hunting_stand":{"geometry":["point","vertex","area"],"terms":[],"tags":{"amenity":"hunting_stand"},"name":"Hunting Stand"},"amenity/kindergarten":{"icon":"school","fields":["operator","address"],"geometry":["point","area"],"terms":["kindergarden","pre-school"],"tags":{"amenity":"kindergarten"},"name":"Preschool/Kindergarten Grounds"},"amenity/library":{"icon":"library","fields":["operator","building_area","address","opening_hours"],"geometry":["point","area"],"terms":["book"],"tags":{"amenity":"library"},"name":"Library"},"amenity/marketplace":{"fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"amenity":"marketplace"},"name":"Marketplace"},"amenity/motorcycle_parking":{"icon":"scooter","fields":["capacity","operator","covered","access_simple"],"geometry":["point","vertex","area"],"tags":{"amenity":"motorcycle_parking"},"name":"Motorcycle Parking"},"amenity/nightclub":{"icon":"bar","fields":["operator","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"tags":{"amenity":"nightclub"},"terms":["disco*","night club","dancing","dance club"],"name":"Nightclub"},"amenity/parking":{"icon":"parking","fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"geometry":["point","vertex","area"],"tags":{"amenity":"parking"},"terms":[],"name":"Car Parking"},"amenity/parking_entrance":{"icon":"entrance","fields":["access_simple","ref"],"geometry":["vertex"],"tags":{"amenity":"parking_entrance"},"name":"Parking Garage Entrance/Exit"},"amenity/parking_space":{"fields":["capacity"],"geometry":["point","vertex","area"],"terms":[],"tags":{"amenity":"parking_space"},"name":"Parking Space"},"amenity/pharmacy":{"icon":"pharmacy","fields":["operator","address","building_area","opening_hours","drive_through"],"geometry":["point","area"],"tags":{"amenity":"pharmacy"},"terms":["drug","medicine"],"name":"Pharmacy"},"amenity/place_of_worship":{"icon":"place-of-worship","fields":["religion","denomination","address","building_area"],"geometry":["point","area"],"terms":["abbey","basilica","bethel","cathedral","chancel","chantry","chapel","church","fold","house of God","house of prayer","house of worship","minster","mission","mosque","oratory","parish","sacellum","sanctuary","shrine","synagogue","tabernacle","temple"],"tags":{"amenity":"place_of_worship"},"name":"Place of Worship"},"amenity/place_of_worship/buddhist":{"icon":"place-of-worship","fields":["denomination","building_area","address"],"geometry":["point","area"],"terms":["stupa","vihara","monastery","temple","pagoda","zendo","dojo"],"tags":{"amenity":"place_of_worship","religion":"buddhist"},"name":"Buddhist Temple"},"amenity/place_of_worship/christian":{"icon":"religious-christian","fields":["denomination","building_area","address"],"geometry":["point","area"],"terms":["christian","abbey","basilica","bethel","cathedral","chancel","chantry","chapel","fold","house of God","house of prayer","house of worship","minster","mission","oratory","parish","sacellum","sanctuary","shrine","tabernacle","temple"],"tags":{"amenity":"place_of_worship","religion":"christian"},"name":"Church"},"amenity/place_of_worship/jewish":{"icon":"religious-jewish","fields":["denomination","building_area","address"],"geometry":["point","area"],"terms":["jewish"],"tags":{"amenity":"place_of_worship","religion":"jewish"},"name":"Synagogue"},"amenity/place_of_worship/muslim":{"icon":"religious-muslim","fields":["denomination","building_area","address"],"geometry":["point","area"],"terms":["muslim"],"tags":{"amenity":"place_of_worship","religion":"muslim"},"name":"Mosque"},"amenity/police":{"icon":"police","fields":["operator","address","building_area"],"geometry":["point","area"],"terms":["badge","constable","constabulary","cop","detective","fed","law","enforcement","officer","patrol"],"tags":{"amenity":"police"},"name":"Police"},"amenity/post_box":{"icon":"post","fields":["operator","collection_times","drive_through"],"geometry":["point","vertex"],"tags":{"amenity":"post_box"},"terms":["letter","post"],"name":"Mailbox"},"amenity/post_office":{"icon":"post","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["letter","mail"],"tags":{"amenity":"post_office"},"name":"Post Office"},"amenity/prison":{"icon":"prison","fields":["operator","address"],"geometry":["point","area"],"terms":["cell","jail"],"tags":{"amenity":"prison"},"name":"Prison Grounds"},"amenity/pub":{"icon":"beer","fields":["address","building_area","opening_hours","smoking"],"geometry":["point","area"],"tags":{"amenity":"pub"},"terms":["dive","beer","bier","booze"],"name":"Pub"},"amenity/public_bookcase":{"icon":"library","fields":["name","operator","capacity","website"],"geometry":["point","area"],"terms":["library","bookcrossing"],"tags":{"amenity":"public_bookcase"},"name":"Public Bookcase"},"amenity/ranger_station":{"fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["visitor center","visitor centre","permit center","permit centre","backcountry office","warden office","warden center"],"tags":{"amenity":"ranger_station"},"name":"Ranger Station"},"amenity/recycling":{"icon":"waste-basket","fields":["operator","address","recycling_accepts"],"geometry":["point","area"],"terms":["can","bottle","garbage","scrap","trash"],"tags":{"amenity":"recycling"},"name":"Recycling"},"amenity/register_office":{"icon":"town-hall","fields":["address","building_area","opening_hours","operator"],"geometry":["point","area"],"terms":[],"tags":{"amenity":"register_office"},"name":"Register Office"},"amenity/restaurant":{"icon":"restaurant","fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"geometry":["point","area"],"terms":["bar","breakfast","cafe","café","canteen","coffee","dine","dining","dinner","drive-in","eat","grill","lunch","table"],"tags":{"amenity":"restaurant"},"name":"Restaurant"},"amenity/sanitary_dump_station":{"fields":["operator","access_toilets","fee","water_point"],"geometry":["point","vertex","area"],"terms":["Motor Home","Camper","Sanitary","Dump Station","Elsan","CDP","CTDP","Chemical Toilet"],"tags":{"amenity":"sanitary_dump_station"},"name":"RV Toilet Disposal"},"amenity/school":{"icon":"school","fields":["operator","address"],"geometry":["point","area"],"terms":["academy","elementary school","middle school","high school"],"tags":{"amenity":"school"},"name":"School Grounds"},"amenity/shelter":{"fields":["shelter_type","bin"],"geometry":["point","vertex","area"],"terms":["lean-to","gazebo","picnic"],"tags":{"amenity":"shelter"},"name":"Shelter"},"amenity/social_facility":{"fields":["operator","address","building_area","opening_hours","wheelchair","social_facility_for"],"geometry":["point","area"],"terms":[],"tags":{"amenity":"social_facility"},"name":"Social Facility"},"amenity/social_facility/food_bank":{"fields":["operator","address","building_area","opening_hours","social_facility_for"],"geometry":["point","area"],"terms":[],"tags":{"amenity":"social_facility","social_facility":"food_bank"},"name":"Food Bank"},"amenity/social_facility/group_home":{"fields":["operator","address","building_area","opening_hours","wheelchair","social_facility_for"],"geometry":["point","area"],"terms":["old","senior","living"],"tags":{"amenity":"social_facility","social_facility":"group_home","social_facility:for":"senior"},"name":"Elderly Group Home"},"amenity/social_facility/homeless_shelter":{"fields":["operator","address","building_area","opening_hours","wheelchair","social_facility_for"],"geometry":["point","area"],"terms":["houseless","unhoused","displaced"],"tags":{"amenity":"social_facility","social_facility":"shelter","social_facility:for":"homeless"},"name":"Homeless Shelter"},"amenity/studio":{"icon":"music","fields":["studio","address","building_area"],"geometry":["point","area"],"terms":["recording","radio","television"],"tags":{"amenity":"studio"},"name":"Studio"},"amenity/swimming_pool":{"icon":"swimming","geometry":["point","vertex","area"],"tags":{"amenity":"swimming_pool"},"name":"Swimming Pool","searchable":false},"amenity/taxi":{"icon":"car","fields":["operator","capacity"],"geometry":["point","vertex","area"],"terms":["cab"],"tags":{"amenity":"taxi"},"name":"Taxi Stand"},"amenity/telephone":{"icon":"telephone","geometry":["point","vertex"],"tags":{"amenity":"telephone"},"terms":["phone"],"name":"Telephone"},"amenity/theatre":{"icon":"theatre","fields":["operator","address","building_area"],"geometry":["point","area"],"terms":["theatre","performance","play","musical"],"tags":{"amenity":"theatre"},"name":"Theater"},"amenity/toilets":{"icon":"toilets","fields":["toilets/disposal","operator","building_area","access_toilets","gender","fee","diaper"],"geometry":["point","vertex","area"],"terms":["bathroom","restroom","outhouse","privy","head","lavatory","latrine","water closet","WC","W.C."],"tags":{"amenity":"toilets"},"name":"Toilets"},"amenity/townhall":{"icon":"town-hall","fields":["operator","address","building_area"],"geometry":["point","area"],"terms":["village","city","government","courthouse","municipal"],"tags":{"amenity":"townhall"},"name":"Town Hall"},"amenity/university":{"icon":"college","fields":["operator","address"],"geometry":["point","area"],"terms":["college"],"tags":{"amenity":"university"},"name":"University Grounds"},"amenity/vending_machine/cigarettes":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["cigarette"],"tags":{"amenity":"vending_machine","vending":"cigarettes"},"name":"Cigarette Vending Machine"},"amenity/vending_machine/condoms":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["condom"],"tags":{"amenity":"vending_machine","vending":"condoms"},"name":"Condom Vending Machine"},"amenity/vending_machine/drinks":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["drink","soda","beverage","juice","pop"],"tags":{"amenity":"vending_machine","vending":"drinks"},"name":"Drink Vending Machine"},"amenity/vending_machine/excrement_bags":{"fields":["operator","fee","bin","payment_multi","currency_multi"],"geometry":["point"],"terms":["excrement bags","poop","dog","animal"],"tags":{"amenity":"vending_machine","vending":"excrement_bags"},"name":"Excrement Bag Vending Machine"},"amenity/vending_machine/news_papers":{"fields":["operator","fee","payment_multi","currency_multi"],"geometry":["point"],"terms":["newspaper"],"tags":{"amenity":"vending_machine","vending":"news_papers"},"name":"Newspaper Vending Machine"},"amenity/vending_machine/parcel_pickup_dropoff":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["parcel","mail","pickup"],"tags":{"amenity":"vending_machine","vending":"parcel_pickup;parcel_mail_in"},"name":"Parcel Pickup/Dropoff Vending Machine"},"amenity/vending_machine/parking_tickets":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["parking","ticket"],"tags":{"amenity":"vending_machine","vending":"parking_tickets"},"name":"Parking Ticket Vending Machine"},"amenity/vending_machine/public_transport_tickets":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["bus","train","ferry","rail","ticket","transportation"],"tags":{"amenity":"vending_machine","vending":"public_transport_tickets"},"name":"Transit Ticket Vending Machine"},"amenity/vending_machine/sweets":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["candy","gum","chip","pretzel","cookie","cracker"],"tags":{"amenity":"vending_machine","vending":"sweets"},"name":"Snack Vending Machine"},"amenity/vending_machine/vending_machine":{"fields":["vending","operator","payment_multi","currency_multi"],"geometry":["point"],"terms":[],"tags":{"amenity":"vending_machine"},"name":"Vending Machine"},"amenity/veterinary":{"icon":"dog-park","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["pet clinic","veterinarian","animal hospital","pet doctor"],"tags":{"amenity":"veterinary"},"name":"Veterinary"},"amenity/waste_basket":{"icon":"waste-basket","geometry":["point","vertex"],"tags":{"amenity":"waste_basket"},"terms":["bin","rubbish","litter","trash","garbage"],"name":"Waste Basket"},"amenity/waste_disposal":{"icon":"waste-basket","geometry":["point","vertex"],"tags":{"amenity":"waste_disposal"},"terms":["rubbish","litter","trash"],"name":"Garbage Dumpster"},"amenity/water_point":{"icon":"water","geometry":["area","vertex","point"],"tags":{"amenity":"water_point"},"name":"RV Drinking Water"},"area":{"name":"Area","tags":{"area":"yes"},"geometry":["area"],"matchScore":0.1},"area/highway":{"fields":["area/highway"],"geometry":["area"],"tags":{"area:highway":"*"},"name":"Road Surface"},"barrier":{"geometry":["point","vertex","line","area"],"tags":{"barrier":"*"},"fields":["barrier"],"name":"Barrier"},"barrier/block":{"fields":["access"],"geometry":["point","vertex"],"tags":{"barrier":"block"},"name":"Block"},"barrier/bollard":{"fields":["access"],"geometry":["point","vertex","line"],"tags":{"barrier":"bollard"},"name":"Bollard"},"barrier/cattle_grid":{"geometry":["vertex"],"tags":{"barrier":"cattle_grid"},"name":"Cattle Grid"},"barrier/city_wall":{"geometry":["line","area"],"tags":{"barrier":"city_wall"},"name":"City Wall"},"barrier/cycle_barrier":{"fields":["access"],"geometry":["vertex"],"tags":{"barrier":"cycle_barrier"},"name":"Cycle Barrier"},"barrier/ditch":{"geometry":["line","area"],"tags":{"barrier":"ditch"},"name":"Ditch"},"barrier/entrance":{"icon":"entrance","geometry":["vertex"],"tags":{"barrier":"entrance"},"name":"Entrance","searchable":false},"barrier/fence":{"geometry":["line"],"tags":{"barrier":"fence"},"name":"Fence"},"barrier/gate":{"fields":["access"],"geometry":["point","vertex","line"],"tags":{"barrier":"gate"},"name":"Gate"},"barrier/hedge":{"geometry":["line","area"],"tags":{"barrier":"hedge"},"name":"Hedge"},"barrier/kissing_gate":{"fields":["access"],"geometry":["vertex"],"tags":{"barrier":"kissing_gate"},"name":"Kissing Gate"},"barrier/lift_gate":{"fields":["access"],"geometry":["point","vertex"],"tags":{"barrier":"lift_gate"},"name":"Lift Gate"},"barrier/retaining_wall":{"geometry":["line","area"],"tags":{"barrier":"retaining_wall"},"name":"Retaining Wall"},"barrier/stile":{"fields":["access"],"geometry":["point","vertex"],"tags":{"barrier":"stile"},"name":"Stile"},"barrier/toll_booth":{"fields":["access"],"geometry":["vertex"],"tags":{"barrier":"toll_booth"},"name":"Toll Booth"},"barrier/wall":{"geometry":["line","area"],"tags":{"barrier":"wall"},"name":"Wall"},"boundary/administrative":{"name":"Administrative Boundary","geometry":["line"],"tags":{"boundary":"administrative"},"fields":["admin_level"]},"building":{"icon":"building","fields":["building","levels","address"],"geometry":["point","area"],"tags":{"building":"*"},"matchScore":0.4,"terms":[],"name":"Building"},"building/apartments":{"icon":"commercial","fields":["address","levels"],"geometry":["area"],"tags":{"building":"apartments"},"matchScore":0.5,"name":"Apartments"},"building/barn":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"barn"},"matchScore":0.5,"name":"Barn"},"building/bunker":{"fields":["address","levels"],"geometry":["area"],"tags":{"building":"bunker"},"matchScore":0.5,"name":"Bunker","searchable":false},"building/cabin":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"cabin"},"matchScore":0.5,"name":"Cabin"},"building/cathedral":{"icon":"place-of-worship","fields":["address","levels"],"geometry":["area"],"tags":{"building":"cathedral"},"matchScore":0.5,"name":"Cathedral Building"},"building/chapel":{"icon":"place-of-worship","fields":["address","levels"],"geometry":["area"],"tags":{"building":"chapel"},"matchScore":0.5,"name":"Chapel Building"},"building/church":{"icon":"place-of-worship","fields":["address","levels"],"geometry":["area"],"tags":{"building":"church"},"matchScore":0.5,"name":"Church Building"},"building/college":{"icon":"building","fields":["address","levels"],"geometry":["area"],"terms":["university"],"tags":{"building":"college"},"matchScore":0.5,"name":"College Building"},"building/commercial":{"icon":"commercial","fields":["address","levels","smoking"],"geometry":["area"],"tags":{"building":"commercial"},"matchScore":0.5,"name":"Commercial Building"},"building/construction":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"construction"},"matchScore":0.5,"name":"Building Under Construction"},"building/detached":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"detached"},"terms":["home","single","family","residence","dwelling"],"matchScore":0.5,"name":"Detached House"},"building/dormitory":{"icon":"building","fields":["address","levels","smoking"],"geometry":["area"],"tags":{"building":"dormitory"},"matchScore":0.5,"name":"Dormitory"},"building/entrance":{"icon":"entrance","geometry":["vertex"],"tags":{"building":"entrance"},"name":"Entrance/Exit","searchable":false},"building/garage":{"icon":"warehouse","fields":["capacity"],"geometry":["area"],"tags":{"building":"garage"},"matchScore":0.5,"name":"Garage"},"building/garages":{"icon":"warehouse","fields":["capacity"],"geometry":["area"],"tags":{"building":"garages"},"matchScore":0.5,"name":"Garages"},"building/greenhouse":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"greenhouse"},"matchScore":0.5,"name":"Greenhouse"},"building/hospital":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"hospital"},"matchScore":0.5,"name":"Hospital Building"},"building/hotel":{"icon":"building","fields":["address","levels","smoking"],"geometry":["area"],"tags":{"building":"hotel"},"matchScore":0.5,"name":"Hotel Building"},"building/house":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"house"},"terms":["home","family","residence","dwelling"],"matchScore":0.5,"name":"House"},"building/hut":{"geometry":["area"],"tags":{"building":"hut"},"matchScore":0.5,"name":"Hut"},"building/industrial":{"icon":"industrial","fields":["address","levels"],"geometry":["area"],"tags":{"building":"industrial"},"matchScore":0.5,"name":"Industrial Building"},"building/kindergarten":{"icon":"building","fields":["address","levels"],"geometry":["area"],"terms":["kindergarden","pre-school"],"tags":{"building":"kindergarten"},"matchScore":0.5,"name":"Preschool/Kindergarten Building"},"building/public":{"icon":"building","fields":["address","levels","smoking"],"geometry":["area"],"tags":{"building":"public"},"matchScore":0.5,"name":"Public Building"},"building/residential":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"residential"},"matchScore":0.5,"name":"Residential Building"},"building/retail":{"icon":"building","fields":["address","levels","smoking"],"geometry":["area"],"tags":{"building":"retail"},"matchScore":0.5,"name":"Retail Building"},"building/roof":{"icon":"building","fields":["address"],"geometry":["area"],"tags":{"building":"roof"},"matchScore":0.5,"name":"Roof"},"building/school":{"icon":"building","fields":["address","levels"],"geometry":["area"],"terms":["academy","elementary school","middle school","high school"],"tags":{"building":"school"},"matchScore":0.5,"name":"School Building"},"building/semidetached_house":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"semidetached_house"},"terms":["home","double","duplex","twin","family","residence","dwelling"],"matchScore":0.5,"name":"Semi-Detached House"},"building/shed":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"shed"},"matchScore":0.5,"name":"Shed"},"building/stable":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"stable"},"matchScore":0.5,"name":"Stable"},"building/static_caravan":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"static_caravan"},"matchScore":0.5,"name":"Static Mobile Home"},"building/terrace":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"terrace"},"terms":["home","terrace","brownstone","family","residence","dwelling"],"matchScore":0.5,"name":"Row Houses"},"building/train_station":{"icon":"building","fields":["address","levels"],"geometry":["point","vertex","area"],"tags":{"building":"train_station"},"matchScore":0.5,"name":"Train Station","searchable":false},"building/university":{"icon":"building","fields":["address","levels"],"geometry":["area"],"terms":["college"],"tags":{"building":"university"},"matchScore":0.5,"name":"University Building"},"building/warehouse":{"icon":"warehouse","fields":["address","levels"],"geometry":["area"],"tags":{"building":"warehouse"},"matchScore":0.5,"name":"Warehouse"},"craft":{"icon":"marker-stroked","fields":["craft","operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"*"},"terms":[],"name":"Craft"},"craft/basket_maker":{"icon":"art-gallery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"basket_maker"},"name":"Basket Maker"},"craft/beekeeper":{"icon":"farm","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"beekeeper"},"name":"Beekeeper"},"craft/blacksmith":{"icon":"farm","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"blacksmith"},"name":"Blacksmith"},"craft/boatbuilder":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"boatbuilder"},"name":"Boat Builder"},"craft/bookbinder":{"icon":"library","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["book repair"],"tags":{"craft":"bookbinder"},"name":"Bookbinder"},"craft/brewery":{"icon":"beer","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["beer","bier"],"tags":{"craft":"brewery"},"name":"Brewery"},"craft/carpenter":{"icon":"logging","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["woodworker"],"tags":{"craft":"carpenter"},"name":"Carpenter"},"craft/carpet_layer":{"icon":"square","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"carpet_layer"},"name":"Carpet Layer"},"craft/caterer":{"icon":"bakery","fields":["cuisine","operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"caterer"},"name":"Caterer"},"craft/clockmaker":{"icon":"circle-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"clockmaker"},"name":"Clockmaker"},"craft/confectionery":{"icon":"bakery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["sweets","candy"],"tags":{"craft":"confectionery"},"name":"Confectionery"},"craft/dressmaker":{"icon":"clothing-store","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["seamstress"],"tags":{"craft":"dressmaker"},"name":"Dressmaker"},"craft/electrician":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["power","wire"],"tags":{"craft":"electrician"},"name":"Electrician"},"craft/gardener":{"icon":"garden","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["landscaper","grounds keeper"],"tags":{"craft":"gardener"},"name":"Gardener"},"craft/glaziery":{"icon":"fire-station","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["glass","stained-glass","window"],"tags":{"craft":"glaziery"},"name":"Glaziery"},"craft/handicraft":{"icon":"art-gallery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"handicraft"},"name":"Handicraft"},"craft/hvac":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["heat*","vent*","air conditioning"],"tags":{"craft":"hvac"},"name":"HVAC"},"craft/insulator":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"insulation"},"name":"Insulator"},"craft/jeweler":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"jeweler"},"name":"Jeweler","searchable":false},"craft/key_cutter":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"key_cutter"},"name":"Key Cutter"},"craft/locksmith":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"locksmith"},"name":"Locksmith","searchable":false},"craft/metal_construction":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"metal_construction"},"name":"Metal Construction"},"craft/optician":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"optician"},"name":"Optician","searchable":false},"craft/painter":{"icon":"art-gallery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"painter"},"name":"Painter"},"craft/photographer":{"icon":"camera","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"photographer"},"name":"Photographer"},"craft/photographic_laboratory":{"icon":"camera","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["film"],"tags":{"craft":"photographic_laboratory"},"name":"Photographic Laboratory"},"craft/plasterer":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"plasterer"},"name":"Plasterer"},"craft/plumber":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["pipe"],"tags":{"craft":"plumber"},"name":"Plumber"},"craft/pottery":{"icon":"art-gallery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["ceramic"],"tags":{"craft":"pottery"},"name":"Pottery"},"craft/rigger":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"rigger"},"name":"Rigger"},"craft/roofer":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"roofer"},"name":"Roofer"},"craft/saddler":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"saddler"},"name":"Saddler"},"craft/sailmaker":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"sailmaker"},"name":"Sailmaker"},"craft/sawmill":{"icon":"park","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["lumber"],"tags":{"craft":"sawmill"},"name":"Sawmill"},"craft/scaffolder":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"scaffolder"},"name":"Scaffolder"},"craft/sculpter":{"icon":"art-gallery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"sculpter"},"name":"Sculpter"},"craft/shoemaker":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["cobbler"],"tags":{"craft":"shoemaker"},"name":"Shoemaker"},"craft/stonemason":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["masonry"],"tags":{"craft":"stonemason"},"name":"Stonemason"},"craft/sweep":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"sweep"},"name":"Chimney Sweep"},"craft/tailor":{"icon":"clothing-store","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["clothes","suit"],"tags":{"craft":"tailor"},"name":"Tailor","searchable":false},"craft/tiler":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"tiler"},"name":"Tiler"},"craft/tinsmith":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"tinsmith"},"name":"Tinsmith"},"craft/upholsterer":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"upholsterer"},"name":"Upholsterer"},"craft/watchmaker":{"icon":"circle-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"watchmaker"},"name":"Watchmaker"},"craft/window_construction":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["glass"],"tags":{"craft":"window_construction"},"name":"Window Construction"},"craft/winery":{"icon":"alcohol-shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"winery"},"name":"Winery"},"embankment":{"geometry":["line"],"tags":{"embankment":"yes"},"name":"Embankment","matchScore":0.2},"emergency/ambulance_station":{"icon":"hospital","fields":["operator","building_area","address"],"geometry":["point","area"],"terms":["EMS","EMT","rescue"],"tags":{"emergency":"ambulance_station"},"name":"Ambulance Station"},"emergency/fire_hydrant":{"fields":["fire_hydrant/type"],"geometry":["point","vertex"],"tags":{"emergency":"fire_hydrant"},"name":"Fire Hydrant"},"emergency/phone":{"icon":"emergency-telephone","fields":["operator"],"geometry":["point","vertex"],"tags":{"emergency":"phone"},"name":"Emergency Phone"},"entrance":{"icon":"entrance","geometry":["vertex"],"tags":{"entrance":"*"},"fields":["entrance","access_simple","address"],"name":"Entrance/Exit"},"footway/crossing":{"fields":["crossing","access","surface","sloped_curb","tactile_paving"],"geometry":["line"],"tags":{"highway":"footway","footway":"crossing"},"terms":[],"name":"Street Crossing"},"footway/crosswalk":{"icon":"highway-footway","fields":["crossing","access","surface","sloped_curb","tactile_paving"],"geometry":["line"],"tags":{"highway":"footway","footway":"crossing","crossing":"zebra"},"terms":["zebra crossing"],"name":"Pedestrian Crosswalk"},"footway/sidewalk":{"icon":"highway-footway","fields":["surface","lit","width","structure","access"],"geometry":["line"],"tags":{"highway":"footway","footway":"sidewalk"},"terms":[],"name":"Sidewalk"},"ford":{"geometry":["vertex"],"tags":{"ford":"yes"},"name":"Ford"},"golf/bunker":{"icon":"golf","geometry":["area"],"tags":{"golf":"bunker","natural":"sand"},"terms":["hazard","bunker"],"name":"Sand Trap"},"golf/fairway":{"icon":"golf","geometry":["area"],"tags":{"golf":"fairway","landuse":"grass"},"name":"Fairway"},"golf/green":{"icon":"golf","geometry":["area"],"tags":{"golf":"green","landuse":"grass","leisure":"pitch","sport":"golf"},"name":"Putting Green"},"golf/hole":{"icon":"golf","fields":["golf_hole","par","handicap"],"geometry":["line"],"tags":{"golf":"hole"},"name":"Golf Hole"},"golf/lateral_water_hazard":{"icon":"golf","geometry":["line","area"],"tags":{"golf":"lateral_water_hazard","natural":"water"},"name":"Lateral Water Hazard"},"golf/rough":{"icon":"golf","geometry":["area"],"tags":{"golf":"rough","landuse":"grass"},"name":"Rough"},"golf/tee":{"icon":"golf","geometry":["area"],"tags":{"golf":"tee","landuse":"grass"},"terms":["teeing ground"],"name":"Tee Box"},"golf/water_hazard":{"icon":"golf","geometry":["line","area"],"tags":{"golf":"water_hazard","natural":"water"},"name":"Water Hazard"},"highway":{"fields":["highway"],"geometry":["point","vertex","line","area"],"tags":{"highway":"*"},"searchable":false,"name":"Highway"},"highway/bridleway":{"fields":["surface","width","structure","access"],"icon":"highway-bridleway","geometry":["line"],"tags":{"highway":"bridleway"},"terms":["bridleway","equestrian","horse"],"name":"Bridle Path"},"highway/bus_stop":{"icon":"bus","fields":["network","operator","bench","shelter","covered"],"geometry":["point","vertex"],"tags":{"highway":"bus_stop"},"terms":[],"name":"Bus Stop"},"highway/corridor":{"icon":"highway-footway","fields":["width","level","access_simple"],"geometry":["line"],"tags":{"highway":"corridor"},"terms":["gallery","hall","hallway","indoor","passage","passageway"],"name":"Indoor Corridor"},"highway/crossing":{"fields":["crossing","sloped_curb","tactile_paving"],"geometry":["vertex"],"tags":{"highway":"crossing"},"terms":[],"name":"Street Crossing"},"highway/crosswalk":{"fields":["crossing","sloped_curb","tactile_paving"],"geometry":["vertex"],"tags":{"highway":"crossing","crossing":"zebra"},"terms":["zebra crossing"],"name":"Pedestrian Crosswalk"},"highway/cycleway":{"icon":"highway-cycleway","fields":["surface","lit","width","oneway","structure","access"],"geometry":["line"],"tags":{"highway":"cycleway"},"terms":["bike"],"name":"Cycle Path"},"highway/footway":{"icon":"highway-footway","fields":["surface","lit","width","structure","access"],"geometry":["line","area"],"terms":["hike","hiking","trackway","trail","walk"],"tags":{"highway":"footway"},"name":"Foot Path"},"highway/living_street":{"icon":"highway-living-street","fields":["oneway","maxspeed","structure","access","surface","cycleway"],"geometry":["line"],"tags":{"highway":"living_street"},"name":"Living Street"},"highway/mini_roundabout":{"geometry":["vertex"],"tags":{"highway":"mini_roundabout"},"fields":["clock_direction"],"name":"Mini-Roundabout"},"highway/motorway":{"icon":"highway-motorway","fields":["oneway_yes","maxspeed","structure","access","lanes","surface","ref"],"geometry":["line"],"tags":{"highway":"motorway"},"terms":[],"name":"Motorway"},"highway/motorway_junction":{"geometry":["vertex"],"tags":{"highway":"motorway_junction"},"fields":["ref"],"name":"Motorway Junction / Exit"},"highway/motorway_link":{"icon":"highway-motorway-link","fields":["oneway_yes","maxspeed","structure","access","surface","ref"],"geometry":["line"],"tags":{"highway":"motorway_link"},"addTags":{"highway":"motorway_link","oneway":"yes"},"removeTags":{"highway":"motorway_link","oneway":"yes"},"terms":["ramp","on ramp","off ramp"],"name":"Motorway Link"},"highway/path":{"icon":"highway-path","fields":["surface","width","structure","access","incline","sac_scale","trail_visibility","mtb/scale","mtb/scale/uphill","mtb/scale/imba","ref"],"geometry":["line"],"terms":["hike","hiking","trackway","trail","walk"],"tags":{"highway":"path"},"name":"Path"},"highway/pedestrian":{"icon":"highway-footway","fields":["surface","lit","width","oneway","structure","access"],"geometry":["line","area"],"tags":{"highway":"pedestrian"},"terms":[],"name":"Pedestrian Street"},"highway/primary":{"icon":"highway-primary","fields":["oneway","maxspeed","structure","access","lanes","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"primary"},"terms":[],"name":"Primary Road"},"highway/primary_link":{"icon":"highway-primary-link","fields":["oneway","maxspeed","structure","access","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"primary_link"},"terms":["ramp","on ramp","off ramp"],"name":"Primary Link"},"highway/raceway":{"icon":"highway-unclassified","fields":["oneway","surface","sport_racing","structure"],"geometry":["line"],"tags":{"highway":"raceway"},"addTags":{"highway":"raceway","sport":"motor"},"terms":["auto*","race*","nascar"],"name":"Motor Raceway"},"highway/residential":{"icon":"highway-residential","fields":["oneway","maxspeed","structure","access","surface","cycleway"],"geometry":["line"],"tags":{"highway":"residential"},"terms":[],"name":"Residential Road"},"highway/rest_area":{"geometry":["point","vertex","area"],"tags":{"highway":"rest_area"},"terms":["rest stop"],"name":"Rest Area"},"highway/road":{"icon":"highway-road","fields":["oneway","maxspeed","structure","access","surface"],"geometry":["line"],"tags":{"highway":"road"},"terms":[],"name":"Unknown Road"},"highway/secondary":{"icon":"highway-secondary","fields":["oneway","maxspeed","structure","access","lanes","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"secondary"},"terms":[],"name":"Secondary Road"},"highway/secondary_link":{"icon":"highway-secondary-link","fields":["oneway","maxspeed","structure","access","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"secondary_link"},"terms":["ramp","on ramp","off ramp"],"name":"Secondary Link"},"highway/service":{"icon":"highway-service","fields":["service","oneway","maxspeed","structure","access","surface","cycleway"],"geometry":["line"],"tags":{"highway":"service"},"terms":[],"name":"Service Road"},"highway/service/alley":{"icon":"highway-service","fields":["oneway","access","surface"],"geometry":["line"],"tags":{"highway":"service","service":"alley"},"name":"Alley"},"highway/service/drive-through":{"icon":"highway-service","fields":["oneway","access","surface"],"geometry":["line"],"tags":{"highway":"service","service":"drive-through"},"name":"Drive-Through"},"highway/service/driveway":{"icon":"highway-service","fields":["oneway","access","surface"],"geometry":["line"],"tags":{"highway":"service","service":"driveway"},"name":"Driveway"},"highway/service/emergency_access":{"icon":"highway-service","fields":["oneway","access","surface"],"geometry":["line"],"tags":{"highway":"service","service":"emergency_access"},"name":"Emergency Access"},"highway/service/parking_aisle":{"icon":"highway-service","fields":["oneway","access","surface"],"geometry":["line"],"tags":{"highway":"service","service":"parking_aisle"},"name":"Parking Aisle"},"highway/services":{"geometry":["point","vertex","area"],"tags":{"highway":"services"},"terms":["services","travel plaza","service station"],"name":"Service Area"},"highway/steps":{"fields":["surface","lit","width","incline_steps","handrail"],"icon":"highway-steps","geometry":["line"],"tags":{"highway":"steps"},"terms":["stairs","staircase"],"name":"Steps"},"highway/stop":{"geometry":["vertex"],"tags":{"highway":"stop"},"terms":["stop sign"],"name":"Stop Sign"},"highway/street_lamp":{"geometry":["point","vertex"],"tags":{"highway":"street_lamp"},"fields":["lamp_type","ref"],"terms":["streetlight","street light","lamp","light","gaslight"],"name":"Street Lamp"},"highway/tertiary":{"icon":"highway-tertiary","fields":["oneway","maxspeed","structure","access","lanes","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"tertiary"},"terms":[],"name":"Tertiary Road"},"highway/tertiary_link":{"icon":"highway-tertiary-link","fields":["oneway","maxspeed","structure","access","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"tertiary_link"},"terms":["ramp","on ramp","off ramp"],"name":"Tertiary Link"},"highway/track":{"icon":"highway-track","fields":["surface","width","structure","access","incline","tracktype","smoothness","mtb/scale","mtb/scale/uphill","mtb/scale/imba"],"geometry":["line"],"tags":{"highway":"track"},"terms":["woods road","forest road","logging road","fire road","farm road","agricultural road","ranch road","carriage road","primitive","unmaintained","rut","offroad","4wd","4x4","four wheel drive","atv","quad","jeep","double track","two track"],"name":"Unmaintained Track Road"},"highway/traffic_signals":{"geometry":["vertex"],"tags":{"highway":"traffic_signals"},"fields":["traffic_signals"],"terms":["light","stoplight","traffic light"],"name":"Traffic Signals"},"highway/trunk":{"icon":"highway-trunk","fields":["oneway","maxspeed","structure","access","lanes","surface","ref"],"geometry":["line"],"tags":{"highway":"trunk"},"terms":[],"name":"Trunk Road"},"highway/trunk_link":{"icon":"highway-trunk-link","fields":["oneway","maxspeed","structure","access","surface","ref"],"geometry":["line"],"tags":{"highway":"trunk_link"},"terms":["ramp","on ramp","off ramp"],"name":"Trunk Link"},"highway/turning_circle":{"icon":"circle","geometry":["vertex"],"tags":{"highway":"turning_circle"},"terms":["cul-de-sac"],"name":"Turning Circle"},"highway/unclassified":{"icon":"highway-unclassified","fields":["oneway","maxspeed","structure","access","surface","cycleway"],"geometry":["line"],"tags":{"highway":"unclassified"},"terms":[],"name":"Minor/Unclassified Road"},"historic":{"fields":["historic"],"geometry":["point","vertex","area"],"tags":{"historic":"*"},"name":"Historic Site"},"historic/archaeological_site":{"geometry":["point","vertex","area"],"tags":{"historic":"archaeological_site"},"name":"Archaeological Site"},"historic/boundary_stone":{"geometry":["point","vertex"],"tags":{"historic":"boundary_stone"},"name":"Boundary Stone"},"historic/castle":{"geometry":["point","area"],"tags":{"historic":"castle"},"name":"Castle"},"historic/memorial":{"icon":"monument","geometry":["point","vertex","area"],"tags":{"historic":"memorial"},"name":"Memorial"},"historic/monument":{"icon":"monument","geometry":["point","vertex","area"],"tags":{"historic":"monument"},"name":"Monument"},"historic/ruins":{"geometry":["point","vertex","area"],"tags":{"historic":"ruins"},"name":"Ruins"},"historic/wayside_cross":{"geometry":["point","vertex","area"],"tags":{"historic":"wayside_cross"},"name":"Wayside Cross"},"historic/wayside_shrine":{"geometry":["point","vertex","area"],"tags":{"historic":"wayside_shrine"},"name":"Wayside Shrine"},"junction":{"geometry":["vertex","area"],"tags":{"junction":"yes"},"name":"Junction"},"landuse":{"fields":["landuse"],"geometry":["area"],"tags":{"landuse":"*"},"name":"Land Use"},"landuse/allotments":{"geometry":["area"],"tags":{"landuse":"allotments"},"terms":["allotment","garden"],"name":"Community Garden"},"landuse/basin":{"geometry":["area"],"tags":{"landuse":"basin"},"terms":[],"name":"Basin"},"landuse/cemetery":{"icon":"cemetery","fields":["religion","denomination"],"geometry":["area"],"tags":{"landuse":"cemetery"},"terms":[],"name":"Cemetery"},"landuse/churchyard":{"fields":["religion","denomination"],"geometry":["area"],"tags":{"landuse":"churchyard"},"terms":[],"name":"Churchyard"},"landuse/commercial":{"icon":"commercial","geometry":["area"],"tags":{"landuse":"commercial"},"terms":[],"name":"Commercial Area"},"landuse/construction":{"fields":["construction","operator"],"geometry":["area"],"tags":{"landuse":"construction"},"terms":[],"name":"Construction"},"landuse/farm":{"icon":"farm","fields":["crop"],"geometry":["point","area"],"tags":{"landuse":"farm"},"terms":[],"name":"Farmland","searchable":false},"landuse/farmland":{"icon":"farm","fields":["crop"],"geometry":["area"],"tags":{"landuse":"farmland"},"terms":[],"name":"Farmland"},"landuse/farmyard":{"icon":"farm","fields":["crop"],"geometry":["area"],"tags":{"landuse":"farmyard"},"terms":[],"name":"Farmyard"},"landuse/forest":{"icon":"park2","fields":["leaf_type","leaf_cycle"],"geometry":["area"],"tags":{"landuse":"forest"},"terms":["tree"],"name":"Forest"},"landuse/garages":{"geometry":["area"],"tags":{"landuse":"garages"},"terms":[],"name":"Garages"},"landuse/grass":{"geometry":["area"],"tags":{"landuse":"grass"},"terms":[],"name":"Grass"},"landuse/industrial":{"icon":"industrial","geometry":["area"],"tags":{"landuse":"industrial"},"terms":[],"name":"Industrial Area"},"landuse/landfill":{"geometry":["area"],"tags":{"landuse":"landfill"},"terms":["dump"],"name":"Landfill"},"landuse/meadow":{"geometry":["area"],"tags":{"landuse":"meadow"},"terms":[],"name":"Meadow"},"landuse/military":{"geometry":["area"],"tags":{"landuse":"military"},"terms":[],"name":"Military Area"},"landuse/orchard":{"icon":"park2","fields":["trees"],"geometry":["area"],"tags":{"landuse":"orchard"},"terms":[],"name":"Orchard"},"landuse/plant_nursery":{"icon":"garden","fields":["name"],"geometry":["point","area"],"tags":{"landuse":"plant_nursery"},"terms":["vivero"],"name":"Plant Nursery"},"landuse/quarry":{"geometry":["area"],"tags":{"landuse":"quarry"},"terms":[],"name":"Quarry"},"landuse/residential":{"icon":"building","geometry":["area"],"tags":{"landuse":"residential"},"terms":[],"name":"Residential Area"},"landuse/retail":{"icon":"shop","geometry":["area"],"tags":{"landuse":"retail"},"name":"Retail Area"},"landuse/vineyard":{"geometry":["area"],"tags":{"landuse":"vineyard"},"terms":[],"name":"Vineyard"},"leisure":{"fields":["leisure"],"geometry":["point","vertex","area"],"tags":{"leisure":"*"},"name":"Leisure"},"leisure/adult_gaming_centre":{"fields":["operator","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"terms":["gambling","slot machine"],"tags":{"leisure":"adult_gaming_centre"},"name":"Adult Gaming Center"},"leisure/bird_hide":{"fields":["building_area"],"geometry":["point","area"],"tags":{"leisure":"bird_hide"},"terms":["machan","ornithology"],"name":"Bird Hide"},"leisure/bowling_alley":{"fields":["operator","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"terms":[],"tags":{"leisure":"bowling_alley"},"name":"Bowling Alley"},"leisure/common":{"geometry":["point","area"],"terms":["open space"],"tags":{"leisure":"common"},"name":"Common"},"leisure/dog_park":{"icon":"dog-park","geometry":["point","area"],"terms":[],"tags":{"leisure":"dog_park"},"name":"Dog Park"},"leisure/firepit":{"geometry":["point","area"],"tags":{"leisure":"firepit"},"terms":["fireplace","campfire"],"name":"Firepit"},"leisure/garden":{"icon":"garden","geometry":["point","vertex","area"],"tags":{"leisure":"garden"},"name":"Garden"},"leisure/golf_course":{"icon":"golf","fields":["operator","address","opening_hours"],"geometry":["point","area"],"terms":["links"],"tags":{"leisure":"golf_course"},"name":"Golf Course"},"leisure/ice_rink":{"icon":"pitch","fields":["seasonal","sport_ice","operator","address","building","opening_hours"],"geometry":["point","area"],"terms":["hockey","skating","curling"],"tags":{"leisure":"ice_rink"},"name":"Ice Rink"},"leisure/marina":{"icon":"harbor","fields":["operator","address","capacity","fee","sanitary_dump_station","power_supply","internet_access"],"geometry":["point","vertex","area"],"terms":["boat"],"tags":{"leisure":"marina"},"name":"Marina"},"leisure/nature_reserve":{"icon":"park","geometry":["point","area"],"tags":{"leisure":"nature_reserve"},"terms":["protected","wildlife"],"name":"Nature Reserve"},"leisure/park":{"icon":"park","geometry":["point","area"],"terms":["esplanade","estate","forest","garden","grass","green","grounds","lawn","lot","meadow","parkland","place","playground","plaza","pleasure garden","recreation area","square","tract","village green","woodland"],"tags":{"leisure":"park"},"name":"Park"},"leisure/picnic_table":{"geometry":["point"],"tags":{"leisure":"picnic_table"},"terms":["bench"],"name":"Picnic Table"},"leisure/pitch":{"icon":"pitch","fields":["sport","surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch"},"terms":["field"],"name":"Sport Pitch"},"leisure/pitch/american_football":{"icon":"america-football","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"american_football"},"terms":[],"name":"American Football Field"},"leisure/pitch/baseball":{"icon":"baseball","fields":["lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"baseball"},"terms":[],"name":"Baseball Diamond"},"leisure/pitch/basketball":{"icon":"basketball","fields":["surface","hoops","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"basketball"},"terms":[],"name":"Basketball Court"},"leisure/pitch/rugby_league":{"icon":"america-football","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"rugby_league"},"terms":[],"name":"Rugby League Field"},"leisure/pitch/rugby_union":{"icon":"america-football","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"rugby_union"},"terms":[],"name":"Rugby Union Field"},"leisure/pitch/skateboard":{"icon":"pitch","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"skateboard"},"terms":[],"name":"Skate Park"},"leisure/pitch/soccer":{"icon":"soccer","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"soccer"},"terms":[],"name":"Soccer Field"},"leisure/pitch/tennis":{"icon":"tennis","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"tennis"},"terms":[],"name":"Tennis Court"},"leisure/pitch/volleyball":{"icon":"pitch","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"volleyball"},"terms":[],"name":"Volleyball Court"},"leisure/playground":{"icon":"playground","geometry":["point","area"],"terms":["jungle gym","play area"],"tags":{"leisure":"playground"},"name":"Playground"},"leisure/running_track":{"icon":"pitch","fields":["surface","sport_racing","lit","width","lanes"],"geometry":["point","line"],"tags":{"leisure":"track","sport":"running"},"name":"Running Track"},"leisure/slipway":{"geometry":["point","line"],"terms":["boat launch","boat ramp"],"tags":{"leisure":"slipway"},"name":"Slipway"},"leisure/sports_centre":{"icon":"pitch","fields":["sport","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"leisure":"sports_centre"},"terms":["gym"],"name":"Sports Center / Gym"},"leisure/sports_centre/swimming":{"icon":"swimming","fields":["access_simple","operator","address","building"],"geometry":["point","area"],"terms":["dive","water"],"tags":{"leisure":"sports_centre","sport":"swimming"},"name":"Swimming Pool Facility"},"leisure/stadium":{"icon":"pitch","fields":["sport","address"],"geometry":["point","area"],"tags":{"leisure":"stadium"},"name":"Stadium"},"leisure/swimming_pool":{"icon":"swimming","fields":["access_simple","operator","address"],"geometry":["point","area"],"terms":["dive","water"],"tags":{"leisure":"swimming_pool"},"name":"Swimming Pool"},"leisure/track":{"icon":"highway-road","fields":["surface","sport_racing","lit","width","lanes"],"geometry":["point","line"],"tags":{"leisure":"track"},"name":"Racetrack (non-Motorsport)"},"leisure/water_park":{"icon":"swimming","fields":["operator","address"],"geometry":["point","area"],"terms":["swim","pool","dive"],"tags":{"leisure":"water_park"},"name":"Water Park"},"line":{"name":"Line","tags":{},"geometry":["line"],"matchScore":0.1},"man_made":{"fields":["man_made"],"geometry":["point","vertex","line","area"],"tags":{"man_made":"*"},"name":"Man Made"},"man_made/adit":{"geometry":["point","area"],"fields":["operator"],"terms":["entrance","underground","mine","cave"],"tags":{"man_made":"adit"},"name":"Adit"},"man_made/breakwater":{"geometry":["line","area"],"tags":{"man_made":"breakwater"},"name":"Breakwater"},"man_made/chimney":{"geometry":["point","area"],"tags":{"man_made":"chimney"},"name":"Chimney"},"man_made/cutline":{"geometry":["line"],"tags":{"man_made":"cutline"},"name":"Cut line"},"man_made/embankment":{"geometry":["line"],"tags":{"man_made":"embankment"},"name":"Embankment","searchable":false},"man_made/flagpole":{"geometry":["point"],"tags":{"man_made":"flagpole"},"name":"Flagpole","icon":"embassy"},"man_made/gasometer":{"geometry":["point","area"],"terms":["gas holder"],"tags":{"man_made":"gasometer"},"name":"Gasometer"},"man_made/groyne":{"geometry":["line","area"],"tags":{"man_made":"groyne"},"name":"Groyne"},"man_made/lighthouse":{"icon":"lighthouse","fields":["building_area"],"geometry":["point","area"],"tags":{"man_made":"lighthouse"},"name":"Lighthouse"},"man_made/mast":{"geometry":["point"],"terms":["broadcast tower","cell phone tower","cell tower","guyed tower","mobile phone tower","radio tower","television tower","transmission mast","transmission tower","tv tower"],"tags":{"man_made":"mast"},"name":"Radio Mast"},"man_made/observation":{"geometry":["point","area"],"terms":["lookout tower","fire tower"],"tags":{"man_made":"tower","tower:type":"observation"},"name":"Observation Tower"},"man_made/petroleum_well":{"geometry":["point"],"terms":["drilling rig","oil derrick","oil drill","oil horse","oil rig","oil pump","petroleum well","pumpjack"],"tags":{"man_made":"petroleum_well"},"name":"Oil Well"},"man_made/pier":{"geometry":["line","area"],"terms":["dock"],"tags":{"man_made":"pier"},"name":"Pier"},"man_made/pipeline":{"icon":"pipeline-line","fields":["location","operator"],"geometry":["line"],"tags":{"man_made":"pipeline"},"name":"Pipeline"},"man_made/silo":{"fields":["building_area","crop"],"geometry":["point","area"],"terms":["grain","corn","wheat"],"tags":{"man_made":"silo"},"name":"Silo"},"man_made/storage_tank":{"fields":["building_area","content"],"geometry":["point","area"],"terms":["water","oil","gas","petrol"],"tags":{"man_made":"storage_tank"},"name":"Storage Tank"},"man_made/surveillance":{"icon":"camera","geometry":["point"],"tags":{"man_made":"surveillance"},"name":"Surveillance"},"man_made/survey_point":{"icon":"monument","fields":["ref"],"geometry":["point","vertex"],"tags":{"man_made":"survey_point"},"name":"Survey Point"},"man_made/tower":{"fields":["towertype"],"geometry":["point","area"],"tags":{"man_made":"tower"},"name":"Tower"},"man_made/wastewater_plant":{"icon":"water","fields":["operator","address"],"geometry":["point","area"],"terms":["sewage*","water treatment plant","reclamation plant"],"tags":{"man_made":"wastewater_plant"},"name":"Wastewater Plant"},"man_made/water_tower":{"icon":"water","fields":["operator"],"geometry":["point","area"],"tags":{"man_made":"water_tower"},"name":"Water Tower"},"man_made/water_well":{"fields":["operator"],"geometry":["point","area"],"tags":{"man_made":"water_well"},"name":"Water Well"},"man_made/water_works":{"icon":"water","fields":["operator","address"],"geometry":["point","area"],"tags":{"man_made":"water_works"},"name":"Water Works"},"man_made/works":{"geometry":["point","area"],"terms":["car assembly plant","aluminium processing plant","brewery","furniture manufacture factory","oil refinery","plastic recycling"],"tags":{"man_made":"works"},"name":"Works"},"military/airfield":{"icon":"airfield","geometry":["point","vertex","area"],"terms":[],"tags":{"military":"airfield"},"name":"Airfield"},"military/barracks":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"barracks"},"name":"Barracks"},"military/bunker":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"bunker"},"name":"Bunker"},"military/checkpoint":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"checkpoint"},"name":"Checkpoint"},"military/danger_area":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"danger_area"},"name":"Danger Area"},"military/naval_base":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"naval_base"},"name":"Naval Base"},"military/obstacle_course":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"obstacle_course"},"name":"Obstacle Course"},"military/range":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"range"},"name":"Military Range"},"military/training_area":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"training_area"},"name":"Training area"},"natural":{"fields":["natural"],"geometry":["point","vertex","area"],"tags":{"natural":"*"},"name":"Natural"},"natural/bay":{"geometry":["point","area"],"terms":[],"tags":{"natural":"bay"},"name":"Bay"},"natural/beach":{"fields":["surface"],"geometry":["point","area"],"terms":[],"tags":{"natural":"beach"},"name":"Beach"},"natural/cave_entrance":{"geometry":["point","area"],"fields":["fee","access_simple"],"terms":["cavern","hollow","grotto","shelter","cavity"],"tags":{"natural":"cave_entrance"},"name":"Cave Entrance"},"natural/cliff":{"geometry":["point","vertex","line","area"],"terms":[],"tags":{"natural":"cliff"},"name":"Cliff"},"natural/coastline":{"geometry":["line"],"terms":["shore"],"tags":{"natural":"coastline"},"name":"Coastline"},"natural/fell":{"geometry":["area"],"terms":[],"tags":{"natural":"fell"},"name":"Fell"},"natural/glacier":{"geometry":["area"],"terms":[],"tags":{"natural":"glacier"},"name":"Glacier"},"natural/grassland":{"geometry":["point","area"],"terms":[],"tags":{"natural":"grassland"},"name":"Grassland"},"natural/heath":{"geometry":["area"],"terms":[],"tags":{"natural":"heath"},"name":"Heath"},"natural/peak":{"icon":"triangle","fields":["elevation"],"geometry":["point","vertex"],"tags":{"natural":"peak"},"terms":["acme","aiguille","alp","climax","crest","crown","hill","mount","mountain","pinnacle","summit","tip","top"],"name":"Peak"},"natural/saddle":{"icon":"triangle-stroked","fields":["elevation"],"geometry":["point","vertex"],"tags":{"natural":"saddle"},"terms":["pass","mountain pass","top"],"name":"Saddle"},"natural/scree":{"geometry":["area"],"tags":{"natural":"scree"},"terms":["loose rocks"],"name":"Scree"},"natural/scrub":{"geometry":["area"],"tags":{"natural":"scrub"},"terms":["bush","shrubs"],"name":"Scrub"},"natural/spring":{"geometry":["point","vertex"],"terms":[],"tags":{"natural":"spring"},"name":"Spring"},"natural/tree":{"fields":["leaf_type_singular","leaf_cycle_singular","denotation"],"icon":"park","geometry":["point","vertex"],"terms":[],"tags":{"natural":"tree"},"name":"Tree"},"natural/tree_row":{"fields":["leaf_type","leaf_cycle","denotation"],"icon":"park","geometry":["line"],"terms":[],"tags":{"natural":"tree_row"},"name":"Tree row"},"natural/volcano":{"icon":"triangle","fields":["elevation"],"geometry":["point","vertex"],"tags":{"natural":"volcano"},"terms":["mountain","crater"],"name":"Volcano"},"natural/water":{"fields":["water"],"geometry":["area"],"tags":{"natural":"water"},"icon":"water","name":"Water"},"natural/water/lake":{"geometry":["area"],"tags":{"natural":"water","water":"lake"},"terms":["lakelet","loch","mere"],"icon":"water","name":"Lake"},"natural/water/pond":{"geometry":["area"],"tags":{"natural":"water","water":"pond"},"terms":["lakelet","millpond","tarn","pool","mere"],"icon":"water","name":"Pond"},"natural/water/reservoir":{"geometry":["area"],"tags":{"natural":"water","water":"reservoir"},"icon":"water","name":"Reservoir"},"natural/wetland":{"icon":"wetland","fields":["wetland"],"geometry":["point","area"],"tags":{"natural":"wetland"},"terms":[],"name":"Wetland"},"natural/wood":{"icon":"park2","fields":["leaf_type","leaf_cycle"],"geometry":["point","area"],"tags":{"natural":"wood"},"terms":["tree"],"name":"Wood"},"office":{"icon":"commercial","fields":["office","address","building_area","opening_hours","smoking"],"geometry":["point","vertex","area"],"tags":{"office":"*"},"terms":[],"name":"Office"},"office/accountant":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"accountant"},"terms":[],"name":"Accountant"},"office/administrative":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"administrative"},"terms":[],"name":"Administrative Office"},"office/architect":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"architect"},"terms":[],"name":"Architect"},"office/company":{"icon":"commercial","fields":["address","building_area","opening_hours","smoking"],"geometry":["point","vertex","area"],"tags":{"office":"company"},"terms":[],"name":"Company Office"},"office/educational_institution":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"educational_institution"},"terms":[],"name":"Educational Institution"},"office/employment_agency":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"employment_agency"},"terms":["job"],"name":"Employment Agency"},"office/estate_agent":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"estate_agent"},"terms":[],"name":"Real Estate Office"},"office/financial":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"financial"},"terms":[],"name":"Financial Office"},"office/government":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"government"},"terms":[],"name":"Government Office"},"office/insurance":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"insurance"},"terms":[],"name":"Insurance Office"},"office/it":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"it"},"terms":[],"name":"IT Office"},"office/lawyer":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"lawyer"},"terms":[],"name":"Law Office"},"office/newspaper":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"newspaper"},"terms":[],"name":"Newspaper"},"office/ngo":{"icon":"commercial","fields":["address","building_area","opening_hours","smoking"],"geometry":["point","vertex","area"],"tags":{"office":"ngo"},"terms":[],"name":"NGO Office"},"office/physician":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"physician"},"terms":[],"name":"Physician"},"office/political_party":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"political_party"},"terms":[],"name":"Political Party"},"office/research":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"research"},"terms":[],"name":"Research Office"},"office/telecommunication":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"telecommunication"},"terms":[],"name":"Telecom Office"},"office/therapist":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"therapist"},"terms":[],"name":"Therapist"},"office/travel_agent":{"icon":"suitcase","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"travel_agent"},"terms":[],"name":"Travel Agency","searchable":false},"piste":{"icon":"skiing","fields":["piste/type","piste/difficulty","piste/grooming","oneway","lit"],"geometry":["point","line","area"],"terms":["ski","sled","sleigh","snowboard","nordic","downhill","snowmobile"],"tags":{"piste:type":"*"},"name":"Piste/Ski Trail"},"place":{"fields":["place"],"geometry":["point","vertex","area"],"tags":{"place":"*"},"searchable":false,"name":"Place"},"place/city":{"icon":"city","fields":["population"],"geometry":["point","area"],"tags":{"place":"city"},"name":"City"},"place/farm":{"icon":"farm","geometry":["point","area"],"tags":{"place":"farm"},"name":"Farm"},"place/hamlet":{"icon":"triangle-stroked","fields":["population"],"geometry":["point","area"],"tags":{"place":"hamlet"},"name":"Hamlet"},"place/island":{"geometry":["point","area"],"terms":["archipelago","atoll","bar","cay","isle","islet","key","reef"],"tags":{"place":"island"},"name":"Island"},"place/isolated_dwelling":{"geometry":["point","area"],"tags":{"place":"isolated_dwelling"},"name":"Isolated Dwelling"},"place/locality":{"icon":"marker","fields":["population"],"geometry":["point","area"],"tags":{"place":"locality"},"name":"Locality"},"place/neighbourhood":{"icon":"triangle-stroked","fields":["population"],"geometry":["point","area"],"tags":{"place":"neighbourhood"},"terms":["neighbourhood"],"name":"Neighborhood"},"place/suburb":{"icon":"triangle-stroked","fields":["population"],"geometry":["point","area"],"tags":{"place":"suburb"},"terms":["Boro","Quarter"],"name":"Borough"},"place/town":{"icon":"town","fields":["population"],"geometry":["point","area"],"tags":{"place":"town"},"name":"Town"},"place/village":{"icon":"village","fields":["population"],"geometry":["point","area"],"tags":{"place":"village"},"name":"Village"},"point":{"name":"Point","tags":{},"geometry":["point"],"matchScore":0.1},"power":{"geometry":["point","vertex","line","area"],"tags":{"power":"*"},"fields":["power"],"searchable":false,"name":"Power"},"power/generator":{"fields":["operator","generator/source","generator/method","generator/type"],"geometry":["point","vertex","area"],"tags":{"power":"generator"},"name":"Power Generator"},"power/line":{"geometry":["line"],"tags":{"power":"line"},"name":"Power Line","icon":"power-line"},"power/minor_line":{"geometry":["line"],"tags":{"power":"minor_line"},"name":"Minor Power Line","icon":"power-line"},"power/pole":{"geometry":["vertex"],"tags":{"power":"pole"},"name":"Power Pole"},"power/sub_station":{"fields":["substation","operator","building"],"geometry":["point","area"],"tags":{"power":"sub_station"},"name":"Substation","searchable":false},"power/substation":{"fields":["substation","operator","building"],"geometry":["point","area"],"tags":{"power":"substation"},"name":"Substation"},"power/tower":{"geometry":["vertex"],"tags":{"power":"tower"},"name":"High-Voltage Tower"},"power/transformer":{"geometry":["point","vertex","area"],"tags":{"power":"transformer"},"name":"Transformer"},"public_transport/platform":{"fields":["ref","network","operator","shelter"],"geometry":["point","vertex","line","area"],"tags":{"public_transport":"platform"},"name":"Platform"},"public_transport/stop_position":{"icon":"bus","fields":["ref","network","operator"],"geometry":["vertex"],"tags":{"public_transport":"stop_position"},"name":"Stop Position"},"railway":{"fields":["railway"],"geometry":["point","vertex","line","area"],"tags":{"railway":"*"},"searchable":false,"name":"Railway"},"railway/abandoned":{"icon":"railway-abandoned","geometry":["line"],"tags":{"railway":"abandoned"},"fields":["structure","service_rail"],"terms":[],"name":"Abandoned Railway"},"railway/disused":{"icon":"railway-disused","geometry":["line"],"tags":{"railway":"disused"},"fields":["structure","service_rail"],"terms":[],"name":"Disused Railway"},"railway/funicular":{"geometry":["line"],"terms":["venicular","cliff railway","cable car","cable railway","funicular railway"],"fields":["structure","gauge","service_rail"],"tags":{"railway":"funicular"},"icon":"railway-rail","name":"Funicular"},"railway/halt":{"icon":"rail","geometry":["point","vertex"],"tags":{"railway":"halt"},"name":"Railway Halt","terms":["break","interrupt","rest","wait","interruption"]},"railway/level_crossing":{"icon":"cross","geometry":["vertex"],"tags":{"railway":"level_crossing"},"terms":["crossing","railroad crossing","level crossing","grade crossing","road through railroad","train crossing"],"name":"Railway Crossing"},"railway/monorail":{"icon":"railway-monorail","geometry":["line"],"tags":{"railway":"monorail"},"fields":["structure","electrified","service_rail"],"terms":[],"name":"Monorail"},"railway/narrow_gauge":{"icon":"railway-rail","geometry":["line"],"tags":{"railway":"narrow_gauge"},"fields":["structure","gauge","electrified","service_rail"],"terms":["narrow gauge railway","narrow gauge railroad"],"name":"Narrow Gauge Rail"},"railway/platform":{"geometry":["point","vertex","line","area"],"tags":{"railway":"platform"},"name":"Railway Platform"},"railway/rail":{"icon":"railway-rail","geometry":["line"],"tags":{"railway":"rail"},"fields":["structure","gauge","electrified","service_rail"],"terms":[],"name":"Rail"},"railway/station":{"icon":"rail","fields":["network","operator","address","building_area"],"geometry":["point","vertex","area"],"tags":{"railway":"station"},"terms":["train station","station"],"name":"Railway Station"},"railway/subway":{"icon":"railway-subway","geometry":["line"],"tags":{"railway":"subway"},"fields":["structure","gauge","electrified","service_rail"],"terms":[],"name":"Subway"},"railway/subway_entrance":{"icon":"rail-metro","geometry":["point"],"tags":{"railway":"subway_entrance"},"terms":[],"name":"Subway Entrance"},"railway/tram":{"icon":"railway-light-rail","geometry":["line"],"tags":{"railway":"tram"},"fields":["structure","gauge","electrified","service_rail"],"terms":["streetcar"],"name":"Tram"},"relation":{"name":"Relation","icon":"relation","tags":{},"geometry":["relation"],"fields":["relation"]},"roundabout":{"geometry":["vertex","line"],"tags":{"junction":"roundabout"},"name":"Roundabout","searchable":false},"route/ferry":{"icon":"ferry-line","geometry":["line"],"tags":{"route":"ferry"},"name":"Ferry Route"},"shop":{"icon":"shop","fields":["shop","operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"*"},"terms":[],"name":"Shop"},"shop/alcohol":{"icon":"alcohol-shop","fields":["operator","address","building_area","opening_hours","drive_through"],"geometry":["point","area"],"terms":["alcohol","beer","booze","wine"],"tags":{"shop":"alcohol"},"name":"Liquor Store"},"shop/anime":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"anime"},"name":"Anime Shop"},"shop/antiques":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"antiques"},"name":"Antiques Shop"},"shop/art":{"icon":"shop","fields":["artwork_type","operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["art*","exhibit*","gallery"],"tags":{"shop":"art"},"name":"Art Store"},"shop/baby_goods":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"baby_goods"},"name":"Baby Goods Store"},"shop/bag":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["handbag","purse"],"tags":{"shop":"bag"},"name":"Bag/Luggage Store"},"shop/bakery":{"icon":"bakery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"bakery"},"name":"Bakery"},"shop/bathroom_furnishing":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"bathroom_furnishing"},"name":"Bathroom Furnishing Store"},"shop/beauty":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["nail spa","spa","salon","tanning"],"tags":{"shop":"beauty"},"name":"Beauty Shop"},"shop/bed":{"icon":"lodging","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"bed"},"name":"Bedding/Mattress Store"},"shop/beverages":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"beverages"},"name":"Beverage Store"},"shop/bicycle":{"icon":"bicycle","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["bike","repair"],"tags":{"shop":"bicycle"},"name":"Bicycle Shop"},"shop/bookmaker":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"bookmaker"},"name":"Bookmaker"},"shop/books":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"books"},"name":"Book Store"},"shop/boutique":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"boutique"},"name":"Boutique"},"shop/butcher":{"icon":"slaughterhouse","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["meat"],"tags":{"shop":"butcher"},"name":"Butcher"},"shop/candles":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"candles"},"name":"Candle Shop"},"shop/car":{"icon":"car","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["auto"],"tags":{"shop":"car"},"name":"Car Dealership"},"shop/car_parts":{"icon":"car","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["auto"],"tags":{"shop":"car_parts"},"name":"Car Parts Store"},"shop/car_repair":{"icon":"car","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["auto"],"tags":{"shop":"car_repair"},"name":"Car Repair Shop"},"shop/carpet":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["rug"],"tags":{"shop":"carpet"},"name":"Carpet Store"},"shop/cheese":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"cheese"},"name":"Cheese Store"},"shop/chemist":{"icon":"chemist","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"chemist"},"name":"Chemist"},"shop/chocolate":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"chocolate"},"name":"Chocolate Store"},"shop/clothes":{"icon":"clothing-store","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"clothes"},"name":"Clothing Store"},"shop/coffee":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"coffee"},"name":"Coffee Store"},"shop/computer":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"computer"},"name":"Computer Store"},"shop/confectionery":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"confectionery"},"name":"Candy Store"},"shop/convenience":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"convenience"},"name":"Convenience Store"},"shop/copyshop":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"copyshop"},"name":"Copy Store"},"shop/cosmetics":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"cosmetics"},"name":"Cosmetics Store"},"shop/craft":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"craft"},"terms":["art*","paint*","frame"],"name":"Arts and Crafts Store"},"shop/curtain":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["drape*","window"],"tags":{"shop":"curtain"},"name":"Curtain Store"},"shop/dairy":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["milk","egg","cheese"],"tags":{"shop":"dairy"},"name":"Dairy Store"},"shop/deli":{"icon":"restaurant","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["lunch","meat","sandwich"],"tags":{"shop":"deli"},"name":"Deli"},"shop/department_store":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"department_store"},"name":"Department Store"},"shop/doityourself":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"doityourself"},"name":"DIY Store"},"shop/dry_cleaning":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"dry_cleaning"},"name":"Dry Cleaner"},"shop/electronics":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["appliance","audio","computer","tv"],"tags":{"shop":"electronics"},"name":"Electronics Store"},"shop/erotic":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["sex","porn"],"tags":{"shop":"erotic"},"name":"Erotic Store"},"shop/fabric":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["sew"],"tags":{"shop":"fabric"},"name":"Fabric Store"},"shop/farm":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["farm shop","farm stand"],"tags":{"shop":"farm"},"name":"Produce Stand"},"shop/fashion":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"fashion"},"name":"Fashion Store"},"shop/fishmonger":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"fishmonger"},"name":"Fishmonger","searchable":false},"shop/florist":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["flower"],"tags":{"shop":"florist"},"name":"Florist"},"shop/frame":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"frame"},"terms":["art*","paint*","photo*","frame"],"name":"Framing Shop"},"shop/funeral_directors":{"icon":"cemetery","fields":["operator","address","building_area","religion","denomination"],"geometry":["point","area"],"terms":["undertaker","memorial home"],"tags":{"shop":"funeral_directors"},"name":"Funeral Home"},"shop/furnace":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["oven","stove"],"tags":{"shop":"furnace"},"name":"Furnace Store"},"shop/furniture":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["chair","sofa","table"],"tags":{"shop":"furniture"},"name":"Furniture Store"},"shop/garden_centre":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["landscape","mulch","shrub","tree"],"tags":{"shop":"garden_centre"},"name":"Garden Center"},"shop/gift":{"icon":"gift","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"gift"},"name":"Gift Shop"},"shop/greengrocer":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["fruit","vegetable"],"tags":{"shop":"greengrocer"},"name":"Greengrocer"},"shop/hairdresser":{"icon":"hairdresser","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"hairdresser"},"name":"Hairdresser"},"shop/hardware":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"hardware"},"name":"Hardware Store"},"shop/hearing_aids":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"hearing_aids"},"name":"Hearing Aids Store"},"shop/herbalist":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"herbalist"},"name":"Herbalist"},"shop/hifi":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["stereo","video"],"tags":{"shop":"hifi"},"name":"Hifi Store"},"shop/houseware":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["home","household"],"tags":{"shop":"houseware"},"name":"Houseware Store"},"shop/interior_decoration":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"interior_decoration"},"name":"Interior Decoration Store"},"shop/jewelry":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["diamond","gem","ring"],"tags":{"shop":"jewelry"},"name":"Jeweler"},"shop/kiosk":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"kiosk"},"name":"News Kiosk"},"shop/kitchen":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"kitchen"},"name":"Kitchen Design Store"},"shop/laundry":{"icon":"laundry","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"laundry"},"name":"Laundry"},"shop/leather":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"leather"},"name":"Leather Store"},"shop/locksmith":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["key","lockpick"],"tags":{"shop":"locksmith"},"name":"Locksmith"},"shop/lottery":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"lottery"},"name":"Lottery Shop"},"shop/mall":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"mall"},"name":"Mall"},"shop/massage":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"massage"},"name":"Massage Shop"},"shop/medical_supply":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"medical_supply"},"name":"Medical Supply Store"},"shop/mobile_phone":{"icon":"mobilephone","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"mobile_phone"},"name":"Mobile Phone Store"},"shop/money_lender":{"icon":"bank","fields":["operator","address","building_area","opening_hours","currency_multi"],"geometry":["point","area"],"tags":{"shop":"money_lender"},"name":"Money Lender"},"shop/motorcycle":{"icon":"scooter","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"motorcycle"},"name":"Motorcycle Dealership"},"shop/music":{"icon":"music","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["CD","vinyl"],"tags":{"shop":"music"},"name":"Music Store"},"shop/musical_instrument":{"icon":"music","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"musical_instrument"},"name":"Musical Instrument Store"},"shop/newsagent":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"newsagent"},"name":"Newspaper/Magazine Shop"},"shop/nutrition_supplements":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"nutrition_supplements"},"name":"Nutrition Supplements Store"},"shop/optician":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["eye","glasses"],"tags":{"shop":"optician"},"name":"Optician"},"shop/organic":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"supermarket","organic":"only"},"name":"Organic Goods Store"},"shop/outdoor":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["camping","climbing","hiking"],"tags":{"shop":"outdoor"},"name":"Outdoors Store"},"shop/paint":{"icon":"water","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"paint"},"name":"Paint Store"},"shop/pawnbroker":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"pawnbroker"},"name":"Pawn Shop"},"shop/pet":{"icon":"dog-park","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["cat","dog","fish"],"tags":{"shop":"pet"},"name":"Pet Store"},"shop/photo":{"icon":"camera","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["camera","film"],"tags":{"shop":"photo"},"name":"Photography Store"},"shop/pyrotechnics":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"pyrotechnics"},"name":"Fireworks Store"},"shop/radiotechnics":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"radiotechnics"},"name":"Radio/Electronic Component Store"},"shop/religion":{"icon":"shop","fields":["operator","address","building_area","opening_hours","religion","denomination"],"geometry":["point","area"],"tags":{"shop":"religion"},"name":"Religious Store"},"shop/scuba_diving":{"icon":"swimming","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"scuba_diving"},"name":"Scuba Diving Shop"},"shop/seafood":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["fishmonger"],"tags":{"shop":"seafood"},"name":"Seafood Shop"},"shop/second_hand":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["secondhand","second hand","resale","thrift","used"],"tags":{"shop":"second_hand"},"name":"Consignment/Thrift Store"},"shop/shoes":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"shoes"},"name":"Shoe Store"},"shop/sports":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"sports"},"name":"Sporting Goods Store"},"shop/stationery":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["card","paper"],"tags":{"shop":"stationery"},"name":"Stationery Store"},"shop/storage_rental":{"icon":"shop","fields":["operator","address","building","opening_hours"],"geometry":["point","area"],"tags":{"shop":"storage_rental"},"name":"Storage Rental"},"shop/supermarket":{"icon":"grocery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["grocery","store","shop"],"tags":{"shop":"supermarket"},"name":"Supermarket"},"shop/tailor":{"icon":"clothing-store","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["clothes","suit"],"tags":{"shop":"tailor"},"name":"Tailor"},"shop/tattoo":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"tattoo"},"name":"Tattoo Parlor"},"shop/tea":{"icon":"cafe","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"tea"},"name":"Tea Store"},"shop/ticket":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"ticket"},"name":"Ticket Seller"},"shop/tobacco":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"tobacco"},"name":"Tobacco Shop"},"shop/toys":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"toys"},"name":"Toy Store"},"shop/travel_agency":{"icon":"suitcase","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"travel_agency"},"name":"Travel Agency"},"shop/tyres":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"tyres"},"name":"Tire Store"},"shop/vacant":{"icon":"shop","fields":["address","building_area"],"geometry":["point","area"],"tags":{"shop":"vacant"},"name":"Vacant Shop","searchable":false},"shop/vacuum_cleaner":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"vacuum_cleaner"},"name":"Vacuum Cleaner Store"},"shop/variety_store":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"variety_store"},"name":"Variety Store"},"shop/video":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["DVD"],"tags":{"shop":"video"},"name":"Video Store"},"shop/video_games":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"video_games"},"name":"Video Game Store"},"shop/water_sports":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"water_sports"},"name":"Watersport/Swim Shop"},"shop/weapons":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["ammo","gun","knife","knives"],"tags":{"shop":"weapons"},"name":"Weapon Shop"},"shop/window_blind":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"window_blind"},"name":"Window Blind Store"},"shop/wine":{"icon":"alcohol-shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"wine"},"name":"Wine Shop"},"tourism":{"fields":["tourism"],"geometry":["point","vertex","area"],"tags":{"tourism":"*"},"name":"Tourism"},"tourism/alpine_hut":{"icon":"lodging","fields":["operator","address","building_area"],"geometry":["point","area"],"tags":{"tourism":"alpine_hut"},"name":"Alpine Hut"},"tourism/artwork":{"icon":"art-gallery","fields":["artwork_type","artist"],"geometry":["point","vertex","area"],"tags":{"tourism":"artwork"},"terms":["mural","sculpture","statue"],"name":"Artwork"},"tourism/attraction":{"icon":"monument","fields":["operator","address"],"geometry":["point","vertex","area"],"tags":{"tourism":"attraction"},"name":"Tourist Attraction"},"tourism/camp_site":{"icon":"campsite","fields":["operator","address","capacity","fee"],"geometry":["point","vertex","area"],"terms":["Tent"],"tags":{"tourism":"camp_site"},"name":"Camp Site"},"tourism/caravan_site":{"icon":"bus","fields":["operator","address","capacity","fee","sanitary_dump_station","power_supply","internet_access"],"geometry":["point","vertex","area"],"terms":["Motor Home","Camper"],"tags":{"tourism":"caravan_site"},"name":"RV Park"},"tourism/chalet":{"icon":"lodging","fields":["operator","address","building_area","smoking"],"geometry":["point","area"],"tags":{"tourism":"chalet"},"name":"Chalet"},"tourism/gallery":{"icon":"art-gallery","fields":["artwork_type","operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["art*","exhibit*","paint*","photo*","sculpt*"],"tags":{"tourism":"gallery"},"name":"Art Gallery"},"tourism/guest_house":{"icon":"lodging","fields":["operator","address","building_area","smoking"],"geometry":["point","area"],"tags":{"tourism":"guest_house"},"terms":["B&B","Bed and Breakfast"],"name":"Guest House"},"tourism/hostel":{"icon":"lodging","fields":["operator","address","building_area","smoking"],"geometry":["point","area"],"tags":{"tourism":"hostel"},"name":"Hostel"},"tourism/hotel":{"icon":"lodging","fields":["operator","address","building_area","smoking"],"geometry":["point","area"],"tags":{"tourism":"hotel"},"name":"Hotel"},"tourism/information":{"fields":["information","operator","address","building_area"],"geometry":["point","vertex","area"],"tags":{"tourism":"information"},"name":"Information"},"tourism/motel":{"icon":"lodging","fields":["operator","address","building_area","smoking"],"geometry":["point","area"],"tags":{"tourism":"motel"},"name":"Motel"},"tourism/museum":{"icon":"museum","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["art*","exhibit*","gallery","foundation","hall","institution","paint*","photo*","sculpt*"],"tags":{"tourism":"museum"},"name":"Museum"},"tourism/picnic_site":{"icon":"park","fields":["operator","address","smoking"],"geometry":["point","vertex","area"],"terms":["camp"],"tags":{"tourism":"picnic_site"},"name":"Picnic Site"},"tourism/theme_park":{"fields":["operator","address","opening_hours"],"geometry":["point","area"],"tags":{"tourism":"theme_park"},"name":"Theme Park"},"tourism/viewpoint":{"geometry":["point","vertex"],"tags":{"tourism":"viewpoint"},"name":"Viewpoint"},"tourism/zoo":{"icon":"zoo","fields":["operator","address","opening_hours"],"geometry":["point","area"],"tags":{"tourism":"zoo"},"name":"Zoo"},"traffic_calming/bump":{"fields":["surface"],"geometry":["vertex"],"tags":{"traffic_calming":"bump"},"terms":["speed hump"],"name":"Speed Bump"},"traffic_calming/hump":{"fields":["surface"],"geometry":["vertex"],"tags":{"traffic_calming":"hump"},"terms":["speed bump"],"name":"Speed Hump"},"traffic_calming/rumble_strip":{"geometry":["vertex"],"tags":{"traffic_calming":"rumble_strip"},"terms":["sleeper lines","audible lines","growlers"],"name":"Rumble Strip"},"traffic_calming/table":{"fields":["surface"],"geometry":["vertex"],"tags":{"highway":"crossing","traffic_calming":"table"},"terms":["speed table","flat top hump"],"name":"Raised Pedestrian Crossing"},"type/boundary":{"geometry":["relation"],"tags":{"type":"boundary"},"name":"Boundary","icon":"boundary","fields":["boundary"]},"type/boundary/administrative":{"name":"Administrative Boundary","geometry":["relation"],"tags":{"type":"boundary","boundary":"administrative"},"fields":["admin_level"],"icon":"boundary"},"type/multipolygon":{"geometry":["area","relation"],"tags":{"type":"multipolygon"},"removeTags":{},"name":"Multipolygon","icon":"multipolygon","searchable":false,"matchScore":0.1},"type/restriction":{"geometry":["relation"],"tags":{"type":"restriction"},"name":"Restriction","icon":"restriction","fields":["restriction","except"]},"type/restriction/no_left_turn":{"name":"No Left Turn","geometry":["relation"],"tags":{"type":"restriction","restriction":"no_left_turn"},"fields":["except"],"icon":"restriction-no-left-turn"},"type/restriction/no_right_turn":{"name":"No Right Turn","geometry":["relation"],"tags":{"type":"restriction","restriction":"no_right_turn"},"fields":["except"],"icon":"restriction-no-right-turn"},"type/restriction/no_straight_on":{"name":"No Straight On","geometry":["relation"],"tags":{"type":"restriction","restriction":"no_straight_on"},"fields":["except"],"icon":"restriction-no-straight-on"},"type/restriction/no_u_turn":{"name":"No U-turn","geometry":["relation"],"tags":{"type":"restriction","restriction":"no_u_turn"},"fields":["except"],"icon":"restriction-no-u-turn"},"type/restriction/only_left_turn":{"name":"Left Turn Only","geometry":["relation"],"tags":{"type":"restriction","restriction":"only_left_turn"},"fields":["except"],"icon":"restriction-only-left-turn"},"type/restriction/only_right_turn":{"name":"Right Turn Only","geometry":["relation"],"tags":{"type":"restriction","restriction":"only_right_turn"},"fields":["except"],"icon":"restriction-only-right-turn"},"type/restriction/only_straight_on":{"name":"No Turns","geometry":["relation"],"tags":{"type":"restriction","restriction":"only_straight_on"},"fields":["except"],"icon":"restriction-only-straight-on"},"type/route":{"geometry":["relation"],"tags":{"type":"route"},"name":"Route","icon":"route","fields":["route","ref"]},"type/route/bicycle":{"geometry":["relation"],"tags":{"type":"route","route":"bicycle"},"name":"Cycle Route","icon":"route-bicycle","fields":["ref","network"]},"type/route/bus":{"geometry":["relation"],"tags":{"type":"route","route":"bus"},"name":"Bus Route","icon":"route-bus","fields":["ref","operator","network"]},"type/route/detour":{"geometry":["relation"],"tags":{"type":"route","route":"detour"},"name":"Detour Route","icon":"route-detour","fields":["ref"]},"type/route/ferry":{"geometry":["relation"],"tags":{"type":"route","route":"ferry"},"name":"Ferry Route","icon":"route-ferry","fields":["ref","operator","network"]},"type/route/foot":{"geometry":["relation"],"tags":{"type":"route","route":"foot"},"name":"Foot Route","icon":"route-foot","fields":["ref","operator","network"]},"type/route/hiking":{"geometry":["relation"],"tags":{"type":"route","route":"hiking"},"name":"Hiking Route","icon":"route-foot","fields":["ref","operator","network"]},"type/route/pipeline":{"geometry":["relation"],"tags":{"type":"route","route":"pipeline"},"name":"Pipeline Route","icon":"route-pipeline","fields":["ref","operator"]},"type/route/power":{"geometry":["relation"],"tags":{"type":"route","route":"power"},"name":"Power Route","icon":"route-power","fields":["ref","operator"]},"type/route/road":{"geometry":["relation"],"tags":{"type":"route","route":"road"},"name":"Road Route","icon":"route-road","fields":["ref","network"]},"type/route/train":{"geometry":["relation"],"tags":{"type":"route","route":"train"},"name":"Train Route","icon":"route-train","fields":["ref","operator"]},"type/route/tram":{"geometry":["relation"],"tags":{"type":"route","route":"tram"},"name":"Tram Route","icon":"route-tram","fields":["ref","operator"]},"type/route_master":{"geometry":["relation"],"tags":{"type":"route_master"},"name":"Route Master","icon":"route-master","fields":["route_master","ref","operator","network"]},"type/site":{"geometry":["relation"],"tags":{"type":"site"},"name":"Site","icon":"relation","fields":["site"]},"vertex":{"name":"Other","tags":{},"geometry":["vertex"],"matchScore":0.1},"waterway":{"fields":["waterway"],"geometry":["point","vertex","line","area"],"tags":{"waterway":"*"},"searchable":false,"name":"Waterway"},"waterway/boatyard":{"icon":"harbor","fields":["operator"],"geometry":["area","vertex","point"],"tags":{"waterway":"boatyard"},"name":"Boatyard"},"waterway/canal":{"icon":"waterway-canal","fields":["width"],"geometry":["line"],"tags":{"waterway":"canal"},"name":"Canal"},"waterway/dam":{"icon":"dam","geometry":["point","vertex","line","area"],"tags":{"waterway":"dam"},"name":"Dam"},"waterway/ditch":{"icon":"waterway-ditch","fields":["tunnel"],"geometry":["line"],"tags":{"waterway":"ditch"},"name":"Ditch"},"waterway/dock":{"icon":"harbor","fields":["dock","operator"],"geometry":["area","vertex","point"],"terms":["boat","ship","vessel","marine"],"tags":{"waterway":"dock"},"name":"Wet Dock / Dry Dock"},"waterway/drain":{"icon":"waterway-stream","fields":["tunnel"],"geometry":["line"],"tags":{"waterway":"drain"},"name":"Drain"},"waterway/fuel":{"icon":"fuel","fields":["operator","address","opening_hours","fuel_multi"],"geometry":["point","area"],"terms":["petrol","gas","diesel","boat"],"tags":{"waterway":"fuel"},"name":"Marine Fuel Station"},"waterway/river":{"icon":"waterway-river","fields":["tunnel","width"],"geometry":["line"],"terms":["beck","branch","brook","course","creek","estuary","rill","rivulet","run","runnel","stream","tributary","watercourse"],"tags":{"waterway":"river"},"name":"River"},"waterway/riverbank":{"icon":"water","geometry":["area"],"tags":{"waterway":"riverbank"},"name":"Riverbank"},"waterway/sanitary_dump_station":{"fields":["operator","access_toilets","fee","water_point"],"geometry":["point","vertex","area"],"terms":["Boat","Watercraft","Sanitary","Dump Station","Pumpout","Pump out","Elsan","CDP","CTDP","Chemical Toilet"],"tags":{"waterway":"sanitary_dump_station"},"name":"Marine Toilet Disposal"},"waterway/stream":{"icon":"waterway-stream","fields":["tunnel","width"],"geometry":["line"],"terms":["beck","branch","brook","burn","course","creek","current","drift","flood","flow","freshet","race","rill","rindle","rivulet","run","runnel","rush","spate","spritz","surge","tide","torrent","tributary","watercourse"],"tags":{"waterway":"stream"},"name":"Stream"},"waterway/water_point":{"icon":"water","geometry":["area","vertex","point"],"tags":{"waterway":"water_point"},"name":"Marine Drinking Water"},"waterway/weir":{"icon":"dam","geometry":["vertex","line"],"tags":{"waterway":"weir"},"name":"Weir"},"amenity/fuel/76":{"tags":{"name":"76","amenity":"fuel"},"name":"76","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Neste":{"tags":{"name":"Neste","amenity":"fuel"},"name":"Neste","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/BP":{"tags":{"name":"BP","amenity":"fuel"},"name":"BP","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Shell":{"tags":{"name":"Shell","amenity":"fuel"},"name":"Shell","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Agip":{"tags":{"name":"Agip","amenity":"fuel"},"name":"Agip","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Migrol":{"tags":{"name":"Migrol","amenity":"fuel"},"name":"Migrol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Avia":{"tags":{"name":"Avia","amenity":"fuel"},"name":"Avia","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Texaco":{"tags":{"name":"Texaco","amenity":"fuel"},"name":"Texaco","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Total":{"tags":{"name":"Total","amenity":"fuel"},"name":"Total","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Statoil":{"tags":{"name":"Statoil","amenity":"fuel"},"name":"Statoil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Esso":{"tags":{"name":"Esso","amenity":"fuel"},"name":"Esso","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Jet":{"tags":{"name":"Jet","amenity":"fuel"},"name":"Jet","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Avanti":{"tags":{"name":"Avanti","amenity":"fuel"},"name":"Avanti","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/OMV":{"tags":{"name":"OMV","amenity":"fuel"},"name":"OMV","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Aral":{"tags":{"name":"Aral","amenity":"fuel"},"name":"Aral","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/JET":{"tags":{"name":"JET","amenity":"fuel"},"name":"JET","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/United":{"tags":{"name":"United","amenity":"fuel"},"name":"United","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Mobil":{"tags":{"name":"Mobil","amenity":"fuel"},"name":"Mobil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Caltex":{"tags":{"name":"Caltex","amenity":"fuel"},"name":"Caltex","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sunoco":{"tags":{"name":"Sunoco","amenity":"fuel"},"name":"Sunoco","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Q8":{"tags":{"name":"Q8","amenity":"fuel"},"name":"Q8","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ARAL":{"tags":{"name":"ARAL","amenity":"fuel"},"name":"ARAL","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/CEPSA":{"tags":{"name":"CEPSA","amenity":"fuel"},"name":"CEPSA","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/BFT":{"tags":{"name":"BFT","amenity":"fuel"},"name":"BFT","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petron":{"tags":{"name":"Petron","amenity":"fuel"},"name":"Petron","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Total Access":{"tags":{"name":"Total Access","amenity":"fuel"},"name":"Total Access","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Elf":{"tags":{"name":"Elf","amenity":"fuel"},"name":"Elf","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Station Service E. Leclerc":{"tags":{"name":"Station Service E. Leclerc","amenity":"fuel"},"name":"Station Service E. Leclerc","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Shell Express":{"tags":{"name":"Shell Express","amenity":"fuel"},"name":"Shell Express","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Hess":{"tags":{"name":"Hess","amenity":"fuel"},"name":"Hess","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Flying V":{"tags":{"name":"Flying V","amenity":"fuel"},"name":"Flying V","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/bft":{"tags":{"name":"bft","amenity":"fuel"},"name":"bft","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Gulf":{"tags":{"name":"Gulf","amenity":"fuel"},"name":"Gulf","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/PTT":{"tags":{"name":"PTT","amenity":"fuel"},"name":"PTT","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/St1":{"tags":{"name":"St1","amenity":"fuel"},"name":"St1","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Teboil":{"tags":{"name":"Teboil","amenity":"fuel"},"name":"Teboil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/HEM":{"tags":{"name":"HEM","amenity":"fuel"},"name":"HEM","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/GALP":{"tags":{"name":"GALP","amenity":"fuel"},"name":"GALP","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/OK":{"tags":{"name":"OK","amenity":"fuel"},"name":"OK","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ÖMV":{"tags":{"name":"ÖMV","amenity":"fuel"},"name":"ÖMV","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Tinq":{"tags":{"name":"Tinq","amenity":"fuel"},"name":"Tinq","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/OKQ8":{"tags":{"name":"OKQ8","amenity":"fuel"},"name":"OKQ8","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Repsol":{"tags":{"name":"Repsol","amenity":"fuel"},"name":"Repsol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Westfalen":{"tags":{"name":"Westfalen","amenity":"fuel"},"name":"Westfalen","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Esso Express":{"tags":{"name":"Esso Express","amenity":"fuel"},"name":"Esso Express","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Tamoil":{"tags":{"name":"Tamoil","amenity":"fuel"},"name":"Tamoil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Engen":{"tags":{"name":"Engen","amenity":"fuel"},"name":"Engen","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sasol":{"tags":{"name":"Sasol","amenity":"fuel"},"name":"Sasol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Topaz":{"tags":{"name":"Topaz","amenity":"fuel"},"name":"Topaz","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/LPG":{"tags":{"name":"LPG","amenity":"fuel"},"name":"LPG","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Orlen":{"tags":{"name":"Orlen","amenity":"fuel"},"name":"Orlen","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Oilibya":{"tags":{"name":"Oilibya","amenity":"fuel"},"name":"Oilibya","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Tango":{"tags":{"name":"Tango","amenity":"fuel"},"name":"Tango","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Star":{"tags":{"name":"Star","amenity":"fuel"},"name":"Star","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Петрол":{"tags":{"name":"Петрол","amenity":"fuel"},"name":"Петрол","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Cepsa":{"tags":{"name":"Cepsa","amenity":"fuel"},"name":"Cepsa","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/OIL!":{"tags":{"name":"OIL!","amenity":"fuel"},"name":"OIL!","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Ultramar":{"tags":{"name":"Ultramar","amenity":"fuel"},"name":"Ultramar","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Irving":{"tags":{"name":"Irving","amenity":"fuel"},"name":"Irving","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Lukoil":{"tags":{"name":"Lukoil","amenity":"fuel"},"name":"Lukoil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petro-Canada":{"tags":{"name":"Petro-Canada","amenity":"fuel"},"name":"Petro-Canada","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Agrola":{"tags":{"name":"Agrola","amenity":"fuel"},"name":"Agrola","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Husky":{"tags":{"name":"Husky","amenity":"fuel"},"name":"Husky","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Slovnaft":{"tags":{"name":"Slovnaft","amenity":"fuel"},"name":"Slovnaft","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sheetz":{"tags":{"name":"Sheetz","amenity":"fuel"},"name":"Sheetz","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Mol":{"tags":{"name":"Mol","amenity":"fuel"},"name":"Mol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petronas":{"tags":{"name":"Petronas","amenity":"fuel"},"name":"Petronas","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Газпромнефть":{"tags":{"name":"Газпромнефть","amenity":"fuel"},"name":"Газпромнефть","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Лукойл":{"tags":{"name":"Лукойл","amenity":"fuel"},"name":"Лукойл","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Elan":{"tags":{"name":"Elan","amenity":"fuel"},"name":"Elan","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Роснефть":{"tags":{"name":"Роснефть","amenity":"fuel"},"name":"Роснефть","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Turmöl":{"tags":{"name":"Turmöl","amenity":"fuel"},"name":"Turmöl","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Neste A24":{"tags":{"name":"Neste A24","amenity":"fuel"},"name":"Neste A24","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Marathon":{"tags":{"name":"Marathon","amenity":"fuel"},"name":"Marathon","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Valero":{"tags":{"name":"Valero","amenity":"fuel"},"name":"Valero","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Eni":{"tags":{"name":"Eni","amenity":"fuel"},"name":"Eni","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Chevron":{"tags":{"name":"Chevron","amenity":"fuel"},"name":"Chevron","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ТНК":{"tags":{"name":"ТНК","amenity":"fuel"},"name":"ТНК","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/REPSOL":{"tags":{"name":"REPSOL","amenity":"fuel"},"name":"REPSOL","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/MOL":{"tags":{"name":"MOL","amenity":"fuel"},"name":"MOL","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Bliska":{"tags":{"name":"Bliska","amenity":"fuel"},"name":"Bliska","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Api":{"tags":{"name":"Api","amenity":"fuel"},"name":"Api","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Arco":{"tags":{"name":"Arco","amenity":"fuel"},"name":"Arco","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Pemex":{"tags":{"name":"Pemex","amenity":"fuel"},"name":"Pemex","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Exxon":{"tags":{"name":"Exxon","amenity":"fuel"},"name":"Exxon","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Coles Express":{"tags":{"name":"Coles Express","amenity":"fuel"},"name":"Coles Express","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petrom":{"tags":{"name":"Petrom","amenity":"fuel"},"name":"Petrom","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/PETRONOR":{"tags":{"name":"PETRONOR","amenity":"fuel"},"name":"PETRONOR","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Rompetrol":{"tags":{"name":"Rompetrol","amenity":"fuel"},"name":"Rompetrol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Lotos":{"tags":{"name":"Lotos","amenity":"fuel"},"name":"Lotos","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ОМВ":{"tags":{"name":"ОМВ","amenity":"fuel"},"name":"ОМВ","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/BR":{"tags":{"name":"BR","amenity":"fuel"},"name":"BR","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Copec":{"tags":{"name":"Copec","amenity":"fuel"},"name":"Copec","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petrobras":{"tags":{"name":"Petrobras","amenity":"fuel"},"name":"Petrobras","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Liberty":{"tags":{"name":"Liberty","amenity":"fuel"},"name":"Liberty","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/IP":{"tags":{"name":"IP","amenity":"fuel"},"name":"IP","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Erg":{"tags":{"name":"Erg","amenity":"fuel"},"name":"Erg","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Eneos":{"tags":{"name":"Eneos","amenity":"fuel"},"name":"Eneos","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Citgo":{"tags":{"name":"Citgo","amenity":"fuel"},"name":"Citgo","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Metano":{"tags":{"name":"Metano","amenity":"fuel"},"name":"Metano","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Сургутнефтегаз":{"tags":{"name":"Сургутнефтегаз","amenity":"fuel"},"name":"Сургутнефтегаз","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/EKO":{"tags":{"name":"EKO","amenity":"fuel"},"name":"EKO","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Eko":{"tags":{"name":"Eko","amenity":"fuel"},"name":"Eko","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Indipend.":{"tags":{"name":"Indipend.","amenity":"fuel"},"name":"Indipend.","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/IES":{"tags":{"name":"IES","amenity":"fuel"},"name":"IES","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/TotalErg":{"tags":{"name":"TotalErg","amenity":"fuel"},"name":"TotalErg","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Cenex":{"tags":{"name":"Cenex","amenity":"fuel"},"name":"Cenex","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ПТК":{"tags":{"name":"ПТК","amenity":"fuel"},"name":"ПТК","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/HP":{"tags":{"name":"HP","amenity":"fuel"},"name":"HP","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Phillips 66":{"tags":{"name":"Phillips 66","amenity":"fuel"},"name":"Phillips 66","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/CARREFOUR":{"tags":{"name":"CARREFOUR","amenity":"fuel"},"name":"CARREFOUR","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ERG":{"tags":{"name":"ERG","amenity":"fuel"},"name":"ERG","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Speedway":{"tags":{"name":"Speedway","amenity":"fuel"},"name":"Speedway","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Benzina":{"tags":{"name":"Benzina","amenity":"fuel"},"name":"Benzina","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Татнефть":{"tags":{"name":"Татнефть","amenity":"fuel"},"name":"Татнефть","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Terpel":{"tags":{"name":"Terpel","amenity":"fuel"},"name":"Terpel","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/WOG":{"tags":{"name":"WOG","amenity":"fuel"},"name":"WOG","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Seaoil":{"tags":{"name":"Seaoil","amenity":"fuel"},"name":"Seaoil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/АЗС":{"tags":{"name":"АЗС","amenity":"fuel"},"name":"АЗС","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Kwik Trip":{"tags":{"name":"Kwik Trip","amenity":"fuel"},"name":"Kwik Trip","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Pertamina":{"tags":{"name":"Pertamina","amenity":"fuel"},"name":"Pertamina","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/COSMO":{"tags":{"name":"COSMO","amenity":"fuel"},"name":"COSMO","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Z":{"tags":{"name":"Z","amenity":"fuel"},"name":"Z","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Indian Oil":{"tags":{"name":"Indian Oil","amenity":"fuel"},"name":"Indian Oil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/АГЗС":{"tags":{"name":"АГЗС","amenity":"fuel"},"name":"АГЗС","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/INA":{"tags":{"name":"INA","amenity":"fuel"},"name":"INA","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/JOMO":{"tags":{"name":"JOMO","amenity":"fuel"},"name":"JOMO","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Holiday":{"tags":{"name":"Holiday","amenity":"fuel"},"name":"Holiday","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/YPF":{"tags":{"name":"YPF","amenity":"fuel"},"name":"YPF","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/IDEMITSU":{"tags":{"name":"IDEMITSU","amenity":"fuel"},"name":"IDEMITSU","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ENEOS":{"tags":{"name":"ENEOS","amenity":"fuel"},"name":"ENEOS","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Bharat Petroleum":{"tags":{"name":"Bharat Petroleum","amenity":"fuel"},"name":"Bharat Petroleum","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/CAMPSA":{"tags":{"name":"CAMPSA","amenity":"fuel"},"name":"CAMPSA","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Casey's General Store":{"tags":{"name":"Casey's General Store","amenity":"fuel"},"name":"Casey's General Store","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Башнефть":{"tags":{"name":"Башнефть","amenity":"fuel"},"name":"Башнефть","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Kangaroo":{"tags":{"name":"Kangaroo","amenity":"fuel"},"name":"Kangaroo","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/コスモ石油 (COSMO)":{"tags":{"name":"コスモ石油 (COSMO)","amenity":"fuel"},"name":"コスモ石油 (COSMO)","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/MEROIL":{"tags":{"name":"MEROIL","amenity":"fuel"},"name":"MEROIL","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/1-2-3":{"tags":{"name":"1-2-3","amenity":"fuel"},"name":"1-2-3","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/出光":{"tags":{"name":"出光","name:en":"IDEMITSU","amenity":"fuel"},"name":"出光","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/НК Альянс":{"tags":{"name":"НК Альянс","amenity":"fuel"},"name":"НК Альянс","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sinclair":{"tags":{"name":"Sinclair","amenity":"fuel"},"name":"Sinclair","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Conoco":{"tags":{"name":"Conoco","amenity":"fuel"},"name":"Conoco","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/SPBU":{"tags":{"name":"SPBU","amenity":"fuel"},"name":"SPBU","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Макпетрол":{"tags":{"name":"Макпетрол","amenity":"fuel"},"name":"Макпетрол","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Posto Ipiranga":{"tags":{"name":"Posto Ipiranga","amenity":"fuel"},"name":"Posto Ipiranga","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Posto Shell":{"tags":{"name":"Posto Shell","amenity":"fuel"},"name":"Posto Shell","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Phoenix":{"tags":{"name":"Phoenix","amenity":"fuel"},"name":"Phoenix","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Ipiranga":{"tags":{"name":"Ipiranga","amenity":"fuel"},"name":"Ipiranga","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/OKKO":{"tags":{"name":"OKKO","amenity":"fuel"},"name":"OKKO","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ОККО":{"tags":{"name":"ОККО","amenity":"fuel"},"name":"ОККО","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/บางจาก":{"tags":{"name":"บางจาก","amenity":"fuel"},"name":"บางจาก","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/QuikTrip":{"tags":{"name":"QuikTrip","amenity":"fuel"},"name":"QuikTrip","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Posto BR":{"tags":{"name":"Posto BR","amenity":"fuel"},"name":"Posto BR","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ป ต ท":{"tags":{"name":"ป ต ท","amenity":"fuel"},"name":"ป ต ท","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ปตท":{"tags":{"name":"ปตท","amenity":"fuel"},"name":"ปตท","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ANP":{"tags":{"name":"ANP","amenity":"fuel"},"name":"ANP","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Kum & Go":{"tags":{"name":"Kum & Go","amenity":"fuel"},"name":"Kum & Go","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petrolimex":{"tags":{"name":"Petrolimex","amenity":"fuel"},"name":"Petrolimex","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sokimex":{"tags":{"name":"Sokimex","amenity":"fuel"},"name":"Sokimex","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Tela":{"tags":{"name":"Tela","amenity":"fuel"},"name":"Tela","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Posto":{"tags":{"name":"Posto","amenity":"fuel"},"name":"Posto","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Укрнафта":{"tags":{"name":"Укрнафта","amenity":"fuel"},"name":"Укрнафта","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Татнефтепродукт":{"tags":{"name":"Татнефтепродукт","amenity":"fuel"},"name":"Татнефтепродукт","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Afriquia":{"tags":{"name":"Afriquia","amenity":"fuel"},"name":"Afriquia","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Murphy USA":{"tags":{"name":"Murphy USA","amenity":"fuel"},"name":"Murphy USA","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/昭和シェル (Showa-shell)":{"tags":{"name":"昭和シェル (Showa-shell)","amenity":"fuel"},"name":"昭和シェル (Showa-shell)","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/エネオス":{"tags":{"name":"エネオス","amenity":"fuel"},"name":"エネオス","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/CNG":{"tags":{"name":"CNG","amenity":"fuel"},"name":"CNG","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/pub/Kings Arms":{"tags":{"name":"Kings Arms","amenity":"pub"},"name":"Kings Arms","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Ship":{"tags":{"name":"The Ship","amenity":"pub"},"name":"The Ship","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The White Horse":{"tags":{"name":"The White Horse","amenity":"pub"},"name":"The White Horse","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The White Hart":{"tags":{"name":"The White Hart","amenity":"pub"},"name":"The White Hart","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Royal Oak":{"tags":{"name":"Royal Oak","amenity":"pub"},"name":"Royal Oak","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Red Lion":{"tags":{"name":"The Red Lion","amenity":"pub"},"name":"The Red Lion","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Kings Arms":{"tags":{"name":"The Kings Arms","amenity":"pub"},"name":"The Kings Arms","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Star":{"tags":{"name":"The Star","amenity":"pub"},"name":"The Star","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Anchor":{"tags":{"name":"The Anchor","amenity":"pub"},"name":"The Anchor","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Cross Keys":{"tags":{"name":"The Cross Keys","amenity":"pub"},"name":"The Cross Keys","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Wheatsheaf":{"tags":{"name":"The Wheatsheaf","amenity":"pub"},"name":"The Wheatsheaf","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Crown Inn":{"tags":{"name":"The Crown Inn","amenity":"pub"},"name":"The Crown Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Kings Head":{"tags":{"name":"The Kings Head","amenity":"pub"},"name":"The Kings Head","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Castle":{"tags":{"name":"The Castle","amenity":"pub"},"name":"The Castle","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Railway":{"tags":{"name":"The Railway","amenity":"pub"},"name":"The Railway","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The White Lion":{"tags":{"name":"The White Lion","amenity":"pub"},"name":"The White Lion","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Bell":{"tags":{"name":"The Bell","amenity":"pub"},"name":"The Bell","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Bull":{"tags":{"name":"The Bull","amenity":"pub"},"name":"The Bull","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Plough":{"tags":{"name":"The Plough","amenity":"pub"},"name":"The Plough","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The George":{"tags":{"name":"The George","amenity":"pub"},"name":"The George","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Royal Oak":{"tags":{"name":"The Royal Oak","amenity":"pub"},"name":"The Royal Oak","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Fox":{"tags":{"name":"The Fox","amenity":"pub"},"name":"The Fox","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Prince of Wales":{"tags":{"name":"Prince of Wales","amenity":"pub"},"name":"Prince of Wales","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Rising Sun":{"tags":{"name":"The Rising Sun","amenity":"pub"},"name":"The Rising Sun","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Prince of Wales":{"tags":{"name":"The Prince of Wales","amenity":"pub"},"name":"The Prince of Wales","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Crown":{"tags":{"name":"The Crown","amenity":"pub"},"name":"The Crown","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Chequers":{"tags":{"name":"The Chequers","amenity":"pub"},"name":"The Chequers","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Swan":{"tags":{"name":"The Swan","amenity":"pub"},"name":"The Swan","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Rose and Crown":{"tags":{"name":"Rose and Crown","amenity":"pub"},"name":"Rose and Crown","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Victoria":{"tags":{"name":"The Victoria","amenity":"pub"},"name":"The Victoria","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/New Inn":{"tags":{"name":"New Inn","amenity":"pub"},"name":"New Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Royal Hotel":{"tags":{"name":"Royal Hotel","amenity":"pub"},"name":"Royal Hotel","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Red Lion":{"tags":{"name":"Red Lion","amenity":"pub"},"name":"Red Lion","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Cross Keys":{"tags":{"name":"Cross Keys","amenity":"pub"},"name":"Cross Keys","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Greyhound":{"tags":{"name":"The Greyhound","amenity":"pub"},"name":"The Greyhound","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Black Horse":{"tags":{"name":"The Black Horse","amenity":"pub"},"name":"The Black Horse","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The New Inn":{"tags":{"name":"The New Inn","amenity":"pub"},"name":"The New Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Kings Head":{"tags":{"name":"Kings Head","amenity":"pub"},"name":"Kings Head","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Albion":{"tags":{"name":"The Albion","amenity":"pub"},"name":"The Albion","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Angel":{"tags":{"name":"The Angel","amenity":"pub"},"name":"The Angel","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Queens Head":{"tags":{"name":"The Queens Head","amenity":"pub"},"name":"The Queens Head","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Ship Inn":{"tags":{"name":"The Ship Inn","amenity":"pub"},"name":"The Ship Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Rose & Crown":{"tags":{"name":"Rose & Crown","amenity":"pub"},"name":"Rose & Crown","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Queens Head":{"tags":{"name":"Queens Head","amenity":"pub"},"name":"Queens Head","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Irish Pub":{"tags":{"name":"Irish Pub","amenity":"pub"},"name":"Irish Pub","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/fast_food/Quick":{"tags":{"name":"Quick","amenity":"fast_food"},"name":"Quick","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/McDonald's":{"tags":{"name":"McDonald's","cuisine":"burger","amenity":"fast_food"},"name":"McDonald's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Subway":{"tags":{"name":"Subway","cuisine":"sandwich","amenity":"fast_food"},"name":"Subway","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Burger King":{"tags":{"name":"Burger King","cuisine":"burger","amenity":"fast_food"},"name":"Burger King","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Ali Baba":{"tags":{"name":"Ali Baba","amenity":"fast_food"},"name":"Ali Baba","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Hungry Jacks":{"tags":{"name":"Hungry Jacks","cuisine":"burger","amenity":"fast_food"},"name":"Hungry Jacks","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Red Rooster":{"tags":{"name":"Red Rooster","amenity":"fast_food"},"name":"Red Rooster","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/KFC":{"tags":{"name":"KFC","cuisine":"chicken","amenity":"fast_food"},"name":"KFC","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Domino's Pizza":{"tags":{"name":"Domino's Pizza","cuisine":"pizza","amenity":"fast_food"},"name":"Domino's Pizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Chowking":{"tags":{"name":"Chowking","amenity":"fast_food"},"name":"Chowking","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Jollibee":{"tags":{"name":"Jollibee","amenity":"fast_food"},"name":"Jollibee","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Hesburger":{"tags":{"name":"Hesburger","amenity":"fast_food"},"name":"Hesburger","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/肯德基":{"tags":{"name":"肯德基","amenity":"fast_food"},"name":"肯德基","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Wendy's":{"tags":{"name":"Wendy's","cuisine":"burger","amenity":"fast_food"},"name":"Wendy's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Tim Hortons":{"tags":{"name":"Tim Hortons","amenity":"fast_food"},"name":"Tim Hortons","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Steers":{"tags":{"name":"Steers","amenity":"fast_food"},"name":"Steers","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Hardee's":{"tags":{"name":"Hardee's","cuisine":"burger","amenity":"fast_food"},"name":"Hardee's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Arby's":{"tags":{"name":"Arby's","amenity":"fast_food"},"name":"Arby's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/A&W":{"tags":{"name":"A&W","amenity":"fast_food"},"name":"A&W","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Dairy Queen":{"tags":{"name":"Dairy Queen","amenity":"fast_food"},"name":"Dairy Queen","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Hallo Pizza":{"tags":{"name":"Hallo Pizza","amenity":"fast_food"},"name":"Hallo Pizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Fish & Chips":{"tags":{"name":"Fish & Chips","amenity":"fast_food"},"name":"Fish & Chips","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Harvey's":{"tags":{"name":"Harvey's","amenity":"fast_food"},"name":"Harvey's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/麥當勞":{"tags":{"name":"麥當勞","amenity":"fast_food"},"name":"麥當勞","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Pizza Pizza":{"tags":{"name":"Pizza Pizza","amenity":"fast_food"},"name":"Pizza Pizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Kotipizza":{"tags":{"name":"Kotipizza","amenity":"fast_food"},"name":"Kotipizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Jack in the Box":{"tags":{"name":"Jack in the Box","cuisine":"burger","amenity":"fast_food"},"name":"Jack in the Box","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Istanbul":{"tags":{"name":"Istanbul","amenity":"fast_food"},"name":"Istanbul","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Kochlöffel":{"tags":{"name":"Kochlöffel","amenity":"fast_food"},"name":"Kochlöffel","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Döner":{"tags":{"name":"Döner","amenity":"fast_food"},"name":"Döner","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Telepizza":{"tags":{"name":"Telepizza","amenity":"fast_food"},"name":"Telepizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Sibylla":{"tags":{"name":"Sibylla","amenity":"fast_food"},"name":"Sibylla","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Carl's Jr.":{"tags":{"name":"Carl's Jr.","cuisine":"burger","amenity":"fast_food"},"name":"Carl's Jr.","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Quiznos":{"tags":{"name":"Quiznos","cuisine":"sandwich","amenity":"fast_food"},"name":"Quiznos","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Wimpy":{"tags":{"name":"Wimpy","amenity":"fast_food"},"name":"Wimpy","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Sonic":{"tags":{"name":"Sonic","cuisine":"burger","amenity":"fast_food"},"name":"Sonic","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Taco Bell":{"tags":{"name":"Taco Bell","cuisine":"mexican","amenity":"fast_food"},"name":"Taco Bell","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Pizza Nova":{"tags":{"name":"Pizza Nova","amenity":"fast_food"},"name":"Pizza Nova","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Papa John's":{"tags":{"name":"Papa John's","cuisine":"pizza","amenity":"fast_food"},"name":"Papa John's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Nordsee":{"tags":{"name":"Nordsee","amenity":"fast_food"},"name":"Nordsee","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Mr. Sub":{"tags":{"name":"Mr. Sub","amenity":"fast_food"},"name":"Mr. Sub","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Макдоналдс":{"tags":{"name":"Макдоналдс","name:en":"McDonald's","amenity":"fast_food"},"name":"Макдоналдс","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Asia Imbiss":{"tags":{"name":"Asia Imbiss","amenity":"fast_food"},"name":"Asia Imbiss","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Chipotle":{"tags":{"name":"Chipotle","cuisine":"mexican","amenity":"fast_food"},"name":"Chipotle","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/マクドナルド":{"tags":{"name":"マクドナルド","name:en":"McDonald's","cuisine":"burger","amenity":"fast_food"},"name":"マクドナルド","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/In-N-Out Burger":{"tags":{"name":"In-N-Out Burger","amenity":"fast_food"},"name":"In-N-Out Burger","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Jimmy John's":{"tags":{"name":"Jimmy John's","amenity":"fast_food"},"name":"Jimmy John's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Jamba Juice":{"tags":{"name":"Jamba Juice","amenity":"fast_food"},"name":"Jamba Juice","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Робин Сдобин":{"tags":{"name":"Робин Сдобин","amenity":"fast_food"},"name":"Робин Сдобин","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Baskin Robbins":{"tags":{"name":"Baskin Robbins","amenity":"fast_food"},"name":"Baskin Robbins","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/ケンタッキーフライドチキン":{"tags":{"name":"ケンタッキーフライドチキン","name:en":"KFC","cuisine":"chicken","amenity":"fast_food"},"name":"ケンタッキーフライドチキン","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/吉野家":{"tags":{"name":"吉野家","amenity":"fast_food"},"name":"吉野家","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Taco Time":{"tags":{"name":"Taco Time","amenity":"fast_food"},"name":"Taco Time","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/松屋":{"tags":{"name":"松屋","name:en":"Matsuya","amenity":"fast_food"},"name":"松屋","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Little Caesars":{"tags":{"name":"Little Caesars","amenity":"fast_food"},"name":"Little Caesars","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/El Pollo Loco":{"tags":{"name":"El Pollo Loco","amenity":"fast_food"},"name":"El Pollo Loco","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Del Taco":{"tags":{"name":"Del Taco","amenity":"fast_food"},"name":"Del Taco","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/White Castle":{"tags":{"name":"White Castle","amenity":"fast_food"},"name":"White Castle","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Boston Market":{"tags":{"name":"Boston Market","amenity":"fast_food"},"name":"Boston Market","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Chick-fil-A":{"tags":{"name":"Chick-fil-A","cuisine":"chicken","amenity":"fast_food"},"name":"Chick-fil-A","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Panda Express":{"tags":{"name":"Panda Express","cuisine":"chinese","amenity":"fast_food"},"name":"Panda Express","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Whataburger":{"tags":{"name":"Whataburger","amenity":"fast_food"},"name":"Whataburger","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Taco John's":{"tags":{"name":"Taco John's","amenity":"fast_food"},"name":"Taco John's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Теремок":{"tags":{"name":"Теремок","amenity":"fast_food"},"name":"Теремок","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Culver's":{"tags":{"name":"Culver's","amenity":"fast_food"},"name":"Culver's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Five Guys":{"tags":{"name":"Five Guys","amenity":"fast_food"},"name":"Five Guys","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Church's Chicken":{"tags":{"name":"Church's Chicken","amenity":"fast_food"},"name":"Church's Chicken","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Popeye's":{"tags":{"name":"Popeye's","cuisine":"chicken","amenity":"fast_food"},"name":"Popeye's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Long John Silver's":{"tags":{"name":"Long John Silver's","amenity":"fast_food"},"name":"Long John Silver's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Pollo Campero":{"tags":{"name":"Pollo Campero","amenity":"fast_food"},"name":"Pollo Campero","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Zaxby's":{"tags":{"name":"Zaxby's","amenity":"fast_food"},"name":"Zaxby's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/すき家":{"tags":{"name":"すき家","name:en":"SUKIYA","amenity":"fast_food"},"name":"すき家","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/モスバーガー":{"tags":{"name":"モスバーガー","name:en":"MOS BURGER","amenity":"fast_food"},"name":"モスバーガー","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Русский Аппетит":{"tags":{"name":"Русский Аппетит","amenity":"fast_food"},"name":"Русский Аппетит","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/なか卯":{"tags":{"name":"なか卯","amenity":"fast_food"},"name":"なか卯","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/restaurant/Pizza Hut":{"tags":{"name":"Pizza Hut","cuisine":"pizza","amenity":"restaurant"},"name":"Pizza Hut","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Little Chef":{"tags":{"name":"Little Chef","amenity":"restaurant"},"name":"Little Chef","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Adler":{"tags":{"name":"Adler","amenity":"restaurant"},"name":"Adler","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zur Krone":{"tags":{"name":"Zur Krone","amenity":"restaurant"},"name":"Zur Krone","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Deutsches Haus":{"tags":{"name":"Deutsches Haus","amenity":"restaurant"},"name":"Deutsches Haus","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Krone":{"tags":{"name":"Krone","amenity":"restaurant"},"name":"Krone","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Akropolis":{"tags":{"name":"Akropolis","amenity":"restaurant"},"name":"Akropolis","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Schützenhaus":{"tags":{"name":"Schützenhaus","amenity":"restaurant"},"name":"Schützenhaus","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Kreuz":{"tags":{"name":"Kreuz","amenity":"restaurant"},"name":"Kreuz","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Waldschänke":{"tags":{"name":"Waldschänke","amenity":"restaurant"},"name":"Waldschänke","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Piazza":{"tags":{"name":"La Piazza","amenity":"restaurant"},"name":"La Piazza","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Lamm":{"tags":{"name":"Lamm","amenity":"restaurant"},"name":"Lamm","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zur Sonne":{"tags":{"name":"Zur Sonne","amenity":"restaurant"},"name":"Zur Sonne","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zur Linde":{"tags":{"name":"Zur Linde","amenity":"restaurant"},"name":"Zur Linde","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Poseidon":{"tags":{"name":"Poseidon","amenity":"restaurant"},"name":"Poseidon","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Shanghai":{"tags":{"name":"Shanghai","amenity":"restaurant"},"name":"Shanghai","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Red Lobster":{"tags":{"name":"Red Lobster","amenity":"restaurant"},"name":"Red Lobster","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zum Löwen":{"tags":{"name":"Zum Löwen","amenity":"restaurant"},"name":"Zum Löwen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Swiss Chalet":{"tags":{"name":"Swiss Chalet","amenity":"restaurant"},"name":"Swiss Chalet","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Olympia":{"tags":{"name":"Olympia","amenity":"restaurant"},"name":"Olympia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Wagamama":{"tags":{"name":"Wagamama","amenity":"restaurant"},"name":"Wagamama","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Frankie & Benny's":{"tags":{"name":"Frankie & Benny's","amenity":"restaurant"},"name":"Frankie & Benny's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hooters":{"tags":{"name":"Hooters","amenity":"restaurant"},"name":"Hooters","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sternen":{"tags":{"name":"Sternen","amenity":"restaurant"},"name":"Sternen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hirschen":{"tags":{"name":"Hirschen","amenity":"restaurant"},"name":"Hirschen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Denny's":{"tags":{"name":"Denny's","amenity":"restaurant"},"name":"Denny's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Athen":{"tags":{"name":"Athen","amenity":"restaurant"},"name":"Athen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sonne":{"tags":{"name":"Sonne","amenity":"restaurant"},"name":"Sonne","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hirsch":{"tags":{"name":"Hirsch","amenity":"restaurant"},"name":"Hirsch","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Ratskeller":{"tags":{"name":"Ratskeller","amenity":"restaurant"},"name":"Ratskeller","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Cantina":{"tags":{"name":"La Cantina","amenity":"restaurant"},"name":"La Cantina","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Gasthaus Krone":{"tags":{"name":"Gasthaus Krone","amenity":"restaurant"},"name":"Gasthaus Krone","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/El Greco":{"tags":{"name":"El Greco","amenity":"restaurant"},"name":"El Greco","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Gasthof zur Post":{"tags":{"name":"Gasthof zur Post","amenity":"restaurant"},"name":"Gasthof zur Post","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Nando's":{"tags":{"name":"Nando's","amenity":"restaurant"},"name":"Nando's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Löwen":{"tags":{"name":"Löwen","amenity":"restaurant"},"name":"Löwen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Pataterie":{"tags":{"name":"La Pataterie","amenity":"restaurant"},"name":"La Pataterie","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Bella Napoli":{"tags":{"name":"Bella Napoli","amenity":"restaurant"},"name":"Bella Napoli","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Pizza Express":{"tags":{"name":"Pizza Express","amenity":"restaurant"},"name":"Pizza Express","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mandarin":{"tags":{"name":"Mandarin","amenity":"restaurant"},"name":"Mandarin","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hong Kong":{"tags":{"name":"Hong Kong","amenity":"restaurant"},"name":"Hong Kong","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zizzi":{"tags":{"name":"Zizzi","amenity":"restaurant"},"name":"Zizzi","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Cracker Barrel":{"tags":{"name":"Cracker Barrel","amenity":"restaurant"},"name":"Cracker Barrel","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Rhodos":{"tags":{"name":"Rhodos","amenity":"restaurant"},"name":"Rhodos","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Lindenhof":{"tags":{"name":"Lindenhof","amenity":"restaurant"},"name":"Lindenhof","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Milano":{"tags":{"name":"Milano","amenity":"restaurant"},"name":"Milano","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Dolce Vita":{"tags":{"name":"Dolce Vita","amenity":"restaurant"},"name":"Dolce Vita","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Kirchenwirt":{"tags":{"name":"Kirchenwirt","amenity":"restaurant"},"name":"Kirchenwirt","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Kantine":{"tags":{"name":"Kantine","amenity":"restaurant"},"name":"Kantine","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Ochsen":{"tags":{"name":"Ochsen","amenity":"restaurant"},"name":"Ochsen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Spur":{"tags":{"name":"Spur","amenity":"restaurant"},"name":"Spur","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mykonos":{"tags":{"name":"Mykonos","amenity":"restaurant"},"name":"Mykonos","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Lotus":{"tags":{"name":"Lotus","amenity":"restaurant"},"name":"Lotus","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Applebee's":{"tags":{"name":"Applebee's","amenity":"restaurant"},"name":"Applebee's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Flunch":{"tags":{"name":"Flunch","amenity":"restaurant"},"name":"Flunch","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zur Post":{"tags":{"name":"Zur Post","amenity":"restaurant"},"name":"Zur Post","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/China Town":{"tags":{"name":"China Town","amenity":"restaurant"},"name":"China Town","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Dolce Vita":{"tags":{"name":"La Dolce Vita","amenity":"restaurant"},"name":"La Dolce Vita","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Waffle House":{"tags":{"name":"Waffle House","amenity":"restaurant"},"name":"Waffle House","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Delphi":{"tags":{"name":"Delphi","amenity":"restaurant"},"name":"Delphi","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Linde":{"tags":{"name":"Linde","amenity":"restaurant"},"name":"Linde","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Outback Steakhouse":{"tags":{"name":"Outback Steakhouse","amenity":"restaurant"},"name":"Outback Steakhouse","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Dionysos":{"tags":{"name":"Dionysos","amenity":"restaurant"},"name":"Dionysos","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Kelsey's":{"tags":{"name":"Kelsey's","amenity":"restaurant"},"name":"Kelsey's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Boston Pizza":{"tags":{"name":"Boston Pizza","amenity":"restaurant"},"name":"Boston Pizza","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Bella Italia":{"tags":{"name":"Bella Italia","amenity":"restaurant"},"name":"Bella Italia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sizzler":{"tags":{"name":"Sizzler","amenity":"restaurant"},"name":"Sizzler","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Grüner Baum":{"tags":{"name":"Grüner Baum","amenity":"restaurant"},"name":"Grüner Baum","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Taj Mahal":{"tags":{"name":"Taj Mahal","amenity":"restaurant"},"name":"Taj Mahal","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Rössli":{"tags":{"name":"Rössli","amenity":"restaurant"},"name":"Rössli","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Traube":{"tags":{"name":"Traube","amenity":"restaurant"},"name":"Traube","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Adria":{"tags":{"name":"Adria","amenity":"restaurant"},"name":"Adria","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Red Robin":{"tags":{"name":"Red Robin","amenity":"restaurant"},"name":"Red Robin","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Roma":{"tags":{"name":"Roma","amenity":"restaurant"},"name":"Roma","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/San Marco":{"tags":{"name":"San Marco","amenity":"restaurant"},"name":"San Marco","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hellas":{"tags":{"name":"Hellas","amenity":"restaurant"},"name":"Hellas","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Perla":{"tags":{"name":"La Perla","amenity":"restaurant"},"name":"La Perla","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Vips":{"tags":{"name":"Vips","amenity":"restaurant"},"name":"Vips","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Panera Bread":{"tags":{"name":"Panera Bread","amenity":"restaurant"},"name":"Panera Bread","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Da Vinci":{"tags":{"name":"Da Vinci","amenity":"restaurant"},"name":"Da Vinci","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hippopotamus":{"tags":{"name":"Hippopotamus","amenity":"restaurant"},"name":"Hippopotamus","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Prezzo":{"tags":{"name":"Prezzo","amenity":"restaurant"},"name":"Prezzo","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Courtepaille":{"tags":{"name":"Courtepaille","amenity":"restaurant"},"name":"Courtepaille","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hard Rock Cafe":{"tags":{"name":"Hard Rock Cafe","amenity":"restaurant"},"name":"Hard Rock Cafe","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Panorama":{"tags":{"name":"Panorama","amenity":"restaurant"},"name":"Panorama","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/デニーズ":{"tags":{"name":"デニーズ","amenity":"restaurant"},"name":"デニーズ","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sportheim":{"tags":{"name":"Sportheim","amenity":"restaurant"},"name":"Sportheim","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/餃子の王将":{"tags":{"name":"餃子の王将","amenity":"restaurant"},"name":"餃子の王将","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Bären":{"tags":{"name":"Bären","amenity":"restaurant"},"name":"Bären","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Alte Post":{"tags":{"name":"Alte Post","amenity":"restaurant"},"name":"Alte Post","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Pizzeria Roma":{"tags":{"name":"Pizzeria Roma","amenity":"restaurant"},"name":"Pizzeria Roma","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/China Garden":{"tags":{"name":"China Garden","amenity":"restaurant"},"name":"China Garden","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Vapiano":{"tags":{"name":"Vapiano","amenity":"restaurant"},"name":"Vapiano","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mamma Mia":{"tags":{"name":"Mamma Mia","amenity":"restaurant"},"name":"Mamma Mia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Schwarzer Adler":{"tags":{"name":"Schwarzer Adler","amenity":"restaurant"},"name":"Schwarzer Adler","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/IHOP":{"tags":{"name":"IHOP","amenity":"restaurant"},"name":"IHOP","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Chili's":{"tags":{"name":"Chili's","amenity":"restaurant"},"name":"Chili's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Asia":{"tags":{"name":"Asia","amenity":"restaurant"},"name":"Asia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Olive Garden":{"tags":{"name":"Olive Garden","amenity":"restaurant"},"name":"Olive Garden","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/TGI Friday's":{"tags":{"name":"TGI Friday's","amenity":"restaurant"},"name":"TGI Friday's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Friendly's":{"tags":{"name":"Friendly's","amenity":"restaurant"},"name":"Friendly's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Buffalo Grill":{"tags":{"name":"Buffalo Grill","amenity":"restaurant"},"name":"Buffalo Grill","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Texas Roadhouse":{"tags":{"name":"Texas Roadhouse","amenity":"restaurant"},"name":"Texas Roadhouse","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/ガスト":{"tags":{"name":"ガスト","name:en":"Gusto","amenity":"restaurant"},"name":"ガスト","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sakura":{"tags":{"name":"Sakura","amenity":"restaurant"},"name":"Sakura","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mensa":{"tags":{"name":"Mensa","amenity":"restaurant"},"name":"Mensa","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/The Keg":{"tags":{"name":"The Keg","amenity":"restaurant"},"name":"The Keg","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/サイゼリヤ":{"tags":{"name":"サイゼリヤ","amenity":"restaurant"},"name":"サイゼリヤ","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Strada":{"tags":{"name":"La Strada","amenity":"restaurant"},"name":"La Strada","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Village Inn":{"tags":{"name":"Village Inn","amenity":"restaurant"},"name":"Village Inn","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Buffalo Wild Wings":{"tags":{"name":"Buffalo Wild Wings","amenity":"restaurant"},"name":"Buffalo Wild Wings","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Peking":{"tags":{"name":"Peking","amenity":"restaurant"},"name":"Peking","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Round Table Pizza":{"tags":{"name":"Round Table Pizza","amenity":"restaurant"},"name":"Round Table Pizza","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/California Pizza Kitchen":{"tags":{"name":"California Pizza Kitchen","amenity":"restaurant"},"name":"California Pizza Kitchen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Якитория":{"tags":{"name":"Якитория","amenity":"restaurant"},"name":"Якитория","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Golden Corral":{"tags":{"name":"Golden Corral","amenity":"restaurant"},"name":"Golden Corral","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Perkins":{"tags":{"name":"Perkins","amenity":"restaurant"},"name":"Perkins","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Ruby Tuesday":{"tags":{"name":"Ruby Tuesday","amenity":"restaurant"},"name":"Ruby Tuesday","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Shari's":{"tags":{"name":"Shari's","amenity":"restaurant"},"name":"Shari's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Bob Evans":{"tags":{"name":"Bob Evans","amenity":"restaurant"},"name":"Bob Evans","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/바다횟집 (Bada Fish Restaurant)":{"tags":{"name":"바다횟집 (Bada Fish Restaurant)","amenity":"restaurant"},"name":"바다횟집 (Bada Fish Restaurant)","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mang Inasal":{"tags":{"name":"Mang Inasal","amenity":"restaurant"},"name":"Mang Inasal","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Евразия":{"tags":{"name":"Евразия","amenity":"restaurant"},"name":"Евразия","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/ジョナサン":{"tags":{"name":"ジョナサン","amenity":"restaurant"},"name":"ジョナサン","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Longhorn Steakhouse":{"tags":{"name":"Longhorn Steakhouse","amenity":"restaurant"},"name":"Longhorn Steakhouse","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/bank/Chase":{"tags":{"name":"Chase","amenity":"bank"},"name":"Chase","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Commonwealth Bank":{"tags":{"name":"Commonwealth Bank","amenity":"bank"},"name":"Commonwealth Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Citibank":{"tags":{"name":"Citibank","amenity":"bank"},"name":"Citibank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/HSBC":{"tags":{"name":"HSBC","amenity":"bank"},"name":"HSBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Barclays":{"tags":{"name":"Barclays","amenity":"bank"},"name":"Barclays","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Westpac":{"tags":{"name":"Westpac","amenity":"bank"},"name":"Westpac","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/NAB":{"tags":{"name":"NAB","amenity":"bank"},"name":"NAB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ANZ":{"tags":{"name":"ANZ","amenity":"bank"},"name":"ANZ","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Lloyds Bank":{"tags":{"name":"Lloyds Bank","amenity":"bank"},"name":"Lloyds Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Landbank":{"tags":{"name":"Landbank","amenity":"bank"},"name":"Landbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sparkasse":{"tags":{"name":"Sparkasse","amenity":"bank"},"name":"Sparkasse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/UCPB":{"tags":{"name":"UCPB","amenity":"bank"},"name":"UCPB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PNB":{"tags":{"name":"PNB","amenity":"bank"},"name":"PNB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Metrobank":{"tags":{"name":"Metrobank","amenity":"bank"},"name":"Metrobank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BDO":{"tags":{"name":"BDO","amenity":"bank"},"name":"BDO","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Volksbank":{"tags":{"name":"Volksbank","amenity":"bank"},"name":"Volksbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BPI":{"tags":{"name":"BPI","amenity":"bank"},"name":"BPI","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Postbank":{"tags":{"name":"Postbank","amenity":"bank"},"name":"Postbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/NatWest":{"tags":{"name":"NatWest","amenity":"bank"},"name":"NatWest","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Raiffeisenbank":{"tags":{"name":"Raiffeisenbank","amenity":"bank"},"name":"Raiffeisenbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Yorkshire Bank":{"tags":{"name":"Yorkshire Bank","amenity":"bank"},"name":"Yorkshire Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ABSA":{"tags":{"name":"ABSA","amenity":"bank"},"name":"ABSA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Standard Bank":{"tags":{"name":"Standard Bank","amenity":"bank"},"name":"Standard Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/FNB":{"tags":{"name":"FNB","amenity":"bank"},"name":"FNB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Deutsche Bank":{"tags":{"name":"Deutsche Bank","amenity":"bank"},"name":"Deutsche Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/SEB":{"tags":{"name":"SEB","amenity":"bank"},"name":"SEB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Commerzbank":{"tags":{"name":"Commerzbank","amenity":"bank"},"name":"Commerzbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Targobank":{"tags":{"name":"Targobank","amenity":"bank"},"name":"Targobank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ABN AMRO":{"tags":{"name":"ABN AMRO","amenity":"bank"},"name":"ABN AMRO","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Handelsbanken":{"tags":{"name":"Handelsbanken","amenity":"bank"},"name":"Handelsbanken","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Swedbank":{"tags":{"name":"Swedbank","amenity":"bank"},"name":"Swedbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Kreissparkasse":{"tags":{"name":"Kreissparkasse","amenity":"bank"},"name":"Kreissparkasse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/UniCredit Bank":{"tags":{"name":"UniCredit Bank","amenity":"bank"},"name":"UniCredit Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Monte dei Paschi di Siena":{"tags":{"name":"Monte dei Paschi di Siena","amenity":"bank"},"name":"Monte dei Paschi di Siena","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caja Rural":{"tags":{"name":"Caja Rural","amenity":"bank"},"name":"Caja Rural","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Dresdner Bank":{"tags":{"name":"Dresdner Bank","amenity":"bank"},"name":"Dresdner Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sparda-Bank":{"tags":{"name":"Sparda-Bank","amenity":"bank"},"name":"Sparda-Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/VÚB":{"tags":{"name":"VÚB","amenity":"bank"},"name":"VÚB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Slovenská sporiteľňa":{"tags":{"name":"Slovenská sporiteľňa","amenity":"bank"},"name":"Slovenská sporiteľňa","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of Montreal":{"tags":{"name":"Bank of Montreal","amenity":"bank"},"name":"Bank of Montreal","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/KBC":{"tags":{"name":"KBC","amenity":"bank"},"name":"KBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Royal Bank of Scotland":{"tags":{"name":"Royal Bank of Scotland","amenity":"bank"},"name":"Royal Bank of Scotland","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/TSB":{"tags":{"name":"TSB","amenity":"bank"},"name":"TSB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/US Bank":{"tags":{"name":"US Bank","amenity":"bank"},"name":"US Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/HypoVereinsbank":{"tags":{"name":"HypoVereinsbank","amenity":"bank"},"name":"HypoVereinsbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank Austria":{"tags":{"name":"Bank Austria","amenity":"bank"},"name":"Bank Austria","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ING":{"tags":{"name":"ING","amenity":"bank"},"name":"ING","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Erste Bank":{"tags":{"name":"Erste Bank","amenity":"bank"},"name":"Erste Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CIBC":{"tags":{"name":"CIBC","amenity":"bank"},"name":"CIBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Scotiabank":{"tags":{"name":"Scotiabank","amenity":"bank"},"name":"Scotiabank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caisse d'Épargne":{"tags":{"name":"Caisse d'Épargne","amenity":"bank"},"name":"Caisse d'Épargne","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Santander":{"tags":{"name":"Santander","amenity":"bank"},"name":"Santander","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of Scotland":{"tags":{"name":"Bank of Scotland","amenity":"bank"},"name":"Bank of Scotland","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/TD Canada Trust":{"tags":{"name":"TD Canada Trust","amenity":"bank"},"name":"TD Canada Trust","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BMO":{"tags":{"name":"BMO","amenity":"bank"},"name":"BMO","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Danske Bank":{"tags":{"name":"Danske Bank","amenity":"bank"},"name":"Danske Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/OTP":{"tags":{"name":"OTP","amenity":"bank"},"name":"OTP","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Crédit Agricole":{"tags":{"name":"Crédit Agricole","amenity":"bank"},"name":"Crédit Agricole","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/LCL":{"tags":{"name":"LCL","amenity":"bank"},"name":"LCL","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/VR-Bank":{"tags":{"name":"VR-Bank","amenity":"bank"},"name":"VR-Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ČSOB":{"tags":{"name":"ČSOB","amenity":"bank"},"name":"ČSOB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Česká spořitelna":{"tags":{"name":"Česká spořitelna","amenity":"bank"},"name":"Česká spořitelna","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BNP":{"tags":{"name":"BNP","amenity":"bank"},"name":"BNP","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Royal Bank":{"tags":{"name":"Royal Bank","amenity":"bank"},"name":"Royal Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Nationwide":{"tags":{"name":"Nationwide","amenity":"bank"},"name":"Nationwide","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Halifax":{"tags":{"name":"Halifax","amenity":"bank"},"name":"Halifax","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BAWAG PSK":{"tags":{"name":"BAWAG PSK","amenity":"bank"},"name":"BAWAG PSK","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/National Bank":{"tags":{"name":"National Bank","amenity":"bank"},"name":"National Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Nedbank":{"tags":{"name":"Nedbank","amenity":"bank"},"name":"Nedbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/First National Bank":{"tags":{"name":"First National Bank","amenity":"bank"},"name":"First National Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Nordea":{"tags":{"name":"Nordea","amenity":"bank"},"name":"Nordea","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Rabobank":{"tags":{"name":"Rabobank","amenity":"bank"},"name":"Rabobank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sparkasse KölnBonn":{"tags":{"name":"Sparkasse KölnBonn","amenity":"bank"},"name":"Sparkasse KölnBonn","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Tatra banka":{"tags":{"name":"Tatra banka","amenity":"bank"},"name":"Tatra banka","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Berliner Sparkasse":{"tags":{"name":"Berliner Sparkasse","amenity":"bank"},"name":"Berliner Sparkasse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Berliner Volksbank":{"tags":{"name":"Berliner Volksbank","amenity":"bank"},"name":"Berliner Volksbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Wells Fargo":{"tags":{"name":"Wells Fargo","amenity":"bank"},"name":"Wells Fargo","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Credit Suisse":{"tags":{"name":"Credit Suisse","amenity":"bank"},"name":"Credit Suisse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Société Générale":{"tags":{"name":"Société Générale","amenity":"bank"},"name":"Société Générale","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Osuuspankki":{"tags":{"name":"Osuuspankki","amenity":"bank"},"name":"Osuuspankki","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sparkasse Aachen":{"tags":{"name":"Sparkasse Aachen","amenity":"bank"},"name":"Sparkasse Aachen","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Hamburger Sparkasse":{"tags":{"name":"Hamburger Sparkasse","amenity":"bank"},"name":"Hamburger Sparkasse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Cassa di Risparmio del Veneto":{"tags":{"name":"Cassa di Risparmio del Veneto","amenity":"bank"},"name":"Cassa di Risparmio del Veneto","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BNP Paribas":{"tags":{"name":"BNP Paribas","amenity":"bank"},"name":"BNP Paribas","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banque Populaire":{"tags":{"name":"Banque Populaire","amenity":"bank"},"name":"Banque Populaire","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BNP Paribas Fortis":{"tags":{"name":"BNP Paribas Fortis","amenity":"bank"},"name":"BNP Paribas Fortis","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Popular":{"tags":{"name":"Banco Popular","amenity":"bank"},"name":"Banco Popular","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bancaja":{"tags":{"name":"Bancaja","amenity":"bank"},"name":"Bancaja","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banesto":{"tags":{"name":"Banesto","amenity":"bank"},"name":"Banesto","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/La Caixa":{"tags":{"name":"La Caixa","amenity":"bank"},"name":"La Caixa","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Santander Consumer Bank":{"tags":{"name":"Santander Consumer Bank","amenity":"bank"},"name":"Santander Consumer Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BRD":{"tags":{"name":"BRD","amenity":"bank"},"name":"BRD","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BCR":{"tags":{"name":"BCR","amenity":"bank"},"name":"BCR","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Transilvania":{"tags":{"name":"Banca Transilvania","amenity":"bank"},"name":"Banca Transilvania","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BW-Bank":{"tags":{"name":"BW-Bank","amenity":"bank"},"name":"BW-Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Komerční banka":{"tags":{"name":"Komerční banka","amenity":"bank"},"name":"Komerční banka","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Pastor":{"tags":{"name":"Banco Pastor","amenity":"bank"},"name":"Banco Pastor","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Stadtsparkasse":{"tags":{"name":"Stadtsparkasse","amenity":"bank"},"name":"Stadtsparkasse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Ulster Bank":{"tags":{"name":"Ulster Bank","amenity":"bank"},"name":"Ulster Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sberbank":{"tags":{"name":"Sberbank","amenity":"bank"},"name":"Sberbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CIC":{"tags":{"name":"CIC","amenity":"bank"},"name":"CIC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bancpost":{"tags":{"name":"Bancpost","amenity":"bank"},"name":"Bancpost","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caja Madrid":{"tags":{"name":"Caja Madrid","amenity":"bank"},"name":"Caja Madrid","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Maybank":{"tags":{"name":"Maybank","amenity":"bank"},"name":"Maybank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/中国银行":{"tags":{"name":"中国银行","amenity":"bank"},"name":"中国银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Unicredit Banca":{"tags":{"name":"Unicredit Banca","amenity":"bank"},"name":"Unicredit Banca","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Crédit Mutuel":{"tags":{"name":"Crédit Mutuel","amenity":"bank"},"name":"Crédit Mutuel","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BBVA":{"tags":{"name":"BBVA","amenity":"bank"},"name":"BBVA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Intesa San Paolo":{"tags":{"name":"Intesa San Paolo","amenity":"bank"},"name":"Intesa San Paolo","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/TD Bank":{"tags":{"name":"TD Bank","amenity":"bank"},"name":"TD Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Belfius":{"tags":{"name":"Belfius","amenity":"bank"},"name":"Belfius","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of America":{"tags":{"name":"Bank of America","amenity":"bank"},"name":"Bank of America","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/RBC":{"tags":{"name":"RBC","amenity":"bank"},"name":"RBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Alpha Bank":{"tags":{"name":"Alpha Bank","amenity":"bank"},"name":"Alpha Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Сбербанк":{"tags":{"name":"Сбербанк","amenity":"bank"},"name":"Сбербанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Россельхозбанк":{"tags":{"name":"Россельхозбанк","amenity":"bank"},"name":"Россельхозбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Crédit du Nord":{"tags":{"name":"Crédit du Nord","amenity":"bank"},"name":"Crédit du Nord","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BancoEstado":{"tags":{"name":"BancoEstado","amenity":"bank"},"name":"BancoEstado","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Millennium Bank":{"tags":{"name":"Millennium Bank","amenity":"bank"},"name":"Millennium Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/State Bank of India":{"tags":{"name":"State Bank of India","amenity":"bank"},"name":"State Bank of India","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Беларусбанк":{"tags":{"name":"Беларусбанк","amenity":"bank"},"name":"Беларусбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ING Bank Śląski":{"tags":{"name":"ING Bank Śląski","amenity":"bank"},"name":"ING Bank Śląski","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caixa Geral de Depósitos":{"tags":{"name":"Caixa Geral de Depósitos","amenity":"bank"},"name":"Caixa Geral de Depósitos","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Kreissparkasse Köln":{"tags":{"name":"Kreissparkasse Köln","amenity":"bank"},"name":"Kreissparkasse Köln","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco BCI":{"tags":{"name":"Banco BCI","amenity":"bank"},"name":"Banco BCI","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de Chile":{"tags":{"name":"Banco de Chile","amenity":"bank"},"name":"Banco de Chile","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ВТБ24":{"tags":{"name":"ВТБ24","amenity":"bank"},"name":"ВТБ24","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/UBS":{"tags":{"name":"UBS","amenity":"bank"},"name":"UBS","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PKO BP":{"tags":{"name":"PKO BP","amenity":"bank"},"name":"PKO BP","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Chinabank":{"tags":{"name":"Chinabank","amenity":"bank"},"name":"Chinabank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PSBank":{"tags":{"name":"PSBank","amenity":"bank"},"name":"PSBank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Union Bank":{"tags":{"name":"Union Bank","amenity":"bank"},"name":"Union Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/China Bank":{"tags":{"name":"China Bank","amenity":"bank"},"name":"China Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/RCBC":{"tags":{"name":"RCBC","amenity":"bank"},"name":"RCBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Unicaja":{"tags":{"name":"Unicaja","amenity":"bank"},"name":"Unicaja","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BBK":{"tags":{"name":"BBK","amenity":"bank"},"name":"BBK","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Ibercaja":{"tags":{"name":"Ibercaja","amenity":"bank"},"name":"Ibercaja","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/RBS":{"tags":{"name":"RBS","amenity":"bank"},"name":"RBS","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Commercial Bank of Ceylon PLC":{"tags":{"name":"Commercial Bank of Ceylon PLC","amenity":"bank"},"name":"Commercial Bank of Ceylon PLC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of Ireland":{"tags":{"name":"Bank of Ireland","amenity":"bank"},"name":"Bank of Ireland","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BNL":{"tags":{"name":"BNL","amenity":"bank"},"name":"BNL","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Santander":{"tags":{"name":"Banco Santander","amenity":"bank"},"name":"Banco Santander","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Itaú":{"tags":{"name":"Banco Itaú","amenity":"bank"},"name":"Banco Itaú","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/AIB":{"tags":{"name":"AIB","amenity":"bank"},"name":"AIB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BZ WBK":{"tags":{"name":"BZ WBK","amenity":"bank"},"name":"BZ WBK","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco do Brasil":{"tags":{"name":"Banco do Brasil","amenity":"bank"},"name":"Banco do Brasil","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caixa Econômica Federal":{"tags":{"name":"Caixa Econômica Federal","amenity":"bank"},"name":"Caixa Econômica Federal","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Fifth Third Bank":{"tags":{"name":"Fifth Third Bank","amenity":"bank"},"name":"Fifth Third Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Popolare di Vicenza":{"tags":{"name":"Banca Popolare di Vicenza","amenity":"bank"},"name":"Banca Popolare di Vicenza","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Wachovia":{"tags":{"name":"Wachovia","amenity":"bank"},"name":"Wachovia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/OLB":{"tags":{"name":"OLB","amenity":"bank"},"name":"OLB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/みずほ銀行":{"tags":{"name":"みずほ銀行","amenity":"bank"},"name":"みずほ銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BES":{"tags":{"name":"BES","amenity":"bank"},"name":"BES","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ICICI Bank":{"tags":{"name":"ICICI Bank","amenity":"bank"},"name":"ICICI Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/HDFC Bank":{"tags":{"name":"HDFC Bank","amenity":"bank"},"name":"HDFC Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/La Banque Postale":{"tags":{"name":"La Banque Postale","amenity":"bank"},"name":"La Banque Postale","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Pekao SA":{"tags":{"name":"Pekao SA","amenity":"bank"},"name":"Pekao SA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Oberbank":{"tags":{"name":"Oberbank","amenity":"bank"},"name":"Oberbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bradesco":{"tags":{"name":"Bradesco","amenity":"bank"},"name":"Bradesco","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Oldenburgische Landesbank":{"tags":{"name":"Oldenburgische Landesbank","amenity":"bank"},"name":"Oldenburgische Landesbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bendigo Bank":{"tags":{"name":"Bendigo Bank","amenity":"bank"},"name":"Bendigo Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Argenta":{"tags":{"name":"Argenta","amenity":"bank"},"name":"Argenta","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/AXA":{"tags":{"name":"AXA","amenity":"bank"},"name":"AXA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Axis Bank":{"tags":{"name":"Axis Bank","amenity":"bank"},"name":"Axis Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Nación":{"tags":{"name":"Banco Nación","amenity":"bank"},"name":"Banco Nación","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/GE Money Bank":{"tags":{"name":"GE Money Bank","amenity":"bank"},"name":"GE Money Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Альфа-Банк":{"tags":{"name":"Альфа-Банк","amenity":"bank"},"name":"Альфа-Банк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Белагропромбанк":{"tags":{"name":"Белагропромбанк","amenity":"bank"},"name":"Белагропромбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caja Círculo":{"tags":{"name":"Caja Círculo","amenity":"bank"},"name":"Caja Círculo","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Galicia":{"tags":{"name":"Banco Galicia","amenity":"bank"},"name":"Banco Galicia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Eurobank":{"tags":{"name":"Eurobank","amenity":"bank"},"name":"Eurobank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Intesa":{"tags":{"name":"Banca Intesa","amenity":"bank"},"name":"Banca Intesa","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Canara Bank":{"tags":{"name":"Canara Bank","amenity":"bank"},"name":"Canara Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Cajamar":{"tags":{"name":"Cajamar","amenity":"bank"},"name":"Cajamar","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banamex":{"tags":{"name":"Banamex","amenity":"bank"},"name":"Banamex","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Crédit Mutuel de Bretagne":{"tags":{"name":"Crédit Mutuel de Bretagne","amenity":"bank"},"name":"Crédit Mutuel de Bretagne","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Davivienda":{"tags":{"name":"Davivienda","amenity":"bank"},"name":"Davivienda","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank Spółdzielczy":{"tags":{"name":"Bank Spółdzielczy","amenity":"bank"},"name":"Bank Spółdzielczy","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Credit Agricole":{"tags":{"name":"Credit Agricole","amenity":"bank"},"name":"Credit Agricole","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bankinter":{"tags":{"name":"Bankinter","amenity":"bank"},"name":"Bankinter","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banque Nationale":{"tags":{"name":"Banque Nationale","amenity":"bank"},"name":"Banque Nationale","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of the West":{"tags":{"name":"Bank of the West","amenity":"bank"},"name":"Bank of the West","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Key Bank":{"tags":{"name":"Key Bank","amenity":"bank"},"name":"Key Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Western Union":{"tags":{"name":"Western Union","amenity":"bank"},"name":"Western Union","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Citizens Bank":{"tags":{"name":"Citizens Bank","amenity":"bank"},"name":"Citizens Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ПриватБанк":{"tags":{"name":"ПриватБанк","amenity":"bank"},"name":"ПриватБанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Security Bank":{"tags":{"name":"Security Bank","amenity":"bank"},"name":"Security Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Millenium":{"tags":{"name":"Millenium","amenity":"bank"},"name":"Millenium","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bankia":{"tags":{"name":"Bankia","amenity":"bank"},"name":"Bankia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/三菱東京UFJ銀行":{"tags":{"name":"三菱東京UFJ銀行","amenity":"bank"},"name":"三菱東京UFJ銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caixa":{"tags":{"name":"Caixa","amenity":"bank"},"name":"Caixa","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de Costa Rica":{"tags":{"name":"Banco de Costa Rica","amenity":"bank"},"name":"Banco de Costa Rica","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/SunTrust Bank":{"tags":{"name":"SunTrust Bank","amenity":"bank"},"name":"SunTrust Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Itaú":{"tags":{"name":"Itaú","amenity":"bank"},"name":"Itaú","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PBZ":{"tags":{"name":"PBZ","amenity":"bank"},"name":"PBZ","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/中国工商银行":{"tags":{"name":"中国工商银行","amenity":"bank"},"name":"中国工商银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bancolombia":{"tags":{"name":"Bancolombia","amenity":"bank"},"name":"Bancolombia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Райффайзен Банк Аваль":{"tags":{"name":"Райффайзен Банк Аваль","amenity":"bank"},"name":"Райффайзен Банк Аваль","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bancomer":{"tags":{"name":"Bancomer","amenity":"bank"},"name":"Bancomer","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banorte":{"tags":{"name":"Banorte","amenity":"bank"},"name":"Banorte","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Alior Bank":{"tags":{"name":"Alior Bank","amenity":"bank"},"name":"Alior Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BOC":{"tags":{"name":"BOC","amenity":"bank"},"name":"BOC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Банк Москвы":{"tags":{"name":"Банк Москвы","amenity":"bank"},"name":"Банк Москвы","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ВТБ":{"tags":{"name":"ВТБ","amenity":"bank"},"name":"ВТБ","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Getin Bank":{"tags":{"name":"Getin Bank","amenity":"bank"},"name":"Getin Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caja Duero":{"tags":{"name":"Caja Duero","amenity":"bank"},"name":"Caja Duero","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Regions Bank":{"tags":{"name":"Regions Bank","amenity":"bank"},"name":"Regions Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Росбанк":{"tags":{"name":"Росбанк","amenity":"bank"},"name":"Росбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Estado":{"tags":{"name":"Banco Estado","amenity":"bank"},"name":"Banco Estado","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BCI":{"tags":{"name":"BCI","amenity":"bank"},"name":"BCI","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/SunTrust":{"tags":{"name":"SunTrust","amenity":"bank"},"name":"SunTrust","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PNC Bank":{"tags":{"name":"PNC Bank","amenity":"bank"},"name":"PNC Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/신한은행":{"tags":{"name":"신한은행","name:en":"Sinhan Bank","amenity":"bank"},"name":"신한은행","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/우리은행":{"tags":{"name":"우리은행","name:en":"Uri Bank","amenity":"bank"},"name":"우리은행","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/국민은행":{"tags":{"name":"국민은행","name:en":"Gungmin Bank","amenity":"bank"},"name":"국민은행","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/중소기업은행":{"tags":{"name":"중소기업은행","name:en":"Industrial Bank of Korea","amenity":"bank"},"name":"중소기업은행","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/광주은행":{"tags":{"name":"광주은행","name:en":"Gwangju Bank","amenity":"bank"},"name":"광주은행","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Газпромбанк":{"tags":{"name":"Газпромбанк","amenity":"bank"},"name":"Газпромбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/M&T Bank":{"tags":{"name":"M&T Bank","amenity":"bank"},"name":"M&T Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caja de Burgos":{"tags":{"name":"Caja de Burgos","amenity":"bank"},"name":"Caja de Burgos","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Santander Totta":{"tags":{"name":"Santander Totta","amenity":"bank"},"name":"Santander Totta","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/УкрСиббанк":{"tags":{"name":"УкрСиббанк","amenity":"bank"},"name":"УкрСиббанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Ощадбанк":{"tags":{"name":"Ощадбанк","amenity":"bank"},"name":"Ощадбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Уралсиб":{"tags":{"name":"Уралсиб","amenity":"bank"},"name":"Уралсиб","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/りそな銀行":{"tags":{"name":"りそな銀行","name:en":"Mizuho Bank","amenity":"bank"},"name":"りそな銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Ecobank":{"tags":{"name":"Ecobank","amenity":"bank"},"name":"Ecobank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Cajero Automatico Bancared":{"tags":{"name":"Cajero Automatico Bancared","amenity":"bank"},"name":"Cajero Automatico Bancared","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Промсвязьбанк":{"tags":{"name":"Промсвязьбанк","amenity":"bank"},"name":"Промсвязьбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/三井住友銀行":{"tags":{"name":"三井住友銀行","amenity":"bank"},"name":"三井住友銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Provincia":{"tags":{"name":"Banco Provincia","amenity":"bank"},"name":"Banco Provincia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BB&T":{"tags":{"name":"BB&T","amenity":"bank"},"name":"BB&T","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Возрождение":{"tags":{"name":"Возрождение","amenity":"bank"},"name":"Возрождение","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Capital One":{"tags":{"name":"Capital One","amenity":"bank"},"name":"Capital One","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/横浜銀行":{"tags":{"name":"横浜銀行","amenity":"bank"},"name":"横浜銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank Mandiri":{"tags":{"name":"Bank Mandiri","amenity":"bank"},"name":"Bank Mandiri","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de la Nación":{"tags":{"name":"Banco de la Nación","amenity":"bank"},"name":"Banco de la Nación","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco G&T Continental":{"tags":{"name":"Banco G&T Continental","amenity":"bank"},"name":"Banco G&T Continental","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Peoples Bank":{"tags":{"name":"Peoples Bank","amenity":"bank"},"name":"Peoples Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/工商银行":{"tags":{"name":"工商银行","amenity":"bank"},"name":"工商银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Совкомбанк":{"tags":{"name":"Совкомбанк","amenity":"bank"},"name":"Совкомбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Provincial":{"tags":{"name":"Provincial","amenity":"bank"},"name":"Provincial","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de Desarrollo Banrural":{"tags":{"name":"Banco de Desarrollo Banrural","amenity":"bank"},"name":"Banco de Desarrollo Banrural","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Bradesco":{"tags":{"name":"Banco Bradesco","amenity":"bank"},"name":"Banco Bradesco","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bicentenario":{"tags":{"name":"Bicentenario","amenity":"bank"},"name":"Bicentenario","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ლიბერთი ბანკი":{"tags":{"name":"ლიბერთი ბანკი","name:en":"Liberty Bank","amenity":"bank"},"name":"ლიბერთი ბანკი","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banesco":{"tags":{"name":"Banesco","amenity":"bank"},"name":"Banesco","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Mercantil":{"tags":{"name":"Mercantil","amenity":"bank"},"name":"Mercantil","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank BRI":{"tags":{"name":"Bank BRI","amenity":"bank"},"name":"Bank BRI","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Del Tesoro":{"tags":{"name":"Del Tesoro","amenity":"bank"},"name":"Del Tesoro","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/하나은행":{"tags":{"name":"하나은행","amenity":"bank"},"name":"하나은행","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CityCommerce Bank":{"tags":{"name":"CityCommerce Bank","amenity":"bank"},"name":"CityCommerce Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/De Venezuela":{"tags":{"name":"De Venezuela","amenity":"bank"},"name":"De Venezuela","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/car_rental/Europcar":{"tags":{"name":"Europcar","amenity":"car_rental"},"name":"Europcar","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Budget":{"tags":{"name":"Budget","amenity":"car_rental"},"name":"Budget","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Sixt":{"tags":{"name":"Sixt","amenity":"car_rental"},"name":"Sixt","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Avis":{"tags":{"name":"Avis","amenity":"car_rental"},"name":"Avis","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Hertz":{"tags":{"name":"Hertz","amenity":"car_rental"},"name":"Hertz","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Enterprise":{"tags":{"name":"Enterprise","amenity":"car_rental"},"name":"Enterprise","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/stadtmobil CarSharing-Station":{"tags":{"name":"stadtmobil CarSharing-Station","amenity":"car_rental"},"name":"stadtmobil CarSharing-Station","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/pharmacy/Rowlands Pharmacy":{"tags":{"name":"Rowlands Pharmacy","amenity":"pharmacy"},"name":"Rowlands Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Boots":{"tags":{"name":"Boots","amenity":"pharmacy"},"name":"Boots","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Marien-Apotheke":{"tags":{"name":"Marien-Apotheke","amenity":"pharmacy"},"name":"Marien-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Mercury Drug":{"tags":{"name":"Mercury Drug","amenity":"pharmacy"},"name":"Mercury Drug","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Löwen-Apotheke":{"tags":{"name":"Löwen-Apotheke","amenity":"pharmacy"},"name":"Löwen-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Superdrug":{"tags":{"name":"Superdrug","amenity":"pharmacy"},"name":"Superdrug","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Sonnen-Apotheke":{"tags":{"name":"Sonnen-Apotheke","amenity":"pharmacy"},"name":"Sonnen-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rathaus-Apotheke":{"tags":{"name":"Rathaus-Apotheke","amenity":"pharmacy"},"name":"Rathaus-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Engel-Apotheke":{"tags":{"name":"Engel-Apotheke","amenity":"pharmacy"},"name":"Engel-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Hirsch-Apotheke":{"tags":{"name":"Hirsch-Apotheke","amenity":"pharmacy"},"name":"Hirsch-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Stern-Apotheke":{"tags":{"name":"Stern-Apotheke","amenity":"pharmacy"},"name":"Stern-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Lloyds Pharmacy":{"tags":{"name":"Lloyds Pharmacy","amenity":"pharmacy"},"name":"Lloyds Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rosen-Apotheke":{"tags":{"name":"Rosen-Apotheke","amenity":"pharmacy"},"name":"Rosen-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Stadt-Apotheke":{"tags":{"name":"Stadt-Apotheke","amenity":"pharmacy"},"name":"Stadt-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Markt-Apotheke":{"tags":{"name":"Markt-Apotheke","amenity":"pharmacy"},"name":"Markt-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Аптека":{"tags":{"name":"Аптека","amenity":"pharmacy"},"name":"Аптека","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmasave":{"tags":{"name":"Pharmasave","amenity":"pharmacy"},"name":"Pharmasave","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Brunnen-Apotheke":{"tags":{"name":"Brunnen-Apotheke","amenity":"pharmacy"},"name":"Brunnen-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Shoppers Drug Mart":{"tags":{"name":"Shoppers Drug Mart","amenity":"pharmacy"},"name":"Shoppers Drug Mart","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Apotheke am Markt":{"tags":{"name":"Apotheke am Markt","amenity":"pharmacy"},"name":"Apotheke am Markt","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Alte Apotheke":{"tags":{"name":"Alte Apotheke","amenity":"pharmacy"},"name":"Alte Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Neue Apotheke":{"tags":{"name":"Neue Apotheke","amenity":"pharmacy"},"name":"Neue Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Gintarinė vaistinė":{"tags":{"name":"Gintarinė vaistinė","amenity":"pharmacy"},"name":"Gintarinė vaistinė","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rats-Apotheke":{"tags":{"name":"Rats-Apotheke","amenity":"pharmacy"},"name":"Rats-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Adler Apotheke":{"tags":{"name":"Adler Apotheke","amenity":"pharmacy"},"name":"Adler Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmacie Centrale":{"tags":{"name":"Pharmacie Centrale","amenity":"pharmacy"},"name":"Pharmacie Centrale","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Walgreens":{"tags":{"name":"Walgreens","amenity":"pharmacy"},"name":"Walgreens","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rite Aid":{"tags":{"name":"Rite Aid","amenity":"pharmacy"},"name":"Rite Aid","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Apotheke":{"tags":{"name":"Apotheke","amenity":"pharmacy"},"name":"Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Linden-Apotheke":{"tags":{"name":"Linden-Apotheke","amenity":"pharmacy"},"name":"Linden-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Bahnhof-Apotheke":{"tags":{"name":"Bahnhof-Apotheke","amenity":"pharmacy"},"name":"Bahnhof-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Burg-Apotheke":{"tags":{"name":"Burg-Apotheke","amenity":"pharmacy"},"name":"Burg-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Jean Coutu":{"tags":{"name":"Jean Coutu","amenity":"pharmacy"},"name":"Jean Coutu","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmaprix":{"tags":{"name":"Pharmaprix","amenity":"pharmacy"},"name":"Pharmaprix","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacias Ahumada":{"tags":{"name":"Farmacias Ahumada","amenity":"pharmacy"},"name":"Farmacias Ahumada","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacia Comunale":{"tags":{"name":"Farmacia Comunale","amenity":"pharmacy"},"name":"Farmacia Comunale","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacias Cruz Verde":{"tags":{"name":"Farmacias Cruz Verde","amenity":"pharmacy"},"name":"Farmacias Cruz Verde","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Cruz Verde":{"tags":{"name":"Cruz Verde","amenity":"pharmacy"},"name":"Cruz Verde","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Hubertus Apotheke":{"tags":{"name":"Hubertus Apotheke","amenity":"pharmacy"},"name":"Hubertus Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/CVS":{"tags":{"name":"CVS","amenity":"pharmacy"},"name":"CVS","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacias SalcoBrand":{"tags":{"name":"Farmacias SalcoBrand","amenity":"pharmacy"},"name":"Farmacias SalcoBrand","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Фармация":{"tags":{"name":"Фармация","amenity":"pharmacy"},"name":"Фармация","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Bären-Apotheke":{"tags":{"name":"Bären-Apotheke","amenity":"pharmacy"},"name":"Bären-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Clicks":{"tags":{"name":"Clicks","amenity":"pharmacy"},"name":"Clicks","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/セイジョー":{"tags":{"name":"セイジョー","amenity":"pharmacy"},"name":"セイジョー","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/マツモトキヨシ":{"tags":{"name":"マツモトキヨシ","amenity":"pharmacy"},"name":"マツモトキヨシ","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Dr. Max":{"tags":{"name":"Dr. Max","amenity":"pharmacy"},"name":"Dr. Max","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Вита":{"tags":{"name":"Вита","amenity":"pharmacy"},"name":"Вита","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/サンドラッグ":{"tags":{"name":"サンドラッグ","amenity":"pharmacy"},"name":"サンドラッグ","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Apteka":{"tags":{"name":"Apteka","amenity":"pharmacy"},"name":"Apteka","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Первая помощь":{"tags":{"name":"Первая помощь","amenity":"pharmacy"},"name":"Первая помощь","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Ригла":{"tags":{"name":"Ригла","amenity":"pharmacy"},"name":"Ригла","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Имплозия":{"tags":{"name":"Имплозия","amenity":"pharmacy"},"name":"Имплозия","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Kinney Drugs":{"tags":{"name":"Kinney Drugs","amenity":"pharmacy"},"name":"Kinney Drugs","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Классика":{"tags":{"name":"Классика","amenity":"pharmacy"},"name":"Классика","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Ljekarna":{"tags":{"name":"Ljekarna","amenity":"pharmacy"},"name":"Ljekarna","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/SalcoBrand":{"tags":{"name":"SalcoBrand","amenity":"pharmacy"},"name":"SalcoBrand","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Аптека 36,6":{"tags":{"name":"Аптека 36,6","amenity":"pharmacy"},"name":"Аптека 36,6","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Фармакор":{"tags":{"name":"Фармакор","amenity":"pharmacy"},"name":"Фармакор","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/スギ薬局":{"tags":{"name":"スギ薬局","amenity":"pharmacy"},"name":"スギ薬局","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Аптечный пункт":{"tags":{"name":"Аптечный пункт","amenity":"pharmacy"},"name":"Аптечный пункт","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Невис":{"tags":{"name":"Невис","amenity":"pharmacy"},"name":"Невис","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/トモズ (Tomod's)":{"tags":{"name":"トモズ (Tomod's)","amenity":"pharmacy"},"name":"トモズ (Tomod's)","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Eurovaistinė":{"tags":{"name":"Eurovaistinė","amenity":"pharmacy"},"name":"Eurovaistinė","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacity":{"tags":{"name":"Farmacity","amenity":"pharmacy"},"name":"Farmacity","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/аптека":{"tags":{"name":"аптека","amenity":"pharmacy"},"name":"аптека","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/The Generics Pharmacy":{"tags":{"name":"The Generics Pharmacy","amenity":"pharmacy"},"name":"The Generics Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmatodo":{"tags":{"name":"Farmatodo","amenity":"pharmacy"},"name":"Farmatodo","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Duane Reade":{"tags":{"name":"Duane Reade","amenity":"pharmacy"},"name":"Duane Reade","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Фармленд":{"tags":{"name":"Фармленд","amenity":"pharmacy"},"name":"Фармленд","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/ドラッグてらしま (Drug Terashima)":{"tags":{"name":"ドラッグてらしま (Drug Terashima)","amenity":"pharmacy"},"name":"ドラッグてらしま (Drug Terashima)","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Арніка":{"tags":{"name":"Арніка","amenity":"pharmacy"},"name":"Арніка","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/ავერსი (Aversi)":{"tags":{"name":"ავერსი (Aversi)","amenity":"pharmacy"},"name":"ავერსი (Aversi)","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmahorro":{"tags":{"name":"Farmahorro","amenity":"pharmacy"},"name":"Farmahorro","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/cafe/Starbucks":{"tags":{"name":"Starbucks","cuisine":"coffee_shop","amenity":"cafe"},"name":"Starbucks","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Cafeteria":{"tags":{"name":"Cafeteria","amenity":"cafe"},"name":"Cafeteria","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Costa":{"tags":{"name":"Costa","amenity":"cafe"},"name":"Costa","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Caffè Nero":{"tags":{"name":"Caffè Nero","amenity":"cafe"},"name":"Caffè Nero","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Кафе":{"tags":{"name":"Кафе","amenity":"cafe"},"name":"Кафе","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Café Central":{"tags":{"name":"Café Central","amenity":"cafe"},"name":"Café Central","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Second Cup":{"tags":{"name":"Second Cup","amenity":"cafe"},"name":"Second Cup","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Dunkin Donuts":{"tags":{"name":"Dunkin Donuts","cuisine":"donut","amenity":"cafe"},"name":"Dunkin Donuts","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Espresso House":{"tags":{"name":"Espresso House","amenity":"cafe"},"name":"Espresso House","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Segafredo":{"tags":{"name":"Segafredo","amenity":"cafe"},"name":"Segafredo","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Coffee Time":{"tags":{"name":"Coffee Time","amenity":"cafe"},"name":"Coffee Time","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Cafe Coffee Day":{"tags":{"name":"Cafe Coffee Day","amenity":"cafe"},"name":"Cafe Coffee Day","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Eiscafe Venezia":{"tags":{"name":"Eiscafe Venezia","amenity":"cafe"},"name":"Eiscafe Venezia","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/スターバックス":{"tags":{"name":"スターバックス","name:en":"Starbucks","amenity":"cafe"},"name":"スターバックス","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Шоколадница":{"tags":{"name":"Шоколадница","amenity":"cafe"},"name":"Шоколадница","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Pret A Manger":{"tags":{"name":"Pret A Manger","amenity":"cafe"},"name":"Pret A Manger","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Столовая":{"tags":{"name":"Столовая","amenity":"cafe"},"name":"Столовая","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/ドトール":{"tags":{"name":"ドトール","name:en":"DOUTOR","amenity":"cafe"},"name":"ドトール","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Tchibo":{"tags":{"name":"Tchibo","amenity":"cafe"},"name":"Tchibo","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Кофе Хауз":{"tags":{"name":"Кофе Хауз","amenity":"cafe"},"name":"Кофе Хауз","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Caribou Coffee":{"tags":{"name":"Caribou Coffee","amenity":"cafe"},"name":"Caribou Coffee","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Уют":{"tags":{"name":"Уют","amenity":"cafe"},"name":"Уют","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Шашлычная":{"tags":{"name":"Шашлычная","amenity":"cafe"},"name":"Шашлычная","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/คาเฟ่ อเมซอน":{"tags":{"name":"คาเฟ่ อเมซอน","amenity":"cafe"},"name":"คาเฟ่ อเมซอน","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Traveler's Coffee":{"tags":{"name":"Traveler's Coffee","amenity":"cafe"},"name":"Traveler's Coffee","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/カフェ・ド・クリエ":{"tags":{"name":"カフェ・ド・クリエ","name:en":"Cafe de CRIE","amenity":"cafe"},"name":"カフェ・ド・クリエ","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Cafe Amazon":{"tags":{"name":"Cafe Amazon","amenity":"cafe"},"name":"Cafe Amazon","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"shop/supermarket/Budgens":{"tags":{"name":"Budgens","shop":"supermarket"},"name":"Budgens","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Morrisons":{"tags":{"name":"Morrisons","shop":"supermarket"},"name":"Morrisons","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Interspar":{"tags":{"name":"Interspar","shop":"supermarket"},"name":"Interspar","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Merkur":{"tags":{"name":"Merkur","shop":"supermarket"},"name":"Merkur","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sainsbury's":{"tags":{"name":"Sainsbury's","shop":"supermarket"},"name":"Sainsbury's","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Lidl":{"tags":{"name":"Lidl","shop":"supermarket"},"name":"Lidl","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Edeka":{"tags":{"name":"Edeka","shop":"supermarket"},"name":"Edeka","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Coles":{"tags":{"name":"Coles","shop":"supermarket"},"name":"Coles","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Iceland":{"tags":{"name":"Iceland","shop":"supermarket"},"name":"Iceland","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Coop":{"tags":{"name":"Coop","shop":"supermarket"},"name":"Coop","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tesco":{"tags":{"name":"Tesco","shop":"supermarket"},"name":"Tesco","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Woolworths":{"tags":{"name":"Woolworths","shop":"supermarket"},"name":"Woolworths","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Zielpunkt":{"tags":{"name":"Zielpunkt","shop":"supermarket"},"name":"Zielpunkt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Nahkauf":{"tags":{"name":"Nahkauf","shop":"supermarket"},"name":"Nahkauf","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Billa":{"tags":{"name":"Billa","shop":"supermarket"},"name":"Billa","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kaufland":{"tags":{"name":"Kaufland","shop":"supermarket"},"name":"Kaufland","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Plus":{"tags":{"name":"Plus","shop":"supermarket"},"name":"Plus","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ALDI":{"tags":{"name":"ALDI","shop":"supermarket"},"name":"ALDI","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Checkers":{"tags":{"name":"Checkers","shop":"supermarket"},"name":"Checkers","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tesco Metro":{"tags":{"name":"Tesco Metro","shop":"supermarket"},"name":"Tesco Metro","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/NP":{"tags":{"name":"NP","shop":"supermarket"},"name":"NP","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Penny":{"tags":{"name":"Penny","shop":"supermarket"},"name":"Penny","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Norma":{"tags":{"name":"Norma","shop":"supermarket"},"name":"Norma","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Asda":{"tags":{"name":"Asda","shop":"supermarket"},"name":"Asda","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Netto":{"tags":{"name":"Netto","shop":"supermarket"},"name":"Netto","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Rewe":{"tags":{"name":"Rewe","shop":"supermarket"},"name":"Rewe","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Aldi Süd":{"tags":{"name":"Aldi Süd","shop":"supermarket"},"name":"Aldi Süd","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Real":{"tags":{"name":"Real","shop":"supermarket"},"name":"Real","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/King Soopers":{"tags":{"name":"King Soopers","shop":"supermarket"},"name":"King Soopers","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kiwi":{"tags":{"name":"Kiwi","shop":"supermarket"},"name":"Kiwi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Pick n Pay":{"tags":{"name":"Pick n Pay","shop":"supermarket"},"name":"Pick n Pay","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ICA":{"tags":{"name":"ICA","shop":"supermarket"},"name":"ICA","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tengelmann":{"tags":{"name":"Tengelmann","shop":"supermarket"},"name":"Tengelmann","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Carrefour":{"tags":{"name":"Carrefour","shop":"supermarket"},"name":"Carrefour","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Waitrose":{"tags":{"name":"Waitrose","shop":"supermarket"},"name":"Waitrose","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Spar":{"tags":{"name":"Spar","shop":"supermarket"},"name":"Spar","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Hofer":{"tags":{"name":"Hofer","shop":"supermarket"},"name":"Hofer","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/M-Preis":{"tags":{"name":"M-Preis","shop":"supermarket"},"name":"M-Preis","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/tegut":{"tags":{"name":"tegut","shop":"supermarket"},"name":"tegut","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sainsbury's Local":{"tags":{"name":"Sainsbury's Local","shop":"supermarket"},"name":"Sainsbury's Local","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/E-Center":{"tags":{"name":"E-Center","shop":"supermarket"},"name":"E-Center","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Aldi Nord":{"tags":{"name":"Aldi Nord","shop":"supermarket"},"name":"Aldi Nord","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/nahkauf":{"tags":{"name":"nahkauf","shop":"supermarket"},"name":"nahkauf","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Meijer":{"tags":{"name":"Meijer","shop":"supermarket"},"name":"Meijer","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Safeway":{"tags":{"name":"Safeway","shop":"supermarket"},"name":"Safeway","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Costco":{"tags":{"name":"Costco","shop":"supermarket"},"name":"Costco","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Albert":{"tags":{"name":"Albert","shop":"supermarket"},"name":"Albert","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Jumbo":{"tags":{"name":"Jumbo","shop":"supermarket"},"name":"Jumbo","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Shoprite":{"tags":{"name":"Shoprite","shop":"supermarket"},"name":"Shoprite","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/MPreis":{"tags":{"name":"MPreis","shop":"supermarket"},"name":"MPreis","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Penny Market":{"tags":{"name":"Penny Market","shop":"supermarket"},"name":"Penny Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tesco Extra":{"tags":{"name":"Tesco Extra","shop":"supermarket"},"name":"Tesco Extra","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Albert Heijn":{"tags":{"name":"Albert Heijn","shop":"supermarket"},"name":"Albert Heijn","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/IGA":{"tags":{"name":"IGA","shop":"supermarket"},"name":"IGA","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Super U":{"tags":{"name":"Super U","shop":"supermarket"},"name":"Super U","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Metro":{"tags":{"name":"Metro","shop":"supermarket"},"name":"Metro","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Neukauf":{"tags":{"name":"Neukauf","shop":"supermarket"},"name":"Neukauf","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Migros":{"tags":{"name":"Migros","shop":"supermarket"},"name":"Migros","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Marktkauf":{"tags":{"name":"Marktkauf","shop":"supermarket"},"name":"Marktkauf","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Delikatesy Centrum":{"tags":{"name":"Delikatesy Centrum","shop":"supermarket"},"name":"Delikatesy Centrum","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/C1000":{"tags":{"name":"C1000","shop":"supermarket"},"name":"C1000","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Hoogvliet":{"tags":{"name":"Hoogvliet","shop":"supermarket"},"name":"Hoogvliet","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Food Basics":{"tags":{"name":"Food Basics","shop":"supermarket"},"name":"Food Basics","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Casino":{"tags":{"name":"Casino","shop":"supermarket"},"name":"Casino","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Penny Markt":{"tags":{"name":"Penny Markt","shop":"supermarket"},"name":"Penny Markt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Giant":{"tags":{"name":"Giant","shop":"supermarket"},"name":"Giant","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Rema 1000":{"tags":{"name":"Rema 1000","shop":"supermarket"},"name":"Rema 1000","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kaufpark":{"tags":{"name":"Kaufpark","shop":"supermarket"},"name":"Kaufpark","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ALDI SÜD":{"tags":{"name":"ALDI SÜD","shop":"supermarket"},"name":"ALDI SÜD","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Simply Market":{"tags":{"name":"Simply Market","shop":"supermarket"},"name":"Simply Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Konzum":{"tags":{"name":"Konzum","shop":"supermarket"},"name":"Konzum","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Carrefour Express":{"tags":{"name":"Carrefour Express","shop":"supermarket"},"name":"Carrefour Express","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Eurospar":{"tags":{"name":"Eurospar","shop":"supermarket"},"name":"Eurospar","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Mercator":{"tags":{"name":"Mercator","shop":"supermarket"},"name":"Mercator","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Famila":{"tags":{"name":"Famila","shop":"supermarket"},"name":"Famila","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Hemköp":{"tags":{"name":"Hemköp","shop":"supermarket"},"name":"Hemköp","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/real,-":{"tags":{"name":"real,-","shop":"supermarket"},"name":"real,-","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Markant":{"tags":{"name":"Markant","shop":"supermarket"},"name":"Markant","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Volg":{"tags":{"name":"Volg","shop":"supermarket"},"name":"Volg","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Leader Price":{"tags":{"name":"Leader Price","shop":"supermarket"},"name":"Leader Price","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Treff 3000":{"tags":{"name":"Treff 3000","shop":"supermarket"},"name":"Treff 3000","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/SuperBrugsen":{"tags":{"name":"SuperBrugsen","shop":"supermarket"},"name":"SuperBrugsen","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kaiser's":{"tags":{"name":"Kaiser's","shop":"supermarket"},"name":"Kaiser's","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/K+K":{"tags":{"name":"K+K","shop":"supermarket"},"name":"K+K","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Unimarkt":{"tags":{"name":"Unimarkt","shop":"supermarket"},"name":"Unimarkt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Carrefour City":{"tags":{"name":"Carrefour City","shop":"supermarket"},"name":"Carrefour City","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sobeys":{"tags":{"name":"Sobeys","shop":"supermarket"},"name":"Sobeys","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/S-Market":{"tags":{"name":"S-Market","shop":"supermarket"},"name":"S-Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Combi":{"tags":{"name":"Combi","shop":"supermarket"},"name":"Combi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Denner":{"tags":{"name":"Denner","shop":"supermarket"},"name":"Denner","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Konsum":{"tags":{"name":"Konsum","shop":"supermarket"},"name":"Konsum","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Franprix":{"tags":{"name":"Franprix","shop":"supermarket"},"name":"Franprix","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Monoprix":{"tags":{"name":"Monoprix","shop":"supermarket"},"name":"Monoprix","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Diska":{"tags":{"name":"Diska","shop":"supermarket"},"name":"Diska","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/PENNY":{"tags":{"name":"PENNY","shop":"supermarket"},"name":"PENNY","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Dia":{"tags":{"name":"Dia","shop":"supermarket"},"name":"Dia","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Giant Eagle":{"tags":{"name":"Giant Eagle","shop":"supermarket"},"name":"Giant Eagle","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/NORMA":{"tags":{"name":"NORMA","shop":"supermarket"},"name":"NORMA","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/AD Delhaize":{"tags":{"name":"AD Delhaize","shop":"supermarket"},"name":"AD Delhaize","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Auchan":{"tags":{"name":"Auchan","shop":"supermarket"},"name":"Auchan","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Mercadona":{"tags":{"name":"Mercadona","shop":"supermarket"},"name":"Mercadona","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Consum":{"tags":{"name":"Consum","shop":"supermarket"},"name":"Consum","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Carrefour Market":{"tags":{"name":"Carrefour Market","shop":"supermarket"},"name":"Carrefour Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Whole Foods":{"tags":{"name":"Whole Foods","shop":"supermarket"},"name":"Whole Foods","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Pam":{"tags":{"name":"Pam","shop":"supermarket"},"name":"Pam","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/sky":{"tags":{"name":"sky","shop":"supermarket"},"name":"sky","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Despar":{"tags":{"name":"Despar","shop":"supermarket"},"name":"Despar","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Eroski":{"tags":{"name":"Eroski","shop":"supermarket"},"name":"Eroski","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Maxi":{"tags":{"name":"Maxi","shop":"supermarket"},"name":"Maxi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Colruyt":{"tags":{"name":"Colruyt","shop":"supermarket"},"name":"Colruyt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/The Co-operative":{"tags":{"name":"The Co-operative","shop":"supermarket"},"name":"The Co-operative","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Intermarché":{"tags":{"name":"Intermarché","shop":"supermarket"},"name":"Intermarché","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Delhaize":{"tags":{"name":"Delhaize","shop":"supermarket"},"name":"Delhaize","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/CBA":{"tags":{"name":"CBA","shop":"supermarket"},"name":"CBA","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Shopi":{"tags":{"name":"Shopi","shop":"supermarket"},"name":"Shopi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Walmart":{"tags":{"name":"Walmart","shop":"supermarket"},"name":"Walmart","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kroger":{"tags":{"name":"Kroger","shop":"supermarket"},"name":"Kroger","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Albertsons":{"tags":{"name":"Albertsons","shop":"supermarket"},"name":"Albertsons","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Trader Joe's":{"tags":{"name":"Trader Joe's","shop":"supermarket"},"name":"Trader Joe's","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Feneberg":{"tags":{"name":"Feneberg","shop":"supermarket"},"name":"Feneberg","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/denn's Biomarkt":{"tags":{"name":"denn's Biomarkt","shop":"supermarket"},"name":"denn's Biomarkt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kvickly":{"tags":{"name":"Kvickly","shop":"supermarket"},"name":"Kvickly","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Makro":{"tags":{"name":"Makro","shop":"supermarket"},"name":"Makro","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Dico":{"tags":{"name":"Dico","shop":"supermarket"},"name":"Dico","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Nah & Frisch":{"tags":{"name":"Nah & Frisch","shop":"supermarket"},"name":"Nah & Frisch","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Champion":{"tags":{"name":"Champion","shop":"supermarket"},"name":"Champion","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ICA Supermarket":{"tags":{"name":"ICA Supermarket","shop":"supermarket"},"name":"ICA Supermarket","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Fakta":{"tags":{"name":"Fakta","shop":"supermarket"},"name":"Fakta","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Магнит":{"tags":{"name":"Магнит","shop":"supermarket"},"name":"Магнит","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Caprabo":{"tags":{"name":"Caprabo","shop":"supermarket"},"name":"Caprabo","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Famiglia Cooperativa":{"tags":{"name":"Famiglia Cooperativa","shop":"supermarket"},"name":"Famiglia Cooperativa","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Народная 7Я семьЯ":{"tags":{"name":"Народная 7Я семьЯ","shop":"supermarket"},"name":"Народная 7Я семьЯ","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Esselunga":{"tags":{"name":"Esselunga","shop":"supermarket"},"name":"Esselunga","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Maxima":{"tags":{"name":"Maxima","shop":"supermarket"},"name":"Maxima","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Wasgau":{"tags":{"name":"Wasgau","shop":"supermarket"},"name":"Wasgau","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Pingo Doce":{"tags":{"name":"Pingo Doce","shop":"supermarket"},"name":"Pingo Doce","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Match":{"tags":{"name":"Match","shop":"supermarket"},"name":"Match","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Profi":{"tags":{"name":"Profi","shop":"supermarket"},"name":"Profi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Lider":{"tags":{"name":"Lider","shop":"supermarket"},"name":"Lider","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Unimarc":{"tags":{"name":"Unimarc","shop":"supermarket"},"name":"Unimarc","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/The Co-operative Food":{"tags":{"name":"The Co-operative Food","shop":"supermarket"},"name":"The Co-operative Food","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Santa Isabel":{"tags":{"name":"Santa Isabel","shop":"supermarket"},"name":"Santa Isabel","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Седьмой континент":{"tags":{"name":"Седьмой континент","shop":"supermarket"},"name":"Седьмой континент","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/HIT":{"tags":{"name":"HIT","shop":"supermarket"},"name":"HIT","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Rimi":{"tags":{"name":"Rimi","shop":"supermarket"},"name":"Rimi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Conad":{"tags":{"name":"Conad","shop":"supermarket"},"name":"Conad","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Фуршет":{"tags":{"name":"Фуршет","shop":"supermarket"},"name":"Фуршет","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Willys":{"tags":{"name":"Willys","shop":"supermarket"},"name":"Willys","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Farmfoods":{"tags":{"name":"Farmfoods","shop":"supermarket"},"name":"Farmfoods","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/U Express":{"tags":{"name":"U Express","shop":"supermarket"},"name":"U Express","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Фора":{"tags":{"name":"Фора","shop":"supermarket"},"name":"Фора","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Dunnes Stores":{"tags":{"name":"Dunnes Stores","shop":"supermarket"},"name":"Dunnes Stores","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Сільпо":{"tags":{"name":"Сільпо","shop":"supermarket"},"name":"Сільпо","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/マルエツ":{"tags":{"name":"マルエツ","shop":"supermarket"},"name":"マルエツ","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Piggly Wiggly":{"tags":{"name":"Piggly Wiggly","shop":"supermarket"},"name":"Piggly Wiggly","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Crai":{"tags":{"name":"Crai","shop":"supermarket"},"name":"Crai","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/El Árbol":{"tags":{"name":"El Árbol","shop":"supermarket"},"name":"El Árbol","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Centre Commercial E. Leclerc":{"tags":{"name":"Centre Commercial E. Leclerc","shop":"supermarket"},"name":"Centre Commercial E. Leclerc","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Foodland":{"tags":{"name":"Foodland","shop":"supermarket"},"name":"Foodland","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Super Brugsen":{"tags":{"name":"Super Brugsen","shop":"supermarket"},"name":"Super Brugsen","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Дикси":{"tags":{"name":"Дикси","shop":"supermarket"},"name":"Дикси","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Пятёрочка":{"tags":{"name":"Пятёрочка","shop":"supermarket"},"name":"Пятёрочка","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Publix":{"tags":{"name":"Publix","shop":"supermarket"},"name":"Publix","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Føtex":{"tags":{"name":"Føtex","shop":"supermarket"},"name":"Føtex","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/coop":{"tags":{"name":"coop","shop":"supermarket"},"name":"coop","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Coop Konsum":{"tags":{"name":"Coop Konsum","shop":"supermarket"},"name":"Coop Konsum","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Carrefour Contact":{"tags":{"name":"Carrefour Contact","shop":"supermarket"},"name":"Carrefour Contact","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/No Frills":{"tags":{"name":"No Frills","shop":"supermarket"},"name":"No Frills","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Plodine":{"tags":{"name":"Plodine","shop":"supermarket"},"name":"Plodine","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ADEG":{"tags":{"name":"ADEG","shop":"supermarket"},"name":"ADEG","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Minipreço":{"tags":{"name":"Minipreço","shop":"supermarket"},"name":"Minipreço","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Biedronka":{"tags":{"name":"Biedronka","shop":"supermarket"},"name":"Biedronka","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Eurospin":{"tags":{"name":"Eurospin","shop":"supermarket"},"name":"Eurospin","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Семья":{"tags":{"name":"Семья","shop":"supermarket"},"name":"Семья","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Gadis":{"tags":{"name":"Gadis","shop":"supermarket"},"name":"Gadis","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Евроопт":{"tags":{"name":"Евроопт","shop":"supermarket"},"name":"Евроопт","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Квартал":{"tags":{"name":"Квартал","shop":"supermarket"},"name":"Квартал","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/New World":{"tags":{"name":"New World","shop":"supermarket"},"name":"New World","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Countdown":{"tags":{"name":"Countdown","shop":"supermarket"},"name":"Countdown","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Reliance Fresh":{"tags":{"name":"Reliance Fresh","shop":"supermarket"},"name":"Reliance Fresh","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Stokrotka":{"tags":{"name":"Stokrotka","shop":"supermarket"},"name":"Stokrotka","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Coop Jednota":{"tags":{"name":"Coop Jednota","shop":"supermarket"},"name":"Coop Jednota","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Fred Meyer":{"tags":{"name":"Fred Meyer","shop":"supermarket"},"name":"Fred Meyer","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Irma":{"tags":{"name":"Irma","shop":"supermarket"},"name":"Irma","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Continente":{"tags":{"name":"Continente","shop":"supermarket"},"name":"Continente","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Price Chopper":{"tags":{"name":"Price Chopper","shop":"supermarket"},"name":"Price Chopper","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Game":{"tags":{"name":"Game","shop":"supermarket"},"name":"Game","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Soriana":{"tags":{"name":"Soriana","shop":"supermarket"},"name":"Soriana","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Alimerka":{"tags":{"name":"Alimerka","shop":"supermarket"},"name":"Alimerka","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Piotr i Paweł":{"tags":{"name":"Piotr i Paweł","shop":"supermarket"},"name":"Piotr i Paweł","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Перекресток":{"tags":{"name":"Перекресток","shop":"supermarket"},"name":"Перекресток","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Maxima X":{"tags":{"name":"Maxima X","shop":"supermarket"},"name":"Maxima X","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Карусель":{"tags":{"name":"Карусель","shop":"supermarket"},"name":"Карусель","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ALDI Nord":{"tags":{"name":"ALDI Nord","shop":"supermarket"},"name":"ALDI Nord","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Condis":{"tags":{"name":"Condis","shop":"supermarket"},"name":"Condis","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sam's Club":{"tags":{"name":"Sam's Club","shop":"supermarket"},"name":"Sam's Club","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Копейка":{"tags":{"name":"Копейка","shop":"supermarket"},"name":"Копейка","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Géant Casino":{"tags":{"name":"Géant Casino","shop":"supermarket"},"name":"Géant Casino","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ASDA":{"tags":{"name":"ASDA","shop":"supermarket"},"name":"ASDA","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Intermarche":{"tags":{"name":"Intermarche","shop":"supermarket"},"name":"Intermarche","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Stop & Shop":{"tags":{"name":"Stop & Shop","shop":"supermarket"},"name":"Stop & Shop","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Food Lion":{"tags":{"name":"Food Lion","shop":"supermarket"},"name":"Food Lion","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Harris Teeter":{"tags":{"name":"Harris Teeter","shop":"supermarket"},"name":"Harris Teeter","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Foodworks":{"tags":{"name":"Foodworks","shop":"supermarket"},"name":"Foodworks","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Polo Market":{"tags":{"name":"Polo Market","shop":"supermarket"},"name":"Polo Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Лента":{"tags":{"name":"Лента","shop":"supermarket"},"name":"Лента","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/西友 (SEIYU)":{"tags":{"name":"西友 (SEIYU)","shop":"supermarket"},"name":"西友 (SEIYU)","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/H-E-B":{"tags":{"name":"H-E-B","shop":"supermarket"},"name":"H-E-B","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Атак":{"tags":{"name":"Атак","shop":"supermarket"},"name":"Атак","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Полушка":{"tags":{"name":"Полушка","shop":"supermarket"},"name":"Полушка","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Extra":{"tags":{"name":"Extra","shop":"supermarket"},"name":"Extra","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sigma":{"tags":{"name":"Sigma","shop":"supermarket"},"name":"Sigma","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/АТБ":{"tags":{"name":"АТБ","shop":"supermarket"},"name":"АТБ","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Bodega Aurrera":{"tags":{"name":"Bodega Aurrera","shop":"supermarket"},"name":"Bodega Aurrera","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tesco Lotus":{"tags":{"name":"Tesco Lotus","shop":"supermarket"},"name":"Tesco Lotus","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Мария-Ра":{"tags":{"name":"Мария-Ра","shop":"supermarket"},"name":"Мария-Ра","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Магнолия":{"tags":{"name":"Магнолия","shop":"supermarket"},"name":"Магнолия","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Монетка":{"tags":{"name":"Монетка","shop":"supermarket"},"name":"Монетка","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Hy-Vee":{"tags":{"name":"Hy-Vee","shop":"supermarket"},"name":"Hy-Vee","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Walmart Supercenter":{"tags":{"name":"Walmart Supercenter","shop":"supermarket"},"name":"Walmart Supercenter","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Hannaford":{"tags":{"name":"Hannaford","shop":"supermarket"},"name":"Hannaford","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Wegmans":{"tags":{"name":"Wegmans","shop":"supermarket"},"name":"Wegmans","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/業務スーパー":{"tags":{"name":"業務スーパー","shop":"supermarket"},"name":"業務スーパー","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Norfa XL":{"tags":{"name":"Norfa XL","shop":"supermarket"},"name":"Norfa XL","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ヨークマート (YorkMart)":{"tags":{"name":"ヨークマート (YorkMart)","shop":"supermarket"},"name":"ヨークマート (YorkMart)","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Leclerc Drive":{"tags":{"name":"Leclerc Drive","shop":"supermarket"},"name":"Leclerc Drive","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Media Markt":{"tags":{"name":"Media Markt","shop":"electronics"},"name":"Media Markt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Maplin":{"tags":{"name":"Maplin","shop":"electronics"},"name":"Maplin","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Best Buy":{"tags":{"name":"Best Buy","shop":"electronics"},"name":"Best Buy","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Future Shop":{"tags":{"name":"Future Shop","shop":"electronics"},"name":"Future Shop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Saturn":{"tags":{"name":"Saturn","shop":"electronics"},"name":"Saturn","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Currys":{"tags":{"name":"Currys","shop":"electronics"},"name":"Currys","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Radio Shack":{"tags":{"name":"Radio Shack","shop":"electronics"},"name":"Radio Shack","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Euronics":{"tags":{"name":"Euronics","shop":"electronics"},"name":"Euronics","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Expert":{"tags":{"name":"Expert","shop":"electronics"},"name":"Expert","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Эльдорадо":{"tags":{"name":"Эльдорадо","shop":"electronics"},"name":"Эльдорадо","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Darty":{"tags":{"name":"Darty","shop":"electronics"},"name":"Darty","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/М.Видео":{"tags":{"name":"М.Видео","shop":"electronics"},"name":"М.Видео","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/ヤマダ電機":{"tags":{"name":"ヤマダ電機","shop":"electronics"},"name":"ヤマダ電機","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/McColl's":{"tags":{"name":"McColl's","shop":"convenience"},"name":"McColl's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Tesco Express":{"tags":{"name":"Tesco Express","shop":"convenience"},"name":"Tesco Express","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/One Stop":{"tags":{"name":"One Stop","shop":"convenience"},"name":"One Stop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Londis":{"tags":{"name":"Londis","shop":"convenience"},"name":"Londis","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/7-Eleven":{"tags":{"name":"7-Eleven","shop":"convenience"},"name":"7-Eleven","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Sale":{"tags":{"name":"Sale","shop":"convenience"},"name":"Sale","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Siwa":{"tags":{"name":"Siwa","shop":"convenience"},"name":"Siwa","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/COOP Jednota":{"tags":{"name":"COOP Jednota","shop":"convenience"},"name":"COOP Jednota","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mac's":{"tags":{"name":"Mac's","shop":"convenience"},"name":"Mac's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Alepa":{"tags":{"name":"Alepa","shop":"convenience"},"name":"Alepa","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Hasty Market":{"tags":{"name":"Hasty Market","shop":"convenience"},"name":"Hasty Market","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/K-Market":{"tags":{"name":"K-Market","shop":"convenience"},"name":"K-Market","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Costcutter":{"tags":{"name":"Costcutter","shop":"convenience"},"name":"Costcutter","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Valintatalo":{"tags":{"name":"Valintatalo","shop":"convenience"},"name":"Valintatalo","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Circle K":{"tags":{"name":"Circle K","shop":"convenience"},"name":"Circle K","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/セブンイレブン":{"tags":{"name":"セブンイレブン","name:en":"7-Eleven","shop":"convenience"},"name":"セブンイレブン","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ローソン":{"tags":{"name":"ローソン","name:en":"LAWSON","shop":"convenience"},"name":"ローソン","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Petit Casino":{"tags":{"name":"Petit Casino","shop":"convenience"},"name":"Petit Casino","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mace":{"tags":{"name":"Mace","shop":"convenience"},"name":"Mace","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mini Market":{"tags":{"name":"Mini Market","shop":"convenience"},"name":"Mini Market","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Nisa Local":{"tags":{"name":"Nisa Local","shop":"convenience"},"name":"Nisa Local","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Dorfladen":{"tags":{"name":"Dorfladen","shop":"convenience"},"name":"Dorfladen","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Продукты":{"tags":{"name":"Продукты","shop":"convenience"},"name":"Продукты","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mini Stop":{"tags":{"name":"Mini Stop","shop":"convenience"},"name":"Mini Stop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/LAWSON":{"tags":{"name":"LAWSON","shop":"convenience"},"name":"LAWSON","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/デイリーヤマザキ":{"tags":{"name":"デイリーヤマザキ","shop":"convenience"},"name":"デイリーヤマザキ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Надежда":{"tags":{"name":"Надежда","shop":"convenience"},"name":"Надежда","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Nisa":{"tags":{"name":"Nisa","shop":"convenience"},"name":"Nisa","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Premier":{"tags":{"name":"Premier","shop":"convenience"},"name":"Premier","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ABC":{"tags":{"name":"ABC","shop":"convenience"},"name":"ABC","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ミニストップ":{"tags":{"name":"ミニストップ","name:en":"MINISTOP","shop":"convenience"},"name":"ミニストップ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/サンクス":{"tags":{"name":"サンクス","name:en":"sunkus","shop":"convenience"},"name":"サンクス","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/スリーエフ":{"tags":{"name":"スリーエフ","shop":"convenience"},"name":"スリーエフ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/8 à Huit":{"tags":{"name":"8 à Huit","shop":"convenience"},"name":"8 à Huit","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Żabka":{"tags":{"name":"Żabka","shop":"convenience"},"name":"Żabka","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Almacen":{"tags":{"name":"Almacen","shop":"convenience"},"name":"Almacen","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Vival":{"tags":{"name":"Vival","shop":"convenience"},"name":"Vival","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/FamilyMart":{"tags":{"name":"FamilyMart","shop":"convenience"},"name":"FamilyMart","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ファミリーマート":{"tags":{"name":"ファミリーマート","name:en":"FamilyMart","shop":"convenience"},"name":"ファミリーマート","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Sunkus":{"tags":{"name":"Sunkus","shop":"convenience"},"name":"Sunkus","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/セブンイレブン(Seven-Eleven)":{"tags":{"name":"セブンイレブン(Seven-Eleven)","shop":"convenience"},"name":"セブンイレブン(Seven-Eleven)","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Jednota":{"tags":{"name":"Jednota","shop":"convenience"},"name":"Jednota","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Магазин":{"tags":{"name":"Магазин","shop":"convenience"},"name":"Магазин","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Гастроном":{"tags":{"name":"Гастроном","shop":"convenience"},"name":"Гастроном","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Centra":{"tags":{"name":"Centra","shop":"convenience"},"name":"Centra","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/サークルK":{"tags":{"name":"サークルK","name:en":"Circle K","shop":"convenience"},"name":"サークルK","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Wawa":{"tags":{"name":"Wawa","shop":"convenience"},"name":"Wawa","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Proxi":{"tags":{"name":"Proxi","shop":"convenience"},"name":"Proxi","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Универсам":{"tags":{"name":"Универсам","shop":"convenience"},"name":"Универсам","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Groszek":{"tags":{"name":"Groszek","shop":"convenience"},"name":"Groszek","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Select":{"tags":{"name":"Select","shop":"convenience"},"name":"Select","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Večerka":{"tags":{"name":"Večerka","shop":"convenience"},"name":"Večerka","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Potraviny":{"tags":{"name":"Potraviny","shop":"convenience"},"name":"Potraviny","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Смак":{"tags":{"name":"Смак","shop":"convenience"},"name":"Смак","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Эконом":{"tags":{"name":"Эконом","shop":"convenience"},"name":"Эконом","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Березка":{"tags":{"name":"Березка","shop":"convenience"},"name":"Березка","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Społem":{"tags":{"name":"Społem","shop":"convenience"},"name":"Społem","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Cumberland Farms":{"tags":{"name":"Cumberland Farms","shop":"convenience"},"name":"Cumberland Farms","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Tesco Lotus Express":{"tags":{"name":"Tesco Lotus Express","shop":"convenience"},"name":"Tesco Lotus Express","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Kiosk":{"tags":{"name":"Kiosk","shop":"convenience"},"name":"Kiosk","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Sklep spożywczy":{"tags":{"name":"Sklep spożywczy","shop":"convenience"},"name":"Sklep spożywczy","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/24 часа":{"tags":{"name":"24 часа","shop":"convenience"},"name":"24 часа","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Минимаркет":{"tags":{"name":"Минимаркет","shop":"convenience"},"name":"Минимаркет","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Oxxo":{"tags":{"name":"Oxxo","shop":"convenience"},"name":"Oxxo","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/abc":{"tags":{"name":"abc","shop":"convenience"},"name":"abc","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/7/11":{"tags":{"name":"7/11","shop":"convenience"},"name":"7/11","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Stewart's":{"tags":{"name":"Stewart's","shop":"convenience"},"name":"Stewart's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Продукти":{"tags":{"name":"Продукти","shop":"convenience"},"name":"Продукти","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ローソンストア100 (LAWSON STORE 100)":{"tags":{"name":"ローソンストア100 (LAWSON STORE 100)","shop":"convenience"},"name":"ローソンストア100 (LAWSON STORE 100)","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Радуга":{"tags":{"name":"Радуга","shop":"convenience"},"name":"Радуга","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ローソンストア100":{"tags":{"name":"ローソンストア100","shop":"convenience"},"name":"ローソンストア100","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/เซเว่นอีเลฟเว่น":{"tags":{"name":"เซเว่นอีเลฟเว่น","shop":"convenience"},"name":"เซเว่นอีเลฟเว่น","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Фортуна":{"tags":{"name":"Фортуна","shop":"convenience"},"name":"Фортуна","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Picard":{"tags":{"name":"Picard","shop":"convenience"},"name":"Picard","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Four Square":{"tags":{"name":"Four Square","shop":"convenience"},"name":"Four Square","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Визит":{"tags":{"name":"Визит","shop":"convenience"},"name":"Визит","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Авоська":{"tags":{"name":"Авоська","shop":"convenience"},"name":"Авоська","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Dollar General":{"tags":{"name":"Dollar General","shop":"convenience"},"name":"Dollar General","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Studenac":{"tags":{"name":"Studenac","shop":"convenience"},"name":"Studenac","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Central Convenience Store":{"tags":{"name":"Central Convenience Store","shop":"convenience"},"name":"Central Convenience Store","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/продукты":{"tags":{"name":"продукты","shop":"convenience"},"name":"продукты","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Кулинария":{"tags":{"name":"Кулинария","shop":"convenience"},"name":"Кулинария","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/全家":{"tags":{"name":"全家","shop":"convenience"},"name":"全家","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Мечта":{"tags":{"name":"Мечта","shop":"convenience"},"name":"Мечта","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Epicerie":{"tags":{"name":"Epicerie","shop":"convenience"},"name":"Epicerie","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Кировский":{"tags":{"name":"Кировский","shop":"convenience"},"name":"Кировский","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Food Mart":{"tags":{"name":"Food Mart","shop":"convenience"},"name":"Food Mart","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Delikatesy":{"tags":{"name":"Delikatesy","shop":"convenience"},"name":"Delikatesy","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ポプラ":{"tags":{"name":"ポプラ","shop":"convenience"},"name":"ポプラ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Lewiatan":{"tags":{"name":"Lewiatan","shop":"convenience"},"name":"Lewiatan","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Продуктовый магазин":{"tags":{"name":"Продуктовый магазин","shop":"convenience"},"name":"Продуктовый магазин","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Продуктовый":{"tags":{"name":"Продуктовый","shop":"convenience"},"name":"Продуктовый","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/セイコーマート (Seicomart)":{"tags":{"name":"セイコーマート (Seicomart)","shop":"convenience"},"name":"セイコーマート (Seicomart)","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Виктория":{"tags":{"name":"Виктория","shop":"convenience"},"name":"Виктория","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Весна":{"tags":{"name":"Весна","shop":"convenience"},"name":"Весна","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mini Market Non-Stop":{"tags":{"name":"Mini Market Non-Stop","shop":"convenience"},"name":"Mini Market Non-Stop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Копеечка":{"tags":{"name":"Копеечка","shop":"convenience"},"name":"Копеечка","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Royal Farms":{"tags":{"name":"Royal Farms","shop":"convenience"},"name":"Royal Farms","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Alfamart":{"tags":{"name":"Alfamart","shop":"convenience"},"name":"Alfamart","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Indomaret":{"tags":{"name":"Indomaret","shop":"convenience"},"name":"Indomaret","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/магазин":{"tags":{"name":"магазин","shop":"convenience"},"name":"магазин","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/全家便利商店":{"tags":{"name":"全家便利商店","shop":"convenience"},"name":"全家便利商店","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Boutique":{"tags":{"name":"Boutique","shop":"convenience"},"name":"Boutique","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/მარკეტი (Market)":{"tags":{"name":"მარკეტი (Market)","shop":"convenience"},"name":"მარკეტი (Market)","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Stores":{"tags":{"name":"Stores","shop":"convenience"},"name":"Stores","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/dm":{"tags":{"name":"dm","shop":"chemist"},"name":"dm","icon":"chemist","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Müller":{"tags":{"name":"Müller","shop":"chemist"},"name":"Müller","icon":"chemist","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Schlecker":{"tags":{"name":"Schlecker","shop":"chemist"},"name":"Schlecker","icon":"chemist","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Etos":{"tags":{"name":"Etos","shop":"chemist"},"name":"Etos","icon":"chemist","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Bipa":{"tags":{"name":"Bipa","shop":"chemist"},"name":"Bipa","icon":"chemist","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Rossmann":{"tags":{"name":"Rossmann","shop":"chemist"},"name":"Rossmann","icon":"chemist","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/DM Drogeriemarkt":{"tags":{"name":"DM Drogeriemarkt","shop":"chemist"},"name":"DM Drogeriemarkt","icon":"chemist","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Ihr Platz":{"tags":{"name":"Ihr Platz","shop":"chemist"},"name":"Ihr Platz","icon":"chemist","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Douglas":{"tags":{"name":"Douglas","shop":"chemist"},"name":"Douglas","icon":"chemist","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Kruidvat":{"tags":{"name":"Kruidvat","shop":"chemist"},"name":"Kruidvat","icon":"chemist","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Kwik Fit":{"tags":{"name":"Kwik Fit","shop":"car_repair"},"name":"Kwik Fit","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/ATU":{"tags":{"name":"ATU","shop":"car_repair"},"name":"ATU","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Midas":{"tags":{"name":"Midas","shop":"car_repair"},"name":"Midas","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Feu Vert":{"tags":{"name":"Feu Vert","shop":"car_repair"},"name":"Feu Vert","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Norauto":{"tags":{"name":"Norauto","shop":"car_repair"},"name":"Norauto","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Speedy":{"tags":{"name":"Speedy","shop":"car_repair"},"name":"Speedy","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Pit Stop":{"tags":{"name":"Pit Stop","shop":"car_repair"},"name":"Pit Stop","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Jiffy Lube":{"tags":{"name":"Jiffy Lube","shop":"car_repair"},"name":"Jiffy Lube","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Шиномонтаж":{"tags":{"name":"Шиномонтаж","shop":"car_repair"},"name":"Шиномонтаж","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/СТО":{"tags":{"name":"СТО","shop":"car_repair"},"name":"СТО","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/O'Reilly Auto Parts":{"tags":{"name":"O'Reilly Auto Parts","shop":"car_repair"},"name":"O'Reilly Auto Parts","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Carglass":{"tags":{"name":"Carglass","shop":"car_repair"},"name":"Carglass","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/шиномонтаж":{"tags":{"name":"шиномонтаж","shop":"car_repair"},"name":"шиномонтаж","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Euromaster":{"tags":{"name":"Euromaster","shop":"car_repair"},"name":"Euromaster","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Firestone":{"tags":{"name":"Firestone","shop":"car_repair"},"name":"Firestone","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Автосервис":{"tags":{"name":"Автосервис","shop":"car_repair"},"name":"Автосервис","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Advance Auto Parts":{"tags":{"name":"Advance Auto Parts","shop":"car_repair"},"name":"Advance Auto Parts","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Roady":{"tags":{"name":"Roady","shop":"car_repair"},"name":"Roady","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/IKEA":{"tags":{"name":"IKEA","shop":"furniture"},"name":"IKEA","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Jysk":{"tags":{"name":"Jysk","shop":"furniture"},"name":"Jysk","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Roller":{"tags":{"name":"Roller","shop":"furniture"},"name":"Roller","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Dänisches Bettenlager":{"tags":{"name":"Dänisches Bettenlager","shop":"furniture"},"name":"Dänisches Bettenlager","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Conforama":{"tags":{"name":"Conforama","shop":"furniture"},"name":"Conforama","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Matratzen Concord":{"tags":{"name":"Matratzen Concord","shop":"furniture"},"name":"Matratzen Concord","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Мебель":{"tags":{"name":"Мебель","shop":"furniture"},"name":"Мебель","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/But":{"tags":{"name":"But","shop":"furniture"},"name":"But","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Hornbach":{"tags":{"name":"Hornbach","shop":"doityourself"},"name":"Hornbach","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/B&Q":{"tags":{"name":"B&Q","shop":"doityourself"},"name":"B&Q","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Hubo":{"tags":{"name":"Hubo","shop":"doityourself"},"name":"Hubo","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Mr Bricolage":{"tags":{"name":"Mr Bricolage","shop":"doityourself"},"name":"Mr Bricolage","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Gamma":{"tags":{"name":"Gamma","shop":"doityourself"},"name":"Gamma","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/OBI":{"tags":{"name":"OBI","shop":"doityourself"},"name":"OBI","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Lowes":{"tags":{"name":"Lowes","shop":"doityourself"},"name":"Lowes","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Wickes":{"tags":{"name":"Wickes","shop":"doityourself"},"name":"Wickes","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Hagebau":{"tags":{"name":"Hagebau","shop":"doityourself"},"name":"Hagebau","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Max Bahr":{"tags":{"name":"Max Bahr","shop":"doityourself"},"name":"Max Bahr","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Castorama":{"tags":{"name":"Castorama","shop":"doityourself"},"name":"Castorama","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Rona":{"tags":{"name":"Rona","shop":"doityourself"},"name":"Rona","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Home Depot":{"tags":{"name":"Home Depot","shop":"doityourself"},"name":"Home Depot","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Toom Baumarkt":{"tags":{"name":"Toom Baumarkt","shop":"doityourself"},"name":"Toom Baumarkt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Homebase":{"tags":{"name":"Homebase","shop":"doityourself"},"name":"Homebase","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Baumax":{"tags":{"name":"Baumax","shop":"doityourself"},"name":"Baumax","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Lagerhaus":{"tags":{"name":"Lagerhaus","shop":"doityourself"},"name":"Lagerhaus","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Bauhaus":{"tags":{"name":"Bauhaus","shop":"doityourself"},"name":"Bauhaus","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Canadian Tire":{"tags":{"name":"Canadian Tire","shop":"doityourself"},"name":"Canadian Tire","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Leroy Merlin":{"tags":{"name":"Leroy Merlin","shop":"doityourself"},"name":"Leroy Merlin","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Hellweg":{"tags":{"name":"Hellweg","shop":"doityourself"},"name":"Hellweg","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Brico":{"tags":{"name":"Brico","shop":"doityourself"},"name":"Brico","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Bricomarché":{"tags":{"name":"Bricomarché","shop":"doityourself"},"name":"Bricomarché","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Toom":{"tags":{"name":"Toom","shop":"doityourself"},"name":"Toom","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Hagebaumarkt":{"tags":{"name":"Hagebaumarkt","shop":"doityourself"},"name":"Hagebaumarkt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Praktiker":{"tags":{"name":"Praktiker","shop":"doityourself"},"name":"Praktiker","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Menards":{"tags":{"name":"Menards","shop":"doityourself"},"name":"Menards","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Weldom":{"tags":{"name":"Weldom","shop":"doityourself"},"name":"Weldom","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Bunnings Warehouse":{"tags":{"name":"Bunnings Warehouse","shop":"doityourself"},"name":"Bunnings Warehouse","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Ace Hardware":{"tags":{"name":"Ace Hardware","shop":"doityourself"},"name":"Ace Hardware","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Home Hardware":{"tags":{"name":"Home Hardware","shop":"doityourself"},"name":"Home Hardware","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Стройматериалы":{"tags":{"name":"Стройматериалы","shop":"doityourself"},"name":"Стройматериалы","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Bricorama":{"tags":{"name":"Bricorama","shop":"doityourself"},"name":"Bricorama","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Point P":{"tags":{"name":"Point P","shop":"doityourself"},"name":"Point P","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Staples":{"tags":{"name":"Staples","shop":"stationery"},"name":"Staples","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/McPaper":{"tags":{"name":"McPaper","shop":"stationery"},"name":"McPaper","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Office Depot":{"tags":{"name":"Office Depot","shop":"stationery"},"name":"Office Depot","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Канцтовары":{"tags":{"name":"Канцтовары","shop":"stationery"},"name":"Канцтовары","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Skoda":{"tags":{"name":"Skoda","shop":"car"},"name":"Skoda","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/BMW":{"tags":{"name":"BMW","shop":"car"},"name":"BMW","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Citroen":{"tags":{"name":"Citroen","shop":"car"},"name":"Citroen","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Renault":{"tags":{"name":"Renault","shop":"car"},"name":"Renault","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Mercedes-Benz":{"tags":{"name":"Mercedes-Benz","shop":"car"},"name":"Mercedes-Benz","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Volvo":{"tags":{"name":"Volvo","shop":"car"},"name":"Volvo","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Ford":{"tags":{"name":"Ford","shop":"car"},"name":"Ford","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Volkswagen":{"tags":{"name":"Volkswagen","shop":"car"},"name":"Volkswagen","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Mazda":{"tags":{"name":"Mazda","shop":"car"},"name":"Mazda","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Mitsubishi":{"tags":{"name":"Mitsubishi","shop":"car"},"name":"Mitsubishi","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Fiat":{"tags":{"name":"Fiat","shop":"car"},"name":"Fiat","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Автозапчасти":{"tags":{"name":"Автозапчасти","shop":"car"},"name":"Автозапчасти","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Opel":{"tags":{"name":"Opel","shop":"car"},"name":"Opel","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Audi":{"tags":{"name":"Audi","shop":"car"},"name":"Audi","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Toyota":{"tags":{"name":"Toyota","shop":"car"},"name":"Toyota","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Nissan":{"tags":{"name":"Nissan","shop":"car"},"name":"Nissan","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Suzuki":{"tags":{"name":"Suzuki","shop":"car"},"name":"Suzuki","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Honda":{"tags":{"name":"Honda","shop":"car"},"name":"Honda","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Peugeot":{"tags":{"name":"Peugeot","shop":"car"},"name":"Peugeot","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Hyundai":{"tags":{"name":"Hyundai","shop":"car"},"name":"Hyundai","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Subaru":{"tags":{"name":"Subaru","shop":"car"},"name":"Subaru","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Chevrolet":{"tags":{"name":"Chevrolet","shop":"car"},"name":"Chevrolet","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Автомагазин":{"tags":{"name":"Автомагазин","shop":"car"},"name":"Автомагазин","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Matalan":{"tags":{"name":"Matalan","shop":"clothes"},"name":"Matalan","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/KiK":{"tags":{"name":"KiK","shop":"clothes"},"name":"KiK","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/H&M":{"tags":{"name":"H&M","shop":"clothes"},"name":"H&M","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Urban Outfitters":{"tags":{"name":"Urban Outfitters","shop":"clothes"},"name":"Urban Outfitters","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Vögele":{"tags":{"name":"Vögele","shop":"clothes"},"name":"Vögele","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Zeeman":{"tags":{"name":"Zeeman","shop":"clothes"},"name":"Zeeman","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Takko":{"tags":{"name":"Takko","shop":"clothes"},"name":"Takko","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/C&A":{"tags":{"name":"C&A","shop":"clothes"},"name":"C&A","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Zara":{"tags":{"name":"Zara","shop":"clothes"},"name":"Zara","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Vero Moda":{"tags":{"name":"Vero Moda","shop":"clothes"},"name":"Vero Moda","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/NKD":{"tags":{"name":"NKD","shop":"clothes"},"name":"NKD","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Ernsting's family":{"tags":{"name":"Ernsting's family","shop":"clothes"},"name":"Ernsting's family","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Winners":{"tags":{"name":"Winners","shop":"clothes"},"name":"Winners","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/River Island":{"tags":{"name":"River Island","shop":"clothes"},"name":"River Island","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Next":{"tags":{"name":"Next","shop":"clothes"},"name":"Next","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Gap":{"tags":{"name":"Gap","shop":"clothes"},"name":"Gap","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Adidas":{"tags":{"name":"Adidas","shop":"clothes"},"name":"Adidas","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Mr Price":{"tags":{"name":"Mr Price","shop":"clothes"},"name":"Mr Price","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Pep":{"tags":{"name":"Pep","shop":"clothes"},"name":"Pep","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Edgars":{"tags":{"name":"Edgars","shop":"clothes"},"name":"Edgars","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Ackermans":{"tags":{"name":"Ackermans","shop":"clothes"},"name":"Ackermans","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Truworths":{"tags":{"name":"Truworths","shop":"clothes"},"name":"Truworths","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Ross":{"tags":{"name":"Ross","shop":"clothes"},"name":"Ross","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Burton":{"tags":{"name":"Burton","shop":"clothes"},"name":"Burton","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Dorothy Perkins":{"tags":{"name":"Dorothy Perkins","shop":"clothes"},"name":"Dorothy Perkins","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Lindex":{"tags":{"name":"Lindex","shop":"clothes"},"name":"Lindex","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/s.Oliver":{"tags":{"name":"s.Oliver","shop":"clothes"},"name":"s.Oliver","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Cecil":{"tags":{"name":"Cecil","shop":"clothes"},"name":"Cecil","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Dress Barn":{"tags":{"name":"Dress Barn","shop":"clothes"},"name":"Dress Barn","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Old Navy":{"tags":{"name":"Old Navy","shop":"clothes"},"name":"Old Navy","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Jack & Jones":{"tags":{"name":"Jack & Jones","shop":"clothes"},"name":"Jack & Jones","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Pimkie":{"tags":{"name":"Pimkie","shop":"clothes"},"name":"Pimkie","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Esprit":{"tags":{"name":"Esprit","shop":"clothes"},"name":"Esprit","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Primark":{"tags":{"name":"Primark","shop":"clothes"},"name":"Primark","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Bonita":{"tags":{"name":"Bonita","shop":"clothes"},"name":"Bonita","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Mexx":{"tags":{"name":"Mexx","shop":"clothes"},"name":"Mexx","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Gerry Weber":{"tags":{"name":"Gerry Weber","shop":"clothes"},"name":"Gerry Weber","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Tally Weijl":{"tags":{"name":"Tally Weijl","shop":"clothes"},"name":"Tally Weijl","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Mango":{"tags":{"name":"Mango","shop":"clothes"},"name":"Mango","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/TK Maxx":{"tags":{"name":"TK Maxx","shop":"clothes"},"name":"TK Maxx","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Benetton":{"tags":{"name":"Benetton","shop":"clothes"},"name":"Benetton","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Ulla Popken":{"tags":{"name":"Ulla Popken","shop":"clothes"},"name":"Ulla Popken","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/AWG":{"tags":{"name":"AWG","shop":"clothes"},"name":"AWG","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Tommy Hilfiger":{"tags":{"name":"Tommy Hilfiger","shop":"clothes"},"name":"Tommy Hilfiger","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/New Yorker":{"tags":{"name":"New Yorker","shop":"clothes"},"name":"New Yorker","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Orsay":{"tags":{"name":"Orsay","shop":"clothes"},"name":"Orsay","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Jeans Fritz":{"tags":{"name":"Jeans Fritz","shop":"clothes"},"name":"Jeans Fritz","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Charles Vögele":{"tags":{"name":"Charles Vögele","shop":"clothes"},"name":"Charles Vögele","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/New Look":{"tags":{"name":"New Look","shop":"clothes"},"name":"New Look","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Lacoste":{"tags":{"name":"Lacoste","shop":"clothes"},"name":"Lacoste","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Etam":{"tags":{"name":"Etam","shop":"clothes"},"name":"Etam","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Kiabi":{"tags":{"name":"Kiabi","shop":"clothes"},"name":"Kiabi","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Jack Wolfskin":{"tags":{"name":"Jack Wolfskin","shop":"clothes"},"name":"Jack Wolfskin","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/American Apparel":{"tags":{"name":"American Apparel","shop":"clothes"},"name":"American Apparel","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Men's Wearhouse":{"tags":{"name":"Men's Wearhouse","shop":"clothes"},"name":"Men's Wearhouse","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Intimissimi":{"tags":{"name":"Intimissimi","shop":"clothes"},"name":"Intimissimi","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/United Colors of Benetton":{"tags":{"name":"United Colors of Benetton","shop":"clothes"},"name":"United Colors of Benetton","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Jules":{"tags":{"name":"Jules","shop":"clothes"},"name":"Jules","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Second Hand":{"tags":{"name":"Second Hand","shop":"clothes"},"name":"Second Hand","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/AOKI":{"tags":{"name":"AOKI","shop":"clothes"},"name":"AOKI","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Calzedonia":{"tags":{"name":"Calzedonia","shop":"clothes"},"name":"Calzedonia","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/洋服の青山":{"tags":{"name":"洋服の青山","shop":"clothes"},"name":"洋服の青山","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Levi's":{"tags":{"name":"Levi's","shop":"clothes"},"name":"Levi's","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Celio":{"tags":{"name":"Celio","shop":"clothes"},"name":"Celio","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/TJ Maxx":{"tags":{"name":"TJ Maxx","shop":"clothes"},"name":"TJ Maxx","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Promod":{"tags":{"name":"Promod","shop":"clothes"},"name":"Promod","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Street One":{"tags":{"name":"Street One","shop":"clothes"},"name":"Street One","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/ユニクロ":{"tags":{"name":"ユニクロ","shop":"clothes"},"name":"ユニクロ","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Banana Republic":{"tags":{"name":"Banana Republic","shop":"clothes"},"name":"Banana Republic","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Одежда":{"tags":{"name":"Одежда","shop":"clothes"},"name":"Одежда","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Marshalls":{"tags":{"name":"Marshalls","shop":"clothes"},"name":"Marshalls","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/La Halle":{"tags":{"name":"La Halle","shop":"clothes"},"name":"La Halle","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Peacocks":{"tags":{"name":"Peacocks","shop":"clothes"},"name":"Peacocks","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/しまむら":{"tags":{"name":"しまむら","shop":"clothes"},"name":"しまむら","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/books/Bruna":{"tags":{"name":"Bruna","shop":"books"},"name":"Bruna","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/books/Waterstones":{"tags":{"name":"Waterstones","shop":"books"},"name":"Waterstones","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/books/Libro":{"tags":{"name":"Libro","shop":"books"},"name":"Libro","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/books/Barnes & Noble":{"tags":{"name":"Barnes & Noble","shop":"books"},"name":"Barnes & Noble","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/books/Weltbild":{"tags":{"name":"Weltbild","shop":"books"},"name":"Weltbild","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/books/Thalia":{"tags":{"name":"Thalia","shop":"books"},"name":"Thalia","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/books/Книги":{"tags":{"name":"Книги","shop":"books"},"name":"Книги","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Debenhams":{"tags":{"name":"Debenhams","shop":"department_store"},"name":"Debenhams","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Karstadt":{"tags":{"name":"Karstadt","shop":"department_store"},"name":"Karstadt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Kmart":{"tags":{"name":"Kmart","shop":"department_store"},"name":"Kmart","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Target":{"tags":{"name":"Target","shop":"department_store"},"name":"Target","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Galeria Kaufhof":{"tags":{"name":"Galeria Kaufhof","shop":"department_store"},"name":"Galeria Kaufhof","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Marks & Spencer":{"tags":{"name":"Marks & Spencer","shop":"department_store"},"name":"Marks & Spencer","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Big W":{"tags":{"name":"Big W","shop":"department_store"},"name":"Big W","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Woolworth":{"tags":{"name":"Woolworth","shop":"department_store"},"name":"Woolworth","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Универмаг":{"tags":{"name":"Универмаг","shop":"department_store"},"name":"Универмаг","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Sears":{"tags":{"name":"Sears","shop":"department_store"},"name":"Sears","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Kohl's":{"tags":{"name":"Kohl's","shop":"department_store"},"name":"Kohl's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Macy's":{"tags":{"name":"Macy's","shop":"department_store"},"name":"Macy's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/JCPenney":{"tags":{"name":"JCPenney","shop":"department_store"},"name":"JCPenney","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/alcohol/Alko":{"tags":{"name":"Alko","shop":"alcohol"},"name":"Alko","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/The Beer Store":{"tags":{"name":"The Beer Store","shop":"alcohol"},"name":"The Beer Store","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Systembolaget":{"tags":{"name":"Systembolaget","shop":"alcohol"},"name":"Systembolaget","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/LCBO":{"tags":{"name":"LCBO","shop":"alcohol"},"name":"LCBO","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Ароматный мир":{"tags":{"name":"Ароматный мир","shop":"alcohol"},"name":"Ароматный мир","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Bargain Booze":{"tags":{"name":"Bargain Booze","shop":"alcohol"},"name":"Bargain Booze","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Nicolas":{"tags":{"name":"Nicolas","shop":"alcohol"},"name":"Nicolas","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/BWS":{"tags":{"name":"BWS","shop":"alcohol"},"name":"BWS","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Botilleria":{"tags":{"name":"Botilleria","shop":"alcohol"},"name":"Botilleria","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/SAQ":{"tags":{"name":"SAQ","shop":"alcohol"},"name":"SAQ","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Gall & Gall":{"tags":{"name":"Gall & Gall","shop":"alcohol"},"name":"Gall & Gall","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Живое пиво":{"tags":{"name":"Живое пиво","shop":"alcohol"},"name":"Живое пиво","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/bakery/Kamps":{"tags":{"name":"Kamps","shop":"bakery"},"name":"Kamps","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Banette":{"tags":{"name":"Banette","shop":"bakery"},"name":"Banette","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Bäckerei Schmidt":{"tags":{"name":"Bäckerei Schmidt","shop":"bakery"},"name":"Bäckerei Schmidt","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Anker":{"tags":{"name":"Anker","shop":"bakery"},"name":"Anker","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Hofpfisterei":{"tags":{"name":"Hofpfisterei","shop":"bakery"},"name":"Hofpfisterei","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Greggs":{"tags":{"name":"Greggs","shop":"bakery"},"name":"Greggs","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Oebel":{"tags":{"name":"Oebel","shop":"bakery"},"name":"Oebel","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Boulangerie":{"tags":{"name":"Boulangerie","shop":"bakery"},"name":"Boulangerie","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Stadtbäckerei":{"tags":{"name":"Stadtbäckerei","shop":"bakery"},"name":"Stadtbäckerei","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Steinecke":{"tags":{"name":"Steinecke","shop":"bakery"},"name":"Steinecke","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Ihle":{"tags":{"name":"Ihle","shop":"bakery"},"name":"Ihle","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Goldilocks":{"tags":{"name":"Goldilocks","shop":"bakery"},"name":"Goldilocks","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Dat Backhus":{"tags":{"name":"Dat Backhus","shop":"bakery"},"name":"Dat Backhus","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/K&U":{"tags":{"name":"K&U","shop":"bakery"},"name":"K&U","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Der Beck":{"tags":{"name":"Der Beck","shop":"bakery"},"name":"Der Beck","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Thürmann":{"tags":{"name":"Thürmann","shop":"bakery"},"name":"Thürmann","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Backwerk":{"tags":{"name":"Backwerk","shop":"bakery"},"name":"Backwerk","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Schäfer's":{"tags":{"name":"Schäfer's","shop":"bakery"},"name":"Schäfer's","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Panaderia":{"tags":{"name":"Panaderia","shop":"bakery"},"name":"Panaderia","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Goeken backen":{"tags":{"name":"Goeken backen","shop":"bakery"},"name":"Goeken backen","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Stadtbäckerei Junge":{"tags":{"name":"Stadtbäckerei Junge","shop":"bakery"},"name":"Stadtbäckerei Junge","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Boulangerie Patisserie":{"tags":{"name":"Boulangerie Patisserie","shop":"bakery"},"name":"Boulangerie Patisserie","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Paul":{"tags":{"name":"Paul","shop":"bakery"},"name":"Paul","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Хлеб":{"tags":{"name":"Хлеб","shop":"bakery"},"name":"Хлеб","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Пекарня":{"tags":{"name":"Пекарня","shop":"bakery"},"name":"Пекарня","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Кулиничи":{"tags":{"name":"Кулиничи","shop":"bakery"},"name":"Кулиничи","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Sports Direct":{"tags":{"name":"Sports Direct","shop":"sports"},"name":"Sports Direct","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Decathlon":{"tags":{"name":"Decathlon","shop":"sports"},"name":"Decathlon","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Intersport":{"tags":{"name":"Intersport","shop":"sports"},"name":"Intersport","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Sports Authority":{"tags":{"name":"Sports Authority","shop":"sports"},"name":"Sports Authority","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Спортмастер":{"tags":{"name":"Спортмастер","shop":"sports"},"name":"Спортмастер","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Sport 2000":{"tags":{"name":"Sport 2000","shop":"sports"},"name":"Sport 2000","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Dick's Sporting Goods":{"tags":{"name":"Dick's Sporting Goods","shop":"sports"},"name":"Dick's Sporting Goods","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Tedi":{"tags":{"name":"Tedi","shop":"variety_store"},"name":"Tedi","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Dollarama":{"tags":{"name":"Dollarama","shop":"variety_store"},"name":"Dollarama","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Family Dollar":{"tags":{"name":"Family Dollar","shop":"variety_store"},"name":"Family Dollar","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Dollar Tree":{"tags":{"name":"Dollar Tree","shop":"variety_store"},"name":"Dollar Tree","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Fressnapf":{"tags":{"name":"Fressnapf","shop":"pet"},"name":"Fressnapf","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/PetSmart":{"tags":{"name":"PetSmart","shop":"pet"},"name":"PetSmart","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Das Futterhaus":{"tags":{"name":"Das Futterhaus","shop":"pet"},"name":"Das Futterhaus","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Pets at Home":{"tags":{"name":"Pets at Home","shop":"pet"},"name":"Pets at Home","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Petco":{"tags":{"name":"Petco","shop":"pet"},"name":"Petco","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Зоомагазин":{"tags":{"name":"Зоомагазин","shop":"pet"},"name":"Зоомагазин","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Deichmann":{"tags":{"name":"Deichmann","shop":"shoes"},"name":"Deichmann","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Reno":{"tags":{"name":"Reno","shop":"shoes"},"name":"Reno","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Ecco":{"tags":{"name":"Ecco","shop":"shoes"},"name":"Ecco","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Clarks":{"tags":{"name":"Clarks","shop":"shoes"},"name":"Clarks","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/La Halle aux Chaussures":{"tags":{"name":"La Halle aux Chaussures","shop":"shoes"},"name":"La Halle aux Chaussures","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Brantano":{"tags":{"name":"Brantano","shop":"shoes"},"name":"Brantano","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Geox":{"tags":{"name":"Geox","shop":"shoes"},"name":"Geox","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Salamander":{"tags":{"name":"Salamander","shop":"shoes"},"name":"Salamander","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Обувь":{"tags":{"name":"Обувь","shop":"shoes"},"name":"Обувь","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Payless Shoe Source":{"tags":{"name":"Payless Shoe Source","shop":"shoes"},"name":"Payless Shoe Source","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Famous Footwear":{"tags":{"name":"Famous Footwear","shop":"shoes"},"name":"Famous Footwear","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Quick Schuh":{"tags":{"name":"Quick Schuh","shop":"shoes"},"name":"Quick Schuh","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Shoe Zone":{"tags":{"name":"Shoe Zone","shop":"shoes"},"name":"Shoe Zone","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Foot Locker":{"tags":{"name":"Foot Locker","shop":"shoes"},"name":"Foot Locker","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Bata":{"tags":{"name":"Bata","shop":"shoes"},"name":"Bata","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/ЦентрОбувь":{"tags":{"name":"ЦентрОбувь","shop":"shoes"},"name":"ЦентрОбувь","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/La Grande Récré":{"tags":{"name":"La Grande Récré","shop":"toys"},"name":"La Grande Récré","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Toys R Us":{"tags":{"name":"Toys R Us","shop":"toys"},"name":"Toys R Us","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Intertoys":{"tags":{"name":"Intertoys","shop":"toys"},"name":"Intertoys","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Детский мир":{"tags":{"name":"Детский мир","shop":"toys"},"name":"Детский мир","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Игрушки":{"tags":{"name":"Игрушки","shop":"toys"},"name":"Игрушки","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/travel_agency/Flight Centre":{"tags":{"name":"Flight Centre","shop":"travel_agency"},"name":"Flight Centre","icon":"suitcase","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/travel_agency/Thomas Cook":{"tags":{"name":"Thomas Cook","shop":"travel_agency"},"name":"Thomas Cook","icon":"suitcase","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/Bijou Brigitte":{"tags":{"name":"Bijou Brigitte","shop":"jewelry"},"name":"Bijou Brigitte","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/Christ":{"tags":{"name":"Christ","shop":"jewelry"},"name":"Christ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/Swarovski":{"tags":{"name":"Swarovski","shop":"jewelry"},"name":"Swarovski","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Fielmann":{"tags":{"name":"Fielmann","shop":"optician"},"name":"Fielmann","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Apollo Optik":{"tags":{"name":"Apollo Optik","shop":"optician"},"name":"Apollo Optik","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Vision Express":{"tags":{"name":"Vision Express","shop":"optician"},"name":"Vision Express","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Оптика":{"tags":{"name":"Оптика","shop":"optician"},"name":"Оптика","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Optic 2000":{"tags":{"name":"Optic 2000","shop":"optician"},"name":"Optic 2000","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Alain Afflelou":{"tags":{"name":"Alain Afflelou","shop":"optician"},"name":"Alain Afflelou","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Specsavers":{"tags":{"name":"Specsavers","shop":"optician"},"name":"Specsavers","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Krys":{"tags":{"name":"Krys","shop":"optician"},"name":"Krys","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Atol":{"tags":{"name":"Atol","shop":"optician"},"name":"Atol","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video/Blockbuster":{"tags":{"name":"Blockbuster","shop":"video"},"name":"Blockbuster","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video/World of Video":{"tags":{"name":"World of Video","shop":"video"},"name":"World of Video","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Билайн":{"tags":{"name":"Билайн","shop":"mobile_phone"},"name":"Билайн","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/ソフトバンクショップ (SoftBank shop)":{"tags":{"name":"ソフトバンクショップ (SoftBank shop)","shop":"mobile_phone"},"name":"ソフトバンクショップ (SoftBank shop)","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Vodafone":{"tags":{"name":"Vodafone","shop":"mobile_phone"},"name":"Vodafone","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/O2":{"tags":{"name":"O2","shop":"mobile_phone"},"name":"O2","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Carphone Warehouse":{"tags":{"name":"Carphone Warehouse","shop":"mobile_phone"},"name":"Carphone Warehouse","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Orange":{"tags":{"name":"Orange","shop":"mobile_phone"},"name":"Orange","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Verizon Wireless":{"tags":{"name":"Verizon Wireless","shop":"mobile_phone"},"name":"Verizon Wireless","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Sprint":{"tags":{"name":"Sprint","shop":"mobile_phone"},"name":"Sprint","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/T-Mobile":{"tags":{"name":"T-Mobile","shop":"mobile_phone"},"name":"T-Mobile","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/МТС":{"tags":{"name":"МТС","shop":"mobile_phone"},"name":"МТС","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Евросеть":{"tags":{"name":"Евросеть","shop":"mobile_phone"},"name":"Евросеть","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Bell":{"tags":{"name":"Bell","shop":"mobile_phone"},"name":"Bell","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/The Phone House":{"tags":{"name":"The Phone House","shop":"mobile_phone"},"name":"The Phone House","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/SFR":{"tags":{"name":"SFR","shop":"mobile_phone"},"name":"SFR","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Связной":{"tags":{"name":"Связной","shop":"mobile_phone"},"name":"Связной","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Мегафон":{"tags":{"name":"Мегафон","shop":"mobile_phone"},"name":"Мегафон","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/AT&T":{"tags":{"name":"AT&T","shop":"mobile_phone"},"name":"AT&T","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/ドコモショップ (docomo shop)":{"tags":{"name":"ドコモショップ (docomo shop)","shop":"mobile_phone"},"name":"ドコモショップ (docomo shop)","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/au":{"tags":{"name":"au","shop":"mobile_phone"},"name":"au","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Movistar":{"tags":{"name":"Movistar","shop":"mobile_phone"},"name":"Movistar","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Bitė":{"tags":{"name":"Bitė","shop":"mobile_phone"},"name":"Bitė","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/computer/PC World":{"tags":{"name":"PC World","shop":"computer"},"name":"PC World","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/computer/DNS":{"tags":{"name":"DNS","shop":"computer"},"name":"DNS","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Klier":{"tags":{"name":"Klier","shop":"hairdresser"},"name":"Klier","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Supercuts":{"tags":{"name":"Supercuts","shop":"hairdresser"},"name":"Supercuts","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Hairkiller":{"tags":{"name":"Hairkiller","shop":"hairdresser"},"name":"Hairkiller","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Great Clips":{"tags":{"name":"Great Clips","shop":"hairdresser"},"name":"Great Clips","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Парикмахерская":{"tags":{"name":"Парикмахерская","shop":"hairdresser"},"name":"Парикмахерская","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Стиль":{"tags":{"name":"Стиль","shop":"hairdresser"},"name":"Стиль","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Franck Provost":{"tags":{"name":"Franck Provost","shop":"hairdresser"},"name":"Franck Provost","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Салон красоты":{"tags":{"name":"Салон красоты","shop":"hairdresser"},"name":"Салон красоты","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hardware/1000 мелочей":{"tags":{"name":"1000 мелочей","shop":"hardware"},"name":"1000 мелочей","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hardware/Хозтовары":{"tags":{"name":"Хозтовары","shop":"hardware"},"name":"Хозтовары","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/motorcycle/Yamaha":{"tags":{"name":"Yamaha","shop":"motorcycle"},"name":"Yamaha","icon":"scooter","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true}},"defaults":{"area":["category-landuse","category-building","category-water-area","leisure/park","amenity/hospital","amenity/place_of_worship","amenity/cafe","amenity/restaurant","area"],"line":["category-road","category-rail","category-path","category-water-line","power/line","line"],"point":["leisure/park","amenity/hospital","amenity/place_of_worship","amenity/cafe","amenity/restaurant","amenity/fast_food","amenity/bar","amenity/bank","shop/supermarket","point"],"vertex":["highway/crosswalk","highway/crossing","railway/level_crossing","highway/traffic_signals","highway/turning_circle","highway/mini_roundabout","highway/motorway_junction","vertex"],"relation":["category-route","category-restriction","type/boundary","type/multipolygon","type/site","relation"]},"categories":{"category-building":{"geometry":"area","name":"Building Features","icon":"building","members":["building/house","building/apartments","building/commercial","building/industrial","building/residential","building"]},"category-golf":{"geometry":"area","name":"Golf Features","icon":"golf","members":["golf/fairway","golf/green","golf/lateral_water_hazard","golf/rough","golf/bunker","golf/tee","golf/water_hazard"]},"category-landuse":{"geometry":"area","name":"Land Use Features","icon":"land-use","members":["landuse/residential","landuse/industrial","landuse/commercial","landuse/retail","landuse/farmland","landuse/farmyard","landuse/forest","landuse/meadow","landuse/cemetery","landuse/military"]},"category-path":{"geometry":"line","name":"Path Features","icon":"category-path","members":["highway/pedestrian","highway/footway","highway/cycleway","highway/bridleway","highway/path","highway/steps"]},"category-rail":{"geometry":"line","name":"Rail Features","icon":"category-rail","members":["railway/rail","railway/subway","railway/tram","railway/monorail","railway/disused","railway/abandoned"]},"category-restriction":{"geometry":"relation","name":"Restriction Features","icon":"restriction","members":["type/restriction/no_left_turn","type/restriction/no_right_turn","type/restriction/no_straight_on","type/restriction/no_u_turn","type/restriction/only_left_turn","type/restriction/only_right_turn","type/restriction/only_straight_on","type/restriction"]},"category-road":{"geometry":"line","name":"Road Features","icon":"category-roads","members":["highway/residential","highway/motorway","highway/trunk","highway/primary","highway/secondary","highway/tertiary","highway/service","highway/motorway_link","highway/trunk_link","highway/primary_link","highway/secondary_link","highway/tertiary_link","highway/unclassified","highway/track","highway/road"]},"category-route":{"geometry":"relation","name":"Route Features","icon":"route","members":["type/route/road","type/route/bicycle","type/route/foot","type/route/hiking","type/route/bus","type/route/train","type/route/tram","type/route/ferry","type/route/power","type/route/pipeline","type/route/detour","type/route_master","type/route"]},"category-water-area":{"geometry":"area","name":"Water Features","icon":"water","members":["natural/water/lake","natural/water/pond","natural/water/reservoir","natural/water"]},"category-water-line":{"geometry":"line","name":"Water Features","icon":"category-water","members":["waterway/river","waterway/stream","waterway/canal","waterway/ditch","waterway/drain"]}},"fields":{"access":{"keys":["access","foot","motor_vehicle","bicycle","horse"],"reference":{"key":"access"},"type":"access","label":"Allowed Access","placeholder":"Not Specified","strings":{"types":{"access":"All","foot":"Foot","motor_vehicle":"Motor Vehicles","bicycle":"Bicycles","horse":"Horses"},"options":{"yes":{"title":"Allowed","description":"Access permitted by law; a right of way"},"no":{"title":"Prohibited","description":"Access not permitted to the general public"},"permissive":{"title":"Permissive","description":"Access permitted until such time as the owner revokes the permission"},"private":{"title":"Private","description":"Access permitted only with permission of the owner on an individual basis"},"designated":{"title":"Designated","description":"Access permitted according to signs or specific local laws"},"destination":{"title":"Destination","description":"Access permitted only to reach a destination"},"dismount":{"title":"Dismount","description":"Access permitted but rider must dismount"}}}},"access_simple":{"key":"access","type":"combo","label":"Allowed Access","placeholder":"yes","options":["permissive","private","customers","no"]},"access_toilets":{"key":"access","type":"combo","label":"Access","options":["yes","permissive","private","customers"]},"address":{"type":"address","keys":["addr:housename","addr:housenumber","addr:conscriptionnumber","addr:street","addr:city","addr:postcode","addr:place","addr:hamlet","addr:suburb","addr:subdistrict","addr:district","addr:province","addr:state","addr:country"],"reference":{"key":"addr"},"icon":"address","universal":true,"label":"Address","strings":{"placeholders":{"housename":"Housename","housenumber":"123","conscriptionnumber":"123","street":"Street","city":"City","postcode":"Postcode","place":"Place","hamlet":"Hamlet","suburb":"Suburb","subdistrict":"Subdistrict","district":"District","province":"Province","state":"State","country":"Country"}}},"admin_level":{"key":"admin_level","type":"number","label":"Admin Level"},"aerialway":{"key":"aerialway","type":"typeCombo","label":"Type"},"aerialway/access":{"key":"aerialway:access","type":"combo","label":"Access","strings":{"options":{"entry":"Entry","exit":"Exit","both":"Both"}}},"aerialway/bubble":{"key":"aerialway:bubble","type":"check","label":"Bubble"},"aerialway/capacity":{"key":"aerialway:capacity","type":"number","label":"Capacity (per hour)","placeholder":"500, 2500, 5000..."},"aerialway/duration":{"key":"aerialway:duration","type":"number","label":"Duration (minutes)","placeholder":"1, 2, 3..."},"aerialway/heating":{"key":"aerialway:heating","type":"check","label":"Heated"},"aerialway/occupancy":{"key":"aerialway:occupancy","type":"number","label":"Occupancy","placeholder":"2, 4, 8..."},"aerialway/summer/access":{"key":"aerialway:summer:access","type":"combo","label":"Access (summer)","strings":{"options":{"entry":"Entry","exit":"Exit","both":"Both"}}},"aeroway":{"key":"aeroway","type":"typeCombo","label":"Type"},"amenity":{"key":"amenity","type":"typeCombo","label":"Type"},"area/highway":{"key":"area:highway","type":"typeCombo","label":"Type"},"artist":{"key":"artist_name","type":"text","label":"Artist"},"artwork_type":{"key":"artwork_type","type":"combo","label":"Type"},"atm":{"key":"atm","type":"check","label":"ATM"},"backrest":{"key":"backrest","type":"check","label":"Backrest"},"barrier":{"key":"barrier","type":"typeCombo","label":"Type"},"bench":{"key":"bench","type":"check","label":"Bench"},"bicycle_parking":{"key":"bicycle_parking","type":"combo","label":"Type"},"bin":{"key":"bin","type":"check","label":"Waste Bin"},"boundary":{"key":"boundary","type":"combo","label":"Type"},"brand":{"key":"brand","type":"text","label":"Brand"},"building":{"key":"building","type":"combo","label":"Building"},"building_area":{"key":"building","type":"combo","default":"yes","geometry":"area","label":"Building"},"capacity":{"key":"capacity","type":"number","label":"Capacity","placeholder":"50, 100, 200..."},"cardinal_direction":{"key":"direction","type":"combo","label":"Direction","strings":{"options":{"N":"North","E":"East","S":"South","W":"West","NE":"Northeast","SE":"Southeast","SW":"Southwest","NW":"Northwest","NNE":"North-northeast","ENE":"East-northeast","ESE":"East-southeast","SSE":"South-southeast","SSW":"South-southwest","WSW":"West-southwest","WNW":"West-northwest","NNW":"North-northwest"}}},"clock_direction":{"key":"direction","type":"combo","label":"Direction","strings":{"options":{"clockwise":"Clockwise","anticlockwise":"Counterclockwise"}}},"collection_times":{"key":"collection_times","type":"text","label":"Collection Times"},"construction":{"key":"construction","type":"combo","label":"Type"},"content":{"key":"content","type":"combo","label":"Contents"},"country":{"key":"country","type":"combo","label":"Country"},"covered":{"key":"covered","type":"check","label":"Covered"},"craft":{"key":"craft","type":"typeCombo","label":"Type"},"crop":{"key":"crop","type":"combo","label":"Crop"},"crossing":{"key":"crossing","type":"combo","label":"Type"},"cuisine":{"key":"cuisine","type":"combo","label":"Cuisine"},"currency_multi":{"key":"currency:","type":"multiCombo","label":"Currency Types"},"cycleway":{"keys":["cycleway:left","cycleway:right"],"reference":{"key":"cycleway"},"type":"cycleway","label":"Bike Lanes","placeholder":"none","strings":{"types":{"cycleway:left":"Left side","cycleway:right":"Right side"},"options":{"none":{"title":"None","description":"No bike lane"},"lane":{"title":"Standard bike lane","description":"A bike lane separated from auto traffic by a painted line"},"shared_lane":{"title":"Shared bike lane","description":"A bike lane with no separation from auto traffic"},"track":{"title":"Bike track","description":"A bike lane separated from traffic by a physical barrier"},"share_busway":{"title":"Bike lane shared with bus","description":"A bike lane shared with a bus lane"},"opposite_lane":{"title":"Opposite bike lane","description":"A bike lane that travels in the opposite direction of traffic"},"opposite":{"title":"Contraflow bike lane","description":"A bike lane that travels in both directions on a one-way street"}}}},"delivery":{"key":"delivery","type":"check","label":"Delivery"},"denomination":{"key":"denomination","type":"combo","label":"Denomination"},"denotation":{"key":"denotation","type":"combo","label":"Denotation"},"description":{"key":"description","type":"textarea","label":"Description","universal":true},"diaper":{"key":"diaper","type":"combo","label":"Diaper Changing Available","options":["yes","no","room","1","2","3","4","5"]},"dock":{"key":"dock","type":"combo","label":"Type"},"drive_through":{"key":"drive_through","type":"check","label":"Drive-Through"},"electrified":{"key":"electrified","type":"combo","label":"Electrification","placeholder":"Contact Line, Electrified Rail...","strings":{"options":{"contact_line":"Contact Line","rail":"Electrified Rail","yes":"Yes (unspecified)","no":"No"}}},"elevation":{"key":"ele","type":"number","icon":"elevation","universal":true,"label":"Elevation"},"emergency":{"key":"emergency","type":"check","label":"Emergency"},"entrance":{"key":"entrance","type":"typeCombo","label":"Type"},"except":{"key":"except","type":"combo","label":"Exceptions"},"fax":{"key":"fax","type":"tel","label":"Fax","placeholder":"+31 42 123 4567"},"fee":{"key":"fee","type":"check","label":"Fee"},"fire_hydrant/type":{"key":"fire_hydrant:type","type":"combo","label":"Type","strings":{"options":{"pillar":"Pillar/Aboveground","underground":"Underground","wall":"Wall","pond":"Pond"}}},"fixme":{"key":"fixme","type":"textarea","label":"Fix Me","universal":true},"fuel":{"key":"fuel","type":"combo","label":"Fuel"},"fuel_multi":{"key":"fuel:","type":"multiCombo","label":"Fuel Types"},"gauge":{"key":"gauge","type":"combo","label":"Gauge"},"gender":{"type":"radio","keys":["male","female","unisex"],"label":"Gender","placeholder":"Unknown","strings":{"options":{"male":"Male","female":"Female","unisex":"Unisex"}}},"generator/method":{"key":"generator:method","type":"combo","label":"Method"},"generator/source":{"key":"generator:source","type":"combo","label":"Source"},"generator/type":{"key":"generator:type","type":"combo","label":"Type"},"golf_hole":{"key":"ref","type":"text","label":"Reference","placeholder":"Hole number (1-18)"},"handicap":{"key":"handicap","type":"number","label":"Handicap","placeholder":"1-18"},"handrail":{"key":"handrail","type":"check","label":"Handrail"},"highway":{"key":"highway","type":"typeCombo","label":"Type"},"historic":{"key":"historic","type":"typeCombo","label":"Type"},"hoops":{"key":"hoops","type":"number","label":"Hoops","placeholder":"1, 2, 4..."},"iata":{"key":"iata","type":"text","label":"IATA"},"icao":{"key":"icao","type":"text","label":"ICAO"},"incline":{"key":"incline","type":"combo","label":"Incline"},"incline_steps":{"key":"incline","type":"combo","label":"Incline","strings":{"options":{"up":"Up","down":"Down"}}},"information":{"key":"information","type":"typeCombo","label":"Type"},"internet_access":{"key":"internet_access","type":"combo","label":"Internet Access","strings":{"options":{"yes":"Yes","no":"No","wlan":"Wifi","wired":"Wired","terminal":"Terminal"}}},"lamp_type":{"key":"lamp_type","type":"combo","label":"Type"},"landuse":{"key":"landuse","type":"typeCombo","label":"Type"},"lanes":{"key":"lanes","type":"number","label":"Lanes","placeholder":"1, 2, 3..."},"layer":{"key":"layer","type":"combo","label":"Layer"},"leaf_cycle":{"key":"leaf_cycle","type":"combo","label":"Leaf Cycle","strings":{"options":{"evergreen":"Evergreen","deciduous":"Deciduous","semi_evergreen":"Semi-Evergreen","semi_deciduous":"Semi-Deciduous","mixed":"Mixed"}}},"leaf_cycle_singular":{"key":"leaf_cycle","type":"combo","label":"Leaf Cycle","strings":{"options":{"evergreen":"Evergreen","deciduous":"Deciduous","semi_evergreen":"Semi-Evergreen","semi_deciduous":"Semi-Deciduous"}}},"leaf_type":{"key":"leaf_type","type":"combo","label":"Leaf Type","strings":{"options":{"broadleaved":"Broadleaved","needleleaved":"Needleleaved","mixed":"Mixed","leafless":"Leafless"}}},"leaf_type_singular":{"key":"leaf_type","type":"combo","label":"Leaf Type","strings":{"options":{"broadleaved":"Broadleaved","needleleaved":"Needleleaved","leafless":"Leafless"}}},"leisure":{"key":"leisure","type":"typeCombo","label":"Type"},"length":{"key":"length","type":"number","label":"Length (Meters)"},"level":{"key":"level","type":"combo","label":"Level","universal":true},"levels":{"key":"building:levels","type":"number","label":"Levels","placeholder":"2, 4, 6..."},"lit":{"key":"lit","type":"check","label":"Lit"},"location":{"key":"location","type":"combo","label":"Location"},"man_made":{"key":"man_made","type":"typeCombo","label":"Type"},"maxspeed":{"key":"maxspeed","type":"maxspeed","label":"Speed Limit","placeholder":"40, 50, 60..."},"maxstay":{"key":"maxstay","type":"combo","label":"Max Stay","options":["15 min","30 min","45 min","1 hr","1.5 hr","2 hr","2.5 hr","3 hr","4 hr","1 day","2 day"],"snake_case":false},"mtb/scale":{"key":"mtb:scale","type":"combo","label":"Mountain Biking Difficulty","placeholder":"0, 1, 2, 3...","strings":{"options":{"0":"0: Solid gravel/packed earth, no obstacles, wide curves","1":"1: Some loose surface, small obstacles, wide curves","2":"2: Much loose surface, large obstacles, easy hairpins","3":"3: Slippery surface, large obstacles, tight hairpins","4":"4: Loose surface or boulders, dangerous hairpins","5":"5: Maximum difficulty, boulder fields, landslides","6":"6: Not rideable except by the very best mountain bikers"}}},"mtb/scale/imba":{"key":"mtb:scale:imba","type":"combo","label":"IMBA Trail Difficulty","placeholder":"Easy, Medium, Difficult...","strings":{"options":{"0":"Easiest (white circle)","1":"Easy (green circle)","2":"Medium (blue square)","3":"Difficult (black diamond)","4":"Extremely Difficult (double black diamond)"}}},"mtb/scale/uphill":{"key":"mtb:scale:uphill","type":"combo","label":"Mountain Biking Uphill Difficulty","placeholder":"0, 1, 2, 3...","strings":{"options":{"0":"0: Avg. incline <10%, gravel/packed earth, no obstacles","1":"1: Avg. incline <15%, gravel/packed earth, few small objects","2":"2: Avg. incline <20%, stable surface, fistsize rocks/roots","3":"3: Avg. incline <25%, variable surface, fistsize rocks/branches","4":"4: Avg. incline <30%, poor condition, big rocks/branches","5":"5: Very steep, bike generally needs to be pushed or carried"}}},"name":{"key":"name","type":"localized","label":"Name","placeholder":"Common name (if any)"},"natural":{"key":"natural","type":"typeCombo","label":"Natural"},"network":{"key":"network","type":"text","label":"Network"},"note":{"key":"note","type":"textarea","universal":true,"icon":"note","label":"Note"},"office":{"key":"office","type":"typeCombo","label":"Type"},"oneway":{"key":"oneway","type":"check","label":"One Way","strings":{"options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}}},"oneway_yes":{"key":"oneway","type":"check","label":"One Way","strings":{"options":{"undefined":"Assumed to be Yes","yes":"Yes","no":"No"}}},"opening_hours":{"key":"opening_hours","type":"text","label":"Hours"},"operator":{"key":"operator","type":"text","label":"Operator"},"par":{"key":"par","type":"number","label":"Par","placeholder":"3, 4, 5..."},"park_ride":{"key":"park_ride","type":"check","label":"Park and Ride"},"parking":{"key":"parking","type":"combo","label":"Type","strings":{"options":{"surface":"Surface","multi-storey":"Multilevel","underground":"Underground","sheds":"Sheds","carports":"Carports","garage_boxes":"Garage Boxes","lane":"Roadside Lane"}}},"payment_multi":{"key":"payment:","type":"multiCombo","label":"Payment Types"},"phone":{"key":"phone","type":"tel","icon":"telephone","universal":true,"label":"Phone","placeholder":"+31 42 123 4567"},"piste/difficulty":{"key":"piste:difficulty","type":"combo","label":"Difficulty","placeholder":"Easy, Intermediate, Advanced...","strings":{"options":{"novice":"Novice (instructional)","easy":"Easy (green circle)","intermediate":"Intermediate (blue square)","advanced":"Advanced (black diamond)","expert":"Expert (double black diamond)","freeride":"Freeride (off-piste)","extreme":"Extreme (climbing equipment required)"}}},"piste/grooming":{"key":"piste:grooming","type":"combo","label":"Grooming","strings":{"options":{"classic":"Classic","mogul":"Mogul","backcountry":"Backcountry","classic+skating":"Classic and Skating","scooter":"Scooter/Snowmobile","skating":"Skating"}}},"piste/type":{"key":"piste:type","type":"typeCombo","label":"Type","strings":{"options":{"downhill":"Downhill","nordic":"Nordic","skitour":"Skitour","sled":"Sled","hike":"Hike","sleigh":"Sleigh","ice_skate":"Ice Skate","snow_park":"Snow Park","playground":"Playground"}}},"place":{"key":"place","type":"typeCombo","label":"Type"},"population":{"key":"population","type":"text","label":"Population"},"power":{"key":"power","type":"typeCombo","label":"Type"},"power_supply":{"key":"power_supply","type":"check","label":"Power Supply"},"railway":{"key":"railway","type":"typeCombo","label":"Type"},"recycling_accepts":{"key":"recycling:","type":"multiCombo","label":"Accepts"},"ref":{"key":"ref","type":"text","label":"Reference"},"relation":{"key":"type","type":"combo","label":"Type"},"religion":{"key":"religion","type":"combo","label":"Religion"},"restriction":{"key":"restriction","type":"combo","label":"Type"},"restrictions":{"type":"restrictions","geometry":"vertex","icon":"restrictions","reference":{"rtype":"restriction"},"label":"Turn Restrictions"},"route":{"key":"route","type":"combo","label":"Type"},"route_master":{"key":"route_master","type":"combo","label":"Type"},"sac_scale":{"key":"sac_scale","type":"combo","label":"Hiking Difficulty","placeholder":"Mountain Hiking, Alpine Hiking...","strings":{"options":{"hiking":"T1: Hiking","mountain_hiking":"T2: Mountain Hiking","demanding_mountain_hiking":"T3: Demanding Mountain Hiking","alpine_hiking":"T4: Alpine Hiking","demanding_alpine_hiking":"T5: Demanding Alpine Hiking","difficult_alpine_hiking":"T6: Difficult Alpine Hiking"}}},"sanitary_dump_station":{"key":"sanitary_dump_station","type":"check","label":"Toilet Disposal"},"seasonal":{"key":"seasonal","type":"check","label":"Seasonal"},"service":{"key":"service","type":"combo","label":"Type","options":["parking_aisle","driveway","alley","emergency_access","drive-through"]},"service/bicycle/chain_tool":{"key":"service:bicycle:chain_tool","type":"check","label":"Chain Tool","strings":{"options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}}},"service/bicycle/pump":{"key":"service:bicycle:pump","type":"check","label":"Air Pump","strings":{"options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}}},"service_rail":{"key":"service","type":"combo","label":"Service Type","strings":{"options":{"spur":"Spur","yard":"Yard","siding":"Siding","crossover":"Crossover"}}},"shelter":{"key":"shelter","type":"check","label":"Shelter"},"shelter_type":{"key":"shelter_type","type":"combo","label":"Type"},"shop":{"key":"shop","type":"typeCombo","label":"Type"},"site":{"key":"site","type":"combo","label":"Type"},"sloped_curb":{"key":"sloped_curb","type":"combo","label":"Sloped Curb"},"smoking":{"key":"smoking","type":"combo","label":"Smoking","placeholder":"No, Separated, Yes...","strings":{"options":{"no":"No smoking anywhere","separated":"In smoking areas, not physically isolated","isolated":"In smoking areas, physically isolated","outside":"Allowed outside","yes":"Allowed everywhere","dedicated":"Dedicated to smokers (e.g. smokers' club)"}}},"smoothness":{"key":"smoothness","type":"combo","label":"Smoothness","placeholder":"Thin Rollers, Wheels, Off-Road...","strings":{"options":{"excellent":"Thin Rollers: rollerblade, skateboard","good":"Thin Wheels: racing bike","intermediate":"Wheels: city bike, wheelchair, scooter","bad":"Robust Wheels: trekking bike, car, rickshaw","very_bad":"High Clearance: light duty off-road vehicle","horrible":"Off-Road: heavy duty off-road vehicle","very_horrible":"Specialized off-road: tractor, ATV","impassable":"Impassable / No wheeled vehicle"}}},"social_facility_for":{"key":"social_facility:for","type":"radio","label":"People served","placeholder":"Homeless, Disabled, Child, etc","options":["abused","child","disabled","diseased","drug_addicted","homeless","juvenile","mental_health","migrant","orphan","senior","underprivileged","unemployed","victim"]},"source":{"key":"source","type":"text","icon":"source","universal":true,"label":"Source"},"sport":{"key":"sport","type":"combo","label":"Sport"},"sport_ice":{"key":"sport","type":"combo","label":"Sport","options":["skating","hockey","multi","curling","ice_stock"]},"sport_racing":{"key":"sport","type":"combo","label":"Sport","options":["cycling","dog_racing","horse_racing","karting","motor","motocross","running"]},"structure":{"type":"radio","keys":["bridge","tunnel","embankment","cutting","ford"],"label":"Structure","placeholder":"Unknown","strings":{"options":{"bridge":"Bridge","tunnel":"Tunnel","embankment":"Embankment","cutting":"Cutting","ford":"Ford"}}},"studio":{"key":"studio","type":"combo","label":"Type"},"substation":{"key":"substation","type":"typeCombo","label":"Type"},"supervised":{"key":"supervised","type":"check","label":"Supervised"},"surface":{"key":"surface","type":"combo","label":"Surface"},"tactile_paving":{"key":"tactile_paving","type":"check","label":"Tactile Paving"},"takeaway":{"key":"takeaway","type":"combo","label":"Takeaway","placeholder":"Yes, No, Takeaway Only...","strings":{"options":{"yes":"Yes","no":"No","only":"Takeaway Only"}}},"toilets/disposal":{"key":"toilets:disposal","type":"combo","label":"Disposal","strings":{"options":{"flush":"Flush","pitlatrine":"Pit/Latrine","chemical":"Chemical","bucket":"Bucket"}}},"tourism":{"key":"tourism","type":"typeCombo","label":"Type"},"towertype":{"key":"tower:type","type":"combo","label":"Tower type"},"tracktype":{"key":"tracktype","type":"combo","label":"Track Type","placeholder":"Solid, Mostly Solid, Soft...","strings":{"options":{"grade1":"Solid: paved or heavily compacted hardcore surface","grade2":"Mostly Solid: gravel/rock with some soft material mixed in","grade3":"Even mixture of hard and soft materials","grade4":"Mostly Soft: soil/sand/grass with some hard material mixed in","grade5":"Soft: soil/sand/grass"}}},"traffic_signals":{"key":"traffic_signals","type":"combo","label":"Type","default":"signal"},"trail_visibility":{"key":"trail_visibility","type":"combo","label":"Trail Visibility","placeholder":"Excellent, Good, Bad...","strings":{"options":{"excellent":"Excellent: unambiguous path or markers everywhere","good":"Good: markers visible, sometimes require searching","intermediate":"Intermediate: few markers, path mostly visible","bad":"Bad: no markers, path sometimes invisible/pathless","horrible":"Horrible: often pathless, some orientation skills required","no":"No: pathless, excellent orientation skills required"}}},"trees":{"key":"trees","type":"combo","label":"Trees"},"tunnel":{"key":"tunnel","type":"combo","label":"Tunnel"},"vending":{"key":"vending","type":"combo","label":"Type of Goods"},"water":{"key":"water","type":"combo","label":"Type"},"water_point":{"key":"water_point","type":"check","label":"Water Point"},"waterway":{"key":"waterway","type":"typeCombo","label":"Type"},"website":{"key":"website","type":"url","icon":"website","placeholder":"http://example.com/","universal":true,"label":"Website"},"wetland":{"key":"wetland","type":"combo","label":"Type"},"wheelchair":{"key":"wheelchair","type":"radio","options":["yes","limited","no"],"icon":"wheelchair","universal":true,"label":"Wheelchair Access"},"width":{"key":"width","type":"number","label":"Width (Meters)"},"wikipedia":{"key":"wikipedia","type":"wikipedia","icon":"wikipedia","universal":true,"label":"Wikipedia"}}};
\ No newline at end of file
+iD.data.presets = {"presets":{"address":{"fields":["address"],"geometry":["point"],"tags":{"addr:housenumber":"*"},"addTags":{},"removeTags":{},"matchScore":0.2,"name":"Address"},"aerialway":{"fields":["aerialway"],"geometry":["point","vertex","line"],"tags":{"aerialway":"*"},"terms":["ski lift","funifor","funitel"],"searchable":false,"name":"Aerialway"},"aerialway/cable_car":{"geometry":["line"],"terms":["tramway","ropeway"],"fields":["aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/heating"],"tags":{"aerialway":"cable_car"},"name":"Cable Car"},"aerialway/chair_lift":{"geometry":["line"],"fields":["aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/bubble","aerialway/heating"],"tags":{"aerialway":"chair_lift"},"name":"Chair Lift"},"aerialway/gondola":{"geometry":["line"],"fields":["aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/bubble","aerialway/heating"],"tags":{"aerialway":"gondola"},"name":"Gondola"},"aerialway/magic_carpet":{"geometry":["line"],"fields":["aerialway/capacity","aerialway/duration","aerialway/heating"],"tags":{"aerialway":"magic_carpet"},"name":"Magic Carpet Lift"},"aerialway/platter":{"geometry":["line"],"terms":["button lift","poma lift"],"fields":["aerialway/capacity","aerialway/duration"],"tags":{"aerialway":"platter"},"name":"Platter Lift"},"aerialway/pylon":{"geometry":["point","vertex"],"fields":["ref"],"tags":{"aerialway":"pylon"},"name":"Aerialway Pylon"},"aerialway/rope_tow":{"geometry":["line"],"terms":["handle tow","bugel lift"],"fields":["aerialway/capacity","aerialway/duration"],"tags":{"aerialway":"rope_tow"},"name":"Rope Tow Lift"},"aerialway/station":{"geometry":["point","vertex"],"fields":["aerialway/access","aerialway/summer/access","elevation"],"tags":{"aerialway":"station"},"name":"Aerialway Station"},"aerialway/t-bar":{"geometry":["line"],"fields":["aerialway/capacity","aerialway/duration"],"tags":{"aerialway":"t-bar"},"name":"T-bar Lift"},"aeroway":{"icon":"airport","fields":["aeroway"],"geometry":["point","vertex","line","area"],"tags":{"aeroway":"*"},"searchable":false,"name":"Aeroway"},"aeroway/aerodrome":{"icon":"airport","geometry":["point","area"],"terms":["airplane","airport","aerodrome"],"fields":["ref","iata","icao","operator"],"tags":{"aeroway":"aerodrome"},"name":"Airport"},"aeroway/apron":{"icon":"airport","geometry":["area"],"terms":["ramp"],"fields":["ref","surface"],"tags":{"aeroway":"apron"},"name":"Apron"},"aeroway/gate":{"icon":"airport","geometry":["point"],"fields":["ref"],"tags":{"aeroway":"gate"},"name":"Airport gate"},"aeroway/hangar":{"geometry":["area"],"fields":["building_area"],"tags":{"aeroway":"hangar"},"name":"Hangar"},"aeroway/helipad":{"icon":"heliport","geometry":["point","area"],"terms":["helicopter","helipad","heliport"],"tags":{"aeroway":"helipad"},"name":"Helipad"},"aeroway/runway":{"geometry":["line","area"],"terms":["landing strip"],"fields":["ref","surface","length","width"],"tags":{"aeroway":"runway"},"name":"Runway"},"aeroway/taxiway":{"geometry":["line"],"fields":["ref","surface"],"tags":{"aeroway":"taxiway"},"name":"Taxiway"},"aeroway/terminal":{"geometry":["point","area"],"terms":["airport","aerodrome"],"fields":["operator","building_area"],"tags":{"aeroway":"terminal"},"name":"Airport terminal"},"amenity":{"fields":["amenity"],"geometry":["point","vertex","area"],"tags":{"amenity":"*"},"searchable":false,"name":"Amenity"},"amenity/arts_centre":{"icon":"theatre","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"terms":[],"tags":{"amenity":"arts_centre"},"name":"Arts Center"},"amenity/atm":{"icon":"bank","fields":["operator","currency_multi","drive_through"],"geometry":["point","vertex"],"terms":["money","cash","machine"],"tags":{"amenity":"atm"},"name":"ATM"},"amenity/bank":{"icon":"bank","fields":["atm","operator","address","building_area","opening_hours","drive_through"],"geometry":["point","area"],"terms":["credit union","check","deposit","fund","investment","repository","reserve","safe","savings","stock","treasury","trust","vault"],"tags":{"amenity":"bank"},"name":"Bank"},"amenity/bar":{"icon":"bar","fields":["operator","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"terms":["dive","beer","bier","booze"],"tags":{"amenity":"bar"},"name":"Bar"},"amenity/bbq":{"fields":["covered","fuel"],"geometry":["point"],"terms":["bbq","grill"],"tags":{"amenity":"bbq"},"name":"Barbecue/Grill"},"amenity/bench":{"fields":["backrest"],"geometry":["point","vertex","line"],"terms":["seat"],"tags":{"amenity":"bench"},"name":"Bench"},"amenity/bicycle_parking":{"icon":"bicycle","fields":["bicycle_parking","capacity","operator","covered","access_simple"],"geometry":["point","vertex","area"],"terms":["bike"],"tags":{"amenity":"bicycle_parking"},"name":"Bicycle Parking"},"amenity/bicycle_rental":{"icon":"bicycle","fields":["capacity","network","operator"],"geometry":["point","vertex","area"],"terms":["bike"],"tags":{"amenity":"bicycle_rental"},"name":"Bicycle Rental"},"amenity/bicycle_repair_station":{"icon":"bicycle","fields":["operator","brand","opening_hours","fee","service/bicycle/chain_tool","service/bicycle/pump"],"geometry":["point","vertex","area"],"terms":["bike","repair","chain","pump"],"tags":{"amenity":"bicycle_repair_station"},"name":"Bicycle Repair Tool Stand"},"amenity/biergarten":{"icon":"beer","fields":["address","building_area","opening_hours","smoking"],"geometry":["point","area"],"tags":{"amenity":"biergarten"},"terms":["beer","bier","booze"],"name":"Beer Garden"},"amenity/boat_rental":{"fields":["operator"],"geometry":["point","area"],"tags":{"amenity":"boat_rental"},"name":"Boat Rental"},"amenity/bureau_de_change":{"icon":"bank","fields":["operator","currency_multi"],"geometry":["point","vertex"],"terms":["bureau de change","money changer"],"tags":{"amenity":"bureau_de_change"},"name":"Currency Exchange"},"amenity/bus_station":{"icon":"bus","fields":["building_area","operator"],"geometry":["point","area"],"tags":{"amenity":"bus_station"},"name":"Bus Station"},"amenity/cafe":{"icon":"cafe","fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"terms":["bistro","coffee","tea"],"tags":{"amenity":"cafe"},"name":"Cafe"},"amenity/car_rental":{"icon":"car","fields":["operator"],"geometry":["point","area"],"tags":{"amenity":"car_rental"},"name":"Car Rental"},"amenity/car_sharing":{"icon":"car","fields":["operator","capacity"],"geometry":["point","area"],"tags":{"amenity":"car_sharing"},"name":"Car Sharing"},"amenity/car_wash":{"icon":"car","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"amenity":"car_wash"},"name":"Car Wash"},"amenity/casino":{"fields":["operator","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"terms":["gambling","roulette","craps","poker","blackjack"],"tags":{"amenity":"casino"},"name":"Casino"},"amenity/charging_station":{"icon":"car","fields":["operator"],"geometry":["point","area"],"tags":{"amenity":"charging_station"},"terms":["EV","Electric Vehicle","Supercharger"],"name":"Charging Station"},"amenity/childcare":{"icon":"school","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["daycare","orphanage","playgroup"],"tags":{"amenity":"childcare"},"name":"Nursery/Childcare"},"amenity/cinema":{"icon":"cinema","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"terms":["drive-in","film","flick","movie","theater","picture","show","screen"],"tags":{"amenity":"cinema"},"name":"Cinema"},"amenity/clinic":{"icon":"hospital","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"terms":["medical","urgentcare"],"tags":{"amenity":"clinic"},"name":"Clinic"},"amenity/clock":{"geometry":["point","vertex"],"tags":{"amenity":"clock"},"name":"Clock"},"amenity/college":{"icon":"college","fields":["operator","address"],"geometry":["point","area"],"terms":["university"],"tags":{"amenity":"college"},"name":"College Grounds"},"amenity/community_centre":{"icon":"town-hall","fields":["operator","address","building_area"],"geometry":["point","area"],"terms":["event","hall"],"tags":{"amenity":"community_centre"},"name":"Community Center"},"amenity/compressed_air":{"icon":"car","geometry":["point","area"],"tags":{"amenity":"compressed_air"},"name":"Compressed Air"},"amenity/courthouse":{"icon":"town-hall","fields":["operator","address","building_area"],"geometry":["point","area"],"tags":{"amenity":"courthouse"},"name":"Courthouse"},"amenity/dentist":{"icon":"dentist","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"terms":["tooth","teeth"],"tags":{"amenity":"dentist"},"name":"Dentist"},"amenity/doctors":{"icon":"hospital","fields":["address","building_area","opening_hours"],"geometry":["point","area"],"terms":["medic*"],"tags":{"amenity":"doctors"},"name":"Doctor"},"amenity/dojo":{"icon":"pitch","fields":["sport","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["martial arts","dojang"],"tags":{"amenity":"dojo"},"name":"Dojo / Martial Arts Academy"},"amenity/drinking_water":{"icon":"water","geometry":["point"],"tags":{"amenity":"drinking_water"},"terms":["fountain","potable"],"name":"Drinking Water"},"amenity/embassy":{"icon":"embassy","fields":["country","address","building_area"],"geometry":["point","area"],"tags":{"amenity":"embassy"},"name":"Embassy"},"amenity/fast_food":{"icon":"fast-food","fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"geometry":["point","area"],"tags":{"amenity":"fast_food"},"terms":["restaurant"],"name":"Fast Food"},"amenity/ferry_terminal":{"icon":"ferry","fields":["network","operator","address","building_area"],"geometry":["point","vertex","area"],"terms":[],"tags":{"amenity":"ferry_terminal"},"name":"Ferry Terminal"},"amenity/fire_station":{"icon":"fire-station","fields":["operator","address","building_area"],"geometry":["point","area"],"terms":[],"tags":{"amenity":"fire_station"},"name":"Fire Station"},"amenity/fountain":{"geometry":["point","area"],"tags":{"amenity":"fountain"},"name":"Fountain"},"amenity/fuel":{"icon":"fuel","fields":["operator","address","opening_hours","fuel_multi"],"geometry":["point","area"],"terms":["petrol","fuel","gasoline","propane","diesel","lng","cng","biodiesel"],"tags":{"amenity":"fuel"},"name":"Gas Station"},"amenity/grave_yard":{"icon":"cemetery","fields":["religion","denomination"],"geometry":["point","area"],"tags":{"amenity":"grave_yard"},"name":"Graveyard"},"amenity/grit_bin":{"fields":["access_simple"],"geometry":["point","vertex"],"tags":{"amenity":"grit_bin"},"terms":["salt","sand"],"name":"Grit Bin"},"amenity/hospital":{"icon":"hospital","fields":["operator","address","emergency"],"geometry":["point","area"],"terms":["clinic","doctor","emergency room","health service","hospice","infirmary","institution","nursing home","sanatorium","sanitarium","sick","surgery","ward"],"tags":{"amenity":"hospital"},"name":"Hospital Grounds"},"amenity/hunting_stand":{"geometry":["point","vertex","area"],"terms":[],"tags":{"amenity":"hunting_stand"},"name":"Hunting Stand"},"amenity/kindergarten":{"icon":"school","fields":["operator","address"],"geometry":["point","area"],"terms":["kindergarden","pre-school"],"tags":{"amenity":"kindergarten"},"name":"Preschool/Kindergarten Grounds"},"amenity/library":{"icon":"library","fields":["operator","building_area","address","opening_hours"],"geometry":["point","area"],"terms":["book"],"tags":{"amenity":"library"},"name":"Library"},"amenity/marketplace":{"fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"amenity":"marketplace"},"name":"Marketplace"},"amenity/motorcycle_parking":{"icon":"scooter","fields":["capacity","operator","covered","access_simple"],"geometry":["point","vertex","area"],"tags":{"amenity":"motorcycle_parking"},"name":"Motorcycle Parking"},"amenity/nightclub":{"icon":"bar","fields":["operator","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"tags":{"amenity":"nightclub"},"terms":["disco*","night club","dancing","dance club"],"name":"Nightclub"},"amenity/parking":{"icon":"parking","fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"geometry":["point","vertex","area"],"tags":{"amenity":"parking"},"terms":[],"name":"Car Parking"},"amenity/parking_entrance":{"icon":"entrance","fields":["access_simple","ref"],"geometry":["vertex"],"tags":{"amenity":"parking_entrance"},"name":"Parking Garage Entrance/Exit"},"amenity/parking_space":{"fields":["capacity"],"geometry":["point","vertex","area"],"terms":[],"tags":{"amenity":"parking_space"},"name":"Parking Space"},"amenity/pharmacy":{"icon":"pharmacy","fields":["operator","address","building_area","opening_hours","drive_through"],"geometry":["point","area"],"tags":{"amenity":"pharmacy"},"terms":["drug*","med*","prescription"],"name":"Pharmacy"},"amenity/place_of_worship":{"icon":"place-of-worship","fields":["religion","denomination","address","building_area"],"geometry":["point","area"],"terms":["abbey","basilica","bethel","cathedral","chancel","chantry","chapel","church","fold","house of God","house of prayer","house of worship","minster","mission","mosque","oratory","parish","sacellum","sanctuary","shrine","synagogue","tabernacle","temple"],"tags":{"amenity":"place_of_worship"},"name":"Place of Worship"},"amenity/place_of_worship/buddhist":{"icon":"place-of-worship","fields":["denomination","building_area","address"],"geometry":["point","area"],"terms":["stupa","vihara","monastery","temple","pagoda","zendo","dojo"],"tags":{"amenity":"place_of_worship","religion":"buddhist"},"name":"Buddhist Temple"},"amenity/place_of_worship/christian":{"icon":"religious-christian","fields":["denomination","building_area","address"],"geometry":["point","area"],"terms":["christian","abbey","basilica","bethel","cathedral","chancel","chantry","chapel","fold","house of God","house of prayer","house of worship","minster","mission","oratory","parish","sacellum","sanctuary","shrine","tabernacle","temple"],"tags":{"amenity":"place_of_worship","religion":"christian"},"name":"Church"},"amenity/place_of_worship/jewish":{"icon":"religious-jewish","fields":["denomination","building_area","address"],"geometry":["point","area"],"terms":["jewish"],"tags":{"amenity":"place_of_worship","religion":"jewish"},"name":"Synagogue"},"amenity/place_of_worship/muslim":{"icon":"religious-muslim","fields":["denomination","building_area","address"],"geometry":["point","area"],"terms":["muslim"],"tags":{"amenity":"place_of_worship","religion":"muslim"},"name":"Mosque"},"amenity/police":{"icon":"police","fields":["operator","address","building_area"],"geometry":["point","area"],"terms":["badge","constable","constabulary","cop","detective","fed","law","enforcement","officer","patrol"],"tags":{"amenity":"police"},"name":"Police"},"amenity/post_box":{"icon":"post","fields":["operator","collection_times","drive_through","ref"],"geometry":["point","vertex"],"tags":{"amenity":"post_box"},"terms":["letter","post"],"name":"Mailbox"},"amenity/post_office":{"icon":"post","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["letter","mail"],"tags":{"amenity":"post_office"},"name":"Post Office"},"amenity/prison":{"icon":"prison","fields":["operator","address"],"geometry":["point","area"],"terms":["cell","jail"],"tags":{"amenity":"prison"},"name":"Prison Grounds"},"amenity/pub":{"icon":"beer","fields":["address","building_area","opening_hours","smoking"],"geometry":["point","area"],"tags":{"amenity":"pub"},"terms":["dive","beer","bier","booze"],"name":"Pub"},"amenity/public_bookcase":{"icon":"library","fields":["name","operator","capacity","website"],"geometry":["point","area"],"terms":["library","bookcrossing"],"tags":{"amenity":"public_bookcase"},"name":"Public Bookcase"},"amenity/ranger_station":{"fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["visitor center","visitor centre","permit center","permit centre","backcountry office","warden office","warden center"],"tags":{"amenity":"ranger_station"},"name":"Ranger Station"},"amenity/recycling":{"icon":"waste-basket","fields":["operator","address","recycling_accepts"],"geometry":["point","area"],"terms":["can","bottle","garbage","scrap","trash"],"tags":{"amenity":"recycling"},"name":"Recycling"},"amenity/register_office":{"icon":"town-hall","fields":["address","building_area","opening_hours","operator"],"geometry":["point","area"],"terms":[],"tags":{"amenity":"register_office"},"name":"Register Office"},"amenity/restaurant":{"icon":"restaurant","fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"geometry":["point","area"],"terms":["bar","breakfast","cafe","café","canteen","coffee","dine","dining","dinner","drive-in","eat","grill","lunch","table"],"tags":{"amenity":"restaurant"},"name":"Restaurant"},"amenity/sanitary_dump_station":{"fields":["operator","access_toilets","fee","water_point"],"geometry":["point","vertex","area"],"terms":["Motor Home","Camper","Sanitary","Dump Station","Elsan","CDP","CTDP","Chemical Toilet"],"tags":{"amenity":"sanitary_dump_station"},"name":"RV Toilet Disposal"},"amenity/school":{"icon":"school","fields":["operator","address"],"geometry":["point","area"],"terms":["academy","elementary school","middle school","high school"],"tags":{"amenity":"school"},"name":"School Grounds"},"amenity/shelter":{"fields":["shelter_type","bin"],"geometry":["point","vertex","area"],"terms":["lean-to","gazebo","picnic"],"tags":{"amenity":"shelter"},"name":"Shelter"},"amenity/social_facility":{"fields":["operator","address","building_area","opening_hours","wheelchair","social_facility_for"],"geometry":["point","area"],"terms":[],"tags":{"amenity":"social_facility"},"name":"Social Facility"},"amenity/social_facility/food_bank":{"fields":["operator","address","building_area","opening_hours","social_facility_for"],"geometry":["point","area"],"terms":[],"tags":{"amenity":"social_facility","social_facility":"food_bank"},"name":"Food Bank"},"amenity/social_facility/group_home":{"fields":["operator","address","building_area","opening_hours","wheelchair","social_facility_for"],"geometry":["point","area"],"terms":["old","senior","living"],"tags":{"amenity":"social_facility","social_facility":"group_home","social_facility:for":"senior"},"name":"Elderly Group Home"},"amenity/social_facility/homeless_shelter":{"fields":["operator","address","building_area","opening_hours","wheelchair","social_facility_for"],"geometry":["point","area"],"terms":["houseless","unhoused","displaced"],"tags":{"amenity":"social_facility","social_facility":"shelter","social_facility:for":"homeless"},"name":"Homeless Shelter"},"amenity/studio":{"icon":"music","fields":["studio","address","building_area"],"geometry":["point","area"],"terms":["recording","radio","television"],"tags":{"amenity":"studio"},"name":"Studio"},"amenity/swimming_pool":{"icon":"swimming","geometry":["point","vertex","area"],"tags":{"amenity":"swimming_pool"},"name":"Swimming Pool","searchable":false},"amenity/taxi":{"icon":"car","fields":["operator","capacity"],"geometry":["point","vertex","area"],"terms":["cab"],"tags":{"amenity":"taxi"},"name":"Taxi Stand"},"amenity/telephone":{"icon":"telephone","geometry":["point","vertex"],"tags":{"amenity":"telephone"},"terms":["phone"],"name":"Telephone"},"amenity/theatre":{"icon":"theatre","fields":["operator","address","building_area"],"geometry":["point","area"],"terms":["theatre","performance","play","musical"],"tags":{"amenity":"theatre"},"name":"Theater"},"amenity/toilets":{"icon":"toilets","fields":["toilets/disposal","operator","building_area","access_toilets","gender","fee","diaper"],"geometry":["point","vertex","area"],"terms":["bathroom","restroom","outhouse","privy","head","lavatory","latrine","water closet","WC","W.C."],"tags":{"amenity":"toilets"},"name":"Toilets"},"amenity/townhall":{"icon":"town-hall","fields":["operator","address","building_area"],"geometry":["point","area"],"terms":["village","city","government","courthouse","municipal"],"tags":{"amenity":"townhall"},"name":"Town Hall"},"amenity/university":{"icon":"college","fields":["operator","address"],"geometry":["point","area"],"terms":["college"],"tags":{"amenity":"university"},"name":"University Grounds"},"amenity/vending_machine/cigarettes":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["cigarette"],"tags":{"amenity":"vending_machine","vending":"cigarettes"},"name":"Cigarette Vending Machine"},"amenity/vending_machine/condoms":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["condom"],"tags":{"amenity":"vending_machine","vending":"condoms"},"name":"Condom Vending Machine"},"amenity/vending_machine/drinks":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["drink","soda","beverage","juice","pop"],"tags":{"amenity":"vending_machine","vending":"drinks"},"name":"Drink Vending Machine"},"amenity/vending_machine/excrement_bags":{"fields":["operator","fee","bin","payment_multi","currency_multi"],"geometry":["point"],"terms":["excrement bags","poop","dog","animal"],"tags":{"amenity":"vending_machine","vending":"excrement_bags"},"name":"Excrement Bag Vending Machine"},"amenity/vending_machine/news_papers":{"fields":["operator","fee","payment_multi","currency_multi"],"geometry":["point"],"terms":["newspaper"],"tags":{"amenity":"vending_machine","vending":"news_papers"},"name":"Newspaper Vending Machine"},"amenity/vending_machine/parcel_pickup_dropoff":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["parcel","mail","pickup"],"tags":{"amenity":"vending_machine","vending":"parcel_pickup;parcel_mail_in"},"name":"Parcel Pickup/Dropoff Vending Machine"},"amenity/vending_machine/parking_tickets":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["parking","ticket"],"tags":{"amenity":"vending_machine","vending":"parking_tickets"},"name":"Parking Ticket Vending Machine"},"amenity/vending_machine/public_transport_tickets":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["bus","train","ferry","rail","ticket","transportation"],"tags":{"amenity":"vending_machine","vending":"public_transport_tickets"},"name":"Transit Ticket Vending Machine"},"amenity/vending_machine/sweets":{"fields":["operator","payment_multi","currency_multi"],"geometry":["point"],"terms":["candy","gum","chip","pretzel","cookie","cracker"],"tags":{"amenity":"vending_machine","vending":"sweets"},"name":"Snack Vending Machine"},"amenity/vending_machine/vending_machine":{"fields":["vending","operator","payment_multi","currency_multi"],"geometry":["point"],"terms":[],"tags":{"amenity":"vending_machine"},"name":"Vending Machine"},"amenity/veterinary":{"icon":"dog-park","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["pet clinic","veterinarian","animal hospital","pet doctor"],"tags":{"amenity":"veterinary"},"name":"Veterinary"},"amenity/waste_basket":{"icon":"waste-basket","geometry":["point","vertex"],"tags":{"amenity":"waste_basket"},"terms":["bin","rubbish","litter","trash","garbage"],"name":"Waste Basket"},"amenity/waste_disposal":{"icon":"waste-basket","geometry":["point","vertex"],"tags":{"amenity":"waste_disposal"},"terms":["rubbish","litter","trash"],"name":"Garbage Dumpster"},"amenity/water_point":{"icon":"water","geometry":["area","vertex","point"],"tags":{"amenity":"water_point"},"name":"RV Drinking Water"},"area":{"name":"Area","tags":{"area":"yes"},"geometry":["area"],"matchScore":0.1},"area/highway":{"fields":["area/highway"],"geometry":["area"],"tags":{"area:highway":"*"},"name":"Road Surface"},"barrier":{"icon":"roadblock","geometry":["point","vertex","line","area"],"tags":{"barrier":"*"},"fields":["barrier"],"name":"Barrier"},"barrier/block":{"icon":"roadblock","fields":["access"],"geometry":["point","vertex"],"tags":{"barrier":"block"},"name":"Block"},"barrier/bollard":{"icon":"roadblock","fields":["access"],"geometry":["point","vertex","line"],"tags":{"barrier":"bollard"},"name":"Bollard"},"barrier/cattle_grid":{"icon":"prison","geometry":["vertex"],"tags":{"barrier":"cattle_grid"},"name":"Cattle Grid"},"barrier/city_wall":{"icon":"prison","geometry":["line","area"],"tags":{"barrier":"city_wall"},"name":"City Wall"},"barrier/cycle_barrier":{"icon":"roadblock","fields":["access"],"geometry":["vertex"],"tags":{"barrier":"cycle_barrier"},"name":"Cycle Barrier"},"barrier/ditch":{"icon":"roadblock","geometry":["line","area"],"tags":{"barrier":"ditch"},"name":"Trench"},"barrier/entrance":{"icon":"entrance","geometry":["vertex"],"tags":{"barrier":"entrance"},"name":"Entrance","searchable":false},"barrier/fence":{"icon":"prison","geometry":["line"],"tags":{"barrier":"fence"},"name":"Fence"},"barrier/gate":{"icon":"prison","fields":["access"],"geometry":["point","vertex","line"],"tags":{"barrier":"gate"},"name":"Gate"},"barrier/hedge":{"geometry":["line","area"],"tags":{"barrier":"hedge"},"name":"Hedge"},"barrier/kissing_gate":{"icon":"prison","fields":["access"],"geometry":["vertex"],"tags":{"barrier":"kissing_gate"},"name":"Kissing Gate"},"barrier/lift_gate":{"icon":"roadblock","fields":["access"],"geometry":["point","vertex"],"tags":{"barrier":"lift_gate"},"name":"Lift Gate"},"barrier/retaining_wall":{"geometry":["line","area"],"tags":{"barrier":"retaining_wall"},"name":"Retaining Wall"},"barrier/stile":{"icon":"roadblock","fields":["access"],"geometry":["point","vertex"],"tags":{"barrier":"stile"},"name":"Stile"},"barrier/toll_booth":{"icon":"roadblock","fields":["access"],"geometry":["vertex"],"tags":{"barrier":"toll_booth"},"name":"Toll Booth"},"barrier/wall":{"icon":"prison","geometry":["line","area"],"tags":{"barrier":"wall"},"name":"Wall"},"boundary/administrative":{"name":"Administrative Boundary","geometry":["line"],"tags":{"boundary":"administrative"},"fields":["admin_level"]},"building":{"icon":"building","fields":["building","levels","address"],"geometry":["point","area"],"tags":{"building":"*"},"matchScore":0.4,"terms":[],"name":"Building"},"building/apartments":{"icon":"commercial","fields":["address","levels"],"geometry":["area"],"tags":{"building":"apartments"},"matchScore":0.5,"name":"Apartments"},"building/barn":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"barn"},"matchScore":0.5,"name":"Barn"},"building/bunker":{"fields":["address","levels"],"geometry":["area"],"tags":{"building":"bunker"},"matchScore":0.5,"name":"Bunker","searchable":false},"building/cabin":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"cabin"},"matchScore":0.5,"name":"Cabin"},"building/cathedral":{"icon":"place-of-worship","fields":["address","levels"],"geometry":["area"],"tags":{"building":"cathedral"},"matchScore":0.5,"name":"Cathedral Building"},"building/chapel":{"icon":"place-of-worship","fields":["address","levels"],"geometry":["area"],"tags":{"building":"chapel"},"matchScore":0.5,"name":"Chapel Building"},"building/church":{"icon":"place-of-worship","fields":["address","levels"],"geometry":["area"],"tags":{"building":"church"},"matchScore":0.5,"name":"Church Building"},"building/college":{"icon":"building","fields":["address","levels"],"geometry":["area"],"terms":["university"],"tags":{"building":"college"},"matchScore":0.5,"name":"College Building"},"building/commercial":{"icon":"commercial","fields":["address","levels","smoking"],"geometry":["area"],"tags":{"building":"commercial"},"matchScore":0.5,"name":"Commercial Building"},"building/construction":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"construction"},"matchScore":0.5,"name":"Building Under Construction"},"building/detached":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"detached"},"terms":["home","single","family","residence","dwelling"],"matchScore":0.5,"name":"Detached House"},"building/dormitory":{"icon":"building","fields":["address","levels","smoking"],"geometry":["area"],"tags":{"building":"dormitory"},"matchScore":0.5,"name":"Dormitory"},"building/entrance":{"icon":"entrance","geometry":["vertex"],"tags":{"building":"entrance"},"name":"Entrance/Exit","searchable":false},"building/garage":{"icon":"warehouse","fields":["capacity"],"geometry":["area"],"tags":{"building":"garage"},"matchScore":0.5,"name":"Garage"},"building/garages":{"icon":"warehouse","fields":["capacity"],"geometry":["area"],"tags":{"building":"garages"},"matchScore":0.5,"name":"Garages"},"building/greenhouse":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"greenhouse"},"matchScore":0.5,"name":"Greenhouse"},"building/hospital":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"hospital"},"matchScore":0.5,"name":"Hospital Building"},"building/hotel":{"icon":"building","fields":["address","levels","smoking"],"geometry":["area"],"tags":{"building":"hotel"},"matchScore":0.5,"name":"Hotel Building"},"building/house":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"house"},"terms":["home","family","residence","dwelling"],"matchScore":0.5,"name":"House"},"building/hut":{"geometry":["area"],"tags":{"building":"hut"},"matchScore":0.5,"name":"Hut"},"building/industrial":{"icon":"industrial","fields":["address","levels"],"geometry":["area"],"tags":{"building":"industrial"},"matchScore":0.5,"name":"Industrial Building"},"building/kindergarten":{"icon":"building","fields":["address","levels"],"geometry":["area"],"terms":["kindergarden","pre-school"],"tags":{"building":"kindergarten"},"matchScore":0.5,"name":"Preschool/Kindergarten Building"},"building/public":{"icon":"building","fields":["address","levels","smoking"],"geometry":["area"],"tags":{"building":"public"},"matchScore":0.5,"name":"Public Building"},"building/residential":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"residential"},"matchScore":0.5,"name":"Residential Building"},"building/retail":{"icon":"building","fields":["address","levels","smoking"],"geometry":["area"],"tags":{"building":"retail"},"matchScore":0.5,"name":"Retail Building"},"building/roof":{"icon":"building","fields":["address"],"geometry":["area"],"tags":{"building":"roof"},"matchScore":0.5,"name":"Roof"},"building/school":{"icon":"building","fields":["address","levels"],"geometry":["area"],"terms":["academy","elementary school","middle school","high school"],"tags":{"building":"school"},"matchScore":0.5,"name":"School Building"},"building/semidetached_house":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"semidetached_house"},"terms":["home","double","duplex","twin","family","residence","dwelling"],"matchScore":0.5,"name":"Semi-Detached House"},"building/shed":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"shed"},"matchScore":0.5,"name":"Shed"},"building/stable":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"stable"},"matchScore":0.5,"name":"Stable"},"building/static_caravan":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"static_caravan"},"matchScore":0.5,"name":"Static Mobile Home"},"building/terrace":{"icon":"building","fields":["address","levels"],"geometry":["area"],"tags":{"building":"terrace"},"terms":["home","terrace","brownstone","family","residence","dwelling"],"matchScore":0.5,"name":"Row Houses"},"building/train_station":{"icon":"building","fields":["address","levels"],"geometry":["point","vertex","area"],"tags":{"building":"train_station"},"matchScore":0.5,"name":"Train Station","searchable":false},"building/university":{"icon":"building","fields":["address","levels"],"geometry":["area"],"terms":["college"],"tags":{"building":"university"},"matchScore":0.5,"name":"University Building"},"building/warehouse":{"icon":"warehouse","fields":["address","levels"],"geometry":["area"],"tags":{"building":"warehouse"},"matchScore":0.5,"name":"Warehouse"},"craft":{"icon":"marker-stroked","fields":["craft","operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"*"},"terms":[],"name":"Craft"},"craft/basket_maker":{"icon":"art-gallery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"basket_maker"},"name":"Basket Maker"},"craft/beekeeper":{"icon":"farm","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"beekeeper"},"name":"Beekeeper"},"craft/blacksmith":{"icon":"farm","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"blacksmith"},"name":"Blacksmith"},"craft/boatbuilder":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"boatbuilder"},"name":"Boat Builder"},"craft/bookbinder":{"icon":"library","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["book repair"],"tags":{"craft":"bookbinder"},"name":"Bookbinder"},"craft/brewery":{"icon":"beer","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["beer","bier"],"tags":{"craft":"brewery"},"name":"Brewery"},"craft/carpenter":{"icon":"logging","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["woodworker"],"tags":{"craft":"carpenter"},"name":"Carpenter"},"craft/carpet_layer":{"icon":"square","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"carpet_layer"},"name":"Carpet Layer"},"craft/caterer":{"icon":"bakery","fields":["cuisine","operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"caterer"},"name":"Caterer"},"craft/clockmaker":{"icon":"circle-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"clockmaker"},"name":"Clockmaker"},"craft/confectionery":{"icon":"bakery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["sweets","candy"],"tags":{"craft":"confectionery"},"name":"Confectionery"},"craft/dressmaker":{"icon":"clothing-store","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["seamstress"],"tags":{"craft":"dressmaker"},"name":"Dressmaker"},"craft/electrician":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["power","wire"],"tags":{"craft":"electrician"},"name":"Electrician"},"craft/gardener":{"icon":"garden","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["landscaper","grounds keeper"],"tags":{"craft":"gardener"},"name":"Gardener"},"craft/glaziery":{"icon":"fire-station","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["glass","stained-glass","window"],"tags":{"craft":"glaziery"},"name":"Glaziery"},"craft/handicraft":{"icon":"art-gallery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"handicraft"},"name":"Handicraft"},"craft/hvac":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["heat*","vent*","air conditioning"],"tags":{"craft":"hvac"},"name":"HVAC"},"craft/insulator":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"insulation"},"name":"Insulator"},"craft/jeweler":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"jeweler"},"name":"Jeweler","searchable":false},"craft/key_cutter":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"key_cutter"},"name":"Key Cutter"},"craft/locksmith":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"locksmith"},"name":"Locksmith","searchable":false},"craft/metal_construction":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"metal_construction"},"name":"Metal Construction"},"craft/optician":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"optician"},"name":"Optician","searchable":false},"craft/painter":{"icon":"art-gallery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"painter"},"name":"Painter"},"craft/photographer":{"icon":"camera","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"photographer"},"name":"Photographer"},"craft/photographic_laboratory":{"icon":"camera","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["film"],"tags":{"craft":"photographic_laboratory"},"name":"Photographic Laboratory"},"craft/plasterer":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"plasterer"},"name":"Plasterer"},"craft/plumber":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["pipe"],"tags":{"craft":"plumber"},"name":"Plumber"},"craft/pottery":{"icon":"art-gallery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["ceramic"],"tags":{"craft":"pottery"},"name":"Pottery"},"craft/rigger":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"rigger"},"name":"Rigger"},"craft/roofer":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"roofer"},"name":"Roofer"},"craft/saddler":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"saddler"},"name":"Saddler"},"craft/sailmaker":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"sailmaker"},"name":"Sailmaker"},"craft/sawmill":{"icon":"park","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["lumber"],"tags":{"craft":"sawmill"},"name":"Sawmill"},"craft/scaffolder":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"scaffolder"},"name":"Scaffolder"},"craft/sculpter":{"icon":"art-gallery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"sculpter"},"name":"Sculpter"},"craft/shoemaker":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["cobbler"],"tags":{"craft":"shoemaker"},"name":"Shoemaker"},"craft/stonemason":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["masonry"],"tags":{"craft":"stonemason"},"name":"Stonemason"},"craft/sweep":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"sweep"},"name":"Chimney Sweep"},"craft/tailor":{"icon":"clothing-store","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["clothes","suit"],"tags":{"craft":"tailor"},"name":"Tailor","searchable":false},"craft/tiler":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"tiler"},"name":"Tiler"},"craft/tinsmith":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"tinsmith"},"name":"Tinsmith"},"craft/upholsterer":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"upholsterer"},"name":"Upholsterer"},"craft/watchmaker":{"icon":"circle-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"watchmaker"},"name":"Watchmaker"},"craft/window_construction":{"icon":"marker-stroked","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["glass"],"tags":{"craft":"window_construction"},"name":"Window Construction"},"craft/winery":{"icon":"alcohol-shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"craft":"winery"},"name":"Winery"},"embankment":{"geometry":["line"],"tags":{"embankment":"yes"},"name":"Embankment","matchScore":0.2},"emergency/ambulance_station":{"icon":"hospital","fields":["operator","building_area","address"],"geometry":["point","area"],"terms":["EMS","EMT","rescue"],"tags":{"emergency":"ambulance_station"},"name":"Ambulance Station"},"emergency/defibrillator":{"fields":["access","opening_hours","phone"],"geometry":["point"],"tags":{"emergency":"defibrillator"},"name":"Defibrillator"},"emergency/fire_hydrant":{"fields":["fire_hydrant/type"],"geometry":["point","vertex"],"tags":{"emergency":"fire_hydrant"},"name":"Fire Hydrant"},"emergency/phone":{"icon":"emergency-telephone","fields":["operator"],"geometry":["point","vertex"],"tags":{"emergency":"phone"},"name":"Emergency Phone"},"entrance":{"icon":"entrance","geometry":["vertex"],"tags":{"entrance":"*"},"fields":["entrance","access_simple","address"],"name":"Entrance/Exit"},"footway/crossing":{"fields":["crossing","access","surface","kerb","tactile_paving"],"geometry":["line"],"tags":{"highway":"footway","footway":"crossing"},"terms":[],"name":"Street Crossing"},"footway/crosswalk":{"icon":"highway-footway","fields":["crossing","access","surface","kerb","tactile_paving"],"geometry":["line"],"tags":{"highway":"footway","footway":"crossing","crossing":"zebra"},"terms":["zebra crossing"],"name":"Pedestrian Crosswalk"},"footway/sidewalk":{"icon":"highway-footway","fields":["surface","lit","width","structure","access"],"geometry":["line"],"tags":{"highway":"footway","footway":"sidewalk"},"terms":[],"name":"Sidewalk"},"ford":{"geometry":["vertex"],"tags":{"ford":"yes"},"name":"Ford"},"golf/bunker":{"icon":"golf","geometry":["area"],"tags":{"golf":"bunker","natural":"sand"},"terms":["hazard","bunker"],"name":"Sand Trap"},"golf/fairway":{"icon":"golf","geometry":["area"],"tags":{"golf":"fairway","landuse":"grass"},"name":"Fairway"},"golf/green":{"icon":"golf","geometry":["area"],"tags":{"golf":"green","landuse":"grass","leisure":"pitch","sport":"golf"},"name":"Putting Green"},"golf/hole":{"icon":"golf","fields":["golf_hole","par","handicap"],"geometry":["line"],"tags":{"golf":"hole"},"name":"Golf Hole"},"golf/lateral_water_hazard":{"icon":"golf","geometry":["line","area"],"tags":{"golf":"lateral_water_hazard","natural":"water"},"name":"Lateral Water Hazard"},"golf/rough":{"icon":"golf","geometry":["area"],"tags":{"golf":"rough","landuse":"grass"},"name":"Rough"},"golf/tee":{"icon":"golf","geometry":["area"],"tags":{"golf":"tee","landuse":"grass"},"terms":["teeing ground"],"name":"Tee Box"},"golf/water_hazard":{"icon":"golf","geometry":["line","area"],"tags":{"golf":"water_hazard","natural":"water"},"name":"Water Hazard"},"highway":{"fields":["highway"],"geometry":["point","vertex","line","area"],"tags":{"highway":"*"},"searchable":false,"name":"Highway"},"highway/bridleway":{"fields":["surface","width","structure","access"],"icon":"highway-bridleway","geometry":["line"],"tags":{"highway":"bridleway"},"terms":["bridleway","equestrian","horse"],"name":"Bridle Path"},"highway/bus_stop":{"icon":"bus","fields":["network","operator","bench","shelter","covered"],"geometry":["point","vertex"],"tags":{"highway":"bus_stop"},"terms":[],"name":"Bus Stop"},"highway/corridor":{"icon":"highway-footway","fields":["width","level","access_simple"],"geometry":["line"],"tags":{"highway":"corridor"},"terms":["gallery","hall","hallway","indoor","passage","passageway"],"name":"Indoor Corridor"},"highway/crossing":{"fields":["crossing","kerb","tactile_paving"],"geometry":["vertex"],"tags":{"highway":"crossing"},"terms":[],"name":"Street Crossing"},"highway/crosswalk":{"fields":["crossing","kerb","tactile_paving"],"geometry":["vertex"],"tags":{"highway":"crossing","crossing":"zebra"},"terms":["zebra crossing"],"name":"Pedestrian Crosswalk"},"highway/cycleway":{"icon":"highway-cycleway","fields":["surface","lit","width","oneway","structure","access"],"geometry":["line"],"tags":{"highway":"cycleway"},"terms":["bike"],"name":"Cycle Path"},"highway/footway":{"icon":"highway-footway","fields":["surface","lit","width","structure","access"],"geometry":["line","area"],"terms":["hike","hiking","trackway","trail","walk"],"tags":{"highway":"footway"},"name":"Foot Path"},"highway/give_way":{"fields":["parallel_direction"],"geometry":["vertex"],"tags":{"highway":"give_way"},"terms":["give way","yield","sign"],"name":"Yield Sign"},"highway/living_street":{"icon":"highway-living-street","fields":["oneway","maxspeed","structure","access","surface","cycleway"],"geometry":["line"],"tags":{"highway":"living_street"},"name":"Living Street"},"highway/mini_roundabout":{"geometry":["vertex"],"tags":{"highway":"mini_roundabout"},"fields":["clock_direction"],"name":"Mini-Roundabout"},"highway/motorway":{"icon":"highway-motorway","fields":["oneway_yes","maxspeed","structure","access","lanes","surface","ref"],"geometry":["line"],"tags":{"highway":"motorway"},"terms":[],"name":"Motorway"},"highway/motorway_junction":{"geometry":["vertex"],"tags":{"highway":"motorway_junction"},"fields":["ref"],"name":"Motorway Junction / Exit"},"highway/motorway_link":{"icon":"highway-motorway-link","fields":["oneway_yes","maxspeed","structure","access","surface","ref"],"geometry":["line"],"tags":{"highway":"motorway_link"},"addTags":{"highway":"motorway_link","oneway":"yes"},"removeTags":{"highway":"motorway_link","oneway":"yes"},"terms":["ramp","on ramp","off ramp"],"name":"Motorway Link"},"highway/path":{"icon":"highway-path","fields":["surface","width","structure","access","incline","sac_scale","trail_visibility","mtb/scale","mtb/scale/uphill","mtb/scale/imba","ref"],"geometry":["line"],"terms":["hike","hiking","trackway","trail","walk"],"tags":{"highway":"path"},"name":"Path"},"highway/pedestrian":{"icon":"highway-footway","fields":["surface","lit","width","oneway","structure","access"],"geometry":["line","area"],"tags":{"highway":"pedestrian"},"terms":[],"name":"Pedestrian Street"},"highway/primary":{"icon":"highway-primary","fields":["oneway","maxspeed","structure","access","lanes","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"primary"},"terms":[],"name":"Primary Road"},"highway/primary_link":{"icon":"highway-primary-link","fields":["oneway","maxspeed","structure","access","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"primary_link"},"terms":["ramp","on ramp","off ramp"],"name":"Primary Link"},"highway/raceway":{"icon":"highway-unclassified","fields":["oneway","surface","sport_racing","structure"],"geometry":["line"],"tags":{"highway":"raceway"},"addTags":{"highway":"raceway","sport":"motor"},"terms":["auto*","race*","nascar"],"name":"Motor Raceway"},"highway/residential":{"icon":"highway-residential","fields":["oneway","maxspeed","structure","access","surface","cycleway"],"geometry":["line"],"tags":{"highway":"residential"},"terms":[],"name":"Residential Road"},"highway/rest_area":{"geometry":["point","vertex","area"],"tags":{"highway":"rest_area"},"terms":["rest stop"],"name":"Rest Area"},"highway/road":{"icon":"highway-road","fields":["oneway","maxspeed","structure","access","surface"],"geometry":["line"],"tags":{"highway":"road"},"terms":[],"name":"Unknown Road"},"highway/secondary":{"icon":"highway-secondary","fields":["oneway","maxspeed","structure","access","lanes","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"secondary"},"terms":[],"name":"Secondary Road"},"highway/secondary_link":{"icon":"highway-secondary-link","fields":["oneway","maxspeed","structure","access","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"secondary_link"},"terms":["ramp","on ramp","off ramp"],"name":"Secondary Link"},"highway/service":{"icon":"highway-service","fields":["service","oneway","maxspeed","structure","access","surface","cycleway"],"geometry":["line"],"tags":{"highway":"service"},"terms":[],"name":"Service Road"},"highway/service/alley":{"icon":"highway-service","fields":["oneway","access","surface"],"geometry":["line"],"tags":{"highway":"service","service":"alley"},"name":"Alley"},"highway/service/drive-through":{"icon":"highway-service","fields":["oneway","access","surface"],"geometry":["line"],"tags":{"highway":"service","service":"drive-through"},"name":"Drive-Through"},"highway/service/driveway":{"icon":"highway-service","fields":["oneway","access","surface"],"geometry":["line"],"tags":{"highway":"service","service":"driveway"},"name":"Driveway"},"highway/service/emergency_access":{"icon":"highway-service","fields":["oneway","access","surface"],"geometry":["line"],"tags":{"highway":"service","service":"emergency_access"},"name":"Emergency Access"},"highway/service/parking_aisle":{"icon":"highway-service","fields":["oneway","access","surface"],"geometry":["line"],"tags":{"highway":"service","service":"parking_aisle"},"name":"Parking Aisle"},"highway/services":{"geometry":["point","vertex","area"],"tags":{"highway":"services"},"terms":["services","travel plaza","service station"],"name":"Service Area"},"highway/steps":{"fields":["surface","lit","width","incline_steps","handrail"],"icon":"highway-steps","geometry":["line"],"tags":{"highway":"steps"},"terms":["stairs","staircase"],"name":"Steps"},"highway/stop":{"fields":["stop","parallel_direction"],"geometry":["vertex"],"tags":{"highway":"stop"},"terms":["stop","halt","sign"],"name":"Stop Sign"},"highway/street_lamp":{"geometry":["point","vertex"],"tags":{"highway":"street_lamp"},"fields":["lamp_type","ref"],"terms":["streetlight","street light","lamp","light","gaslight"],"name":"Street Lamp"},"highway/tertiary":{"icon":"highway-tertiary","fields":["oneway","maxspeed","structure","access","lanes","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"tertiary"},"terms":[],"name":"Tertiary Road"},"highway/tertiary_link":{"icon":"highway-tertiary-link","fields":["oneway","maxspeed","structure","access","surface","ref","cycleway"],"geometry":["line"],"tags":{"highway":"tertiary_link"},"terms":["ramp","on ramp","off ramp"],"name":"Tertiary Link"},"highway/track":{"icon":"highway-track","fields":["surface","width","structure","access","incline","tracktype","smoothness","mtb/scale","mtb/scale/uphill","mtb/scale/imba"],"geometry":["line"],"tags":{"highway":"track"},"terms":["woods road","forest road","logging road","fire road","farm road","agricultural road","ranch road","carriage road","primitive","unmaintained","rut","offroad","4wd","4x4","four wheel drive","atv","quad","jeep","double track","two track"],"name":"Unmaintained Track Road"},"highway/traffic_signals":{"geometry":["vertex"],"tags":{"highway":"traffic_signals"},"fields":["traffic_signals"],"terms":["light","stoplight","traffic light"],"name":"Traffic Signals"},"highway/trunk":{"icon":"highway-trunk","fields":["oneway","maxspeed","structure","access","lanes","surface","ref"],"geometry":["line"],"tags":{"highway":"trunk"},"terms":[],"name":"Trunk Road"},"highway/trunk_link":{"icon":"highway-trunk-link","fields":["oneway","maxspeed","structure","access","surface","ref"],"geometry":["line"],"tags":{"highway":"trunk_link"},"terms":["ramp","on ramp","off ramp"],"name":"Trunk Link"},"highway/turning_circle":{"icon":"circle","geometry":["vertex"],"tags":{"highway":"turning_circle"},"terms":["cul-de-sac"],"name":"Turning Circle"},"highway/unclassified":{"icon":"highway-unclassified","fields":["oneway","maxspeed","structure","access","surface","cycleway"],"geometry":["line"],"tags":{"highway":"unclassified"},"terms":[],"name":"Minor/Unclassified Road"},"historic":{"fields":["historic"],"geometry":["point","vertex","area"],"tags":{"historic":"*"},"name":"Historic Site"},"historic/archaeological_site":{"geometry":["point","vertex","area"],"tags":{"historic":"archaeological_site"},"name":"Archaeological Site"},"historic/boundary_stone":{"geometry":["point","vertex"],"tags":{"historic":"boundary_stone"},"name":"Boundary Stone"},"historic/castle":{"geometry":["point","area"],"tags":{"historic":"castle"},"name":"Castle"},"historic/memorial":{"icon":"monument","geometry":["point","vertex","area"],"tags":{"historic":"memorial"},"name":"Memorial"},"historic/monument":{"icon":"monument","geometry":["point","vertex","area"],"tags":{"historic":"monument"},"name":"Monument"},"historic/ruins":{"geometry":["point","vertex","area"],"tags":{"historic":"ruins"},"name":"Ruins"},"historic/wayside_cross":{"geometry":["point","vertex","area"],"tags":{"historic":"wayside_cross"},"name":"Wayside Cross"},"historic/wayside_shrine":{"geometry":["point","vertex","area"],"tags":{"historic":"wayside_shrine"},"name":"Wayside Shrine"},"junction":{"geometry":["vertex","area"],"tags":{"junction":"yes"},"name":"Junction"},"landuse":{"fields":["landuse"],"geometry":["area"],"tags":{"landuse":"*"},"name":"Land Use"},"landuse/allotments":{"geometry":["area"],"tags":{"landuse":"allotments"},"terms":["allotment","garden"],"name":"Community Garden"},"landuse/basin":{"geometry":["area"],"tags":{"landuse":"basin"},"terms":[],"name":"Basin"},"landuse/cemetery":{"icon":"cemetery","fields":["religion","denomination"],"geometry":["area"],"tags":{"landuse":"cemetery"},"terms":[],"name":"Cemetery"},"landuse/churchyard":{"fields":["religion","denomination"],"geometry":["area"],"tags":{"landuse":"churchyard"},"terms":[],"name":"Churchyard"},"landuse/commercial":{"icon":"commercial","geometry":["area"],"tags":{"landuse":"commercial"},"terms":[],"name":"Commercial Area"},"landuse/construction":{"fields":["construction","operator"],"geometry":["area"],"tags":{"landuse":"construction"},"terms":[],"name":"Construction"},"landuse/farm":{"icon":"farm","fields":["crop"],"geometry":["point","area"],"tags":{"landuse":"farm"},"terms":[],"name":"Farmland","searchable":false},"landuse/farmland":{"icon":"farm","fields":["crop"],"geometry":["area"],"tags":{"landuse":"farmland"},"terms":[],"name":"Farmland"},"landuse/farmyard":{"icon":"farm","fields":["crop"],"geometry":["area"],"tags":{"landuse":"farmyard"},"terms":[],"name":"Farmyard"},"landuse/forest":{"icon":"park2","fields":["leaf_type","leaf_cycle"],"geometry":["area"],"tags":{"landuse":"forest"},"terms":["tree"],"name":"Forest"},"landuse/garages":{"geometry":["area"],"tags":{"landuse":"garages"},"terms":[],"name":"Garages"},"landuse/grass":{"geometry":["area"],"tags":{"landuse":"grass"},"terms":[],"name":"Grass"},"landuse/industrial":{"icon":"industrial","geometry":["area"],"tags":{"landuse":"industrial"},"terms":[],"name":"Industrial Area"},"landuse/landfill":{"geometry":["area"],"tags":{"landuse":"landfill"},"terms":["dump"],"name":"Landfill"},"landuse/meadow":{"geometry":["area"],"tags":{"landuse":"meadow"},"terms":[],"name":"Meadow"},"landuse/military":{"geometry":["area"],"tags":{"landuse":"military"},"terms":[],"name":"Military Area"},"landuse/orchard":{"icon":"park2","fields":["trees"],"geometry":["area"],"tags":{"landuse":"orchard"},"terms":[],"name":"Orchard"},"landuse/plant_nursery":{"icon":"garden","fields":["name"],"geometry":["point","area"],"tags":{"landuse":"plant_nursery"},"terms":["vivero"],"name":"Plant Nursery"},"landuse/quarry":{"geometry":["area"],"tags":{"landuse":"quarry"},"terms":[],"name":"Quarry"},"landuse/residential":{"icon":"building","geometry":["area"],"tags":{"landuse":"residential"},"terms":[],"name":"Residential Area"},"landuse/retail":{"icon":"shop","geometry":["area"],"tags":{"landuse":"retail"},"name":"Retail Area"},"landuse/vineyard":{"geometry":["area"],"tags":{"landuse":"vineyard"},"terms":[],"name":"Vineyard"},"leisure":{"fields":["leisure"],"geometry":["point","vertex","area"],"tags":{"leisure":"*"},"name":"Leisure"},"leisure/adult_gaming_centre":{"fields":["operator","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"terms":["gambling","slot machine"],"tags":{"leisure":"adult_gaming_centre"},"name":"Adult Gaming Center"},"leisure/bird_hide":{"fields":["building_area"],"geometry":["point","area"],"tags":{"leisure":"bird_hide"},"terms":["machan","ornithology"],"name":"Bird Hide"},"leisure/bowling_alley":{"fields":["operator","address","building_area","opening_hours","smoking"],"geometry":["point","area"],"terms":[],"tags":{"leisure":"bowling_alley"},"name":"Bowling Alley"},"leisure/common":{"geometry":["point","area"],"terms":["open space"],"tags":{"leisure":"common"},"name":"Common"},"leisure/dog_park":{"icon":"dog-park","geometry":["point","area"],"terms":[],"tags":{"leisure":"dog_park"},"name":"Dog Park"},"leisure/firepit":{"geometry":["point","area"],"tags":{"leisure":"firepit"},"terms":["fireplace","campfire"],"name":"Firepit"},"leisure/garden":{"icon":"garden","geometry":["point","vertex","area"],"tags":{"leisure":"garden"},"name":"Garden"},"leisure/golf_course":{"icon":"golf","fields":["operator","address","opening_hours"],"geometry":["point","area"],"terms":["links"],"tags":{"leisure":"golf_course"},"name":"Golf Course"},"leisure/ice_rink":{"icon":"pitch","fields":["seasonal","sport_ice","operator","address","building","opening_hours"],"geometry":["point","area"],"terms":["hockey","skating","curling"],"tags":{"leisure":"ice_rink"},"name":"Ice Rink"},"leisure/marina":{"icon":"harbor","fields":["operator","address","capacity","fee","sanitary_dump_station","power_supply","internet_access"],"geometry":["point","vertex","area"],"terms":["boat"],"tags":{"leisure":"marina"},"name":"Marina"},"leisure/nature_reserve":{"icon":"park","geometry":["point","area"],"tags":{"leisure":"nature_reserve"},"terms":["protected","wildlife"],"name":"Nature Reserve"},"leisure/park":{"icon":"park","geometry":["point","area"],"terms":["esplanade","estate","forest","garden","grass","green","grounds","lawn","lot","meadow","parkland","place","playground","plaza","pleasure garden","recreation area","square","tract","village green","woodland"],"tags":{"leisure":"park"},"name":"Park"},"leisure/picnic_table":{"geometry":["point"],"tags":{"leisure":"picnic_table"},"terms":["bench"],"name":"Picnic Table"},"leisure/pitch":{"icon":"pitch","fields":["sport","surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch"},"terms":["field"],"name":"Sport Pitch"},"leisure/pitch/american_football":{"icon":"america-football","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"american_football"},"terms":[],"name":"American Football Field"},"leisure/pitch/baseball":{"icon":"baseball","fields":["lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"baseball"},"terms":[],"name":"Baseball Diamond"},"leisure/pitch/basketball":{"icon":"basketball","fields":["surface","hoops","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"basketball"},"terms":[],"name":"Basketball Court"},"leisure/pitch/rugby_league":{"icon":"america-football","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"rugby_league"},"terms":[],"name":"Rugby League Field"},"leisure/pitch/rugby_union":{"icon":"america-football","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"rugby_union"},"terms":[],"name":"Rugby Union Field"},"leisure/pitch/skateboard":{"icon":"pitch","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"skateboard"},"terms":[],"name":"Skate Park"},"leisure/pitch/soccer":{"icon":"soccer","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"soccer"},"terms":[],"name":"Soccer Field"},"leisure/pitch/tennis":{"icon":"tennis","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"tennis"},"terms":[],"name":"Tennis Court"},"leisure/pitch/volleyball":{"icon":"pitch","fields":["surface","lit"],"geometry":["point","area"],"tags":{"leisure":"pitch","sport":"volleyball"},"terms":[],"name":"Volleyball Court"},"leisure/playground":{"icon":"playground","geometry":["point","area"],"terms":["jungle gym","play area"],"tags":{"leisure":"playground"},"name":"Playground"},"leisure/running_track":{"icon":"pitch","fields":["surface","sport_racing","lit","width","lanes"],"geometry":["point","line"],"tags":{"leisure":"track","sport":"running"},"name":"Running Track"},"leisure/slipway":{"geometry":["point","line"],"terms":["boat launch","boat ramp"],"tags":{"leisure":"slipway"},"name":"Slipway"},"leisure/sports_centre":{"icon":"pitch","fields":["sport","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"leisure":"sports_centre"},"terms":["gym"],"name":"Sports Center / Gym"},"leisure/sports_centre/swimming":{"icon":"swimming","fields":["access_simple","operator","address","building"],"geometry":["point","area"],"terms":["dive","water"],"tags":{"leisure":"sports_centre","sport":"swimming"},"name":"Swimming Pool Facility"},"leisure/stadium":{"icon":"pitch","fields":["sport","address"],"geometry":["point","area"],"tags":{"leisure":"stadium"},"name":"Stadium"},"leisure/swimming_pool":{"icon":"swimming","fields":["access_simple","operator","address"],"geometry":["point","area"],"terms":["dive","water"],"tags":{"leisure":"swimming_pool"},"name":"Swimming Pool"},"leisure/track":{"icon":"highway-road","fields":["surface","sport_racing","lit","width","lanes"],"geometry":["point","line"],"tags":{"leisure":"track"},"name":"Racetrack (non-Motorsport)"},"leisure/water_park":{"icon":"swimming","fields":["operator","address"],"geometry":["point","area"],"terms":["swim","pool","dive"],"tags":{"leisure":"water_park"},"name":"Water Park"},"line":{"name":"Line","tags":{},"geometry":["line"],"matchScore":0.1},"man_made":{"fields":["man_made"],"geometry":["point","vertex","line","area"],"tags":{"man_made":"*"},"name":"Man Made"},"man_made/adit":{"geometry":["point","area"],"fields":["operator"],"terms":["entrance","underground","mine","cave"],"tags":{"man_made":"adit"},"name":"Adit"},"man_made/breakwater":{"geometry":["line","area"],"tags":{"man_made":"breakwater"},"name":"Breakwater"},"man_made/bridge":{"geometry":["area"],"tags":{"man_made":"bridge"},"name":"Bridge"},"man_made/chimney":{"geometry":["point","area"],"tags":{"man_made":"chimney"},"name":"Chimney"},"man_made/cutline":{"geometry":["line"],"tags":{"man_made":"cutline"},"name":"Cut line"},"man_made/embankment":{"geometry":["line"],"tags":{"man_made":"embankment"},"name":"Embankment","searchable":false},"man_made/flagpole":{"geometry":["point"],"tags":{"man_made":"flagpole"},"name":"Flagpole","icon":"embassy"},"man_made/gasometer":{"geometry":["point","area"],"terms":["gas holder"],"tags":{"man_made":"gasometer"},"name":"Gasometer"},"man_made/groyne":{"geometry":["line","area"],"tags":{"man_made":"groyne"},"name":"Groyne"},"man_made/lighthouse":{"icon":"lighthouse","fields":["building_area"],"geometry":["point","area"],"tags":{"man_made":"lighthouse"},"name":"Lighthouse"},"man_made/mast":{"geometry":["point"],"terms":["broadcast tower","cell phone tower","cell tower","guyed tower","mobile phone tower","radio tower","television tower","transmission mast","transmission tower","tv tower"],"tags":{"man_made":"mast"},"name":"Radio Mast"},"man_made/observation":{"geometry":["point","area"],"terms":["lookout tower","fire tower"],"tags":{"man_made":"tower","tower:type":"observation"},"name":"Observation Tower"},"man_made/petroleum_well":{"geometry":["point"],"terms":["drilling rig","oil derrick","oil drill","oil horse","oil rig","oil pump","petroleum well","pumpjack"],"tags":{"man_made":"petroleum_well"},"name":"Oil Well"},"man_made/pier":{"geometry":["line","area"],"terms":["dock"],"tags":{"man_made":"pier"},"name":"Pier"},"man_made/pipeline":{"icon":"pipeline-line","fields":["location","operator"],"geometry":["line"],"tags":{"man_made":"pipeline"},"name":"Pipeline"},"man_made/silo":{"fields":["building_area","crop"],"geometry":["point","area"],"terms":["grain","corn","wheat"],"tags":{"man_made":"silo"},"name":"Silo"},"man_made/storage_tank":{"fields":["building_area","content"],"geometry":["point","area"],"terms":["water","oil","gas","petrol"],"tags":{"man_made":"storage_tank"},"name":"Storage Tank"},"man_made/surveillance":{"icon":"camera","geometry":["point"],"tags":{"man_made":"surveillance"},"name":"Surveillance"},"man_made/survey_point":{"icon":"monument","fields":["ref"],"geometry":["point","vertex"],"tags":{"man_made":"survey_point"},"name":"Survey Point"},"man_made/tower":{"fields":["towertype"],"geometry":["point","area"],"tags":{"man_made":"tower"},"name":"Tower"},"man_made/wastewater_plant":{"icon":"water","fields":["operator","address"],"geometry":["point","area"],"terms":["sewage*","water treatment plant","reclamation plant"],"tags":{"man_made":"wastewater_plant"},"name":"Wastewater Plant"},"man_made/water_tower":{"icon":"water","fields":["operator"],"geometry":["point","area"],"tags":{"man_made":"water_tower"},"name":"Water Tower"},"man_made/water_well":{"fields":["operator"],"geometry":["point","area"],"tags":{"man_made":"water_well"},"name":"Water Well"},"man_made/water_works":{"icon":"water","fields":["operator","address"],"geometry":["point","area"],"tags":{"man_made":"water_works"},"name":"Water Works"},"man_made/works":{"geometry":["point","area"],"terms":["car assembly plant","aluminium processing plant","brewery","furniture manufacture factory","oil refinery","plastic recycling"],"tags":{"man_made":"works"},"name":"Works"},"military/airfield":{"icon":"airfield","geometry":["point","vertex","area"],"terms":[],"tags":{"military":"airfield"},"name":"Airfield"},"military/barracks":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"barracks"},"name":"Barracks"},"military/bunker":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"bunker"},"name":"Bunker"},"military/checkpoint":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"checkpoint"},"name":"Checkpoint"},"military/danger_area":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"danger_area"},"name":"Danger Area"},"military/naval_base":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"naval_base"},"name":"Naval Base"},"military/obstacle_course":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"obstacle_course"},"name":"Obstacle Course"},"military/range":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"range"},"name":"Military Range"},"military/training_area":{"geometry":["point","vertex","area"],"terms":[],"tags":{"military":"training_area"},"name":"Training area"},"natural":{"fields":["natural"],"geometry":["point","vertex","area"],"tags":{"natural":"*"},"name":"Natural"},"natural/bay":{"geometry":["point","area"],"terms":[],"tags":{"natural":"bay"},"name":"Bay"},"natural/beach":{"fields":["surface"],"geometry":["point","area"],"terms":[],"tags":{"natural":"beach"},"name":"Beach"},"natural/cave_entrance":{"geometry":["point","area"],"fields":["fee","access_simple"],"terms":["cavern","hollow","grotto","shelter","cavity"],"tags":{"natural":"cave_entrance"},"name":"Cave Entrance"},"natural/cliff":{"geometry":["point","vertex","line","area"],"terms":[],"tags":{"natural":"cliff"},"name":"Cliff"},"natural/coastline":{"geometry":["line"],"terms":["shore"],"tags":{"natural":"coastline"},"name":"Coastline"},"natural/fell":{"geometry":["area"],"terms":[],"tags":{"natural":"fell"},"name":"Fell"},"natural/glacier":{"geometry":["area"],"terms":[],"tags":{"natural":"glacier"},"name":"Glacier"},"natural/grassland":{"geometry":["point","area"],"terms":[],"tags":{"natural":"grassland"},"name":"Grassland"},"natural/heath":{"geometry":["area"],"terms":[],"tags":{"natural":"heath"},"name":"Heath"},"natural/peak":{"icon":"triangle","fields":["elevation"],"geometry":["point","vertex"],"tags":{"natural":"peak"},"terms":["acme","aiguille","alp","climax","crest","crown","hill","mount","mountain","pinnacle","summit","tip","top"],"name":"Peak"},"natural/saddle":{"icon":"triangle-stroked","fields":["elevation"],"geometry":["point","vertex"],"tags":{"natural":"saddle"},"terms":["pass","mountain pass","top"],"name":"Saddle"},"natural/scree":{"geometry":["area"],"tags":{"natural":"scree"},"terms":["loose rocks"],"name":"Scree"},"natural/scrub":{"geometry":["area"],"tags":{"natural":"scrub"},"terms":["bush","shrubs"],"name":"Scrub"},"natural/spring":{"geometry":["point","vertex"],"terms":[],"tags":{"natural":"spring"},"name":"Spring"},"natural/tree":{"fields":["leaf_type_singular","leaf_cycle_singular","denotation"],"icon":"park","geometry":["point","vertex"],"terms":[],"tags":{"natural":"tree"},"name":"Tree"},"natural/tree_row":{"fields":["leaf_type","leaf_cycle","denotation"],"icon":"park","geometry":["line"],"terms":[],"tags":{"natural":"tree_row"},"name":"Tree row"},"natural/volcano":{"icon":"triangle","fields":["elevation"],"geometry":["point","vertex"],"tags":{"natural":"volcano"},"terms":["mountain","crater"],"name":"Volcano"},"natural/water":{"fields":["water"],"geometry":["area"],"tags":{"natural":"water"},"icon":"water","name":"Water"},"natural/water/lake":{"geometry":["area"],"tags":{"natural":"water","water":"lake"},"terms":["lakelet","loch","mere"],"icon":"water","name":"Lake"},"natural/water/pond":{"geometry":["area"],"tags":{"natural":"water","water":"pond"},"terms":["lakelet","millpond","tarn","pool","mere"],"icon":"water","name":"Pond"},"natural/water/reservoir":{"geometry":["area"],"tags":{"natural":"water","water":"reservoir"},"icon":"water","name":"Reservoir"},"natural/wetland":{"icon":"wetland","fields":["wetland"],"geometry":["point","area"],"tags":{"natural":"wetland"},"terms":[],"name":"Wetland"},"natural/wood":{"icon":"park2","fields":["leaf_type","leaf_cycle"],"geometry":["point","area"],"tags":{"natural":"wood"},"terms":["tree"],"name":"Wood"},"office":{"icon":"commercial","fields":["office","address","building_area","opening_hours","smoking"],"geometry":["point","vertex","area"],"tags":{"office":"*"},"terms":[],"name":"Office"},"office/accountant":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"accountant"},"terms":[],"name":"Accountant"},"office/administrative":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"administrative"},"terms":[],"name":"Administrative Office"},"office/architect":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"architect"},"terms":[],"name":"Architect"},"office/company":{"icon":"commercial","fields":["address","building_area","opening_hours","smoking"],"geometry":["point","vertex","area"],"tags":{"office":"company"},"terms":[],"name":"Company Office"},"office/educational_institution":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"educational_institution"},"terms":[],"name":"Educational Institution"},"office/employment_agency":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"employment_agency"},"terms":["job"],"name":"Employment Agency"},"office/estate_agent":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"estate_agent"},"terms":[],"name":"Real Estate Office"},"office/financial":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"financial"},"terms":[],"name":"Financial Office"},"office/government":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"government"},"terms":[],"name":"Government Office"},"office/insurance":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"insurance"},"terms":[],"name":"Insurance Office"},"office/it":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"it"},"terms":[],"name":"IT Office"},"office/lawyer":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"lawyer"},"terms":[],"name":"Law Office"},"office/newspaper":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"newspaper"},"terms":[],"name":"Newspaper"},"office/ngo":{"icon":"commercial","fields":["address","building_area","opening_hours","smoking"],"geometry":["point","vertex","area"],"tags":{"office":"ngo"},"terms":[],"name":"NGO Office"},"office/physician":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"physician"},"terms":[],"name":"Physician"},"office/political_party":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"political_party"},"terms":[],"name":"Political Party"},"office/research":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"research"},"terms":[],"name":"Research Office"},"office/telecommunication":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"telecommunication"},"terms":[],"name":"Telecom Office"},"office/therapist":{"icon":"commercial","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"therapist"},"terms":[],"name":"Therapist"},"office/travel_agent":{"icon":"suitcase","fields":["address","building_area","opening_hours"],"geometry":["point","vertex","area"],"tags":{"office":"travel_agent"},"terms":[],"name":"Travel Agency","searchable":false},"piste":{"icon":"skiing","fields":["piste/type","piste/difficulty","piste/grooming","oneway","lit"],"geometry":["point","line","area"],"terms":["ski","sled","sleigh","snowboard","nordic","downhill","snowmobile"],"tags":{"piste:type":"*"},"name":"Piste/Ski Trail"},"place":{"fields":["place"],"geometry":["point","vertex","area"],"tags":{"place":"*"},"searchable":false,"name":"Place"},"place/city":{"icon":"city","fields":["population"],"geometry":["point","area"],"tags":{"place":"city"},"name":"City"},"place/farm":{"icon":"farm","geometry":["point","area"],"tags":{"place":"farm"},"name":"Farm"},"place/hamlet":{"icon":"triangle-stroked","fields":["population"],"geometry":["point","area"],"tags":{"place":"hamlet"},"name":"Hamlet"},"place/island":{"geometry":["point","area"],"terms":["archipelago","atoll","bar","cay","isle","islet","key","reef"],"tags":{"place":"island"},"name":"Island"},"place/isolated_dwelling":{"geometry":["point","area"],"tags":{"place":"isolated_dwelling"},"name":"Isolated Dwelling"},"place/locality":{"icon":"marker","fields":["population"],"geometry":["point","area"],"tags":{"place":"locality"},"name":"Locality"},"place/neighbourhood":{"icon":"triangle-stroked","fields":["population"],"geometry":["point","area"],"tags":{"place":"neighbourhood"},"terms":["neighbourhood"],"name":"Neighborhood"},"place/suburb":{"icon":"triangle-stroked","fields":["population"],"geometry":["point","area"],"tags":{"place":"suburb"},"terms":["Boro","Quarter"],"name":"Borough"},"place/town":{"icon":"town","fields":["population"],"geometry":["point","area"],"tags":{"place":"town"},"name":"Town"},"place/village":{"icon":"village","fields":["population"],"geometry":["point","area"],"tags":{"place":"village"},"name":"Village"},"point":{"name":"Point","tags":{},"geometry":["point"],"matchScore":0.1},"power":{"geometry":["point","vertex","line","area"],"tags":{"power":"*"},"fields":["power"],"searchable":false,"name":"Power"},"power/generator":{"fields":["operator","generator/source","generator/method","generator/type"],"geometry":["point","vertex","area"],"tags":{"power":"generator"},"name":"Power Generator"},"power/line":{"geometry":["line"],"tags":{"power":"line"},"name":"Power Line","icon":"power-line"},"power/minor_line":{"geometry":["line"],"tags":{"power":"minor_line"},"name":"Minor Power Line","icon":"power-line"},"power/pole":{"geometry":["vertex"],"tags":{"power":"pole"},"name":"Power Pole"},"power/sub_station":{"fields":["substation","operator","building"],"geometry":["point","area"],"tags":{"power":"sub_station"},"name":"Substation","searchable":false},"power/substation":{"fields":["substation","operator","building"],"geometry":["point","area"],"tags":{"power":"substation"},"name":"Substation"},"power/tower":{"geometry":["vertex"],"tags":{"power":"tower"},"name":"High-Voltage Tower"},"power/transformer":{"geometry":["point","vertex","area"],"tags":{"power":"transformer"},"name":"Transformer"},"public_transport/platform":{"fields":["ref","network","operator","shelter"],"geometry":["point","vertex","line","area"],"tags":{"public_transport":"platform"},"name":"Platform"},"public_transport/stop_position":{"icon":"bus","fields":["ref","network","operator"],"geometry":["vertex"],"tags":{"public_transport":"stop_position"},"name":"Stop Position"},"railway":{"fields":["railway"],"geometry":["point","vertex","line","area"],"tags":{"railway":"*"},"searchable":false,"name":"Railway"},"railway/abandoned":{"icon":"railway-abandoned","geometry":["line"],"tags":{"railway":"abandoned"},"fields":["structure","service_rail"],"terms":[],"name":"Abandoned Railway"},"railway/disused":{"icon":"railway-disused","geometry":["line"],"tags":{"railway":"disused"},"fields":["structure","service_rail"],"terms":[],"name":"Disused Railway"},"railway/funicular":{"geometry":["line"],"terms":["venicular","cliff railway","cable car","cable railway","funicular railway"],"fields":["structure","gauge","service_rail"],"tags":{"railway":"funicular"},"icon":"railway-rail","name":"Funicular"},"railway/halt":{"icon":"rail","geometry":["point","vertex"],"tags":{"railway":"halt"},"name":"Railway Halt","terms":["break","interrupt","rest","wait","interruption"]},"railway/level_crossing":{"icon":"cross","geometry":["vertex"],"tags":{"railway":"level_crossing"},"terms":["crossing","railroad crossing","level crossing","grade crossing","road through railroad","train crossing"],"name":"Railway Crossing"},"railway/monorail":{"icon":"railway-monorail","geometry":["line"],"tags":{"railway":"monorail"},"fields":["structure","electrified","service_rail"],"terms":[],"name":"Monorail"},"railway/narrow_gauge":{"icon":"railway-rail","geometry":["line"],"tags":{"railway":"narrow_gauge"},"fields":["structure","gauge","electrified","service_rail"],"terms":["narrow gauge railway","narrow gauge railroad"],"name":"Narrow Gauge Rail"},"railway/platform":{"geometry":["point","vertex","line","area"],"tags":{"railway":"platform"},"name":"Railway Platform"},"railway/rail":{"icon":"railway-rail","geometry":["line"],"tags":{"railway":"rail"},"fields":["structure","gauge","electrified","service_rail"],"terms":[],"name":"Rail"},"railway/station":{"icon":"rail","fields":["network","operator","address","building_area"],"geometry":["point","vertex","area"],"tags":{"railway":"station"},"terms":["train station","station"],"name":"Railway Station"},"railway/subway":{"icon":"railway-subway","geometry":["line"],"tags":{"railway":"subway"},"fields":["structure","gauge","electrified","service_rail"],"terms":[],"name":"Subway"},"railway/subway_entrance":{"icon":"rail-metro","geometry":["point"],"tags":{"railway":"subway_entrance"},"terms":[],"name":"Subway Entrance"},"railway/tram":{"icon":"railway-light-rail","geometry":["line"],"tags":{"railway":"tram"},"fields":["structure","gauge","electrified","service_rail"],"terms":["streetcar"],"name":"Tram"},"relation":{"name":"Relation","icon":"relation","tags":{},"geometry":["relation"],"fields":["relation"]},"roundabout":{"geometry":["vertex","line"],"tags":{"junction":"roundabout"},"name":"Roundabout","searchable":false},"route/ferry":{"icon":"ferry-line","geometry":["line"],"tags":{"route":"ferry"},"name":"Ferry Route"},"shop":{"icon":"shop","fields":["shop","operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"*"},"terms":[],"name":"Shop"},"shop/alcohol":{"icon":"alcohol-shop","fields":["operator","address","building_area","opening_hours","drive_through"],"geometry":["point","area"],"terms":["alcohol","beer","booze","wine"],"tags":{"shop":"alcohol"},"name":"Liquor Store"},"shop/anime":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"anime"},"name":"Anime Shop"},"shop/antiques":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"antiques"},"name":"Antiques Shop"},"shop/art":{"icon":"shop","fields":["artwork_type","operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["art*","exhibit*","gallery"],"tags":{"shop":"art"},"name":"Art Store"},"shop/baby_goods":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"baby_goods"},"name":"Baby Goods Store"},"shop/bag":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["handbag","purse"],"tags":{"shop":"bag"},"name":"Bag/Luggage Store"},"shop/bakery":{"icon":"bakery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"bakery"},"name":"Bakery"},"shop/bathroom_furnishing":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"bathroom_furnishing"},"name":"Bathroom Furnishing Store"},"shop/beauty":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["nail spa","spa","salon","tanning"],"tags":{"shop":"beauty"},"name":"Beauty Shop"},"shop/bed":{"icon":"lodging","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"bed"},"name":"Bedding/Mattress Store"},"shop/beverages":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"beverages"},"name":"Beverage Store"},"shop/bicycle":{"icon":"bicycle","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["bike","repair"],"tags":{"shop":"bicycle"},"name":"Bicycle Shop"},"shop/bookmaker":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"bookmaker"},"name":"Bookmaker"},"shop/books":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"books"},"name":"Book Store"},"shop/boutique":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"boutique"},"name":"Boutique"},"shop/butcher":{"icon":"slaughterhouse","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["meat"],"tags":{"shop":"butcher"},"name":"Butcher"},"shop/candles":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"candles"},"name":"Candle Shop"},"shop/car":{"icon":"car","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["auto"],"tags":{"shop":"car"},"name":"Car Dealership"},"shop/car_parts":{"icon":"car","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["auto"],"tags":{"shop":"car_parts"},"name":"Car Parts Store"},"shop/car_repair":{"icon":"car","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["auto"],"tags":{"shop":"car_repair"},"name":"Car Repair Shop"},"shop/carpet":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["rug"],"tags":{"shop":"carpet"},"name":"Carpet Store"},"shop/cheese":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"cheese"},"name":"Cheese Store"},"shop/chemist":{"icon":"grocery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"chemist"},"terms":["med*","drug*","gift"],"name":"Drugstore"},"shop/chocolate":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"chocolate"},"name":"Chocolate Store"},"shop/clothes":{"icon":"clothing-store","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"clothes"},"name":"Clothing Store"},"shop/coffee":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"coffee"},"name":"Coffee Store"},"shop/computer":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"computer"},"name":"Computer Store"},"shop/confectionery":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"confectionery"},"name":"Candy Store"},"shop/convenience":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"convenience"},"name":"Convenience Store"},"shop/copyshop":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"copyshop"},"name":"Copy Store"},"shop/cosmetics":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"cosmetics"},"name":"Cosmetics Store"},"shop/craft":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"craft"},"terms":["art*","paint*","frame"],"name":"Arts and Crafts Store"},"shop/curtain":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["drape*","window"],"tags":{"shop":"curtain"},"name":"Curtain Store"},"shop/dairy":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["milk","egg","cheese"],"tags":{"shop":"dairy"},"name":"Dairy Store"},"shop/deli":{"icon":"restaurant","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["lunch","meat","sandwich"],"tags":{"shop":"deli"},"name":"Deli"},"shop/department_store":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"department_store"},"name":"Department Store"},"shop/doityourself":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"doityourself"},"name":"DIY Store"},"shop/dry_cleaning":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"dry_cleaning"},"name":"Dry Cleaner"},"shop/electronics":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["appliance","audio","computer","tv"],"tags":{"shop":"electronics"},"name":"Electronics Store"},"shop/erotic":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["sex","porn"],"tags":{"shop":"erotic"},"name":"Erotic Store"},"shop/fabric":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["sew"],"tags":{"shop":"fabric"},"name":"Fabric Store"},"shop/farm":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["farm shop","farm stand"],"tags":{"shop":"farm"},"name":"Produce Stand"},"shop/fashion":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"fashion"},"name":"Fashion Store"},"shop/fishmonger":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"fishmonger"},"name":"Fishmonger","searchable":false},"shop/florist":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["flower"],"tags":{"shop":"florist"},"name":"Florist"},"shop/frame":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"frame"},"terms":["art*","paint*","photo*","frame"],"name":"Framing Shop"},"shop/funeral_directors":{"icon":"cemetery","fields":["operator","address","building_area","religion","denomination"],"geometry":["point","area"],"terms":["undertaker","memorial home"],"tags":{"shop":"funeral_directors"},"name":"Funeral Home"},"shop/furnace":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["oven","stove"],"tags":{"shop":"furnace"},"name":"Furnace Store"},"shop/furniture":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["chair","sofa","table"],"tags":{"shop":"furniture"},"name":"Furniture Store"},"shop/garden_centre":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["landscape","mulch","shrub","tree"],"tags":{"shop":"garden_centre"},"name":"Garden Center"},"shop/gift":{"icon":"gift","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"gift"},"name":"Gift Shop"},"shop/greengrocer":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["fruit","vegetable"],"tags":{"shop":"greengrocer"},"name":"Greengrocer"},"shop/hairdresser":{"icon":"hairdresser","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"hairdresser"},"name":"Hairdresser"},"shop/hardware":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"hardware"},"name":"Hardware Store"},"shop/hearing_aids":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"hearing_aids"},"name":"Hearing Aids Store"},"shop/herbalist":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"herbalist"},"name":"Herbalist"},"shop/hifi":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["stereo","video"],"tags":{"shop":"hifi"},"name":"Hifi Store"},"shop/houseware":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["home","household"],"tags":{"shop":"houseware"},"name":"Houseware Store"},"shop/interior_decoration":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"interior_decoration"},"name":"Interior Decoration Store"},"shop/jewelry":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["diamond","gem","ring"],"tags":{"shop":"jewelry"},"name":"Jeweler"},"shop/kiosk":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"kiosk"},"name":"News Kiosk"},"shop/kitchen":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"kitchen"},"name":"Kitchen Design Store"},"shop/laundry":{"icon":"laundry","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"laundry"},"name":"Laundry"},"shop/leather":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"leather"},"name":"Leather Store"},"shop/locksmith":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["key","lockpick"],"tags":{"shop":"locksmith"},"name":"Locksmith"},"shop/lottery":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"lottery"},"name":"Lottery Shop"},"shop/mall":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"mall"},"name":"Mall"},"shop/massage":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"massage"},"name":"Massage Shop"},"shop/medical_supply":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"medical_supply"},"name":"Medical Supply Store"},"shop/mobile_phone":{"icon":"mobilephone","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"mobile_phone"},"name":"Mobile Phone Store"},"shop/money_lender":{"icon":"bank","fields":["operator","address","building_area","opening_hours","currency_multi"],"geometry":["point","area"],"tags":{"shop":"money_lender"},"name":"Money Lender"},"shop/motorcycle":{"icon":"scooter","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"motorcycle"},"name":"Motorcycle Dealership"},"shop/music":{"icon":"music","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["CD","vinyl"],"tags":{"shop":"music"},"name":"Music Store"},"shop/musical_instrument":{"icon":"music","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"musical_instrument"},"name":"Musical Instrument Store"},"shop/newsagent":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"newsagent"},"name":"Newspaper/Magazine Shop"},"shop/nutrition_supplements":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"nutrition_supplements"},"name":"Nutrition Supplements Store"},"shop/optician":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["eye","glasses"],"tags":{"shop":"optician"},"name":"Optician"},"shop/organic":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"supermarket","organic":"only"},"name":"Organic Goods Store"},"shop/outdoor":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["camping","climbing","hiking"],"tags":{"shop":"outdoor"},"name":"Outdoors Store"},"shop/paint":{"icon":"water","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"paint"},"name":"Paint Store"},"shop/pawnbroker":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"pawnbroker"},"name":"Pawn Shop"},"shop/pet":{"icon":"dog-park","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["cat","dog","fish"],"tags":{"shop":"pet"},"name":"Pet Store"},"shop/photo":{"icon":"camera","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["camera","film"],"tags":{"shop":"photo"},"name":"Photography Store"},"shop/pyrotechnics":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"pyrotechnics"},"name":"Fireworks Store"},"shop/radiotechnics":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"radiotechnics"},"name":"Radio/Electronic Component Store"},"shop/religion":{"icon":"shop","fields":["operator","address","building_area","opening_hours","religion","denomination"],"geometry":["point","area"],"tags":{"shop":"religion"},"name":"Religious Store"},"shop/scuba_diving":{"icon":"swimming","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"scuba_diving"},"name":"Scuba Diving Shop"},"shop/seafood":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["fishmonger"],"tags":{"shop":"seafood"},"name":"Seafood Shop"},"shop/second_hand":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["secondhand","second hand","resale","thrift","used"],"tags":{"shop":"second_hand"},"name":"Consignment/Thrift Store"},"shop/shoes":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"shoes"},"name":"Shoe Store"},"shop/sports":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"sports"},"name":"Sporting Goods Store"},"shop/stationery":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["card","paper"],"tags":{"shop":"stationery"},"name":"Stationery Store"},"shop/storage_rental":{"icon":"shop","fields":["operator","address","building","opening_hours"],"geometry":["point","area"],"tags":{"shop":"storage_rental"},"name":"Storage Rental"},"shop/supermarket":{"icon":"grocery","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["grocery","store","shop"],"tags":{"shop":"supermarket"},"name":"Supermarket"},"shop/tailor":{"icon":"clothing-store","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["clothes","suit"],"tags":{"shop":"tailor"},"name":"Tailor"},"shop/tattoo":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"tattoo"},"name":"Tattoo Parlor"},"shop/tea":{"icon":"cafe","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"tea"},"name":"Tea Store"},"shop/ticket":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"ticket"},"name":"Ticket Seller"},"shop/tobacco":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"tobacco"},"name":"Tobacco Shop"},"shop/toys":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"toys"},"name":"Toy Store"},"shop/travel_agency":{"icon":"suitcase","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"travel_agency"},"name":"Travel Agency"},"shop/tyres":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"tyres"},"name":"Tire Store"},"shop/vacant":{"icon":"shop","fields":["address","building_area"],"geometry":["point","area"],"tags":{"shop":"vacant"},"name":"Vacant Shop","searchable":false},"shop/vacuum_cleaner":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"vacuum_cleaner"},"name":"Vacuum Cleaner Store"},"shop/variety_store":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"variety_store"},"name":"Variety Store"},"shop/video":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["DVD"],"tags":{"shop":"video"},"name":"Video Store"},"shop/video_games":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"video_games"},"name":"Video Game Store"},"shop/water_sports":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"water_sports"},"name":"Watersport/Swim Shop"},"shop/weapons":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["ammo","gun","knife","knives"],"tags":{"shop":"weapons"},"name":"Weapon Shop"},"shop/window_blind":{"icon":"shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"window_blind"},"name":"Window Blind Store"},"shop/wine":{"icon":"alcohol-shop","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"tags":{"shop":"wine"},"name":"Wine Shop"},"tourism":{"fields":["tourism"],"geometry":["point","vertex","area"],"tags":{"tourism":"*"},"name":"Tourism"},"tourism/alpine_hut":{"icon":"lodging","fields":["operator","address","building_area"],"geometry":["point","area"],"tags":{"tourism":"alpine_hut"},"name":"Alpine Hut"},"tourism/artwork":{"icon":"art-gallery","fields":["artwork_type","artist"],"geometry":["point","vertex","area"],"tags":{"tourism":"artwork"},"terms":["mural","sculpture","statue"],"name":"Artwork"},"tourism/attraction":{"icon":"monument","fields":["operator","address"],"geometry":["point","vertex","area"],"tags":{"tourism":"attraction"},"name":"Tourist Attraction"},"tourism/camp_site":{"icon":"campsite","fields":["operator","address","capacity","fee"],"geometry":["point","vertex","area"],"terms":["Tent"],"tags":{"tourism":"camp_site"},"name":"Camp Site"},"tourism/caravan_site":{"icon":"bus","fields":["operator","address","capacity","fee","sanitary_dump_station","power_supply","internet_access"],"geometry":["point","vertex","area"],"terms":["Motor Home","Camper"],"tags":{"tourism":"caravan_site"},"name":"RV Park"},"tourism/chalet":{"icon":"lodging","fields":["operator","address","building_area","smoking"],"geometry":["point","area"],"tags":{"tourism":"chalet"},"name":"Chalet"},"tourism/gallery":{"icon":"art-gallery","fields":["artwork_type","operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["art*","exhibit*","paint*","photo*","sculpt*"],"tags":{"tourism":"gallery"},"name":"Art Gallery"},"tourism/guest_house":{"icon":"lodging","fields":["operator","address","building_area","smoking","rooms","internet_access","internet_access/fee"],"geometry":["point","area"],"tags":{"tourism":"guest_house"},"terms":["B&B","Bed and Breakfast"],"name":"Guest House"},"tourism/hostel":{"icon":"lodging","fields":["operator","address","building_area","smoking","rooms","internet_access","internet_access/fee"],"geometry":["point","area"],"tags":{"tourism":"hostel"},"name":"Hostel"},"tourism/hotel":{"icon":"lodging","fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"geometry":["point","area"],"tags":{"tourism":"hotel"},"name":"Hotel"},"tourism/information":{"fields":["information","operator","address","building_area"],"geometry":["point","vertex","area"],"tags":{"tourism":"information"},"name":"Information"},"tourism/motel":{"icon":"lodging","fields":["operator","address","building_area","smoking","rooms","internet_access","internet_access/fee"],"geometry":["point","area"],"tags":{"tourism":"motel"},"name":"Motel"},"tourism/museum":{"icon":"museum","fields":["operator","address","building_area","opening_hours"],"geometry":["point","area"],"terms":["art*","exhibit*","gallery","foundation","hall","institution","paint*","photo*","sculpt*"],"tags":{"tourism":"museum"},"name":"Museum"},"tourism/picnic_site":{"icon":"park","fields":["operator","address","smoking"],"geometry":["point","vertex","area"],"terms":["camp"],"tags":{"tourism":"picnic_site"},"name":"Picnic Site"},"tourism/theme_park":{"fields":["operator","address","opening_hours"],"geometry":["point","area"],"tags":{"tourism":"theme_park"},"name":"Theme Park"},"tourism/viewpoint":{"geometry":["point","vertex"],"tags":{"tourism":"viewpoint"},"name":"Viewpoint"},"tourism/zoo":{"icon":"zoo","fields":["operator","address","opening_hours"],"geometry":["point","area"],"tags":{"tourism":"zoo"},"name":"Zoo"},"traffic_calming/bump":{"fields":["surface"],"geometry":["vertex"],"tags":{"traffic_calming":"bump"},"terms":["speed hump"],"name":"Speed Bump"},"traffic_calming/hump":{"fields":["surface"],"geometry":["vertex"],"tags":{"traffic_calming":"hump"},"terms":["speed bump"],"name":"Speed Hump"},"traffic_calming/rumble_strip":{"geometry":["vertex"],"tags":{"traffic_calming":"rumble_strip"},"terms":["sleeper lines","audible lines","growlers"],"name":"Rumble Strip"},"traffic_calming/table":{"fields":["surface"],"geometry":["vertex"],"tags":{"highway":"crossing","traffic_calming":"table"},"terms":["speed table","flat top hump"],"name":"Raised Pedestrian Crossing"},"type/boundary":{"geometry":["relation"],"tags":{"type":"boundary"},"name":"Boundary","icon":"boundary","fields":["boundary"]},"type/boundary/administrative":{"name":"Administrative Boundary","geometry":["relation"],"tags":{"type":"boundary","boundary":"administrative"},"fields":["admin_level"],"icon":"boundary"},"type/multipolygon":{"geometry":["area","relation"],"tags":{"type":"multipolygon"},"removeTags":{},"name":"Multipolygon","icon":"multipolygon","searchable":false,"matchScore":0.1},"type/restriction":{"geometry":["relation"],"tags":{"type":"restriction"},"name":"Restriction","icon":"restriction","fields":["restriction","except"]},"type/restriction/no_left_turn":{"name":"No Left Turn","geometry":["relation"],"tags":{"type":"restriction","restriction":"no_left_turn"},"fields":["except"],"icon":"restriction-no-left-turn"},"type/restriction/no_right_turn":{"name":"No Right Turn","geometry":["relation"],"tags":{"type":"restriction","restriction":"no_right_turn"},"fields":["except"],"icon":"restriction-no-right-turn"},"type/restriction/no_straight_on":{"name":"No Straight On","geometry":["relation"],"tags":{"type":"restriction","restriction":"no_straight_on"},"fields":["except"],"icon":"restriction-no-straight-on"},"type/restriction/no_u_turn":{"name":"No U-turn","geometry":["relation"],"tags":{"type":"restriction","restriction":"no_u_turn"},"fields":["except"],"icon":"restriction-no-u-turn"},"type/restriction/only_left_turn":{"name":"Left Turn Only","geometry":["relation"],"tags":{"type":"restriction","restriction":"only_left_turn"},"fields":["except"],"icon":"restriction-only-left-turn"},"type/restriction/only_right_turn":{"name":"Right Turn Only","geometry":["relation"],"tags":{"type":"restriction","restriction":"only_right_turn"},"fields":["except"],"icon":"restriction-only-right-turn"},"type/restriction/only_straight_on":{"name":"No Turns","geometry":["relation"],"tags":{"type":"restriction","restriction":"only_straight_on"},"fields":["except"],"icon":"restriction-only-straight-on"},"type/route":{"geometry":["relation"],"tags":{"type":"route"},"name":"Route","icon":"route","fields":["route","ref"]},"type/route/bicycle":{"geometry":["relation"],"tags":{"type":"route","route":"bicycle"},"name":"Cycle Route","icon":"route-bicycle","fields":["ref","network"]},"type/route/bus":{"geometry":["relation"],"tags":{"type":"route","route":"bus"},"name":"Bus Route","icon":"route-bus","fields":["ref","operator","network"]},"type/route/detour":{"geometry":["relation"],"tags":{"type":"route","route":"detour"},"name":"Detour Route","icon":"route-detour","fields":["ref"]},"type/route/ferry":{"geometry":["relation"],"tags":{"type":"route","route":"ferry"},"name":"Ferry Route","icon":"route-ferry","fields":["ref","operator","network"]},"type/route/foot":{"geometry":["relation"],"tags":{"type":"route","route":"foot"},"name":"Foot Route","icon":"route-foot","fields":["ref","operator","network"]},"type/route/hiking":{"geometry":["relation"],"tags":{"type":"route","route":"hiking"},"name":"Hiking Route","icon":"route-foot","fields":["ref","operator","network"]},"type/route/horse":{"geometry":["relation"],"tags":{"type":"route","route":"horse"},"name":"Riding Route","icon":"route-horse","fields":["ref","operator"]},"type/route/pipeline":{"geometry":["relation"],"tags":{"type":"route","route":"pipeline"},"name":"Pipeline Route","icon":"route-pipeline","fields":["ref","operator"]},"type/route/power":{"geometry":["relation"],"tags":{"type":"route","route":"power"},"name":"Power Route","icon":"route-power","fields":["ref","operator"]},"type/route/road":{"geometry":["relation"],"tags":{"type":"route","route":"road"},"name":"Road Route","icon":"route-road","fields":["ref","network"]},"type/route/train":{"geometry":["relation"],"tags":{"type":"route","route":"train"},"name":"Train Route","icon":"route-train","fields":["ref","operator"]},"type/route/tram":{"geometry":["relation"],"tags":{"type":"route","route":"tram"},"name":"Tram Route","icon":"route-tram","fields":["ref","operator"]},"type/route_master":{"geometry":["relation"],"tags":{"type":"route_master"},"name":"Route Master","icon":"route-master","fields":["route_master","ref","operator","network"]},"type/site":{"geometry":["relation"],"tags":{"type":"site"},"name":"Site","icon":"relation","fields":["site"]},"vertex":{"name":"Other","tags":{},"geometry":["vertex"],"matchScore":0.1},"waterway":{"fields":["waterway"],"geometry":["point","vertex","line","area"],"tags":{"waterway":"*"},"searchable":false,"name":"Waterway"},"waterway/boatyard":{"icon":"harbor","fields":["operator"],"geometry":["area","vertex","point"],"tags":{"waterway":"boatyard"},"name":"Boatyard"},"waterway/canal":{"icon":"waterway-canal","fields":["width"],"geometry":["line"],"tags":{"waterway":"canal"},"name":"Canal"},"waterway/dam":{"icon":"dam","geometry":["point","vertex","line","area"],"tags":{"waterway":"dam"},"name":"Dam"},"waterway/ditch":{"icon":"waterway-ditch","fields":["tunnel"],"geometry":["line"],"tags":{"waterway":"ditch"},"name":"Ditch"},"waterway/dock":{"icon":"harbor","fields":["dock","operator"],"geometry":["area","vertex","point"],"terms":["boat","ship","vessel","marine"],"tags":{"waterway":"dock"},"name":"Wet Dock / Dry Dock"},"waterway/drain":{"icon":"waterway-stream","fields":["tunnel"],"geometry":["line"],"tags":{"waterway":"drain"},"name":"Drain"},"waterway/fuel":{"icon":"fuel","fields":["operator","address","opening_hours","fuel_multi"],"geometry":["point","area"],"terms":["petrol","gas","diesel","boat"],"tags":{"waterway":"fuel"},"name":"Marine Fuel Station"},"waterway/river":{"icon":"waterway-river","fields":["tunnel","width"],"geometry":["line"],"terms":["beck","branch","brook","course","creek","estuary","rill","rivulet","run","runnel","stream","tributary","watercourse"],"tags":{"waterway":"river"},"name":"River"},"waterway/riverbank":{"icon":"water","geometry":["area"],"tags":{"waterway":"riverbank"},"name":"Riverbank"},"waterway/sanitary_dump_station":{"fields":["operator","access_toilets","fee","water_point"],"geometry":["point","vertex","area"],"terms":["Boat","Watercraft","Sanitary","Dump Station","Pumpout","Pump out","Elsan","CDP","CTDP","Chemical Toilet"],"tags":{"waterway":"sanitary_dump_station"},"name":"Marine Toilet Disposal"},"waterway/stream":{"icon":"waterway-stream","fields":["tunnel","width"],"geometry":["line"],"terms":["beck","branch","brook","burn","course","creek","current","drift","flood","flow","freshet","race","rill","rindle","rivulet","run","runnel","rush","spate","spritz","surge","tide","torrent","tributary","watercourse"],"tags":{"waterway":"stream"},"name":"Stream"},"waterway/water_point":{"icon":"water","geometry":["area","vertex","point"],"tags":{"waterway":"water_point"},"name":"Marine Drinking Water"},"waterway/weir":{"icon":"dam","geometry":["vertex","line"],"tags":{"waterway":"weir"},"name":"Weir"},"amenity/pub/The Green Man":{"tags":{"name":"The Green Man","amenity":"pub"},"name":"The Green Man","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Kings Arms":{"tags":{"name":"Kings Arms","amenity":"pub"},"name":"Kings Arms","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The White Horse":{"tags":{"name":"The White Horse","amenity":"pub"},"name":"The White Horse","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The White Hart":{"tags":{"name":"The White Hart","amenity":"pub"},"name":"The White Hart","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Royal Oak":{"tags":{"name":"Royal Oak","amenity":"pub"},"name":"Royal Oak","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Red Lion":{"tags":{"name":"The Red Lion","amenity":"pub"},"name":"The Red Lion","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Kings Arms":{"tags":{"name":"The Kings Arms","amenity":"pub"},"name":"The Kings Arms","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Star":{"tags":{"name":"The Star","amenity":"pub"},"name":"The Star","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Cross Keys":{"tags":{"name":"The Cross Keys","amenity":"pub"},"name":"The Cross Keys","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Wheatsheaf":{"tags":{"name":"The Wheatsheaf","amenity":"pub"},"name":"The Wheatsheaf","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Kings Head":{"tags":{"name":"The Kings Head","amenity":"pub"},"name":"The Kings Head","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Castle":{"tags":{"name":"The Castle","amenity":"pub"},"name":"The Castle","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Railway":{"tags":{"name":"The Railway","amenity":"pub"},"name":"The Railway","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Bell":{"tags":{"name":"The Bell","amenity":"pub"},"name":"The Bell","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Bull":{"tags":{"name":"The Bull","amenity":"pub"},"name":"The Bull","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Plough":{"tags":{"name":"The Plough","amenity":"pub"},"name":"The Plough","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The George":{"tags":{"name":"The George","amenity":"pub"},"name":"The George","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Royal Oak":{"tags":{"name":"The Royal Oak","amenity":"pub"},"name":"The Royal Oak","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Fox":{"tags":{"name":"The Fox","amenity":"pub"},"name":"The Fox","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Prince of Wales":{"tags":{"name":"Prince of Wales","amenity":"pub"},"name":"Prince of Wales","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Rising Sun":{"tags":{"name":"The Rising Sun","amenity":"pub"},"name":"The Rising Sun","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Chequers":{"tags":{"name":"The Chequers","amenity":"pub"},"name":"The Chequers","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Crown":{"tags":{"name":"The Crown","amenity":"pub"},"name":"The Crown","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Swan":{"tags":{"name":"The Swan","amenity":"pub"},"name":"The Swan","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Crown Inn":{"tags":{"name":"The Crown Inn","amenity":"pub"},"name":"The Crown Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Ship":{"tags":{"name":"The Ship","amenity":"pub"},"name":"The Ship","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Victoria":{"tags":{"name":"The Victoria","amenity":"pub"},"name":"The Victoria","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/New Inn":{"tags":{"name":"New Inn","amenity":"pub"},"name":"New Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Anchor":{"tags":{"name":"The Anchor","amenity":"pub"},"name":"The Anchor","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Red Lion":{"tags":{"name":"Red Lion","amenity":"pub"},"name":"Red Lion","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Cross Keys":{"tags":{"name":"Cross Keys","amenity":"pub"},"name":"Cross Keys","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Bell Inn":{"tags":{"name":"The Bell Inn","amenity":"pub"},"name":"The Bell Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The White Lion":{"tags":{"name":"The White Lion","amenity":"pub"},"name":"The White Lion","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Black Horse":{"tags":{"name":"The Black Horse","amenity":"pub"},"name":"The Black Horse","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Rose and Crown":{"tags":{"name":"Rose and Crown","amenity":"pub"},"name":"Rose and Crown","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Commercial Hotel":{"tags":{"name":"Commercial Hotel","amenity":"pub"},"name":"Commercial Hotel","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The White Swan":{"tags":{"name":"The White Swan","amenity":"pub"},"name":"The White Swan","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Greyhound":{"tags":{"name":"The Greyhound","amenity":"pub"},"name":"The Greyhound","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The New Inn":{"tags":{"name":"The New Inn","amenity":"pub"},"name":"The New Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Kings Head":{"tags":{"name":"Kings Head","amenity":"pub"},"name":"Kings Head","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Angel":{"tags":{"name":"The Angel","amenity":"pub"},"name":"The Angel","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Queens Head":{"tags":{"name":"The Queens Head","amenity":"pub"},"name":"The Queens Head","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Black Bull":{"tags":{"name":"Black Bull","amenity":"pub"},"name":"Black Bull","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Black Horse":{"tags":{"name":"Black Horse","amenity":"pub"},"name":"Black Horse","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Swan Inn":{"tags":{"name":"The Swan Inn","amenity":"pub"},"name":"The Swan Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Rose & Crown":{"tags":{"name":"Rose & Crown","amenity":"pub"},"name":"Rose & Crown","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Albion":{"tags":{"name":"The Albion","amenity":"pub"},"name":"The Albion","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Cricketers":{"tags":{"name":"The Cricketers","amenity":"pub"},"name":"The Cricketers","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Ship Inn":{"tags":{"name":"The Ship Inn","amenity":"pub"},"name":"The Ship Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/The Star Inn":{"tags":{"name":"The Star Inn","amenity":"pub"},"name":"The Star Inn","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Queens Head":{"tags":{"name":"Queens Head","amenity":"pub"},"name":"Queens Head","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/Irish Pub":{"tags":{"name":"Irish Pub","amenity":"pub"},"name":"Irish Pub","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/pub/魚民":{"tags":{"name":"魚民","amenity":"pub"},"name":"魚民","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/fuel/76":{"tags":{"name":"76","amenity":"fuel"},"name":"76","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Neste":{"tags":{"name":"Neste","amenity":"fuel"},"name":"Neste","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Shell":{"tags":{"name":"Shell","amenity":"fuel"},"name":"Shell","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Agip":{"tags":{"name":"Agip","amenity":"fuel"},"name":"Agip","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Migrol":{"tags":{"name":"Migrol","amenity":"fuel"},"name":"Migrol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Avia":{"tags":{"name":"Avia","amenity":"fuel"},"name":"Avia","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Texaco":{"tags":{"name":"Texaco","amenity":"fuel"},"name":"Texaco","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Total":{"tags":{"name":"Total","amenity":"fuel"},"name":"Total","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Statoil":{"tags":{"name":"Statoil","amenity":"fuel"},"name":"Statoil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/BP":{"tags":{"name":"BP","amenity":"fuel"},"name":"BP","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Topaz":{"tags":{"name":"Topaz","amenity":"fuel"},"name":"Topaz","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Esso":{"tags":{"name":"Esso","amenity":"fuel"},"name":"Esso","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Jet":{"tags":{"name":"Jet","amenity":"fuel"},"name":"Jet","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/OMV":{"tags":{"name":"OMV","amenity":"fuel"},"name":"OMV","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Aral":{"tags":{"name":"Aral","amenity":"fuel"},"name":"Aral","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/JET":{"tags":{"name":"JET","amenity":"fuel"},"name":"JET","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/United":{"tags":{"name":"United","amenity":"fuel"},"name":"United","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Mobil":{"tags":{"name":"Mobil","amenity":"fuel"},"name":"Mobil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Q8":{"tags":{"name":"Q8","amenity":"fuel"},"name":"Q8","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Caltex":{"tags":{"name":"Caltex","amenity":"fuel"},"name":"Caltex","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petro-Canada":{"tags":{"name":"Petro-Canada","amenity":"fuel"},"name":"Petro-Canada","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ARAL":{"tags":{"name":"ARAL","amenity":"fuel"},"name":"ARAL","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/CEPSA":{"tags":{"name":"CEPSA","amenity":"fuel"},"name":"CEPSA","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/BFT":{"tags":{"name":"BFT","amenity":"fuel"},"name":"BFT","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petron":{"tags":{"name":"Petron","amenity":"fuel"},"name":"Petron","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Total Access":{"tags":{"name":"Total Access","amenity":"fuel"},"name":"Total Access","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Station Service E. Leclerc":{"tags":{"name":"Station Service E. Leclerc","amenity":"fuel"},"name":"Station Service E. Leclerc","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Elan":{"tags":{"name":"Elan","amenity":"fuel"},"name":"Elan","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Shell Express":{"tags":{"name":"Shell Express","amenity":"fuel"},"name":"Shell Express","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Hess":{"tags":{"name":"Hess","amenity":"fuel"},"name":"Hess","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/F24":{"tags":{"name":"F24","amenity":"fuel"},"name":"F24","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Gulf":{"tags":{"name":"Gulf","amenity":"fuel"},"name":"Gulf","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/PTT":{"tags":{"name":"PTT","amenity":"fuel"},"name":"PTT","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Teboil":{"tags":{"name":"Teboil","amenity":"fuel"},"name":"Teboil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/St1":{"tags":{"name":"St1","amenity":"fuel"},"name":"St1","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/HEM":{"tags":{"name":"HEM","amenity":"fuel"},"name":"HEM","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/GALP":{"tags":{"name":"GALP","amenity":"fuel"},"name":"GALP","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/پمپ بنزین":{"tags":{"name":"پمپ بنزین","amenity":"fuel"},"name":"پمپ بنزین","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Avanti":{"tags":{"name":"Avanti","amenity":"fuel"},"name":"Avanti","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Cepsa":{"tags":{"name":"Cepsa","amenity":"fuel"},"name":"Cepsa","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/OK":{"tags":{"name":"OK","amenity":"fuel"},"name":"OK","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Tinq":{"tags":{"name":"Tinq","amenity":"fuel"},"name":"Tinq","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Repsol":{"tags":{"name":"Repsol","amenity":"fuel"},"name":"Repsol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Westfalen":{"tags":{"name":"Westfalen","amenity":"fuel"},"name":"Westfalen","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Esso Express":{"tags":{"name":"Esso Express","amenity":"fuel"},"name":"Esso Express","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Slovnaft":{"tags":{"name":"Slovnaft","amenity":"fuel"},"name":"Slovnaft","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Tamoil":{"tags":{"name":"Tamoil","amenity":"fuel"},"name":"Tamoil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/bft":{"tags":{"name":"bft","amenity":"fuel"},"name":"bft","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Afriquia":{"tags":{"name":"Afriquia","amenity":"fuel"},"name":"Afriquia","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Engen":{"tags":{"name":"Engen","amenity":"fuel"},"name":"Engen","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sasol":{"tags":{"name":"Sasol","amenity":"fuel"},"name":"Sasol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Jetti":{"tags":{"name":"Jetti","amenity":"fuel"},"name":"Jetti","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/LPG":{"tags":{"name":"LPG","amenity":"fuel"},"name":"LPG","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Orlen":{"tags":{"name":"Orlen","amenity":"fuel"},"name":"Orlen","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Kobil":{"tags":{"name":"Kobil","amenity":"fuel"},"name":"Kobil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Oilibya":{"tags":{"name":"Oilibya","amenity":"fuel"},"name":"Oilibya","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Tango":{"tags":{"name":"Tango","amenity":"fuel"},"name":"Tango","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Star":{"tags":{"name":"Star","amenity":"fuel"},"name":"Star","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Петрол":{"tags":{"name":"Петрол","amenity":"fuel"},"name":"Петрол","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/EKO":{"tags":{"name":"EKO","amenity":"fuel"},"name":"EKO","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Turmöl":{"tags":{"name":"Turmöl","amenity":"fuel"},"name":"Turmöl","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/OIL!":{"tags":{"name":"OIL!","amenity":"fuel"},"name":"OIL!","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Flying V":{"tags":{"name":"Flying V","amenity":"fuel"},"name":"Flying V","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Ultramar":{"tags":{"name":"Ultramar","amenity":"fuel"},"name":"Ultramar","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/CARREFOUR":{"tags":{"name":"CARREFOUR","amenity":"fuel"},"name":"CARREFOUR","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Eni":{"tags":{"name":"Eni","amenity":"fuel"},"name":"Eni","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Irving":{"tags":{"name":"Irving","amenity":"fuel"},"name":"Irving","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Lukoil":{"tags":{"name":"Lukoil","amenity":"fuel"},"name":"Lukoil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Coles Express":{"tags":{"name":"Coles Express","amenity":"fuel"},"name":"Coles Express","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Pioneer":{"tags":{"name":"Pioneer","amenity":"fuel"},"name":"Pioneer","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Speedway":{"tags":{"name":"Speedway","amenity":"fuel"},"name":"Speedway","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Uno-X":{"tags":{"name":"Uno-X","amenity":"fuel"},"name":"Uno-X","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Agrola":{"tags":{"name":"Agrola","amenity":"fuel"},"name":"Agrola","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Husky":{"tags":{"name":"Husky","amenity":"fuel"},"name":"Husky","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sunoco":{"tags":{"name":"Sunoco","amenity":"fuel"},"name":"Sunoco","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sheetz":{"tags":{"name":"Sheetz","amenity":"fuel"},"name":"Sheetz","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Turkey Hill":{"tags":{"name":"Turkey Hill","amenity":"fuel"},"name":"Turkey Hill","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/MOL":{"tags":{"name":"MOL","amenity":"fuel"},"name":"MOL","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/OKQ8":{"tags":{"name":"OKQ8","amenity":"fuel"},"name":"OKQ8","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petronas":{"tags":{"name":"Petronas","amenity":"fuel"},"name":"Petronas","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Mol":{"tags":{"name":"Mol","amenity":"fuel"},"name":"Mol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Benzina":{"tags":{"name":"Benzina","amenity":"fuel"},"name":"Benzina","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Газпромнефть":{"tags":{"name":"Газпромнефть","amenity":"fuel"},"name":"Газпромнефть","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Роснефть":{"tags":{"name":"Роснефть","amenity":"fuel"},"name":"Роснефть","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Opet":{"tags":{"name":"Opet","amenity":"fuel"},"name":"Opet","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Marathon":{"tags":{"name":"Marathon","amenity":"fuel"},"name":"Marathon","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Vito":{"tags":{"name":"Vito","amenity":"fuel"},"name":"Vito","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Valero":{"tags":{"name":"Valero","amenity":"fuel"},"name":"Valero","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Neste A24":{"tags":{"name":"Neste A24","amenity":"fuel"},"name":"Neste A24","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/REPSOL":{"tags":{"name":"REPSOL","amenity":"fuel"},"name":"REPSOL","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Lotos":{"tags":{"name":"Lotos","amenity":"fuel"},"name":"Lotos","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Api":{"tags":{"name":"Api","amenity":"fuel"},"name":"Api","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Chevron":{"tags":{"name":"Chevron","amenity":"fuel"},"name":"Chevron","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ARCO":{"tags":{"name":"ARCO","amenity":"fuel"},"name":"ARCO","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Pemex":{"tags":{"name":"Pemex","amenity":"fuel"},"name":"Pemex","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ТНК":{"tags":{"name":"ТНК","amenity":"fuel"},"name":"ТНК","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petrol Ofisi":{"tags":{"name":"Petrol Ofisi","amenity":"fuel"},"name":"Petrol Ofisi","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/eni":{"tags":{"name":"eni","amenity":"fuel"},"name":"eni","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petrom":{"tags":{"name":"Petrom","amenity":"fuel"},"name":"Petrom","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/PETRONOR":{"tags":{"name":"PETRONOR","amenity":"fuel"},"name":"PETRONOR","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Rompetrol":{"tags":{"name":"Rompetrol","amenity":"fuel"},"name":"Rompetrol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Copec":{"tags":{"name":"Copec","amenity":"fuel"},"name":"Copec","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petrobras":{"tags":{"name":"Petrobras","amenity":"fuel"},"name":"Petrobras","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/АЗС":{"tags":{"name":"АЗС","amenity":"fuel"},"name":"АЗС","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Pilot":{"tags":{"name":"Pilot","amenity":"fuel"},"name":"Pilot","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/LUKOIL":{"tags":{"name":"LUKOIL","amenity":"fuel"},"name":"LUKOIL","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/SB Tank":{"tags":{"name":"SB Tank","amenity":"fuel"},"name":"SB Tank","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Arco":{"tags":{"name":"Arco","amenity":"fuel"},"name":"Arco","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Лукойл":{"tags":{"name":"Лукойл","amenity":"fuel"},"name":"Лукойл","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ОМВ":{"tags":{"name":"ОМВ","amenity":"fuel"},"name":"ОМВ","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Liberty":{"tags":{"name":"Liberty","amenity":"fuel"},"name":"Liberty","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Bliska":{"tags":{"name":"Bliska","amenity":"fuel"},"name":"Bliska","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Moya":{"tags":{"name":"Moya","amenity":"fuel"},"name":"Moya","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Erg":{"tags":{"name":"Erg","amenity":"fuel"},"name":"Erg","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Eneos":{"tags":{"name":"Eneos","amenity":"fuel"},"name":"Eneos","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/P T T":{"tags":{"name":"P T T","amenity":"fuel"},"name":"P T T","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Citgo":{"tags":{"name":"Citgo","amenity":"fuel"},"name":"Citgo","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/IP":{"tags":{"name":"IP","amenity":"fuel"},"name":"IP","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Metano":{"tags":{"name":"Metano","amenity":"fuel"},"name":"Metano","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Сургутнефтегаз":{"tags":{"name":"Сургутнефтегаз","amenity":"fuel"},"name":"Сургутнефтегаз","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ENI":{"tags":{"name":"ENI","amenity":"fuel"},"name":"ENI","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Eko":{"tags":{"name":"Eko","amenity":"fuel"},"name":"Eko","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Indipend.":{"tags":{"name":"Indipend.","amenity":"fuel"},"name":"Indipend.","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/TotalErg":{"tags":{"name":"TotalErg","amenity":"fuel"},"name":"TotalErg","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/IES":{"tags":{"name":"IES","amenity":"fuel"},"name":"IES","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Star Oil":{"tags":{"name":"Star Oil","amenity":"fuel"},"name":"Star Oil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ERG":{"tags":{"name":"ERG","amenity":"fuel"},"name":"ERG","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Cenex":{"tags":{"name":"Cenex","amenity":"fuel"},"name":"Cenex","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ПТК":{"tags":{"name":"ПТК","amenity":"fuel"},"name":"ПТК","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Белоруснефть":{"tags":{"name":"Белоруснефть","amenity":"fuel"},"name":"Белоруснефть","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/HP":{"tags":{"name":"HP","amenity":"fuel"},"name":"HP","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Phillips 66":{"tags":{"name":"Phillips 66","amenity":"fuel"},"name":"Phillips 66","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Q1":{"tags":{"name":"Q1","amenity":"fuel"},"name":"Q1","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ป.ต.ท.":{"tags":{"name":"ป.ต.ท.","amenity":"fuel"},"name":"ป.ต.ท.","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Woolworths Petrol":{"tags":{"name":"Woolworths Petrol","amenity":"fuel"},"name":"Woolworths Petrol","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/PSO":{"tags":{"name":"PSO","amenity":"fuel"},"name":"PSO","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Татнефть":{"tags":{"name":"Татнефть","amenity":"fuel"},"name":"Татнефть","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Ceypetco":{"tags":{"name":"Ceypetco","amenity":"fuel"},"name":"Ceypetco","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Seaoil":{"tags":{"name":"Seaoil","amenity":"fuel"},"name":"Seaoil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sea Oil":{"tags":{"name":"Sea Oil","amenity":"fuel"},"name":"Sea Oil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Phoenix":{"tags":{"name":"Phoenix","amenity":"fuel"},"name":"Phoenix","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Cosmo":{"tags":{"name":"Cosmo","amenity":"fuel"},"name":"Cosmo","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Gazprom":{"tags":{"name":"Gazprom","amenity":"fuel"},"name":"Gazprom","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Kwik Trip":{"tags":{"name":"Kwik Trip","amenity":"fuel"},"name":"Kwik Trip","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/КазМунайГаз":{"tags":{"name":"КазМунайГаз","amenity":"fuel"},"name":"КазМунайГаз","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Pertamina":{"tags":{"name":"Pertamina","amenity":"fuel"},"name":"Pertamina","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/เอสโซ่":{"tags":{"name":"เอสโซ่","amenity":"fuel"},"name":"เอสโซ่","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Terpel":{"tags":{"name":"Terpel","amenity":"fuel"},"name":"Terpel","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Z":{"tags":{"name":"Z","amenity":"fuel"},"name":"Z","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Socar":{"tags":{"name":"Socar","amenity":"fuel"},"name":"Socar","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Bharat Petroleum":{"tags":{"name":"Bharat Petroleum","amenity":"fuel"},"name":"Bharat Petroleum","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Indian Oil":{"tags":{"name":"Indian Oil","amenity":"fuel"},"name":"Indian Oil","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/АГЗС":{"tags":{"name":"АГЗС","amenity":"fuel"},"name":"АГЗС","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/JOMO":{"tags":{"name":"JOMO","amenity":"fuel"},"name":"JOMO","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Holiday":{"tags":{"name":"Holiday","amenity":"fuel"},"name":"Holiday","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ОККО":{"tags":{"name":"ОККО","amenity":"fuel"},"name":"ОККО","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Exxon":{"tags":{"name":"Exxon","amenity":"fuel"},"name":"Exxon","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/コスモ石油":{"tags":{"name":"コスモ石油","amenity":"fuel"},"name":"コスモ石油","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/出光":{"tags":{"name":"出光","name:en":"IDEMITSU","amenity":"fuel"},"name":"出光","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ENEOS":{"tags":{"name":"ENEOS","amenity":"fuel"},"name":"ENEOS","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/WOG":{"tags":{"name":"WOG","amenity":"fuel"},"name":"WOG","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/CAMPSA":{"tags":{"name":"CAMPSA","amenity":"fuel"},"name":"CAMPSA","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Casey's General Store":{"tags":{"name":"Casey's General Store","amenity":"fuel"},"name":"Casey's General Store","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Башнефть":{"tags":{"name":"Башнефть","amenity":"fuel"},"name":"Башнефть","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Kangaroo":{"tags":{"name":"Kangaroo","amenity":"fuel"},"name":"Kangaroo","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Puma":{"tags":{"name":"Puma","amenity":"fuel"},"name":"Puma","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Hindustan Petroleum":{"tags":{"name":"Hindustan Petroleum","amenity":"fuel"},"name":"Hindustan Petroleum","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Lotos Optima":{"tags":{"name":"Lotos Optima","amenity":"fuel"},"name":"Lotos Optima","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/MEROIL":{"tags":{"name":"MEROIL","amenity":"fuel"},"name":"MEROIL","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/TEXACO":{"tags":{"name":"TEXACO","amenity":"fuel"},"name":"TEXACO","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ゼネラル":{"tags":{"name":"ゼネラル","amenity":"fuel"},"name":"ゼネラル","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Helios":{"tags":{"name":"Helios","amenity":"fuel"},"name":"Helios","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Татнефтепродукт":{"tags":{"name":"Татнефтепродукт","amenity":"fuel"},"name":"Татнефтепродукт","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/昭和シェル":{"tags":{"name":"昭和シェル","amenity":"fuel"},"name":"昭和シェル","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/BEBECO":{"tags":{"name":"BEBECO","amenity":"fuel"},"name":"BEBECO","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/НК Альянс":{"tags":{"name":"НК Альянс","amenity":"fuel"},"name":"НК Альянс","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/คาลเท็กซ์":{"tags":{"name":"คาลเท็กซ์","amenity":"fuel"},"name":"คาลเท็กซ์","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/JA-SS":{"tags":{"name":"JA-SS","amenity":"fuel"},"name":"JA-SS","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sinclair":{"tags":{"name":"Sinclair","amenity":"fuel"},"name":"Sinclair","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Conoco":{"tags":{"name":"Conoco","amenity":"fuel"},"name":"Conoco","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/SPBU":{"tags":{"name":"SPBU","amenity":"fuel"},"name":"SPBU","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Макпетрол":{"tags":{"name":"Макпетрол","amenity":"fuel"},"name":"Макпетрол","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Ipiranga":{"tags":{"name":"Ipiranga","amenity":"fuel"},"name":"Ipiranga","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/1-2-3":{"tags":{"name":"1-2-3","amenity":"fuel"},"name":"1-2-3","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Posto Ipiranga":{"tags":{"name":"Posto Ipiranga","amenity":"fuel"},"name":"Posto Ipiranga","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Drummed Fuel":{"tags":{"name":"Drummed Fuel","amenity":"fuel"},"name":"Drummed Fuel","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Rubis":{"tags":{"name":"Rubis","amenity":"fuel"},"name":"Rubis","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/БРСМ-Нафта":{"tags":{"name":"БРСМ-Нафта","amenity":"fuel"},"name":"БРСМ-Нафта","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/АГНКС":{"tags":{"name":"АГНКС","amenity":"fuel"},"name":"АГНКС","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/QuikTrip":{"tags":{"name":"QuikTrip","amenity":"fuel"},"name":"QuikTrip","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/เชลล์":{"tags":{"name":"เชลล์","amenity":"fuel"},"name":"เชลล์","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Posto BR":{"tags":{"name":"Posto BR","amenity":"fuel"},"name":"Posto BR","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/台灣中油":{"tags":{"name":"台灣中油","amenity":"fuel"},"name":"台灣中油","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/บางจาก":{"tags":{"name":"บางจาก","amenity":"fuel"},"name":"บางจาก","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/محطه وقود":{"tags":{"name":"محطه وقود","amenity":"fuel"},"name":"محطه وقود","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/ANP":{"tags":{"name":"ANP","amenity":"fuel"},"name":"ANP","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Kum & Go":{"tags":{"name":"Kum & Go","amenity":"fuel"},"name":"Kum & Go","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Primax":{"tags":{"name":"Primax","amenity":"fuel"},"name":"Primax","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Mobile":{"tags":{"name":"Mobile","amenity":"fuel"},"name":"Mobile","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Укрнафта":{"tags":{"name":"Укрнафта","amenity":"fuel"},"name":"Укрнафта","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Пропан":{"tags":{"name":"Пропан","amenity":"fuel"},"name":"Пропан","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petrolimex":{"tags":{"name":"Petrolimex","amenity":"fuel"},"name":"Petrolimex","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Tela":{"tags":{"name":"Tela","amenity":"fuel"},"name":"Tela","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Авіас":{"tags":{"name":"Авіас","amenity":"fuel"},"name":"Авіас","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sokimex":{"tags":{"name":"Sokimex","amenity":"fuel"},"name":"Sokimex","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Delta":{"tags":{"name":"Delta","amenity":"fuel"},"name":"Delta","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/H-E-B Gas":{"tags":{"name":"H-E-B Gas","amenity":"fuel"},"name":"H-E-B Gas","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Kroger Fuel":{"tags":{"name":"Kroger Fuel","amenity":"fuel"},"name":"Kroger Fuel","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Sinopec Fuel":{"tags":{"name":"Sinopec Fuel","amenity":"fuel"},"name":"Sinopec Fuel","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Posto Shell":{"tags":{"name":"Posto Shell","amenity":"fuel"},"name":"Posto Shell","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/RaceTrac":{"tags":{"name":"RaceTrac","amenity":"fuel"},"name":"RaceTrac","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/BR":{"tags":{"name":"BR","amenity":"fuel"},"name":"BR","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Costco Gas":{"tags":{"name":"Costco Gas","amenity":"fuel"},"name":"Costco Gas","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Murphy USA":{"tags":{"name":"Murphy USA","amenity":"fuel"},"name":"Murphy USA","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/پمپ گاز":{"tags":{"name":"پمپ گاز","amenity":"fuel"},"name":"پمپ گاز","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Нефтьмагистраль":{"tags":{"name":"Нефтьмагистраль","amenity":"fuel"},"name":"Нефтьмагистраль","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/PT":{"tags":{"name":"PT","amenity":"fuel"},"name":"PT","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Uno":{"tags":{"name":"Uno","amenity":"fuel"},"name":"Uno","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Independent Fuel Station":{"tags":{"name":"Independent Fuel Station","amenity":"fuel"},"name":"Independent Fuel Station","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/エネオス":{"tags":{"name":"エネオス","amenity":"fuel"},"name":"エネオス","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/P T":{"tags":{"name":"P T","amenity":"fuel"},"name":"P T","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Pecsa":{"tags":{"name":"Pecsa","amenity":"fuel"},"name":"Pecsa","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Bangchak":{"tags":{"name":"Bangchak","amenity":"fuel"},"name":"Bangchak","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/CNG":{"tags":{"name":"CNG","amenity":"fuel"},"name":"CNG","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Posto":{"tags":{"name":"Posto","amenity":"fuel"},"name":"Posto","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Posto Atem":{"tags":{"name":"Posto Atem","amenity":"fuel"},"name":"Posto Atem","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/GNV":{"tags":{"name":"GNV","amenity":"fuel"},"name":"GNV","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Minipump":{"tags":{"name":"Minipump","amenity":"fuel"},"name":"Minipump","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petroperu":{"tags":{"name":"Petroperu","amenity":"fuel"},"name":"Petroperu","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/fuel/Petrochina":{"tags":{"name":"Petrochina","amenity":"fuel"},"name":"Petrochina","icon":"fuel","geometry":["point","area"],"fields":["operator","address","opening_hours","fuel_multi"],"suggestion":true},"amenity/place_of_worship/Saint Mary":{"tags":{"name":"Saint Mary","amenity":"place_of_worship"},"name":"Saint Mary","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/All Saints":{"tags":{"name":"All Saints","amenity":"place_of_worship"},"name":"All Saints","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Andrew's":{"tags":{"name":"St Andrew's","amenity":"place_of_worship"},"name":"St Andrew's","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Catholic Church":{"tags":{"name":"Catholic Church","amenity":"place_of_worship"},"name":"Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Christ Church":{"tags":{"name":"Christ Church","amenity":"place_of_worship"},"name":"Christ Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Mary's":{"tags":{"name":"Saint Mary's","amenity":"place_of_worship"},"name":"Saint Mary's","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holy Trinity":{"tags":{"name":"Holy Trinity","amenity":"place_of_worship"},"name":"Holy Trinity","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Mary's Church":{"tags":{"name":"St Mary's Church","amenity":"place_of_worship"},"name":"St Mary's Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Marks Church":{"tags":{"name":"Saint Marks Church","amenity":"place_of_worship"},"name":"Saint Marks Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Mary":{"tags":{"name":"St Mary","amenity":"place_of_worship"},"name":"St Mary","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Trinity Baptist Church":{"tags":{"name":"Trinity Baptist Church","amenity":"place_of_worship"},"name":"Trinity Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sacred Heart Church":{"tags":{"name":"Sacred Heart Church","amenity":"place_of_worship"},"name":"Sacred Heart Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Peter":{"tags":{"name":"St Peter","amenity":"place_of_worship"},"name":"St Peter","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/All Saints Church":{"tags":{"name":"All Saints Church","amenity":"place_of_worship"},"name":"All Saints Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Northside Baptist Church":{"tags":{"name":"Northside Baptist Church","amenity":"place_of_worship"},"name":"Northside Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint John the Baptist":{"tags":{"name":"Saint John the Baptist","amenity":"place_of_worship"},"name":"Saint John the Baptist","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Zion Baptist Church":{"tags":{"name":"Zion Baptist Church","amenity":"place_of_worship"},"name":"Zion Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Trinity Methodist Church":{"tags":{"name":"Trinity Methodist Church","amenity":"place_of_worship"},"name":"Trinity Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Central Baptist Church":{"tags":{"name":"Central Baptist Church","amenity":"place_of_worship"},"name":"Central Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sacred Heart Catholic Church":{"tags":{"name":"Sacred Heart Catholic Church","amenity":"place_of_worship"},"name":"Sacred Heart Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kingdom Hall":{"tags":{"name":"Kingdom Hall","amenity":"place_of_worship"},"name":"Kingdom Hall","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/The Church of Jesus Christ of Latter-day Saints":{"tags":{"name":"The Church of Jesus Christ of Latter-day Saints","amenity":"place_of_worship"},"name":"The Church of Jesus Christ of Latter-day Saints","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Salvation Army":{"tags":{"name":"Salvation Army","amenity":"place_of_worship"},"name":"Salvation Army","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Baptist Church":{"tags":{"name":"Baptist Church","amenity":"place_of_worship"},"name":"Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St John the Baptist":{"tags":{"name":"St John the Baptist","amenity":"place_of_worship"},"name":"St John the Baptist","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Mary the Virgin":{"tags":{"name":"Saint Mary the Virgin","amenity":"place_of_worship"},"name":"Saint Mary the Virgin","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Marienkapelle":{"tags":{"name":"Marienkapelle","amenity":"place_of_worship"},"name":"Marienkapelle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Neuapostolische Kirche":{"tags":{"name":"Neuapostolische Kirche","amenity":"place_of_worship"},"name":"Neuapostolische Kirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Mary the Virgin":{"tags":{"name":"St Mary the Virgin","amenity":"place_of_worship"},"name":"St Mary the Virgin","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Seventh Day Adventist":{"tags":{"name":"Seventh Day Adventist","amenity":"place_of_worship"},"name":"Seventh Day Adventist","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Mary's Church":{"tags":{"name":"St. Mary's Church","amenity":"place_of_worship"},"name":"St. Mary's Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Friedhofskapelle":{"tags":{"name":"Friedhofskapelle","amenity":"place_of_worship"},"name":"Friedhofskapelle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Faith Baptist Church":{"tags":{"name":"Faith Baptist Church","amenity":"place_of_worship"},"name":"Faith Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Grace Lutheran Church":{"tags":{"name":"Grace Lutheran Church","amenity":"place_of_worship"},"name":"Grace Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Church of God":{"tags":{"name":"Church of God","amenity":"place_of_worship"},"name":"Church of God","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kingdom Hall of Jehovah's Witnesses":{"tags":{"name":"Kingdom Hall of Jehovah's Witnesses","amenity":"place_of_worship"},"name":"Kingdom Hall of Jehovah's Witnesses","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/United Reformed Church":{"tags":{"name":"United Reformed Church","amenity":"place_of_worship"},"name":"United Reformed Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Mary's":{"tags":{"name":"St. Mary's","amenity":"place_of_worship"},"name":"St. Mary's","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Peter's":{"tags":{"name":"St Peter's","amenity":"place_of_worship"},"name":"St Peter's","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Andrew's Church":{"tags":{"name":"St Andrew's Church","amenity":"place_of_worship"},"name":"St Andrew's Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kapelle":{"tags":{"name":"Kapelle","amenity":"place_of_worship"},"name":"Kapelle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Josef":{"tags":{"name":"St. Josef","amenity":"place_of_worship"},"name":"St. Josef","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Laurentius":{"tags":{"name":"St. Laurentius","amenity":"place_of_worship"},"name":"St. Laurentius","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Church of the Good Shepherd":{"tags":{"name":"Church of the Good Shepherd","amenity":"place_of_worship"},"name":"Church of the Good Shepherd","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Friedenskirche":{"tags":{"name":"Friedenskirche","amenity":"place_of_worship"},"name":"Friedenskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Hubertuskapelle":{"tags":{"name":"Hubertuskapelle","amenity":"place_of_worship"},"name":"Hubertuskapelle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Mary's":{"tags":{"name":"St Mary's","amenity":"place_of_worship"},"name":"St Mary's","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kingdom Hall of Jehovahs Witnesses":{"tags":{"name":"Kingdom Hall of Jehovahs Witnesses","amenity":"place_of_worship"},"name":"Kingdom Hall of Jehovahs Witnesses","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Mary's Church":{"tags":{"name":"Saint Mary's Church","amenity":"place_of_worship"},"name":"Saint Mary's Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pauluskirche":{"tags":{"name":"Pauluskirche","amenity":"place_of_worship"},"name":"Pauluskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Martinskirche":{"tags":{"name":"Martinskirche","amenity":"place_of_worship"},"name":"Martinskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Nicholas":{"tags":{"name":"St Nicholas","amenity":"place_of_worship"},"name":"St Nicholas","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Erlöserkirche":{"tags":{"name":"Erlöserkirche","amenity":"place_of_worship"},"name":"Erlöserkirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Pauls Church":{"tags":{"name":"Saint Pauls Church","amenity":"place_of_worship"},"name":"Saint Pauls Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Josephs Church":{"tags":{"name":"Saint Josephs Church","amenity":"place_of_worship"},"name":"Saint Josephs Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mariä Himmelfahrt":{"tags":{"name":"Mariä Himmelfahrt","amenity":"place_of_worship"},"name":"Mariä Himmelfahrt","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Heilig-Geist-Kirche":{"tags":{"name":"Heilig-Geist-Kirche","amenity":"place_of_worship"},"name":"Heilig-Geist-Kirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Peter und Paul":{"tags":{"name":"St. Peter und Paul","amenity":"place_of_worship"},"name":"St. Peter und Paul","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Königreichssaal":{"tags":{"name":"Königreichssaal","amenity":"place_of_worship"},"name":"Königreichssaal","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Auferstehungskirche":{"tags":{"name":"Auferstehungskirche","amenity":"place_of_worship"},"name":"Auferstehungskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Johannes Baptist":{"tags":{"name":"St. Johannes Baptist","amenity":"place_of_worship"},"name":"St. Johannes Baptist","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Herz Jesu":{"tags":{"name":"Herz Jesu","amenity":"place_of_worship"},"name":"Herz Jesu","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kirche":{"tags":{"name":"Kirche","amenity":"place_of_worship"},"name":"Kirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Grace Chapel":{"tags":{"name":"Grace Chapel","amenity":"place_of_worship"},"name":"Grace Chapel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Katholische Kirche":{"tags":{"name":"Katholische Kirche","amenity":"place_of_worship"},"name":"Katholische Kirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sankt Michael":{"tags":{"name":"Sankt Michael","amenity":"place_of_worship"},"name":"Sankt Michael","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Christuskirche":{"tags":{"name":"Christuskirche","amenity":"place_of_worship"},"name":"Christuskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Michael":{"tags":{"name":"St. Michael","amenity":"place_of_worship"},"name":"St. Michael","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Lutherkirche":{"tags":{"name":"Lutherkirche","amenity":"place_of_worship"},"name":"Lutherkirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Church":{"tags":{"name":"Church","amenity":"place_of_worship"},"name":"Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Evangelische Kirche":{"tags":{"name":"Evangelische Kirche","amenity":"place_of_worship"},"name":"Evangelische Kirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Johanniskirche":{"tags":{"name":"Johanniskirche","amenity":"place_of_worship"},"name":"Johanniskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Georg":{"tags":{"name":"St. Georg","amenity":"place_of_worship"},"name":"St. Georg","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sankt Laurentius":{"tags":{"name":"Sankt Laurentius","amenity":"place_of_worship"},"name":"Sankt Laurentius","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Stephanus":{"tags":{"name":"St. Stephanus","amenity":"place_of_worship"},"name":"St. Stephanus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di Sant'Antonio":{"tags":{"name":"Chiesa di Sant'Antonio","amenity":"place_of_worship"},"name":"Chiesa di Sant'Antonio","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église":{"tags":{"name":"Église","amenity":"place_of_worship"},"name":"Église","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Joseph Church":{"tags":{"name":"Saint Joseph Church","amenity":"place_of_worship"},"name":"Saint Joseph Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bible Baptist Church":{"tags":{"name":"Bible Baptist Church","amenity":"place_of_worship"},"name":"Bible Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Church of Christ":{"tags":{"name":"Church of Christ","amenity":"place_of_worship"},"name":"Church of Christ","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Peter":{"tags":{"name":"Saint Peter","amenity":"place_of_worship"},"name":"Saint Peter","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kreuzkirche":{"tags":{"name":"Kreuzkirche","amenity":"place_of_worship"},"name":"Kreuzkirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Seventh Day Adventist Church":{"tags":{"name":"Seventh Day Adventist Church","amenity":"place_of_worship"},"name":"Seventh Day Adventist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Sebastian":{"tags":{"name":"St. Sebastian","amenity":"place_of_worship"},"name":"St. Sebastian","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Peters Church":{"tags":{"name":"Saint Peters Church","amenity":"place_of_worship"},"name":"Saint Peters Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Methodist Church":{"tags":{"name":"Methodist Church","amenity":"place_of_worship"},"name":"Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Heilig-Kreuz-Kirche":{"tags":{"name":"Heilig-Kreuz-Kirche","amenity":"place_of_worship"},"name":"Heilig-Kreuz-Kirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Herz-Jesu-Kirche":{"tags":{"name":"Herz-Jesu-Kirche","amenity":"place_of_worship"},"name":"Herz-Jesu-Kirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Maria Hilf":{"tags":{"name":"Maria Hilf","amenity":"place_of_worship"},"name":"Maria Hilf","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Shady Grove Church":{"tags":{"name":"Shady Grove Church","amenity":"place_of_worship"},"name":"Shady Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Johannes der Täufer":{"tags":{"name":"St. Johannes der Täufer","amenity":"place_of_worship"},"name":"St. Johannes der Täufer","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Thomaskirche":{"tags":{"name":"Thomaskirche","amenity":"place_of_worship"},"name":"Thomaskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Stadtkirche":{"tags":{"name":"Stadtkirche","amenity":"place_of_worship"},"name":"Stadtkirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Heilige Familie":{"tags":{"name":"Heilige Familie","amenity":"place_of_worship"},"name":"Heilige Familie","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Jehovas Zeugen":{"tags":{"name":"Jehovas Zeugen","amenity":"place_of_worship"},"name":"Jehovas Zeugen","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Versöhnungskirche":{"tags":{"name":"Versöhnungskirche","amenity":"place_of_worship"},"name":"Versöhnungskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Mary Magdalene":{"tags":{"name":"St Mary Magdalene","amenity":"place_of_worship"},"name":"St Mary Magdalene","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sankt Marien":{"tags":{"name":"Sankt Marien","amenity":"place_of_worship"},"name":"Sankt Marien","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sankt Martin":{"tags":{"name":"Sankt Martin","amenity":"place_of_worship"},"name":"Sankt Martin","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St James":{"tags":{"name":"St James","amenity":"place_of_worship"},"name":"St James","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Michael and All Angels":{"tags":{"name":"St Michael and All Angels","amenity":"place_of_worship"},"name":"St Michael and All Angels","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Waldkapelle":{"tags":{"name":"Waldkapelle","amenity":"place_of_worship"},"name":"Waldkapelle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sankt Nikolaus":{"tags":{"name":"Sankt Nikolaus","amenity":"place_of_worship"},"name":"Sankt Nikolaus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Joseph":{"tags":{"name":"St. Joseph","amenity":"place_of_worship"},"name":"St. Joseph","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Friends Meeting House":{"tags":{"name":"Friends Meeting House","amenity":"place_of_worship"},"name":"Friends Meeting House","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Katharina":{"tags":{"name":"St. Katharina","amenity":"place_of_worship"},"name":"St. Katharina","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Stupa":{"tags":{"name":"Stupa","amenity":"place_of_worship"},"name":"Stupa","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Jézus Szíve-templom":{"tags":{"name":"Jézus Szíve-templom","amenity":"place_of_worship"},"name":"Jézus Szíve-templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Concord Church":{"tags":{"name":"Concord Church","amenity":"place_of_worship"},"name":"Concord Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Congregational Church":{"tags":{"name":"Congregational Church","amenity":"place_of_worship"},"name":"Congregational Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chapelle":{"tags":{"name":"Chapelle","amenity":"place_of_worship"},"name":"Chapelle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь":{"tags":{"name":"Церковь","amenity":"place_of_worship"},"name":"Церковь","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kreuzkapelle":{"tags":{"name":"Kreuzkapelle","amenity":"place_of_worship"},"name":"Kreuzkapelle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Heilig Kreuz":{"tags":{"name":"Heilig Kreuz","amenity":"place_of_worship"},"name":"Heilig Kreuz","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Jakob":{"tags":{"name":"St. Jakob","amenity":"place_of_worship"},"name":"St. Jakob","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Leonhard":{"tags":{"name":"St. Leonhard","amenity":"place_of_worship"},"name":"St. Leonhard","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St John the Evangelist":{"tags":{"name":"St John the Evangelist","amenity":"place_of_worship"},"name":"St John the Evangelist","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Anglican Church":{"tags":{"name":"Anglican Church","amenity":"place_of_worship"},"name":"Anglican Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Heilig Geist":{"tags":{"name":"Heilig Geist","amenity":"place_of_worship"},"name":"Heilig Geist","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Peter's Church":{"tags":{"name":"St Peter's Church","amenity":"place_of_worship"},"name":"St Peter's Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Ulrich":{"tags":{"name":"St. Ulrich","amenity":"place_of_worship"},"name":"St. Ulrich","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Emmanuel Church":{"tags":{"name":"Emmanuel Church","amenity":"place_of_worship"},"name":"Emmanuel Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Johanneskirche":{"tags":{"name":"Johanneskirche","amenity":"place_of_worship"},"name":"Johanneskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Martin-Luther-Kirche":{"tags":{"name":"Martin-Luther-Kirche","amenity":"place_of_worship"},"name":"Martin-Luther-Kirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Foursquare Gospel Church":{"tags":{"name":"Foursquare Gospel Church","amenity":"place_of_worship"},"name":"Foursquare Gospel Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Marien":{"tags":{"name":"St. Marien","amenity":"place_of_worship"},"name":"St. Marien","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Liebfrauenkirche":{"tags":{"name":"Liebfrauenkirche","amenity":"place_of_worship"},"name":"Liebfrauenkirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Seventh-Day Adventist Church":{"tags":{"name":"Seventh-Day Adventist Church","amenity":"place_of_worship"},"name":"Seventh-Day Adventist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Biserica":{"tags":{"name":"Biserica","amenity":"place_of_worship"},"name":"Biserica","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Evangelisch-Freikirchliche Gemeinde":{"tags":{"name":"Evangelisch-Freikirchliche Gemeinde","amenity":"place_of_worship"},"name":"Evangelisch-Freikirchliche Gemeinde","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Marienkirche":{"tags":{"name":"Marienkirche","amenity":"place_of_worship"},"name":"Marienkirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de San Juan":{"tags":{"name":"Iglesia de San Juan","amenity":"place_of_worship"},"name":"Iglesia de San Juan","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Antonius":{"tags":{"name":"St. Antonius","amenity":"place_of_worship"},"name":"St. Antonius","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Paul's":{"tags":{"name":"St Paul's","amenity":"place_of_worship"},"name":"St Paul's","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St John's Church":{"tags":{"name":"St John's Church","amenity":"place_of_worship"},"name":"St John's Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Jakobus":{"tags":{"name":"St. Jakobus","amenity":"place_of_worship"},"name":"St. Jakobus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Peters":{"tags":{"name":"St Peters","amenity":"place_of_worship"},"name":"St Peters","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Masjid":{"tags":{"name":"Masjid","amenity":"place_of_worship"},"name":"Masjid","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holy Trinity Church":{"tags":{"name":"Holy Trinity Church","amenity":"place_of_worship"},"name":"Holy Trinity Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Redeemer Lutheran Church":{"tags":{"name":"Redeemer Lutheran Church","amenity":"place_of_worship"},"name":"Redeemer Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Andrew":{"tags":{"name":"St Andrew","amenity":"place_of_worship"},"name":"St Andrew","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sankt Georg":{"tags":{"name":"Sankt Georg","amenity":"place_of_worship"},"name":"Sankt Georg","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Andreas":{"tags":{"name":"St. Andreas","amenity":"place_of_worship"},"name":"St. Andreas","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Andrews":{"tags":{"name":"St Andrews","amenity":"place_of_worship"},"name":"St Andrews","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Αγία Παρασκευή":{"tags":{"name":"Αγία Παρασκευή","amenity":"place_of_worship"},"name":"Αγία Παρασκευή","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Francesco":{"tags":{"name":"San Francesco","amenity":"place_of_worship"},"name":"San Francesco","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Martin":{"tags":{"name":"St. Martin","amenity":"place_of_worship"},"name":"St. Martin","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Nikolaus":{"tags":{"name":"St. Nikolaus","amenity":"place_of_worship"},"name":"St. Nikolaus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Maria Himmelfahrt":{"tags":{"name":"Maria Himmelfahrt","amenity":"place_of_worship"},"name":"Maria Himmelfahrt","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Synagogue":{"tags":{"name":"Synagogue","amenity":"place_of_worship"},"name":"Synagogue","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Johann Baptist":{"tags":{"name":"St. Johann Baptist","amenity":"place_of_worship"},"name":"St. Johann Baptist","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/The Salvation Army":{"tags":{"name":"The Salvation Army","amenity":"place_of_worship"},"name":"The Salvation Army","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de San Andrés":{"tags":{"name":"Iglesia de San Andrés","amenity":"place_of_worship"},"name":"Iglesia de San Andrés","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Surau":{"tags":{"name":"Surau","amenity":"place_of_worship"},"name":"Surau","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Trinity Church":{"tags":{"name":"Trinity Church","amenity":"place_of_worship"},"name":"Trinity Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mariengrotte":{"tags":{"name":"Mariengrotte","amenity":"place_of_worship"},"name":"Mariengrotte","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Andrews Church":{"tags":{"name":"Saint Andrews Church","amenity":"place_of_worship"},"name":"Saint Andrews Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/熊野神社":{"tags":{"name":"熊野神社","amenity":"place_of_worship"},"name":"熊野神社","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Martino":{"tags":{"name":"Chiesa di San Martino","amenity":"place_of_worship"},"name":"Chiesa di San Martino","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia":{"tags":{"name":"Iglesia","amenity":"place_of_worship"},"name":"Iglesia","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mosque":{"tags":{"name":"Mosque","amenity":"place_of_worship"},"name":"Mosque","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Προφήτης Ηλίας":{"tags":{"name":"Προφήτης Ηλίας","amenity":"place_of_worship"},"name":"Προφήτης Ηλίας","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Calvary Church":{"tags":{"name":"Calvary Church","amenity":"place_of_worship"},"name":"Calvary Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Peter":{"tags":{"name":"St. Peter","amenity":"place_of_worship"},"name":"St. Peter","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Bartholomäus":{"tags":{"name":"St. Bartholomäus","amenity":"place_of_worship"},"name":"St. Bartholomäus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sankt Andreas":{"tags":{"name":"Sankt Andreas","amenity":"place_of_worship"},"name":"Sankt Andreas","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Преображения Господня":{"tags":{"name":"Церковь Преображения Господня","amenity":"place_of_worship"},"name":"Церковь Преображения Господня","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Peter's Church":{"tags":{"name":"Saint Peter's Church","amenity":"place_of_worship"},"name":"Saint Peter's Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chapelle Sainte-Anne":{"tags":{"name":"Chapelle Sainte-Anne","amenity":"place_of_worship"},"name":"Chapelle Sainte-Anne","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Baptist Church":{"tags":{"name":"First Baptist Church","amenity":"place_of_worship"},"name":"First Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Igreja Matriz":{"tags":{"name":"Igreja Matriz","amenity":"place_of_worship"},"name":"Igreja Matriz","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Josephs Catholic Church":{"tags":{"name":"Saint Josephs Catholic Church","amenity":"place_of_worship"},"name":"Saint Josephs Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Michel":{"tags":{"name":"Église Saint-Michel","amenity":"place_of_worship"},"name":"Église Saint-Michel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Johannes":{"tags":{"name":"St. Johannes","amenity":"place_of_worship"},"name":"St. Johannes","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sankt Josef":{"tags":{"name":"Sankt Josef","amenity":"place_of_worship"},"name":"Sankt Josef","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Giuseppe":{"tags":{"name":"Chiesa di San Giuseppe","amenity":"place_of_worship"},"name":"Chiesa di San Giuseppe","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Bonifatius":{"tags":{"name":"St. Bonifatius","amenity":"place_of_worship"},"name":"St. Bonifatius","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Giorgio":{"tags":{"name":"Chiesa di San Giorgio","amenity":"place_of_worship"},"name":"Chiesa di San Giorgio","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Giovanni Battista":{"tags":{"name":"Chiesa di San Giovanni Battista","amenity":"place_of_worship"},"name":"Chiesa di San Giovanni Battista","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Barbara":{"tags":{"name":"St. Barbara","amenity":"place_of_worship"},"name":"St. Barbara","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Life Church":{"tags":{"name":"New Life Church","amenity":"place_of_worship"},"name":"New Life Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia ni Cristo":{"tags":{"name":"Iglesia ni Cristo","amenity":"place_of_worship"},"name":"Iglesia ni Cristo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia Ni Cristo":{"tags":{"name":"Iglesia Ni Cristo","amenity":"place_of_worship"},"name":"Iglesia Ni Cristo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Calvary Baptist Church":{"tags":{"name":"Calvary Baptist Church","amenity":"place_of_worship"},"name":"Calvary Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/United Methodist Church":{"tags":{"name":"United Methodist Church","amenity":"place_of_worship"},"name":"United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethany Baptist Church":{"tags":{"name":"Bethany Baptist Church","amenity":"place_of_worship"},"name":"Bethany Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Francis Church":{"tags":{"name":"Saint Francis Church","amenity":"place_of_worship"},"name":"Saint Francis Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holy Family Church":{"tags":{"name":"Holy Family Church","amenity":"place_of_worship"},"name":"Holy Family Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Wesleyan Church":{"tags":{"name":"Wesleyan Church","amenity":"place_of_worship"},"name":"Wesleyan Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/United Pentecostal Church":{"tags":{"name":"United Pentecostal Church","amenity":"place_of_worship"},"name":"United Pentecostal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Trinity Lutheran Church":{"tags":{"name":"Trinity Lutheran Church","amenity":"place_of_worship"},"name":"Trinity Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Antoniuskapelle":{"tags":{"name":"Antoniuskapelle","amenity":"place_of_worship"},"name":"Antoniuskapelle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Emmanuel Baptist Church":{"tags":{"name":"Emmanuel Baptist Church","amenity":"place_of_worship"},"name":"Emmanuel Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chapel":{"tags":{"name":"Chapel","amenity":"place_of_worship"},"name":"Chapel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Pietro":{"tags":{"name":"San Pietro","amenity":"place_of_worship"},"name":"San Pietro","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Ägidius":{"tags":{"name":"St. Ägidius","amenity":"place_of_worship"},"name":"St. Ägidius","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de San Martín":{"tags":{"name":"Iglesia de San Martín","amenity":"place_of_worship"},"name":"Iglesia de San Martín","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ermita de San Roque":{"tags":{"name":"Ermita de San Roque","amenity":"place_of_worship"},"name":"Ermita de San Roque","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Igreja Batista":{"tags":{"name":"Igreja Batista","amenity":"place_of_worship"},"name":"Igreja Batista","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Elisabeth":{"tags":{"name":"St. Elisabeth","amenity":"place_of_worship"},"name":"St. Elisabeth","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Anna":{"tags":{"name":"St. Anna","amenity":"place_of_worship"},"name":"St. Anna","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Dorfkirche":{"tags":{"name":"Dorfkirche","amenity":"place_of_worship"},"name":"Dorfkirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Assembleia de Deus":{"tags":{"name":"Assembleia de Deus","amenity":"place_of_worship"},"name":"Assembleia de Deus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Martinus":{"tags":{"name":"St. Martinus","amenity":"place_of_worship"},"name":"St. Martinus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Hope Church":{"tags":{"name":"Hope Church","amenity":"place_of_worship"},"name":"Hope Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Biserică":{"tags":{"name":"Biserică","amenity":"place_of_worship"},"name":"Biserică","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Pankratius":{"tags":{"name":"St. Pankratius","amenity":"place_of_worship"},"name":"St. Pankratius","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Temple":{"tags":{"name":"Temple","amenity":"place_of_worship"},"name":"Temple","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Biserica Ortodoxă":{"tags":{"name":"Biserica Ortodoxă","amenity":"place_of_worship"},"name":"Biserica Ortodoxă","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holy Family Catholic Church":{"tags":{"name":"Holy Family Catholic Church","amenity":"place_of_worship"},"name":"Holy Family Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/諏訪神社":{"tags":{"name":"諏訪神社","amenity":"place_of_worship"},"name":"諏訪神社","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Rocco":{"tags":{"name":"Chiesa di San Rocco","amenity":"place_of_worship"},"name":"Chiesa di San Rocco","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa":{"tags":{"name":"Chiesa","amenity":"place_of_worship"},"name":"Chiesa","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/八坂神社":{"tags":{"name":"八坂神社","amenity":"place_of_worship"},"name":"八坂神社","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Klosterkirche":{"tags":{"name":"Klosterkirche","amenity":"place_of_worship"},"name":"Klosterkirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Pierre":{"tags":{"name":"Église Saint-Pierre","amenity":"place_of_worship"},"name":"Église Saint-Pierre","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sankt Peter und Paul":{"tags":{"name":"Sankt Peter und Paul","amenity":"place_of_worship"},"name":"Sankt Peter und Paul","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Maria":{"tags":{"name":"St. Maria","amenity":"place_of_worship"},"name":"St. Maria","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Jerusalem Church":{"tags":{"name":"New Jerusalem Church","amenity":"place_of_worship"},"name":"New Jerusalem Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Martino":{"tags":{"name":"San Martino","amenity":"place_of_worship"},"name":"San Martino","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Antoine":{"tags":{"name":"Église Saint-Antoine","amenity":"place_of_worship"},"name":"Église Saint-Antoine","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St Michael's":{"tags":{"name":"St Michael's","amenity":"place_of_worship"},"name":"St Michael's","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Vitus":{"tags":{"name":"St. Vitus","amenity":"place_of_worship"},"name":"St. Vitus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Santo Stefano":{"tags":{"name":"Santo Stefano","amenity":"place_of_worship"},"name":"Santo Stefano","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Giovanni Battista":{"tags":{"name":"San Giovanni Battista","amenity":"place_of_worship"},"name":"San Giovanni Battista","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Markuskirche":{"tags":{"name":"Markuskirche","amenity":"place_of_worship"},"name":"Markuskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Calvary Chapel":{"tags":{"name":"Calvary Chapel","amenity":"place_of_worship"},"name":"Calvary Chapel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Dreifaltigkeitskirche":{"tags":{"name":"Dreifaltigkeitskirche","amenity":"place_of_worship"},"name":"Dreifaltigkeitskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kapel":{"tags":{"name":"Kapel","amenity":"place_of_worship"},"name":"Kapel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Martin":{"tags":{"name":"Église Saint-Martin","amenity":"place_of_worship"},"name":"Église Saint-Martin","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ermita de San Miguel":{"tags":{"name":"Ermita de San Miguel","amenity":"place_of_worship"},"name":"Ermita de San Miguel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Троицы Живоначальной":{"tags":{"name":"Церковь Троицы Живоначальной","amenity":"place_of_worship"},"name":"Церковь Троицы Живоначальной","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethlehem Lutheran Church":{"tags":{"name":"Bethlehem Lutheran Church","amenity":"place_of_worship"},"name":"Bethlehem Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Johannis":{"tags":{"name":"St. Johannis","amenity":"place_of_worship"},"name":"St. Johannis","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Maria Königin":{"tags":{"name":"Maria Königin","amenity":"place_of_worship"},"name":"Maria Königin","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di Sant'Andrea":{"tags":{"name":"Chiesa di Sant'Andrea","amenity":"place_of_worship"},"name":"Chiesa di Sant'Andrea","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mariä Heimsuchung":{"tags":{"name":"Mariä Heimsuchung","amenity":"place_of_worship"},"name":"Mariä Heimsuchung","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Zion Lutheran Church":{"tags":{"name":"Zion Lutheran Church","amenity":"place_of_worship"},"name":"Zion Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pfarrkirche":{"tags":{"name":"Pfarrkirche","amenity":"place_of_worship"},"name":"Pfarrkirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Hilaire":{"tags":{"name":"Église Saint-Hilaire","amenity":"place_of_worship"},"name":"Église Saint-Hilaire","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holy Cross Church":{"tags":{"name":"Holy Cross Church","amenity":"place_of_worship"},"name":"Holy Cross Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Margaretha":{"tags":{"name":"St. Margaretha","amenity":"place_of_worship"},"name":"St. Margaretha","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di Santa Lucia":{"tags":{"name":"Chiesa di Santa Lucia","amenity":"place_of_worship"},"name":"Chiesa di Santa Lucia","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ermita":{"tags":{"name":"Ermita","amenity":"place_of_worship"},"name":"Ermita","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Mary's Catholic Church":{"tags":{"name":"Saint Mary's Catholic Church","amenity":"place_of_worship"},"name":"Saint Mary's Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Christophe":{"tags":{"name":"Église Saint-Christophe","amenity":"place_of_worship"},"name":"Église Saint-Christophe","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Königreichssaal Jehovas Zeugen":{"tags":{"name":"Königreichssaal Jehovas Zeugen","amenity":"place_of_worship"},"name":"Königreichssaal Jehovas Zeugen","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Trauerhalle":{"tags":{"name":"Trauerhalle","amenity":"place_of_worship"},"name":"Trauerhalle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia Parroquial":{"tags":{"name":"Iglesia Parroquial","amenity":"place_of_worship"},"name":"Iglesia Parroquial","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Church of God of Prophecy":{"tags":{"name":"Church of God of Prophecy","amenity":"place_of_worship"},"name":"Church of God of Prophecy","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Olive Baptist Church":{"tags":{"name":"Mount Olive Baptist Church","amenity":"place_of_worship"},"name":"Mount Olive Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Giovanni":{"tags":{"name":"Chiesa di San Giovanni","amenity":"place_of_worship"},"name":"Chiesa di San Giovanni","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Michaelskirche":{"tags":{"name":"Michaelskirche","amenity":"place_of_worship"},"name":"Michaelskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Άγιος Γεώργιος":{"tags":{"name":"Άγιος Γεώργιος","amenity":"place_of_worship"},"name":"Άγιος Γεώργιος","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Reformierte Kirche":{"tags":{"name":"Reformierte Kirche","amenity":"place_of_worship"},"name":"Reformierte Kirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Aussegnungshalle":{"tags":{"name":"Aussegnungshalle","amenity":"place_of_worship"},"name":"Aussegnungshalle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Wesley Church":{"tags":{"name":"Wesley Church","amenity":"place_of_worship"},"name":"Wesley Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First United Methodist Church":{"tags":{"name":"First United Methodist Church","amenity":"place_of_worship"},"name":"First United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/稲荷神社":{"tags":{"name":"稲荷神社","amenity":"place_of_worship"},"name":"稲荷神社","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Michele Arcangelo":{"tags":{"name":"San Michele Arcangelo","amenity":"place_of_worship"},"name":"San Michele Arcangelo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Mauritius":{"tags":{"name":"St. Mauritius","amenity":"place_of_worship"},"name":"St. Mauritius","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/svatý Václav":{"tags":{"name":"svatý Václav","amenity":"place_of_worship"},"name":"svatý Václav","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Lorenzo":{"tags":{"name":"San Lorenzo","amenity":"place_of_worship"},"name":"San Lorenzo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de San Juan Bautista":{"tags":{"name":"Iglesia de San Juan Bautista","amenity":"place_of_worship"},"name":"Iglesia de San Juan Bautista","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Evangelical Free Church":{"tags":{"name":"Evangelical Free Church","amenity":"place_of_worship"},"name":"Evangelical Free Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Providence Church":{"tags":{"name":"Providence Church","amenity":"place_of_worship"},"name":"Providence Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Vincent":{"tags":{"name":"Église Saint-Vincent","amenity":"place_of_worship"},"name":"Église Saint-Vincent","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chapelle Saint-Roch":{"tags":{"name":"Chapelle Saint-Roch","amenity":"place_of_worship"},"name":"Chapelle Saint-Roch","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Giuseppe":{"tags":{"name":"San Giuseppe","amenity":"place_of_worship"},"name":"San Giuseppe","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Presbyterian Church":{"tags":{"name":"First Presbyterian Church","amenity":"place_of_worship"},"name":"First Presbyterian Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Denis":{"tags":{"name":"Église Saint-Denis","amenity":"place_of_worship"},"name":"Église Saint-Denis","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/church":{"tags":{"name":"church","amenity":"place_of_worship"},"name":"church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pentecostal Church":{"tags":{"name":"Pentecostal Church","amenity":"place_of_worship"},"name":"Pentecostal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Fellowship Baptist Church":{"tags":{"name":"Fellowship Baptist Church","amenity":"place_of_worship"},"name":"Fellowship Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Church of the Nazarene":{"tags":{"name":"First Church of the Nazarene","amenity":"place_of_worship"},"name":"First Church of the Nazarene","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia Evangelica":{"tags":{"name":"Iglesia Evangelica","amenity":"place_of_worship"},"name":"Iglesia Evangelica","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de Nuestra Señora de la Asunción":{"tags":{"name":"Iglesia de Nuestra Señora de la Asunción","amenity":"place_of_worship"},"name":"Iglesia de Nuestra Señora de la Asunción","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mariä Geburt":{"tags":{"name":"Mariä Geburt","amenity":"place_of_worship"},"name":"Mariä Geburt","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Grace Baptist Church":{"tags":{"name":"Grace Baptist Church","amenity":"place_of_worship"},"name":"Grace Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Hope Lutheran Church":{"tags":{"name":"Hope Lutheran Church","amenity":"place_of_worship"},"name":"Hope Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Giorgio":{"tags":{"name":"San Giorgio","amenity":"place_of_worship"},"name":"San Giorgio","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/St. Stephan":{"tags":{"name":"St. Stephan","amenity":"place_of_worship"},"name":"St. Stephan","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Éloi":{"tags":{"name":"Église Saint-Éloi","amenity":"place_of_worship"},"name":"Église Saint-Éloi","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Notre-Dame":{"tags":{"name":"Église Notre-Dame","amenity":"place_of_worship"},"name":"Église Notre-Dame","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chapelle Saint-Jean":{"tags":{"name":"Chapelle Saint-Jean","amenity":"place_of_worship"},"name":"Chapelle Saint-Jean","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Sainte-Anne":{"tags":{"name":"Église Sainte-Anne","amenity":"place_of_worship"},"name":"Église Sainte-Anne","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Lorenzo":{"tags":{"name":"Chiesa di San Lorenzo","amenity":"place_of_worship"},"name":"Chiesa di San Lorenzo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Aubin":{"tags":{"name":"Église Saint-Aubin","amenity":"place_of_worship"},"name":"Église Saint-Aubin","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chapelle Saint-Pierre":{"tags":{"name":"Chapelle Saint-Pierre","amenity":"place_of_worship"},"name":"Chapelle Saint-Pierre","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Michaels Church":{"tags":{"name":"Saint Michaels Church","amenity":"place_of_worship"},"name":"Saint Michaels Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Messiah Lutheran Church":{"tags":{"name":"Messiah Lutheran Church","amenity":"place_of_worship"},"name":"Messiah Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Madonna della Neve":{"tags":{"name":"Madonna della Neve","amenity":"place_of_worship"},"name":"Madonna della Neve","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Pauls Lutheran Church":{"tags":{"name":"Saint Pauls Lutheran Church","amenity":"place_of_worship"},"name":"Saint Pauls Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Church of God in Christ":{"tags":{"name":"Church of God in Christ","amenity":"place_of_worship"},"name":"Church of God in Christ","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Immaculate Conception Catholic Church":{"tags":{"name":"Immaculate Conception Catholic Church","amenity":"place_of_worship"},"name":"Immaculate Conception Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Church of Christ Scientist":{"tags":{"name":"First Church of Christ Scientist","amenity":"place_of_worship"},"name":"First Church of Christ Scientist","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di Santa Maria Assunta":{"tags":{"name":"Chiesa di Santa Maria Assunta","amenity":"place_of_worship"},"name":"Chiesa di Santa Maria Assunta","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Apostolic Church":{"tags":{"name":"New Apostolic Church","amenity":"place_of_worship"},"name":"New Apostolic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Free Methodist Church":{"tags":{"name":"Free Methodist Church","amenity":"place_of_worship"},"name":"Free Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de Dios":{"tags":{"name":"Iglesia de Dios","amenity":"place_of_worship"},"name":"Iglesia de Dios","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Apostolic Church":{"tags":{"name":"Apostolic Church","amenity":"place_of_worship"},"name":"Apostolic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Francesco":{"tags":{"name":"Chiesa di San Francesco","amenity":"place_of_worship"},"name":"Chiesa di San Francesco","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ermita de San Antonio":{"tags":{"name":"Ermita de San Antonio","amenity":"place_of_worship"},"name":"Ermita de San Antonio","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Joseph":{"tags":{"name":"Église Saint-Joseph","amenity":"place_of_worship"},"name":"Église Saint-Joseph","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Church of the Nazarene":{"tags":{"name":"Church of the Nazarene","amenity":"place_of_worship"},"name":"Church of the Nazarene","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Community of Christ":{"tags":{"name":"Community of Christ","amenity":"place_of_worship"},"name":"Community of Christ","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Parroquia":{"tags":{"name":"Parroquia","amenity":"place_of_worship"},"name":"Parroquia","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Santa Maria":{"tags":{"name":"Santa Maria","amenity":"place_of_worship"},"name":"Santa Maria","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Мечеть":{"tags":{"name":"Мечеть","amenity":"place_of_worship"},"name":"Мечеть","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Königreichsaal":{"tags":{"name":"Königreichsaal","amenity":"place_of_worship"},"name":"Königreichsaal","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ev. Kirche":{"tags":{"name":"Ev. Kirche","amenity":"place_of_worship"},"name":"Ev. Kirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de San Miguel":{"tags":{"name":"Iglesia de San Miguel","amenity":"place_of_worship"},"name":"Iglesia de San Miguel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Paul Church":{"tags":{"name":"Saint Paul Church","amenity":"place_of_worship"},"name":"Saint Paul Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Antioch Church":{"tags":{"name":"Antioch Church","amenity":"place_of_worship"},"name":"Antioch Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Assembly of God Church":{"tags":{"name":"Assembly of God Church","amenity":"place_of_worship"},"name":"Assembly of God Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethany Church":{"tags":{"name":"Bethany Church","amenity":"place_of_worship"},"name":"Bethany Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethel Church":{"tags":{"name":"Bethel Church","amenity":"place_of_worship"},"name":"Bethel Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethel Lutheran Church":{"tags":{"name":"Bethel Lutheran Church","amenity":"place_of_worship"},"name":"Bethel Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethesda Church":{"tags":{"name":"Bethesda Church","amenity":"place_of_worship"},"name":"Bethesda Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethlehem Church":{"tags":{"name":"Bethlehem Church","amenity":"place_of_worship"},"name":"Bethlehem Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Beulah Church":{"tags":{"name":"Beulah Church","amenity":"place_of_worship"},"name":"Beulah Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Christian Church":{"tags":{"name":"Christian Church","amenity":"place_of_worship"},"name":"Christian Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Church of the Brethren":{"tags":{"name":"Church of the Brethren","amenity":"place_of_worship"},"name":"Church of the Brethren","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Church of Jesus Christ":{"tags":{"name":"Church of Jesus Christ","amenity":"place_of_worship"},"name":"Church of Jesus Christ","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Community Church":{"tags":{"name":"Community Church","amenity":"place_of_worship"},"name":"Community Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/County Line Church":{"tags":{"name":"County Line Church","amenity":"place_of_worship"},"name":"County Line Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ebenezer Church":{"tags":{"name":"Ebenezer Church","amenity":"place_of_worship"},"name":"Ebenezer Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Evergreen Church":{"tags":{"name":"Evergreen Church","amenity":"place_of_worship"},"name":"Evergreen Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Faith Lutheran Church":{"tags":{"name":"Faith Lutheran Church","amenity":"place_of_worship"},"name":"Faith Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Faith Church":{"tags":{"name":"Faith Church","amenity":"place_of_worship"},"name":"Faith Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Fairview Church":{"tags":{"name":"Fairview Church","amenity":"place_of_worship"},"name":"Fairview Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Fellowship Church":{"tags":{"name":"Fellowship Church","amenity":"place_of_worship"},"name":"Fellowship Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Grace Church":{"tags":{"name":"Grace Church","amenity":"place_of_worship"},"name":"Grace Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Congregational Church":{"tags":{"name":"First Congregational Church","amenity":"place_of_worship"},"name":"First Congregational Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Friendship Church":{"tags":{"name":"Friendship Church","amenity":"place_of_worship"},"name":"Friendship Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Full Gospel Church":{"tags":{"name":"Full Gospel Church","amenity":"place_of_worship"},"name":"Full Gospel Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Friends Church":{"tags":{"name":"Friends Church","amenity":"place_of_worship"},"name":"Friends Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Harmony Church":{"tags":{"name":"Harmony Church","amenity":"place_of_worship"},"name":"Harmony Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Immanuel Church":{"tags":{"name":"Immanuel Church","amenity":"place_of_worship"},"name":"Immanuel Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Maple Grove Church":{"tags":{"name":"Maple Grove Church","amenity":"place_of_worship"},"name":"Maple Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Liberty Church":{"tags":{"name":"Liberty Church","amenity":"place_of_worship"},"name":"Liberty Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Little Zion Church":{"tags":{"name":"Little Zion Church","amenity":"place_of_worship"},"name":"Little Zion Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Midway Church":{"tags":{"name":"Midway Church","amenity":"place_of_worship"},"name":"Midway Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Bethel Church":{"tags":{"name":"Mount Bethel Church","amenity":"place_of_worship"},"name":"Mount Bethel Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Hope Church":{"tags":{"name":"Mount Hope Church","amenity":"place_of_worship"},"name":"Mount Hope Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Zion Church":{"tags":{"name":"Mount Zion Church","amenity":"place_of_worship"},"name":"Mount Zion Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Pleasant Church":{"tags":{"name":"Mount Pleasant Church","amenity":"place_of_worship"},"name":"Mount Pleasant Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Olive Church":{"tags":{"name":"Mount Olive Church","amenity":"place_of_worship"},"name":"Mount Olive Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Nazarene Church":{"tags":{"name":"Nazarene Church","amenity":"place_of_worship"},"name":"Nazarene Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Hope Church":{"tags":{"name":"New Hope Church","amenity":"place_of_worship"},"name":"New Hope Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Oak Grove Church":{"tags":{"name":"Oak Grove Church","amenity":"place_of_worship"},"name":"Oak Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pleasant Hill Church":{"tags":{"name":"Pleasant Hill Church","amenity":"place_of_worship"},"name":"Pleasant Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pilgrim Church":{"tags":{"name":"Pilgrim Church","amenity":"place_of_worship"},"name":"Pilgrim Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pine Grove Church":{"tags":{"name":"Pine Grove Church","amenity":"place_of_worship"},"name":"Pine Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pleasant View Church":{"tags":{"name":"Pleasant View Church","amenity":"place_of_worship"},"name":"Pleasant View Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pleasant Valley Church":{"tags":{"name":"Pleasant Valley Church","amenity":"place_of_worship"},"name":"Pleasant Valley Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pleasant Ridge Church":{"tags":{"name":"Pleasant Ridge Church","amenity":"place_of_worship"},"name":"Pleasant Ridge Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Riverside Church":{"tags":{"name":"Riverside Church","amenity":"place_of_worship"},"name":"Riverside Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint John Church":{"tags":{"name":"Saint John Church","amenity":"place_of_worship"},"name":"Saint John Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint James Church":{"tags":{"name":"Saint James Church","amenity":"place_of_worship"},"name":"Saint James Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Lukes Church":{"tags":{"name":"Saint Lukes Church","amenity":"place_of_worship"},"name":"Saint Lukes Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Johns Church":{"tags":{"name":"Saint Johns Church","amenity":"place_of_worship"},"name":"Saint Johns Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Luke Church":{"tags":{"name":"Saint Luke Church","amenity":"place_of_worship"},"name":"Saint Luke Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Mark Church":{"tags":{"name":"Saint Mark Church","amenity":"place_of_worship"},"name":"Saint Mark Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Marys Church":{"tags":{"name":"Saint Marys Church","amenity":"place_of_worship"},"name":"Saint Marys Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Mary Church":{"tags":{"name":"Saint Mary Church","amenity":"place_of_worship"},"name":"Saint Mary Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Tabernacle Church":{"tags":{"name":"Tabernacle Church","amenity":"place_of_worship"},"name":"Tabernacle Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Thomas Church":{"tags":{"name":"Saint Thomas Church","amenity":"place_of_worship"},"name":"Saint Thomas Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Stephens Church":{"tags":{"name":"Saint Stephens Church","amenity":"place_of_worship"},"name":"Saint Stephens Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Salem Church":{"tags":{"name":"Salem Church","amenity":"place_of_worship"},"name":"Salem Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Smith Chapel":{"tags":{"name":"Smith Chapel","amenity":"place_of_worship"},"name":"Smith Chapel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Springfield Church":{"tags":{"name":"Springfield Church","amenity":"place_of_worship"},"name":"Springfield Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Union Church":{"tags":{"name":"Union Church","amenity":"place_of_worship"},"name":"Union Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Union Chapel":{"tags":{"name":"Union Chapel","amenity":"place_of_worship"},"name":"Union Chapel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/United Church":{"tags":{"name":"United Church","amenity":"place_of_worship"},"name":"United Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Victory Church":{"tags":{"name":"Victory Church","amenity":"place_of_worship"},"name":"Victory Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Zion Church":{"tags":{"name":"Zion Church","amenity":"place_of_worship"},"name":"Zion Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Macedonia Church":{"tags":{"name":"Macedonia Church","amenity":"place_of_worship"},"name":"Macedonia Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Joseph Catholic Church":{"tags":{"name":"Saint Joseph Catholic Church","amenity":"place_of_worship"},"name":"Saint Joseph Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Pauls Episcopal Church":{"tags":{"name":"Saint Pauls Episcopal Church","amenity":"place_of_worship"},"name":"Saint Pauls Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Unity Church":{"tags":{"name":"Unity Church","amenity":"place_of_worship"},"name":"Unity Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Central Church":{"tags":{"name":"Central Church","amenity":"place_of_worship"},"name":"Central Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Shiloh Church":{"tags":{"name":"Shiloh Church","amenity":"place_of_worship"},"name":"Shiloh Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/All Saints Episcopal Church":{"tags":{"name":"All Saints Episcopal Church","amenity":"place_of_worship"},"name":"All Saints Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Johns Catholic Church":{"tags":{"name":"Saint Johns Catholic Church","amenity":"place_of_worship"},"name":"Saint Johns Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Locust Grove Church":{"tags":{"name":"Locust Grove Church","amenity":"place_of_worship"},"name":"Locust Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Greenwood Church":{"tags":{"name":"Greenwood Church","amenity":"place_of_worship"},"name":"Greenwood Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Jehovah's Witnesses":{"tags":{"name":"Jehovah's Witnesses","amenity":"place_of_worship"},"name":"Jehovah's Witnesses","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethel Baptist Church":{"tags":{"name":"Bethel Baptist Church","amenity":"place_of_worship"},"name":"Bethel Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Calvary Lutheran Church":{"tags":{"name":"Calvary Lutheran Church","amenity":"place_of_worship"},"name":"Calvary Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Grace United Methodist Church":{"tags":{"name":"Grace United Methodist Church","amenity":"place_of_worship"},"name":"Grace United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Wesley United Methodist Church":{"tags":{"name":"Wesley United Methodist Church","amenity":"place_of_worship"},"name":"Wesley United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Assembly of God Church":{"tags":{"name":"First Assembly of God Church","amenity":"place_of_worship"},"name":"First Assembly of God Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint John's Episcopal Church":{"tags":{"name":"Saint John's Episcopal Church","amenity":"place_of_worship"},"name":"Saint John's Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethany Lutheran Church":{"tags":{"name":"Bethany Lutheran Church","amenity":"place_of_worship"},"name":"Bethany Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Paul's Lutheran Church":{"tags":{"name":"Saint Paul's Lutheran Church","amenity":"place_of_worship"},"name":"Saint Paul's Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Lutheran Church":{"tags":{"name":"First Lutheran Church","amenity":"place_of_worship"},"name":"First Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint John's Lutheran Church":{"tags":{"name":"Saint John's Lutheran Church","amenity":"place_of_worship"},"name":"Saint John's Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethel African Methodist Episcopal Church":{"tags":{"name":"Bethel African Methodist Episcopal Church","amenity":"place_of_worship"},"name":"Bethel African Methodist Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Church of the Living God":{"tags":{"name":"Church of the Living God","amenity":"place_of_worship"},"name":"Church of the Living God","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chapel Hill Church":{"tags":{"name":"Chapel Hill Church","amenity":"place_of_worship"},"name":"Chapel Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Calvary Church":{"tags":{"name":"Mount Calvary Church","amenity":"place_of_worship"},"name":"Mount Calvary Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Church of God":{"tags":{"name":"First Church of God","amenity":"place_of_worship"},"name":"First Church of God","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Paul Lutheran Church":{"tags":{"name":"Saint Paul Lutheran Church","amenity":"place_of_worship"},"name":"Saint Paul Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holy Trinity Lutheran Church":{"tags":{"name":"Holy Trinity Lutheran Church","amenity":"place_of_worship"},"name":"Holy Trinity Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Immaculate Conception Church":{"tags":{"name":"Immaculate Conception Church","amenity":"place_of_worship"},"name":"Immaculate Conception Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Immanuel Baptist Church":{"tags":{"name":"Immanuel Baptist Church","amenity":"place_of_worship"},"name":"Immanuel Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Prince of Peace Lutheran Church":{"tags":{"name":"Prince of Peace Lutheran Church","amenity":"place_of_worship"},"name":"Prince of Peace Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Shiloh Baptist Church":{"tags":{"name":"Shiloh Baptist Church","amenity":"place_of_worship"},"name":"Shiloh Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Christ United Methodist Church":{"tags":{"name":"Christ United Methodist Church","amenity":"place_of_worship"},"name":"Christ United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Community Bible Church":{"tags":{"name":"Community Bible Church","amenity":"place_of_worship"},"name":"Community Bible Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Trinity United Methodist Church":{"tags":{"name":"Trinity United Methodist Church","amenity":"place_of_worship"},"name":"Trinity United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holy Trinity Episcopal Church":{"tags":{"name":"Holy Trinity Episcopal Church","amenity":"place_of_worship"},"name":"Holy Trinity Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Grace Bible Church":{"tags":{"name":"Grace Bible Church","amenity":"place_of_worship"},"name":"Grace Bible Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Grace Episcopal Church":{"tags":{"name":"Grace Episcopal Church","amenity":"place_of_worship"},"name":"Grace Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Good Shepherd Lutheran Church":{"tags":{"name":"Good Shepherd Lutheran Church","amenity":"place_of_worship"},"name":"Good Shepherd Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Church of Christ":{"tags":{"name":"First Church of Christ","amenity":"place_of_worship"},"name":"First Church of Christ","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Presbyterian Church":{"tags":{"name":"Presbyterian Church","amenity":"place_of_worship"},"name":"Presbyterian Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint James Episcopal Church":{"tags":{"name":"Saint James Episcopal Church","amenity":"place_of_worship"},"name":"Saint James Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Community Baptist Church":{"tags":{"name":"Community Baptist Church","amenity":"place_of_worship"},"name":"Community Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Central United Methodist Church":{"tags":{"name":"Central United Methodist Church","amenity":"place_of_worship"},"name":"Central United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Trinity Episcopal Church":{"tags":{"name":"Trinity Episcopal Church","amenity":"place_of_worship"},"name":"Trinity Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Missionary Baptist Church":{"tags":{"name":"First Missionary Baptist Church","amenity":"place_of_worship"},"name":"First Missionary Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Reformed Church":{"tags":{"name":"First Reformed Church","amenity":"place_of_worship"},"name":"First Reformed Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holy Cross Lutheran Church":{"tags":{"name":"Holy Cross Lutheran Church","amenity":"place_of_worship"},"name":"Holy Cross Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Peace Lutheran Church":{"tags":{"name":"Peace Lutheran Church","amenity":"place_of_worship"},"name":"Peace Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint John Lutheran Church":{"tags":{"name":"Saint John Lutheran Church","amenity":"place_of_worship"},"name":"Saint John Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Free Will Baptist Church":{"tags":{"name":"First Free Will Baptist Church","amenity":"place_of_worship"},"name":"First Free Will Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Immanuel Lutheran Church":{"tags":{"name":"Immanuel Lutheran Church","amenity":"place_of_worship"},"name":"Immanuel Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Faith United Methodist Church":{"tags":{"name":"Faith United Methodist Church","amenity":"place_of_worship"},"name":"Faith United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Berean Baptist Church":{"tags":{"name":"Berean Baptist Church","amenity":"place_of_worship"},"name":"Berean Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Methodist Church":{"tags":{"name":"First Methodist Church","amenity":"place_of_worship"},"name":"First Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethlehem Baptist Church":{"tags":{"name":"Bethlehem Baptist Church","amenity":"place_of_worship"},"name":"Bethlehem Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Second Baptist Church":{"tags":{"name":"Second Baptist Church","amenity":"place_of_worship"},"name":"Second Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Christian Church":{"tags":{"name":"First Christian Church","amenity":"place_of_worship"},"name":"First Christian Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Johns Lutheran Church":{"tags":{"name":"Saint Johns Lutheran Church","amenity":"place_of_worship"},"name":"Saint Johns Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Friendship Baptist Church":{"tags":{"name":"Friendship Baptist Church","amenity":"place_of_worship"},"name":"Friendship Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Our Savior Lutheran Church":{"tags":{"name":"Our Savior Lutheran Church","amenity":"place_of_worship"},"name":"Our Savior Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Marks Episcopal Church":{"tags":{"name":"Saint Marks Episcopal Church","amenity":"place_of_worship"},"name":"Saint Marks Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First United Presbyterian Church":{"tags":{"name":"First United Presbyterian Church","amenity":"place_of_worship"},"name":"First United Presbyterian Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Christ Episcopal Church":{"tags":{"name":"Christ Episcopal Church","amenity":"place_of_worship"},"name":"Christ Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Johns Episcopal Church":{"tags":{"name":"Saint Johns Episcopal Church","amenity":"place_of_worship"},"name":"Saint Johns Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Grace Community Church":{"tags":{"name":"Grace Community Church","amenity":"place_of_worship"},"name":"Grace Community Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Liberty Baptist Church":{"tags":{"name":"Liberty Baptist Church","amenity":"place_of_worship"},"name":"Liberty Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pentecostal Church of God":{"tags":{"name":"Pentecostal Church of God","amenity":"place_of_worship"},"name":"Pentecostal Church of God","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Matthews Church":{"tags":{"name":"Saint Matthews Church","amenity":"place_of_worship"},"name":"Saint Matthews Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Christ Lutheran Church":{"tags":{"name":"Christ Lutheran Church","amenity":"place_of_worship"},"name":"Christ Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Paul United Methodist Church":{"tags":{"name":"Saint Paul United Methodist Church","amenity":"place_of_worship"},"name":"Saint Paul United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Victory Baptist Church":{"tags":{"name":"Victory Baptist Church","amenity":"place_of_worship"},"name":"Victory Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint James Catholic Church":{"tags":{"name":"Saint James Catholic Church","amenity":"place_of_worship"},"name":"Saint James Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Christ Community Church":{"tags":{"name":"Christ Community Church","amenity":"place_of_worship"},"name":"Christ Community Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Andrews Episcopal Church":{"tags":{"name":"Saint Andrews Episcopal Church","amenity":"place_of_worship"},"name":"Saint Andrews Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Hope Baptist Church":{"tags":{"name":"New Hope Baptist Church","amenity":"place_of_worship"},"name":"New Hope Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Westminster Presbyterian Church":{"tags":{"name":"Westminster Presbyterian Church","amenity":"place_of_worship"},"name":"Westminster Presbyterian Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Trinity Evangelical Lutheran Church":{"tags":{"name":"Trinity Evangelical Lutheran Church","amenity":"place_of_worship"},"name":"Trinity Evangelical Lutheran Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Bethel Baptist Church":{"tags":{"name":"New Bethel Baptist Church","amenity":"place_of_worship"},"name":"New Bethel Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Hopewell Baptist Church":{"tags":{"name":"Hopewell Baptist Church","amenity":"place_of_worship"},"name":"Hopewell Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pleasant Grove Church":{"tags":{"name":"Pleasant Grove Church","amenity":"place_of_worship"},"name":"Pleasant Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Zion Baptist Church":{"tags":{"name":"Mount Zion Baptist Church","amenity":"place_of_worship"},"name":"Mount Zion Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Calvary Baptist Church":{"tags":{"name":"Mount Calvary Baptist Church","amenity":"place_of_worship"},"name":"Mount Calvary Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Paul Baptist Church":{"tags":{"name":"Saint Paul Baptist Church","amenity":"place_of_worship"},"name":"Saint Paul Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Cornerstone Baptist Church":{"tags":{"name":"Cornerstone Baptist Church","amenity":"place_of_worship"},"name":"Cornerstone Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Pentecostal Church":{"tags":{"name":"First Pentecostal Church","amenity":"place_of_worship"},"name":"First Pentecostal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Cornerstone Church":{"tags":{"name":"Cornerstone Church","amenity":"place_of_worship"},"name":"Cornerstone Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/United Church of Christ":{"tags":{"name":"United Church of Christ","amenity":"place_of_worship"},"name":"United Church of Christ","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Crossroads Church":{"tags":{"name":"Crossroads Church","amenity":"place_of_worship"},"name":"Crossroads Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Covenant Presbyterian Church":{"tags":{"name":"Covenant Presbyterian Church","amenity":"place_of_worship"},"name":"Covenant Presbyterian Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Asbury Church":{"tags":{"name":"Asbury Church","amenity":"place_of_worship"},"name":"Asbury Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Asbury United Methodist Church":{"tags":{"name":"Asbury United Methodist Church","amenity":"place_of_worship"},"name":"Asbury United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Beech Grove Church":{"tags":{"name":"Beech Grove Church","amenity":"place_of_worship"},"name":"Beech Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Berea Church":{"tags":{"name":"Berea Church","amenity":"place_of_worship"},"name":"Berea Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Cedar Grove Church":{"tags":{"name":"Cedar Grove Church","amenity":"place_of_worship"},"name":"Cedar Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Center Church":{"tags":{"name":"Center Church","amenity":"place_of_worship"},"name":"Center Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Corinth Church":{"tags":{"name":"Corinth Church","amenity":"place_of_worship"},"name":"Corinth Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Galilee Church":{"tags":{"name":"Galilee Church","amenity":"place_of_worship"},"name":"Galilee Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Hebron Church":{"tags":{"name":"Hebron Church","amenity":"place_of_worship"},"name":"Hebron Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Hickory Grove Church":{"tags":{"name":"Hickory Grove Church","amenity":"place_of_worship"},"name":"Hickory Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Hopewell Church":{"tags":{"name":"Hopewell Church","amenity":"place_of_worship"},"name":"Hopewell Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Jerusalem Church":{"tags":{"name":"Jerusalem Church","amenity":"place_of_worship"},"name":"Jerusalem Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Lebanon Church":{"tags":{"name":"Lebanon Church","amenity":"place_of_worship"},"name":"Lebanon Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Macedonia Baptist Church":{"tags":{"name":"Macedonia Baptist Church","amenity":"place_of_worship"},"name":"Macedonia Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Bethel Church":{"tags":{"name":"New Bethel Church","amenity":"place_of_worship"},"name":"New Bethel Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Liberty Church":{"tags":{"name":"New Liberty Church","amenity":"place_of_worship"},"name":"New Liberty Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Prospect Church":{"tags":{"name":"New Prospect Church","amenity":"place_of_worship"},"name":"New Prospect Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Home Church":{"tags":{"name":"New Home Church","amenity":"place_of_worship"},"name":"New Home Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Salem Church":{"tags":{"name":"New Salem Church","amenity":"place_of_worship"},"name":"New Salem Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Zion Church":{"tags":{"name":"New Zion Church","amenity":"place_of_worship"},"name":"New Zion Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Zion United Methodist Church":{"tags":{"name":"Mount Zion United Methodist Church","amenity":"place_of_worship"},"name":"Mount Zion United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Gilead Church":{"tags":{"name":"Mount Gilead Church","amenity":"place_of_worship"},"name":"Mount Gilead Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Hebron Church":{"tags":{"name":"Mount Hebron Church","amenity":"place_of_worship"},"name":"Mount Hebron Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Pisgah Church":{"tags":{"name":"Mount Pisgah Church","amenity":"place_of_worship"},"name":"Mount Pisgah Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Moriah Church":{"tags":{"name":"Mount Moriah Church","amenity":"place_of_worship"},"name":"Mount Moriah Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Nebo Church":{"tags":{"name":"Mount Nebo Church","amenity":"place_of_worship"},"name":"Mount Nebo Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Oak Grove Baptist Church":{"tags":{"name":"Oak Grove Baptist Church","amenity":"place_of_worship"},"name":"Oak Grove Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Oak Hill Church":{"tags":{"name":"Oak Hill Church","amenity":"place_of_worship"},"name":"Oak Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Oakland Church":{"tags":{"name":"Oakland Church","amenity":"place_of_worship"},"name":"Oakland Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Carmel Church":{"tags":{"name":"Mount Carmel Church","amenity":"place_of_worship"},"name":"Mount Carmel Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Olivet Church":{"tags":{"name":"Mount Olivet Church","amenity":"place_of_worship"},"name":"Mount Olivet Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Vernon Church":{"tags":{"name":"Mount Vernon Church","amenity":"place_of_worship"},"name":"Mount Vernon Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Tabor Church":{"tags":{"name":"Mount Tabor Church","amenity":"place_of_worship"},"name":"Mount Tabor Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Rose Hill Church":{"tags":{"name":"Rose Hill Church","amenity":"place_of_worship"},"name":"Rose Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Palestine Church":{"tags":{"name":"Palestine Church","amenity":"place_of_worship"},"name":"Palestine Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Rock Springs Church":{"tags":{"name":"Rock Springs Church","amenity":"place_of_worship"},"name":"Rock Springs Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pisgah Church":{"tags":{"name":"Pisgah Church","amenity":"place_of_worship"},"name":"Pisgah Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sharon Church":{"tags":{"name":"Sharon Church","amenity":"place_of_worship"},"name":"Sharon Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Union Grove Church":{"tags":{"name":"Union Grove Church","amenity":"place_of_worship"},"name":"Union Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Patricks Church":{"tags":{"name":"Saint Patricks Church","amenity":"place_of_worship"},"name":"Saint Patricks Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Walnut Grove Church":{"tags":{"name":"Walnut Grove Church","amenity":"place_of_worship"},"name":"Walnut Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Wesley Chapel":{"tags":{"name":"Wesley Chapel","amenity":"place_of_worship"},"name":"Wesley Chapel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/White Oak Church":{"tags":{"name":"White Oak Church","amenity":"place_of_worship"},"name":"White Oak Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Memorial Baptist Church":{"tags":{"name":"Memorial Baptist Church","amenity":"place_of_worship"},"name":"Memorial Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethel United Methodist Church":{"tags":{"name":"Bethel United Methodist Church","amenity":"place_of_worship"},"name":"Bethel United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Central Christian Church":{"tags":{"name":"Central Christian Church","amenity":"place_of_worship"},"name":"Central Christian Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Thomas Episcopal Church":{"tags":{"name":"Saint Thomas Episcopal Church","amenity":"place_of_worship"},"name":"Saint Thomas Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Marys Catholic Church":{"tags":{"name":"Saint Marys Catholic Church","amenity":"place_of_worship"},"name":"Saint Marys Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Zion Hill Church":{"tags":{"name":"Zion Hill Church","amenity":"place_of_worship"},"name":"Zion Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Patricks Catholic Church":{"tags":{"name":"Saint Patricks Catholic Church","amenity":"place_of_worship"},"name":"Saint Patricks Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Pleasant Baptist Church":{"tags":{"name":"Mount Pleasant Baptist Church","amenity":"place_of_worship"},"name":"Mount Pleasant Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Philadelphia Church":{"tags":{"name":"Philadelphia Church","amenity":"place_of_worship"},"name":"Philadelphia Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Good Hope Church":{"tags":{"name":"Good Hope Church","amenity":"place_of_worship"},"name":"Good Hope Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Carmel Baptist Church":{"tags":{"name":"Mount Carmel Baptist Church","amenity":"place_of_worship"},"name":"Mount Carmel Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Central Church of Christ":{"tags":{"name":"Central Church of Christ","amenity":"place_of_worship"},"name":"Central Church of Christ","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Southern Baptist Church":{"tags":{"name":"First Southern Baptist Church","amenity":"place_of_worship"},"name":"First Southern Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Union Baptist Church":{"tags":{"name":"Union Baptist Church","amenity":"place_of_worship"},"name":"Union Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holy Cross Catholic Church":{"tags":{"name":"Holy Cross Catholic Church","amenity":"place_of_worship"},"name":"Holy Cross Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Central Presbyterian Church":{"tags":{"name":"Central Presbyterian Church","amenity":"place_of_worship"},"name":"Central Presbyterian Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Trinity Presbyterian Church":{"tags":{"name":"Trinity Presbyterian Church","amenity":"place_of_worship"},"name":"Trinity Presbyterian Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Marys Roman Catholic Church":{"tags":{"name":"Saint Marys Roman Catholic Church","amenity":"place_of_worship"},"name":"Saint Marys Roman Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Temple Baptist Church":{"tags":{"name":"Temple Baptist Church","amenity":"place_of_worship"},"name":"Temple Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Peters Episcopal Church":{"tags":{"name":"Saint Peters Episcopal Church","amenity":"place_of_worship"},"name":"Saint Peters Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Antioch Baptist Church":{"tags":{"name":"Antioch Baptist Church","amenity":"place_of_worship"},"name":"Antioch Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sacred Heart Roman Catholic Church":{"tags":{"name":"Sacred Heart Roman Catholic Church","amenity":"place_of_worship"},"name":"Sacred Heart Roman Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First United Pentecostal Church":{"tags":{"name":"First United Pentecostal Church","amenity":"place_of_worship"},"name":"First United Pentecostal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holy Trinity Catholic Church":{"tags":{"name":"Holy Trinity Catholic Church","amenity":"place_of_worship"},"name":"Holy Trinity Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Calvary United Methodist Church":{"tags":{"name":"Calvary United Methodist Church","amenity":"place_of_worship"},"name":"Calvary United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Providence Baptist Church":{"tags":{"name":"Providence Baptist Church","amenity":"place_of_worship"},"name":"Providence Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Sinai Church":{"tags":{"name":"Mount Sinai Church","amenity":"place_of_worship"},"name":"Mount Sinai Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Morning Star Church":{"tags":{"name":"Morning Star Church","amenity":"place_of_worship"},"name":"Morning Star Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint James Baptist Church":{"tags":{"name":"Saint James Baptist Church","amenity":"place_of_worship"},"name":"Saint James Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pleasant Grove Baptist Church":{"tags":{"name":"Pleasant Grove Baptist Church","amenity":"place_of_worship"},"name":"Pleasant Grove Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pleasant Hill Baptist Church":{"tags":{"name":"Pleasant Hill Baptist Church","amenity":"place_of_worship"},"name":"Pleasant Hill Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Tabernacle Baptist Church":{"tags":{"name":"Tabernacle Baptist Church","amenity":"place_of_worship"},"name":"Tabernacle Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Morning Star Baptist Church":{"tags":{"name":"Morning Star Baptist Church","amenity":"place_of_worship"},"name":"Morning Star Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Paul African Methodist Episcopal Church":{"tags":{"name":"Saint Paul African Methodist Episcopal Church","amenity":"place_of_worship"},"name":"Saint Paul African Methodist Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Peter Church":{"tags":{"name":"Saint Peter Church","amenity":"place_of_worship"},"name":"Saint Peter Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Salem Baptist Church":{"tags":{"name":"Salem Baptist Church","amenity":"place_of_worship"},"name":"Salem Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Highland Church":{"tags":{"name":"Highland Church","amenity":"place_of_worship"},"name":"Highland Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Smyrna Church":{"tags":{"name":"Smyrna Church","amenity":"place_of_worship"},"name":"Smyrna Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Pauls United Methodist Church":{"tags":{"name":"Saint Pauls United Methodist Church","amenity":"place_of_worship"},"name":"Saint Pauls United Methodist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Mary's Roman Catholic Church":{"tags":{"name":"Saint Mary's Roman Catholic Church","amenity":"place_of_worship"},"name":"Saint Mary's Roman Catholic Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Fairview Baptist Church":{"tags":{"name":"Fairview Baptist Church","amenity":"place_of_worship"},"name":"Fairview Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Lukes Episcopal Church":{"tags":{"name":"Saint Lukes Episcopal Church","amenity":"place_of_worship"},"name":"Saint Lukes Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Jean-Baptiste":{"tags":{"name":"Église Saint-Jean-Baptiste","amenity":"place_of_worship"},"name":"Église Saint-Jean-Baptiste","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Рождества Христова":{"tags":{"name":"Церковь Рождества Христова","amenity":"place_of_worship"},"name":"Церковь Рождества Христова","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pilgrim Rest Church":{"tags":{"name":"Pilgrim Rest Church","amenity":"place_of_worship"},"name":"Pilgrim Rest Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chestnut Grove Church":{"tags":{"name":"Chestnut Grove Church","amenity":"place_of_worship"},"name":"Chestnut Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ebenezer Baptist Church":{"tags":{"name":"Ebenezer Baptist Church","amenity":"place_of_worship"},"name":"Ebenezer Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Enon Church":{"tags":{"name":"Enon Church","amenity":"place_of_worship"},"name":"Enon Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Faith Tabernacle":{"tags":{"name":"Faith Tabernacle","amenity":"place_of_worship"},"name":"Faith Tabernacle","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holiness Church":{"tags":{"name":"Holiness Church","amenity":"place_of_worship"},"name":"Holiness Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mill Creek Church":{"tags":{"name":"Mill Creek Church","amenity":"place_of_worship"},"name":"Mill Creek Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mountain View Church":{"tags":{"name":"Mountain View Church","amenity":"place_of_worship"},"name":"Mountain View Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Oak Ridge Church":{"tags":{"name":"Oak Ridge Church","amenity":"place_of_worship"},"name":"Oak Ridge Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sardis Church":{"tags":{"name":"Sardis Church","amenity":"place_of_worship"},"name":"Sardis Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sweet Home Church":{"tags":{"name":"Sweet Home Church","amenity":"place_of_worship"},"name":"Sweet Home Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Union Hill Church":{"tags":{"name":"Union Hill Church","amenity":"place_of_worship"},"name":"Union Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Zion Church (historical)":{"tags":{"name":"Mount Zion Church (historical)","amenity":"place_of_worship"},"name":"Mount Zion Church (historical)","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pentecostal Holiness Church":{"tags":{"name":"Pentecostal Holiness Church","amenity":"place_of_worship"},"name":"Pentecostal Holiness Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Liberty Hill Church":{"tags":{"name":"Liberty Hill Church","amenity":"place_of_worship"},"name":"Liberty Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/New Hope Church (historical)":{"tags":{"name":"New Hope Church (historical)","amenity":"place_of_worship"},"name":"New Hope Church (historical)","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Bethel Church (historical)":{"tags":{"name":"Bethel Church (historical)","amenity":"place_of_worship"},"name":"Bethel Church (historical)","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint John Baptist Church":{"tags":{"name":"Saint John Baptist Church","amenity":"place_of_worship"},"name":"Saint John Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint Marys Episcopal Church":{"tags":{"name":"Saint Marys Episcopal Church","amenity":"place_of_worship"},"name":"Saint Marys Episcopal Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Southside Baptist Church":{"tags":{"name":"Southside Baptist Church","amenity":"place_of_worship"},"name":"Southside Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Holly Grove Church":{"tags":{"name":"Holly Grove Church","amenity":"place_of_worship"},"name":"Holly Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Jones Chapel":{"tags":{"name":"Jones Chapel","amenity":"place_of_worship"},"name":"Jones Chapel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mount Pilgrim Church":{"tags":{"name":"Mount Pilgrim Church","amenity":"place_of_worship"},"name":"Mount Pilgrim Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pilgrims Rest Church":{"tags":{"name":"Pilgrims Rest Church","amenity":"place_of_worship"},"name":"Pilgrims Rest Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Pine Hill Church":{"tags":{"name":"Pine Hill Church","amenity":"place_of_worship"},"name":"Pine Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Piney Grove Church":{"tags":{"name":"Piney Grove Church","amenity":"place_of_worship"},"name":"Piney Grove Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Poplar Springs Church":{"tags":{"name":"Poplar Springs Church","amenity":"place_of_worship"},"name":"Poplar Springs Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Prospect Church":{"tags":{"name":"Prospect Church","amenity":"place_of_worship"},"name":"Prospect Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Red Hill Church":{"tags":{"name":"Red Hill Church","amenity":"place_of_worship"},"name":"Red Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Rock Hill Church":{"tags":{"name":"Rock Hill Church","amenity":"place_of_worship"},"name":"Rock Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Spring Hill Church":{"tags":{"name":"Spring Hill Church","amenity":"place_of_worship"},"name":"Spring Hill Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Beulah Baptist Church":{"tags":{"name":"Beulah Baptist Church","amenity":"place_of_worship"},"name":"Beulah Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Magnolia Church":{"tags":{"name":"Magnolia Church","amenity":"place_of_worship"},"name":"Magnolia Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Westside Baptist Church":{"tags":{"name":"Westside Baptist Church","amenity":"place_of_worship"},"name":"Westside Baptist Church","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Assembly of God":{"tags":{"name":"First Assembly of God","amenity":"place_of_worship"},"name":"First Assembly of God","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/First Church of Christ, Scientist":{"tags":{"name":"First Church of Christ, Scientist","amenity":"place_of_worship"},"name":"First Church of Christ, Scientist","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-André":{"tags":{"name":"Église Saint-André","amenity":"place_of_worship"},"name":"Église Saint-André","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kaplica":{"tags":{"name":"Kaplica","amenity":"place_of_worship"},"name":"Kaplica","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ganesh Temple":{"tags":{"name":"Ganesh Temple","amenity":"place_of_worship"},"name":"Ganesh Temple","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ganesha Temple":{"tags":{"name":"Ganesha Temple","amenity":"place_of_worship"},"name":"Ganesha Temple","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de San Francisco":{"tags":{"name":"Iglesia de San Francisco","amenity":"place_of_worship"},"name":"Iglesia de San Francisco","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Igreja Universal do Reino de Deus":{"tags":{"name":"Igreja Universal do Reino de Deus","amenity":"place_of_worship"},"name":"Igreja Universal do Reino de Deus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Calvaire":{"tags":{"name":"Calvaire","amenity":"place_of_worship"},"name":"Calvaire","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kaplička":{"tags":{"name":"Kaplička","amenity":"place_of_worship"},"name":"Kaplička","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Santa Lucia":{"tags":{"name":"Santa Lucia","amenity":"place_of_worship"},"name":"Santa Lucia","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/temple":{"tags":{"name":"temple","amenity":"place_of_worship"},"name":"temple","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Hanuman Temple":{"tags":{"name":"Hanuman Temple","amenity":"place_of_worship"},"name":"Hanuman Temple","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Étienne":{"tags":{"name":"Église Saint-Étienne","amenity":"place_of_worship"},"name":"Église Saint-Étienne","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Часовня":{"tags":{"name":"Часовня","amenity":"place_of_worship"},"name":"Часовня","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Szent Mihály-templom":{"tags":{"name":"Szent Mihály-templom","amenity":"place_of_worship"},"name":"Szent Mihály-templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di Sant'Anna":{"tags":{"name":"Chiesa di Sant'Anna","amenity":"place_of_worship"},"name":"Chiesa di Sant'Anna","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Sebastiano":{"tags":{"name":"Chiesa di San Sebastiano","amenity":"place_of_worship"},"name":"Chiesa di San Sebastiano","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/八幡神社":{"tags":{"name":"八幡神社","amenity":"place_of_worship"},"name":"八幡神社","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Léger":{"tags":{"name":"Église Saint-Léger","amenity":"place_of_worship"},"name":"Église Saint-Léger","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di Santa Maria":{"tags":{"name":"Chiesa di Santa Maria","amenity":"place_of_worship"},"name":"Chiesa di Santa Maria","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Михаила Архангела":{"tags":{"name":"Церковь Михаила Архангела","amenity":"place_of_worship"},"name":"Церковь Михаила Архангела","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Покрова Пресвятой Богородицы":{"tags":{"name":"Церковь Покрова Пресвятой Богородицы","amenity":"place_of_worship"},"name":"Церковь Покрова Пресвятой Богородицы","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Michele":{"tags":{"name":"San Michele","amenity":"place_of_worship"},"name":"San Michele","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Didier":{"tags":{"name":"Église Saint-Didier","amenity":"place_of_worship"},"name":"Église Saint-Didier","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/biserica":{"tags":{"name":"biserica","amenity":"place_of_worship"},"name":"biserica","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Rocco":{"tags":{"name":"San Rocco","amenity":"place_of_worship"},"name":"San Rocco","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Jakobuskirche":{"tags":{"name":"Jakobuskirche","amenity":"place_of_worship"},"name":"Jakobuskirche","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Рождества Пресвятой Богородицы":{"tags":{"name":"Церковь Рождества Пресвятой Богородицы","amenity":"place_of_worship"},"name":"Церковь Рождества Пресвятой Богородицы","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/مسجد":{"tags":{"name":"مسجد","amenity":"place_of_worship"},"name":"مسجد","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Capilla":{"tags":{"name":"Capilla","amenity":"place_of_worship"},"name":"Capilla","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Sainte-Marie-Madeleine":{"tags":{"name":"Église Sainte-Marie-Madeleine","amenity":"place_of_worship"},"name":"Église Sainte-Marie-Madeleine","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Άγιος Νικόλαος":{"tags":{"name":"Άγιος Νικόλαος","amenity":"place_of_worship"},"name":"Άγιος Νικόλαος","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Nicolas":{"tags":{"name":"Église Saint-Nicolas","amenity":"place_of_worship"},"name":"Église Saint-Nicolas","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Assembléia de Deus":{"tags":{"name":"Assembléia de Deus","amenity":"place_of_worship"},"name":"Assembléia de Deus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Salão do Reino das Testemunhas de Jeová":{"tags":{"name":"Salão do Reino das Testemunhas de Jeová","amenity":"place_of_worship"},"name":"Salão do Reino das Testemunhas de Jeová","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Michele":{"tags":{"name":"Chiesa di San Michele","amenity":"place_of_worship"},"name":"Chiesa di San Michele","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Salón del Reino de los Testigos de Jehová":{"tags":{"name":"Salón del Reino de los Testigos de Jehová","amenity":"place_of_worship"},"name":"Salón del Reino de los Testigos de Jehová","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Julien":{"tags":{"name":"Église Saint-Julien","amenity":"place_of_worship"},"name":"Église Saint-Julien","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Pietro":{"tags":{"name":"Chiesa di San Pietro","amenity":"place_of_worship"},"name":"Chiesa di San Pietro","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Николая Чудотворца":{"tags":{"name":"Церковь Николая Чудотворца","amenity":"place_of_worship"},"name":"Церковь Николая Чудотворца","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Református templom":{"tags":{"name":"Református templom","amenity":"place_of_worship"},"name":"Református templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint-Pierre":{"tags":{"name":"Saint-Pierre","amenity":"place_of_worship"},"name":"Saint-Pierre","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Петра и Павла":{"tags":{"name":"Церковь Петра и Павла","amenity":"place_of_worship"},"name":"Церковь Петра и Павла","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/San Bartolomeo":{"tags":{"name":"San Bartolomeo","amenity":"place_of_worship"},"name":"San Bartolomeo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chapelle Notre-Dame":{"tags":{"name":"Chapelle Notre-Dame","amenity":"place_of_worship"},"name":"Chapelle Notre-Dame","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Hanuman Mandir":{"tags":{"name":"Hanuman Mandir","amenity":"place_of_worship"},"name":"Hanuman Mandir","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mosquée":{"tags":{"name":"Mosquée","amenity":"place_of_worship"},"name":"Mosquée","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Иконы Божией Матери Казанская":{"tags":{"name":"Церковь Иконы Божией Матери Казанская","amenity":"place_of_worship"},"name":"Церковь Иконы Божией Матери Казанская","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de Santa María":{"tags":{"name":"Iglesia de Santa María","amenity":"place_of_worship"},"name":"Iglesia de Santa María","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Saint-Martin":{"tags":{"name":"Saint-Martin","amenity":"place_of_worship"},"name":"Saint-Martin","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Nanebevzetí Panny Marie":{"tags":{"name":"Nanebevzetí Panny Marie","amenity":"place_of_worship"},"name":"Nanebevzetí Panny Marie","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Sébastien":{"tags":{"name":"Église Saint-Sébastien","amenity":"place_of_worship"},"name":"Église Saint-Sébastien","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Вознесения Господня":{"tags":{"name":"Церковь Вознесения Господня","amenity":"place_of_worship"},"name":"Церковь Вознесения Господня","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Shiva Temple":{"tags":{"name":"Shiva Temple","amenity":"place_of_worship"},"name":"Shiva Temple","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Wat":{"tags":{"name":"Wat","amenity":"place_of_worship"},"name":"Wat","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chapelle Saint-Joseph":{"tags":{"name":"Chapelle Saint-Joseph","amenity":"place_of_worship"},"name":"Chapelle Saint-Joseph","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sant'Anna":{"tags":{"name":"Sant'Anna","amenity":"place_of_worship"},"name":"Sant'Anna","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Успения Пресвятой Богородицы":{"tags":{"name":"Церковь Успения Пресвятой Богородицы","amenity":"place_of_worship"},"name":"Церковь Успения Пресвятой Богородицы","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Bartolomeo":{"tags":{"name":"Chiesa di San Bartolomeo","amenity":"place_of_worship"},"name":"Chiesa di San Bartolomeo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de San Pedro":{"tags":{"name":"Iglesia de San Pedro","amenity":"place_of_worship"},"name":"Iglesia de San Pedro","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kaplica cmentarna":{"tags":{"name":"Kaplica cmentarna","amenity":"place_of_worship"},"name":"Kaplica cmentarna","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/kaplica cmentarna":{"tags":{"name":"kaplica cmentarna","amenity":"place_of_worship"},"name":"kaplica cmentarna","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/mosque":{"tags":{"name":"mosque","amenity":"place_of_worship"},"name":"mosque","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/The Church of Jesus Christ of Latter Day Saints":{"tags":{"name":"The Church of Jesus Christ of Latter Day Saints","amenity":"place_of_worship"},"name":"The Church of Jesus Christ of Latter Day Saints","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa della Santissima Trinità":{"tags":{"name":"Chiesa della Santissima Trinità","amenity":"place_of_worship"},"name":"Chiesa della Santissima Trinità","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/masjid":{"tags":{"name":"masjid","amenity":"place_of_worship"},"name":"masjid","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/神明社":{"tags":{"name":"神明社","amenity":"place_of_worship"},"name":"神明社","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Igreja Católica":{"tags":{"name":"Igreja Católica","amenity":"place_of_worship"},"name":"Igreja Católica","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Богоявления Господня":{"tags":{"name":"Церковь Богоявления Господня","amenity":"place_of_worship"},"name":"Церковь Богоявления Господня","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Giacomo":{"tags":{"name":"Chiesa di San Giacomo","amenity":"place_of_worship"},"name":"Chiesa di San Giacomo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Jacques":{"tags":{"name":"Église Saint-Jacques","amenity":"place_of_worship"},"name":"Église Saint-Jacques","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Evangélikus templom":{"tags":{"name":"Evangélikus templom","amenity":"place_of_worship"},"name":"Evangélikus templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Maurice":{"tags":{"name":"Église Saint-Maurice","amenity":"place_of_worship"},"name":"Église Saint-Maurice","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Georges":{"tags":{"name":"Église Saint-Georges","amenity":"place_of_worship"},"name":"Église Saint-Georges","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Barthélémy":{"tags":{"name":"Église Saint-Barthélémy","amenity":"place_of_worship"},"name":"Église Saint-Barthélémy","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/mosquée":{"tags":{"name":"mosquée","amenity":"place_of_worship"},"name":"mosquée","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa del Carmine":{"tags":{"name":"Chiesa del Carmine","amenity":"place_of_worship"},"name":"Chiesa del Carmine","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa dei Santi Pietro e Paolo":{"tags":{"name":"Chiesa dei Santi Pietro e Paolo","amenity":"place_of_worship"},"name":"Chiesa dei Santi Pietro e Paolo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ermita de San Pedro":{"tags":{"name":"Ermita de San Pedro","amenity":"place_of_worship"},"name":"Ermita de San Pedro","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Igreja":{"tags":{"name":"Igreja","amenity":"place_of_worship"},"name":"Igreja","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Masjid Al Ikhlas":{"tags":{"name":"Masjid Al Ikhlas","amenity":"place_of_worship"},"name":"Masjid Al Ikhlas","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Masjid Nurul Iman":{"tags":{"name":"Masjid Nurul Iman","amenity":"place_of_worship"},"name":"Masjid Nurul Iman","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Masjid Nurul Huda":{"tags":{"name":"Masjid Nurul Huda","amenity":"place_of_worship"},"name":"Masjid Nurul Huda","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kościół pw. Najświętszego Serca Pana Jezusa":{"tags":{"name":"Kościół pw. Najświętszego Serca Pana Jezusa","amenity":"place_of_worship"},"name":"Kościół pw. Najświętszego Serca Pana Jezusa","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Gereja":{"tags":{"name":"Gereja","amenity":"place_of_worship"},"name":"Gereja","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di Sant'Antonio Abate":{"tags":{"name":"Chiesa di Sant'Antonio Abate","amenity":"place_of_worship"},"name":"Chiesa di Sant'Antonio Abate","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sant'Antonio":{"tags":{"name":"Sant'Antonio","amenity":"place_of_worship"},"name":"Sant'Antonio","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Santa Maria Assunta":{"tags":{"name":"Santa Maria Assunta","amenity":"place_of_worship"},"name":"Santa Maria Assunta","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Vaast":{"tags":{"name":"Église Saint-Vaast","amenity":"place_of_worship"},"name":"Église Saint-Vaast","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Camii":{"tags":{"name":"Camii","amenity":"place_of_worship"},"name":"Camii","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Jean":{"tags":{"name":"Église Saint-Jean","amenity":"place_of_worship"},"name":"Église Saint-Jean","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sala Królestwa Świadków Jehowy":{"tags":{"name":"Sala Królestwa Świadków Jehowy","amenity":"place_of_worship"},"name":"Sala Królestwa Świadków Jehowy","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Laurent":{"tags":{"name":"Église Saint-Laurent","amenity":"place_of_worship"},"name":"Église Saint-Laurent","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia Catolica":{"tags":{"name":"Iglesia Catolica","amenity":"place_of_worship"},"name":"Iglesia Catolica","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/土地公廟":{"tags":{"name":"土地公廟","amenity":"place_of_worship"},"name":"土地公廟","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церква":{"tags":{"name":"Церква","amenity":"place_of_worship"},"name":"Церква","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Capela":{"tags":{"name":"Capela","amenity":"place_of_worship"},"name":"Capela","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Георгия Победоносца":{"tags":{"name":"Церковь Георгия Победоносца","amenity":"place_of_worship"},"name":"Церковь Георгия Победоносца","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Воскресения Христова":{"tags":{"name":"Церковь Воскресения Христова","amenity":"place_of_worship"},"name":"Церковь Воскресения Христова","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Eglise":{"tags":{"name":"Eglise","amenity":"place_of_worship"},"name":"Eglise","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kościół pw. Wniebowzięcia Najświętszej Maryi Panny":{"tags":{"name":"Kościół pw. Wniebowzięcia Najświętszej Maryi Panny","amenity":"place_of_worship"},"name":"Kościół pw. Wniebowzięcia Najświętszej Maryi Panny","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Илии Пророка":{"tags":{"name":"Церковь Илии Пророка","amenity":"place_of_worship"},"name":"Церковь Илии Пророка","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/مسجد جامع":{"tags":{"name":"مسجد جامع","amenity":"place_of_worship"},"name":"مسجد جامع","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Спаса Преображения":{"tags":{"name":"Церковь Спаса Преображения","amenity":"place_of_worship"},"name":"Церковь Спаса Преображения","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de Jesucristo de los Santos de los Últimos Días":{"tags":{"name":"Iglesia de Jesucristo de los Santos de los Últimos Días","amenity":"place_of_worship"},"name":"Iglesia de Jesucristo de los Santos de los Últimos Días","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/წმინდა გიორგი (St. Giorgi)":{"tags":{"name":"წმინდა გიორგი (St. Giorgi)","amenity":"place_of_worship"},"name":"წმინდა გიორგი (St. Giorgi)","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia Cristiana Evangélica":{"tags":{"name":"Iglesia Cristiana Evangélica","amenity":"place_of_worship"},"name":"Iglesia Cristiana Evangélica","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église de l'Assomption":{"tags":{"name":"Église de l'Assomption","amenity":"place_of_worship"},"name":"Église de l'Assomption","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Notre-Dame de l'Assomption":{"tags":{"name":"Église Notre-Dame de l'Assomption","amenity":"place_of_worship"},"name":"Église Notre-Dame de l'Assomption","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Louis":{"tags":{"name":"Église Saint-Louis","amenity":"place_of_worship"},"name":"Église Saint-Louis","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Sauveur":{"tags":{"name":"Église Saint-Sauveur","amenity":"place_of_worship"},"name":"Église Saint-Sauveur","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Michele Arcangelo":{"tags":{"name":"Chiesa di San Michele Arcangelo","amenity":"place_of_worship"},"name":"Chiesa di San Michele Arcangelo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mesjid":{"tags":{"name":"Mesjid","amenity":"place_of_worship"},"name":"Mesjid","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mushalla":{"tags":{"name":"Mushalla","amenity":"place_of_worship"},"name":"Mushalla","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia Católica":{"tags":{"name":"Iglesia Católica","amenity":"place_of_worship"},"name":"Iglesia Católica","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Igreja Assembléia de Deus":{"tags":{"name":"Igreja Assembléia de Deus","amenity":"place_of_worship"},"name":"Igreja Assembléia de Deus","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Άγιος Δημήτριος":{"tags":{"name":"Άγιος Δημήτριος","amenity":"place_of_worship"},"name":"Άγιος Δημήτριος","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Iglesia de San Esteban":{"tags":{"name":"Iglesia de San Esteban","amenity":"place_of_worship"},"name":"Iglesia de San Esteban","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Narození Panny Marie":{"tags":{"name":"Narození Panny Marie","amenity":"place_of_worship"},"name":"Narození Panny Marie","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Sulpice":{"tags":{"name":"Église Saint-Sulpice","amenity":"place_of_worship"},"name":"Église Saint-Sulpice","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/La Iglesia de Jesucristo de los Santos de los Últimos Días":{"tags":{"name":"La Iglesia de Jesucristo de los Santos de los Últimos Días","amenity":"place_of_worship"},"name":"La Iglesia de Jesucristo de los Santos de los Últimos Días","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Biagio":{"tags":{"name":"Chiesa di San Biagio","amenity":"place_of_worship"},"name":"Chiesa di San Biagio","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Saturnin":{"tags":{"name":"Église Saint-Saturnin","amenity":"place_of_worship"},"name":"Église Saint-Saturnin","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/monastery":{"tags":{"name":"monastery","amenity":"place_of_worship"},"name":"monastery","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Церковь Казанской иконы Божией Матери":{"tags":{"name":"Церковь Казанской иконы Божией Матери","amenity":"place_of_worship"},"name":"Церковь Казанской иконы Божией Матери","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/pilone votivo":{"tags":{"name":"pilone votivo","amenity":"place_of_worship"},"name":"pilone votivo","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/mesjid":{"tags":{"name":"mesjid","amenity":"place_of_worship"},"name":"mesjid","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Sainte-Madeleine":{"tags":{"name":"Église Sainte-Madeleine","amenity":"place_of_worship"},"name":"Église Sainte-Madeleine","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Pierre et Saint-Paul":{"tags":{"name":"Église Saint-Pierre et Saint-Paul","amenity":"place_of_worship"},"name":"Église Saint-Pierre et Saint-Paul","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di Santo Stefano":{"tags":{"name":"Chiesa di Santo Stefano","amenity":"place_of_worship"},"name":"Chiesa di Santo Stefano","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sant Miquel":{"tags":{"name":"Sant Miquel","amenity":"place_of_worship"},"name":"Sant Miquel","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/福德祠":{"tags":{"name":"福德祠","amenity":"place_of_worship"},"name":"福德祠","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Musholla":{"tags":{"name":"Musholla","amenity":"place_of_worship"},"name":"Musholla","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Notre-Dame-de-l'Assomption":{"tags":{"name":"Église Notre-Dame-de-l'Assomption","amenity":"place_of_worship"},"name":"Église Notre-Dame-de-l'Assomption","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Църква":{"tags":{"name":"Църква","amenity":"place_of_worship"},"name":"Църква","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/福德宮":{"tags":{"name":"福德宮","amenity":"place_of_worship"},"name":"福德宮","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Chiesa di San Domenico":{"tags":{"name":"Chiesa di San Domenico","amenity":"place_of_worship"},"name":"Chiesa di San Domenico","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Magyarok Nagyasszonya-templom":{"tags":{"name":"Magyarok Nagyasszonya-templom","amenity":"place_of_worship"},"name":"Magyarok Nagyasszonya-templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mushola":{"tags":{"name":"Mushola","amenity":"place_of_worship"},"name":"Mushola","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Nagyboldogasszony-templom":{"tags":{"name":"Nagyboldogasszony-templom","amenity":"place_of_worship"},"name":"Nagyboldogasszony-templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Germain":{"tags":{"name":"Église Saint-Germain","amenity":"place_of_worship"},"name":"Église Saint-Germain","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Roch":{"tags":{"name":"Église Saint-Roch","amenity":"place_of_worship"},"name":"Église Saint-Roch","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Nejsvětější Trojice":{"tags":{"name":"Nejsvětější Trojice","amenity":"place_of_worship"},"name":"Nejsvětější Trojice","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/MASJID":{"tags":{"name":"MASJID","amenity":"place_of_worship"},"name":"MASJID","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Médard":{"tags":{"name":"Église Saint-Médard","amenity":"place_of_worship"},"name":"Église Saint-Médard","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Mushollah":{"tags":{"name":"Mushollah","amenity":"place_of_worship"},"name":"Mushollah","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Sant Pere":{"tags":{"name":"Sant Pere","amenity":"place_of_worship"},"name":"Sant Pere","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/pagoda":{"tags":{"name":"pagoda","amenity":"place_of_worship"},"name":"pagoda","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Symphorien":{"tags":{"name":"Église Saint-Symphorien","amenity":"place_of_worship"},"name":"Église Saint-Symphorien","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kościół pw. Miłosierdzia Bożego":{"tags":{"name":"Kościół pw. Miłosierdzia Bożego","amenity":"place_of_worship"},"name":"Kościół pw. Miłosierdzia Bożego","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Unknown Mosque":{"tags":{"name":"Unknown Mosque","amenity":"place_of_worship"},"name":"Unknown Mosque","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Pierre-ès-Liens":{"tags":{"name":"Église Saint-Pierre-ès-Liens","amenity":"place_of_worship"},"name":"Église Saint-Pierre-ès-Liens","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kovil":{"tags":{"name":"Kovil","amenity":"place_of_worship"},"name":"Kovil","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Blaise":{"tags":{"name":"Église Saint-Blaise","amenity":"place_of_worship"},"name":"Église Saint-Blaise","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Barthélemy":{"tags":{"name":"Église Saint-Barthélemy","amenity":"place_of_worship"},"name":"Église Saint-Barthélemy","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kościół pw. Podwyższenia Krzyża Świętego":{"tags":{"name":"Kościół pw. Podwyższenia Krzyża Świętego","amenity":"place_of_worship"},"name":"Kościół pw. Podwyższenia Krzyża Świętego","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Szent István király templom":{"tags":{"name":"Szent István király templom","amenity":"place_of_worship"},"name":"Szent István király templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Ref. templom":{"tags":{"name":"Ref. templom","amenity":"place_of_worship"},"name":"Ref. templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Rémy":{"tags":{"name":"Église Saint-Rémy","amenity":"place_of_worship"},"name":"Église Saint-Rémy","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/IGLESIA CATOLICA":{"tags":{"name":"IGLESIA CATOLICA","amenity":"place_of_worship"},"name":"IGLESIA CATOLICA","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Szent István király-templom":{"tags":{"name":"Szent István király-templom","amenity":"place_of_worship"},"name":"Szent István király-templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Paul":{"tags":{"name":"Église Saint-Paul","amenity":"place_of_worship"},"name":"Église Saint-Paul","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Rémi":{"tags":{"name":"Église Saint-Rémi","amenity":"place_of_worship"},"name":"Église Saint-Rémi","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Kisboldogasszony-templom":{"tags":{"name":"Kisboldogasszony-templom","amenity":"place_of_worship"},"name":"Kisboldogasszony-templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Szent Anna-templom":{"tags":{"name":"Szent Anna-templom","amenity":"place_of_worship"},"name":"Szent Anna-templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église Saint-Quentin":{"tags":{"name":"Église Saint-Quentin","amenity":"place_of_worship"},"name":"Église Saint-Quentin","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/svätého Michala":{"tags":{"name":"svätého Michala","amenity":"place_of_worship"},"name":"svätého Michala","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Église du Sacré-Cœur":{"tags":{"name":"Église du Sacré-Cœur","amenity":"place_of_worship"},"name":"Église du Sacré-Cœur","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Szentháromság-templom":{"tags":{"name":"Szentháromság-templom","amenity":"place_of_worship"},"name":"Szentháromság-templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Nagyboldogasszony templom":{"tags":{"name":"Nagyboldogasszony templom","amenity":"place_of_worship"},"name":"Nagyboldogasszony templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/place_of_worship/Szent Kereszt felmagasztalása-templom":{"tags":{"name":"Szent Kereszt felmagasztalása-templom","amenity":"place_of_worship"},"name":"Szent Kereszt felmagasztalása-templom","icon":"place-of-worship","geometry":["point","area"],"fields":["religion","denomination","address","building_area"],"suggestion":true},"amenity/fast_food/Quick":{"tags":{"name":"Quick","amenity":"fast_food"},"name":"Quick","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/McDonald's":{"tags":{"name":"McDonald's","cuisine":"burger","amenity":"fast_food"},"name":"McDonald's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Subway":{"tags":{"name":"Subway","cuisine":"sandwich","amenity":"fast_food"},"name":"Subway","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Burger King":{"tags":{"name":"Burger King","cuisine":"burger","amenity":"fast_food"},"name":"Burger King","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Ali Baba":{"tags":{"name":"Ali Baba","amenity":"fast_food"},"name":"Ali Baba","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Hungry Jacks":{"tags":{"name":"Hungry Jacks","cuisine":"burger","amenity":"fast_food"},"name":"Hungry Jacks","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Red Rooster":{"tags":{"name":"Red Rooster","amenity":"fast_food"},"name":"Red Rooster","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/KFC":{"tags":{"name":"KFC","cuisine":"chicken","amenity":"fast_food"},"name":"KFC","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Chowking":{"tags":{"name":"Chowking","amenity":"fast_food"},"name":"Chowking","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Jollibee":{"tags":{"name":"Jollibee","amenity":"fast_food"},"name":"Jollibee","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Five Guys":{"tags":{"name":"Five Guys","amenity":"fast_food"},"name":"Five Guys","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/肯德基":{"tags":{"name":"肯德基","amenity":"fast_food"},"name":"肯德基","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Domino's Pizza":{"tags":{"name":"Domino's Pizza","cuisine":"pizza","amenity":"fast_food"},"name":"Domino's Pizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Hesburger":{"tags":{"name":"Hesburger","amenity":"fast_food"},"name":"Hesburger","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Wendy's":{"tags":{"name":"Wendy's","cuisine":"burger","amenity":"fast_food"},"name":"Wendy's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Steers":{"tags":{"name":"Steers","amenity":"fast_food"},"name":"Steers","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Arby's":{"tags":{"name":"Arby's","amenity":"fast_food"},"name":"Arby's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/A&W":{"tags":{"name":"A&W","amenity":"fast_food"},"name":"A&W","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Dairy Queen":{"tags":{"name":"Dairy Queen","amenity":"fast_food"},"name":"Dairy Queen","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Fish & Chips":{"tags":{"name":"Fish & Chips","amenity":"fast_food"},"name":"Fish & Chips","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/麦当劳":{"tags":{"name":"麦当劳","amenity":"fast_food"},"name":"麦当劳","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Harvey's":{"tags":{"name":"Harvey's","amenity":"fast_food"},"name":"Harvey's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/麥當勞":{"tags":{"name":"麥當勞","amenity":"fast_food"},"name":"麥當勞","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Pizza Pizza":{"tags":{"name":"Pizza Pizza","amenity":"fast_food"},"name":"Pizza Pizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Istanbul Kebab":{"tags":{"name":"Istanbul Kebab","amenity":"fast_food"},"name":"Istanbul Kebab","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Kotipizza":{"tags":{"name":"Kotipizza","amenity":"fast_food"},"name":"Kotipizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Jack in the Box":{"tags":{"name":"Jack in the Box","cuisine":"burger","amenity":"fast_food"},"name":"Jack in the Box","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/KFC/Taco Bell":{"tags":{"name":"KFC/Taco Bell","amenity":"fast_food"},"name":"KFC/Taco Bell","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Istanbul":{"tags":{"name":"Istanbul","amenity":"fast_food"},"name":"Istanbul","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Kochlöffel":{"tags":{"name":"Kochlöffel","amenity":"fast_food"},"name":"Kochlöffel","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Pita Pit":{"tags":{"name":"Pita Pit","amenity":"fast_food"},"name":"Pita Pit","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Telepizza":{"tags":{"name":"Telepizza","amenity":"fast_food"},"name":"Telepizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Hallo Pizza":{"tags":{"name":"Hallo Pizza","amenity":"fast_food"},"name":"Hallo Pizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Qdoba":{"tags":{"name":"Qdoba","amenity":"fast_food"},"name":"Qdoba","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Carl's Jr.":{"tags":{"name":"Carl's Jr.","cuisine":"burger","amenity":"fast_food"},"name":"Carl's Jr.","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Quiznos":{"tags":{"name":"Quiznos","cuisine":"sandwich","amenity":"fast_food"},"name":"Quiznos","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Wimpy":{"tags":{"name":"Wimpy","amenity":"fast_food"},"name":"Wimpy","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Sonic":{"tags":{"name":"Sonic","cuisine":"burger","amenity":"fast_food"},"name":"Sonic","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Rally's":{"tags":{"name":"Rally's","amenity":"fast_food"},"name":"Rally's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Taco Bell":{"tags":{"name":"Taco Bell","cuisine":"mexican","amenity":"fast_food"},"name":"Taco Bell","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Pizza Nova":{"tags":{"name":"Pizza Nova","amenity":"fast_food"},"name":"Pizza Nova","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Papa John's":{"tags":{"name":"Papa John's","cuisine":"pizza","amenity":"fast_food"},"name":"Papa John's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Max":{"tags":{"name":"Max","amenity":"fast_food"},"name":"Max","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Nordsee":{"tags":{"name":"Nordsee","amenity":"fast_food"},"name":"Nordsee","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Mr. Sub":{"tags":{"name":"Mr. Sub","amenity":"fast_food"},"name":"Mr. Sub","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Krispy Kreme":{"tags":{"name":"Krispy Kreme","amenity":"fast_food"},"name":"Krispy Kreme","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Chipotle":{"tags":{"name":"Chipotle","cuisine":"mexican","amenity":"fast_food"},"name":"Chipotle","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Макдоналдс":{"tags":{"name":"Макдоналдс","name:en":"McDonald's","amenity":"fast_food"},"name":"Макдоналдс","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/マクドナルド":{"tags":{"name":"マクドナルド","name:en":"McDonald's","cuisine":"burger","amenity":"fast_food"},"name":"マクドナルド","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/ケンタッキーフライドチキン":{"tags":{"name":"ケンタッキーフライドチキン","name:en":"KFC","cuisine":"chicken","amenity":"fast_food"},"name":"ケンタッキーフライドチキン","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Food Court":{"tags":{"name":"Food Court","amenity":"fast_food"},"name":"Food Court","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Asia Wok":{"tags":{"name":"Asia Wok","amenity":"fast_food"},"name":"Asia Wok","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/In-N-Out Burger":{"tags":{"name":"In-N-Out Burger","amenity":"fast_food"},"name":"In-N-Out Burger","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/松屋":{"tags":{"name":"松屋","name:en":"Matsuya","amenity":"fast_food"},"name":"松屋","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Jimmy John's":{"tags":{"name":"Jimmy John's","cuisine":"sandwich","amenity":"fast_food"},"name":"Jimmy John's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Hardee's":{"tags":{"name":"Hardee's","cuisine":"burger","amenity":"fast_food"},"name":"Hardee's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Bistro":{"tags":{"name":"Bistro","amenity":"fast_food"},"name":"Bistro","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Quiznos Sub":{"tags":{"name":"Quiznos Sub","amenity":"fast_food"},"name":"Quiznos Sub","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Jamba Juice":{"tags":{"name":"Jamba Juice","amenity":"fast_food"},"name":"Jamba Juice","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Робин Сдобин":{"tags":{"name":"Робин Сдобин","amenity":"fast_food"},"name":"Робин Сдобин","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Baskin-Robbins":{"tags":{"name":"Baskin-Robbins","amenity":"fast_food"},"name":"Baskin-Robbins","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/くら寿司":{"tags":{"name":"くら寿司","amenity":"fast_food"},"name":"くら寿司","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/吉野家":{"tags":{"name":"吉野家","amenity":"fast_food"},"name":"吉野家","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Taco Time":{"tags":{"name":"Taco Time","amenity":"fast_food"},"name":"Taco Time","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/モスバーガー":{"tags":{"name":"モスバーガー","name:en":"MOS BURGER","amenity":"fast_food"},"name":"モスバーガー","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/すき家":{"tags":{"name":"すき家","name:en":"SUKIYA","amenity":"fast_food"},"name":"すき家","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/CoCo壱番屋":{"tags":{"name":"CoCo壱番屋","amenity":"fast_food"},"name":"CoCo壱番屋","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/スシロー":{"tags":{"name":"スシロー","amenity":"fast_food"},"name":"スシロー","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Sibylla":{"tags":{"name":"Sibylla","amenity":"fast_food"},"name":"Sibylla","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/The Pizza Company":{"tags":{"name":"The Pizza Company","amenity":"fast_food"},"name":"The Pizza Company","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Firehouse Subs":{"tags":{"name":"Firehouse Subs","amenity":"fast_food"},"name":"Firehouse Subs","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Little Caesar's":{"tags":{"name":"Little Caesar's","amenity":"fast_food"},"name":"Little Caesar's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Papa Murphy's":{"tags":{"name":"Papa Murphy's","amenity":"fast_food"},"name":"Papa Murphy's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Little Caesars":{"tags":{"name":"Little Caesars","cuisine":"pizza","amenity":"fast_food"},"name":"Little Caesars","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/El Pollo Loco":{"tags":{"name":"El Pollo Loco","amenity":"fast_food"},"name":"El Pollo Loco","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Del Taco":{"tags":{"name":"Del Taco","amenity":"fast_food"},"name":"Del Taco","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/White Castle":{"tags":{"name":"White Castle","amenity":"fast_food"},"name":"White Castle","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Boston Market":{"tags":{"name":"Boston Market","amenity":"fast_food"},"name":"Boston Market","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Chick-fil-A":{"tags":{"name":"Chick-fil-A","cuisine":"chicken","amenity":"fast_food"},"name":"Chick-fil-A","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Panda Express":{"tags":{"name":"Panda Express","cuisine":"chinese","amenity":"fast_food"},"name":"Panda Express","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Wienerschnitzel":{"tags":{"name":"Wienerschnitzel","amenity":"fast_food"},"name":"Wienerschnitzel","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/ミスタードーナツ":{"tags":{"name":"ミスタードーナツ","amenity":"fast_food"},"name":"ミスタードーナツ","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Whataburger":{"tags":{"name":"Whataburger","amenity":"fast_food"},"name":"Whataburger","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Cold Stone Creamery":{"tags":{"name":"Cold Stone Creamery","amenity":"fast_food"},"name":"Cold Stone Creamery","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Greenwich":{"tags":{"name":"Greenwich","amenity":"fast_food"},"name":"Greenwich","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Habib's":{"tags":{"name":"Habib's","amenity":"fast_food"},"name":"Habib's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Culver's":{"tags":{"name":"Culver's","amenity":"fast_food"},"name":"Culver's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Bob's":{"tags":{"name":"Bob's","amenity":"fast_food"},"name":"Bob's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/ロッテリア":{"tags":{"name":"ロッテリア","amenity":"fast_food"},"name":"ロッテリア","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Church's Chicken":{"tags":{"name":"Church's Chicken","amenity":"fast_food"},"name":"Church's Chicken","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Popeye's":{"tags":{"name":"Popeye's","cuisine":"chicken","amenity":"fast_food"},"name":"Popeye's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Five Guys Burgers and Fries":{"tags":{"name":"Five Guys Burgers and Fries","amenity":"fast_food"},"name":"Five Guys Burgers and Fries","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Jersey Mike's Subs":{"tags":{"name":"Jersey Mike's Subs","amenity":"fast_food"},"name":"Jersey Mike's Subs","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Long John Silver's":{"tags":{"name":"Long John Silver's","amenity":"fast_food"},"name":"Long John Silver's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Booster Juice":{"tags":{"name":"Booster Juice","amenity":"fast_food"},"name":"Booster Juice","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Burger Machine":{"tags":{"name":"Burger Machine","amenity":"fast_food"},"name":"Burger Machine","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Lotteria":{"tags":{"name":"Lotteria","amenity":"fast_food"},"name":"Lotteria","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Schlotzsky's Deli":{"tags":{"name":"Schlotzsky's Deli","amenity":"fast_food"},"name":"Schlotzsky's Deli","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Pizza Hut Delivery":{"tags":{"name":"Pizza Hut Delivery","amenity":"fast_food"},"name":"Pizza Hut Delivery","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Pollo Campero":{"tags":{"name":"Pollo Campero","amenity":"fast_food"},"name":"Pollo Campero","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Шаурма":{"tags":{"name":"Шаурма","amenity":"fast_food"},"name":"Шаурма","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Taco John's":{"tags":{"name":"Taco John's","amenity":"fast_food"},"name":"Taco John's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/SubWay":{"tags":{"name":"SubWay","amenity":"fast_food"},"name":"SubWay","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Bojangles":{"tags":{"name":"Bojangles","amenity":"fast_food"},"name":"Bojangles","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Taco Cabana":{"tags":{"name":"Taco Cabana","amenity":"fast_food"},"name":"Taco Cabana","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/New York Pizza":{"tags":{"name":"New York Pizza","amenity":"fast_food"},"name":"New York Pizza","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Русский Аппетит":{"tags":{"name":"Русский Аппетит","amenity":"fast_food"},"name":"Русский Аппетит","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Теремок":{"tags":{"name":"Теремок","amenity":"fast_food"},"name":"Теремок","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/かっぱ寿司":{"tags":{"name":"かっぱ寿司","amenity":"fast_food"},"name":"かっぱ寿司","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Zaxby's":{"tags":{"name":"Zaxby's","amenity":"fast_food"},"name":"Zaxby's","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Kebabai":{"tags":{"name":"Kebabai","amenity":"fast_food"},"name":"Kebabai","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/オリジン弁当":{"tags":{"name":"オリジン弁当","amenity":"fast_food"},"name":"オリジン弁当","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/なか卯":{"tags":{"name":"なか卯","amenity":"fast_food"},"name":"なか卯","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/DQ":{"tags":{"name":"DQ","amenity":"fast_food"},"name":"DQ","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Бургер Кинг":{"tags":{"name":"Бургер Кинг","amenity":"fast_food"},"name":"Бургер Кинг","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/サブウェイ":{"tags":{"name":"サブウェイ","amenity":"fast_food"},"name":"サブウェイ","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Шаверма":{"tags":{"name":"Шаверма","amenity":"fast_food"},"name":"Шаверма","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/ほっともっと":{"tags":{"name":"ほっともっと","amenity":"fast_food"},"name":"ほっともっと","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/幸楽苑":{"tags":{"name":"幸楽苑","amenity":"fast_food"},"name":"幸楽苑","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/摩斯漢堡":{"tags":{"name":"摩斯漢堡","amenity":"fast_food"},"name":"摩斯漢堡","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/СтарДогс":{"tags":{"name":"СтарДогс","amenity":"fast_food"},"name":"СтарДогс","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Pollo Granjero":{"tags":{"name":"Pollo Granjero","amenity":"fast_food"},"name":"Pollo Granjero","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/fast_food/Pinulito":{"tags":{"name":"Pinulito","amenity":"fast_food"},"name":"Pinulito","icon":"fast-food","geometry":["point","area"],"fields":["cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking"],"suggestion":true},"amenity/restaurant/Pizza Hut":{"tags":{"name":"Pizza Hut","cuisine":"pizza","amenity":"restaurant"},"name":"Pizza Hut","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Pizzeria Italia":{"tags":{"name":"Pizzeria Italia","amenity":"restaurant"},"name":"Pizzeria Italia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hirsch":{"tags":{"name":"Hirsch","amenity":"restaurant"},"name":"Hirsch","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Shakey's":{"tags":{"name":"Shakey's","amenity":"restaurant"},"name":"Shakey's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Little Chef":{"tags":{"name":"Little Chef","amenity":"restaurant"},"name":"Little Chef","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zur Krone":{"tags":{"name":"Zur Krone","amenity":"restaurant"},"name":"Zur Krone","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Deutsches Haus":{"tags":{"name":"Deutsches Haus","amenity":"restaurant"},"name":"Deutsches Haus","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Krone":{"tags":{"name":"Krone","amenity":"restaurant"},"name":"Krone","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Akropolis":{"tags":{"name":"Akropolis","amenity":"restaurant"},"name":"Akropolis","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Schützenhaus":{"tags":{"name":"Schützenhaus","amenity":"restaurant"},"name":"Schützenhaus","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Wagamama":{"tags":{"name":"Wagamama","amenity":"restaurant"},"name":"Wagamama","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Kreuz":{"tags":{"name":"Kreuz","amenity":"restaurant"},"name":"Kreuz","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Waldschänke":{"tags":{"name":"Waldschänke","amenity":"restaurant"},"name":"Waldschänke","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Pizza Express":{"tags":{"name":"Pizza Express","amenity":"restaurant"},"name":"Pizza Express","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Jägerhof":{"tags":{"name":"Jägerhof","amenity":"restaurant"},"name":"Jägerhof","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Piazza":{"tags":{"name":"La Piazza","amenity":"restaurant"},"name":"La Piazza","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Adler":{"tags":{"name":"Adler","amenity":"restaurant"},"name":"Adler","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Boucherie":{"tags":{"name":"La Boucherie","amenity":"restaurant"},"name":"La Boucherie","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Lamm":{"tags":{"name":"Lamm","amenity":"restaurant"},"name":"Lamm","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zur Sonne":{"tags":{"name":"Zur Sonne","amenity":"restaurant"},"name":"Zur Sonne","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zur Linde":{"tags":{"name":"Zur Linde","amenity":"restaurant"},"name":"Zur Linde","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Pergola":{"tags":{"name":"La Pergola","amenity":"restaurant"},"name":"La Pergola","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Panorama":{"tags":{"name":"Panorama","amenity":"restaurant"},"name":"Panorama","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Shanghai":{"tags":{"name":"Shanghai","amenity":"restaurant"},"name":"Shanghai","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Red Lobster":{"tags":{"name":"Red Lobster","amenity":"restaurant"},"name":"Red Lobster","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zum Löwen":{"tags":{"name":"Zum Löwen","amenity":"restaurant"},"name":"Zum Löwen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Swiss Chalet":{"tags":{"name":"Swiss Chalet","amenity":"restaurant"},"name":"Swiss Chalet","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Frankie & Benny's":{"tags":{"name":"Frankie & Benny's","amenity":"restaurant"},"name":"Frankie & Benny's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hooters":{"tags":{"name":"Hooters","amenity":"restaurant"},"name":"Hooters","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sternen":{"tags":{"name":"Sternen","amenity":"restaurant"},"name":"Sternen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hirschen":{"tags":{"name":"Hirschen","amenity":"restaurant"},"name":"Hirschen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Denny's":{"tags":{"name":"Denny's","amenity":"restaurant"},"name":"Denny's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sonne":{"tags":{"name":"Sonne","amenity":"restaurant"},"name":"Sonne","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Ratskeller":{"tags":{"name":"Ratskeller","amenity":"restaurant"},"name":"Ratskeller","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Cantina":{"tags":{"name":"La Cantina","amenity":"restaurant"},"name":"La Cantina","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/El Greco":{"tags":{"name":"El Greco","amenity":"restaurant"},"name":"El Greco","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Gasthof zur Post":{"tags":{"name":"Gasthof zur Post","amenity":"restaurant"},"name":"Gasthof zur Post","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Löwen":{"tags":{"name":"Löwen","amenity":"restaurant"},"name":"Löwen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Lotus":{"tags":{"name":"Lotus","amenity":"restaurant"},"name":"Lotus","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Pataterie":{"tags":{"name":"La Pataterie","amenity":"restaurant"},"name":"La Pataterie","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Syrtaki":{"tags":{"name":"Syrtaki","amenity":"restaurant"},"name":"Syrtaki","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Bella Napoli":{"tags":{"name":"Bella Napoli","amenity":"restaurant"},"name":"Bella Napoli","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Oasis":{"tags":{"name":"Oasis","amenity":"restaurant"},"name":"Oasis","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mandarin":{"tags":{"name":"Mandarin","amenity":"restaurant"},"name":"Mandarin","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Nando's":{"tags":{"name":"Nando's","amenity":"restaurant"},"name":"Nando's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zizzi":{"tags":{"name":"Zizzi","amenity":"restaurant"},"name":"Zizzi","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Rhodos":{"tags":{"name":"Rhodos","amenity":"restaurant"},"name":"Rhodos","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Bären":{"tags":{"name":"Bären","amenity":"restaurant"},"name":"Bären","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Gasthaus Adler":{"tags":{"name":"Gasthaus Adler","amenity":"restaurant"},"name":"Gasthaus Adler","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Pomodoro":{"tags":{"name":"Pomodoro","amenity":"restaurant"},"name":"Pomodoro","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Lindenhof":{"tags":{"name":"Lindenhof","amenity":"restaurant"},"name":"Lindenhof","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Milano":{"tags":{"name":"Milano","amenity":"restaurant"},"name":"Milano","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Dolce Vita":{"tags":{"name":"Dolce Vita","amenity":"restaurant"},"name":"Dolce Vita","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Kirchenwirt":{"tags":{"name":"Kirchenwirt","amenity":"restaurant"},"name":"Kirchenwirt","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Kreta":{"tags":{"name":"Kreta","amenity":"restaurant"},"name":"Kreta","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Kantine":{"tags":{"name":"Kantine","amenity":"restaurant"},"name":"Kantine","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hong Kong":{"tags":{"name":"Hong Kong","amenity":"restaurant"},"name":"Hong Kong","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Ochsen":{"tags":{"name":"Ochsen","amenity":"restaurant"},"name":"Ochsen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Spur":{"tags":{"name":"Spur","amenity":"restaurant"},"name":"Spur","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Applebee's":{"tags":{"name":"Applebee's","amenity":"restaurant"},"name":"Applebee's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Europa":{"tags":{"name":"Europa","amenity":"restaurant"},"name":"Europa","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Flunch":{"tags":{"name":"Flunch","amenity":"restaurant"},"name":"Flunch","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zur Post":{"tags":{"name":"Zur Post","amenity":"restaurant"},"name":"Zur Post","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/China Town":{"tags":{"name":"China Town","amenity":"restaurant"},"name":"China Town","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Dolce Vita":{"tags":{"name":"La Dolce Vita","amenity":"restaurant"},"name":"La Dolce Vita","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Waffle House":{"tags":{"name":"Waffle House","amenity":"restaurant"},"name":"Waffle House","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Gasthaus Krone":{"tags":{"name":"Gasthaus Krone","amenity":"restaurant"},"name":"Gasthaus Krone","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Linde":{"tags":{"name":"Linde","amenity":"restaurant"},"name":"Linde","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Outback Steakhouse":{"tags":{"name":"Outback Steakhouse","amenity":"restaurant"},"name":"Outback Steakhouse","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Dionysos":{"tags":{"name":"Dionysos","amenity":"restaurant"},"name":"Dionysos","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Frohsinn":{"tags":{"name":"Frohsinn","amenity":"restaurant"},"name":"Frohsinn","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Kelsey's":{"tags":{"name":"Kelsey's","amenity":"restaurant"},"name":"Kelsey's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Boston Pizza":{"tags":{"name":"Boston Pizza","amenity":"restaurant"},"name":"Boston Pizza","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mykonos":{"tags":{"name":"Mykonos","amenity":"restaurant"},"name":"Mykonos","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Bella Italia":{"tags":{"name":"Bella Italia","amenity":"restaurant"},"name":"Bella Italia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Olympia":{"tags":{"name":"Olympia","amenity":"restaurant"},"name":"Olympia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zum Hirschen":{"tags":{"name":"Zum Hirschen","amenity":"restaurant"},"name":"Zum Hirschen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/China House":{"tags":{"name":"China House","amenity":"restaurant"},"name":"China House","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sizzler":{"tags":{"name":"Sizzler","amenity":"restaurant"},"name":"Sizzler","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Grüner Baum":{"tags":{"name":"Grüner Baum","amenity":"restaurant"},"name":"Grüner Baum","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Taj Mahal":{"tags":{"name":"Taj Mahal","amenity":"restaurant"},"name":"Taj Mahal","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Delphi":{"tags":{"name":"Delphi","amenity":"restaurant"},"name":"Delphi","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Casablanca":{"tags":{"name":"Casablanca","amenity":"restaurant"},"name":"Casablanca","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Rössli":{"tags":{"name":"Rössli","amenity":"restaurant"},"name":"Rössli","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Traube":{"tags":{"name":"Traube","amenity":"restaurant"},"name":"Traube","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Taverna":{"tags":{"name":"La Taverna","amenity":"restaurant"},"name":"La Taverna","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Adria":{"tags":{"name":"Adria","amenity":"restaurant"},"name":"Adria","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Pancake House":{"tags":{"name":"Pancake House","amenity":"restaurant"},"name":"Pancake House","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Red Robin":{"tags":{"name":"Red Robin","amenity":"restaurant"},"name":"Red Robin","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Golden Dragon":{"tags":{"name":"Golden Dragon","amenity":"restaurant"},"name":"Golden Dragon","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/L'Osteria":{"tags":{"name":"L'Osteria","amenity":"restaurant"},"name":"L'Osteria","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Harvester":{"tags":{"name":"Harvester","amenity":"restaurant"},"name":"Harvester","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Belvedere":{"tags":{"name":"Belvedere","amenity":"restaurant"},"name":"Belvedere","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Roma":{"tags":{"name":"Roma","amenity":"restaurant"},"name":"Roma","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hellas":{"tags":{"name":"Hellas","amenity":"restaurant"},"name":"Hellas","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mamma Mia":{"tags":{"name":"Mamma Mia","amenity":"restaurant"},"name":"Mamma Mia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Perla":{"tags":{"name":"La Perla","amenity":"restaurant"},"name":"La Perla","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Vips":{"tags":{"name":"Vips","amenity":"restaurant"},"name":"Vips","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Santorini":{"tags":{"name":"Santorini","amenity":"restaurant"},"name":"Santorini","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Poseidon":{"tags":{"name":"Poseidon","amenity":"restaurant"},"name":"Poseidon","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Gusto":{"tags":{"name":"Gusto","amenity":"restaurant"},"name":"Gusto","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Тануки":{"tags":{"name":"Тануки","amenity":"restaurant"},"name":"Тануки","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Da Vinci":{"tags":{"name":"Da Vinci","amenity":"restaurant"},"name":"Da Vinci","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Toscana":{"tags":{"name":"Toscana","amenity":"restaurant"},"name":"Toscana","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hippopotamus":{"tags":{"name":"Hippopotamus","amenity":"restaurant"},"name":"Hippopotamus","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Terrazza":{"tags":{"name":"La Terrazza","amenity":"restaurant"},"name":"La Terrazza","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Courtepaille":{"tags":{"name":"Courtepaille","amenity":"restaurant"},"name":"Courtepaille","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Dorfkrug":{"tags":{"name":"Dorfkrug","amenity":"restaurant"},"name":"Dorfkrug","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Hard Rock Cafe":{"tags":{"name":"Hard Rock Cafe","amenity":"restaurant"},"name":"Hard Rock Cafe","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Marco Polo":{"tags":{"name":"Marco Polo","amenity":"restaurant"},"name":"Marco Polo","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Piazzetta":{"tags":{"name":"La Piazzetta","amenity":"restaurant"},"name":"La Piazzetta","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Zorbas":{"tags":{"name":"Zorbas","amenity":"restaurant"},"name":"Zorbas","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Athen":{"tags":{"name":"Athen","amenity":"restaurant"},"name":"Athen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Fontana":{"tags":{"name":"La Fontana","amenity":"restaurant"},"name":"La Fontana","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Pinocchio":{"tags":{"name":"Pinocchio","amenity":"restaurant"},"name":"Pinocchio","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/San Marco":{"tags":{"name":"San Marco","amenity":"restaurant"},"name":"San Marco","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Portofino":{"tags":{"name":"Portofino","amenity":"restaurant"},"name":"Portofino","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/デニーズ":{"tags":{"name":"デニーズ","amenity":"restaurant"},"name":"デニーズ","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Gondola":{"tags":{"name":"La Gondola","amenity":"restaurant"},"name":"La Gondola","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sphinx":{"tags":{"name":"Sphinx","amenity":"restaurant"},"name":"Sphinx","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sportheim":{"tags":{"name":"Sportheim","amenity":"restaurant"},"name":"Sportheim","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/ジョリーパスタ":{"tags":{"name":"ジョリーパスタ","amenity":"restaurant"},"name":"ジョリーパスタ","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/TGI Friday's":{"tags":{"name":"TGI Friday's","amenity":"restaurant"},"name":"TGI Friday's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Gasthaus zur Linde":{"tags":{"name":"Gasthaus zur Linde","amenity":"restaurant"},"name":"Gasthaus zur Linde","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/餃子の王将":{"tags":{"name":"餃子の王将","amenity":"restaurant"},"name":"餃子の王将","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Engel":{"tags":{"name":"Engel","amenity":"restaurant"},"name":"Engel","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Alte Post":{"tags":{"name":"Alte Post","amenity":"restaurant"},"name":"Alte Post","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Carpe Diem":{"tags":{"name":"Carpe Diem","amenity":"restaurant"},"name":"Carpe Diem","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Pizzeria Roma":{"tags":{"name":"Pizzeria Roma","amenity":"restaurant"},"name":"Pizzeria Roma","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Casa":{"tags":{"name":"La Casa","amenity":"restaurant"},"name":"La Casa","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/China Garden":{"tags":{"name":"China Garden","amenity":"restaurant"},"name":"China Garden","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Vapiano":{"tags":{"name":"Vapiano","amenity":"restaurant"},"name":"Vapiano","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Scala":{"tags":{"name":"La Scala","amenity":"restaurant"},"name":"La Scala","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Trattoria":{"tags":{"name":"Trattoria","amenity":"restaurant"},"name":"Trattoria","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Casa Mia":{"tags":{"name":"Casa Mia","amenity":"restaurant"},"name":"Casa Mia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Taverna":{"tags":{"name":"Taverna","amenity":"restaurant"},"name":"Taverna","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/IHOP":{"tags":{"name":"IHOP","amenity":"restaurant"},"name":"IHOP","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Chili's":{"tags":{"name":"Chili's","amenity":"restaurant"},"name":"Chili's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Asia":{"tags":{"name":"Asia","amenity":"restaurant"},"name":"Asia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Athos":{"tags":{"name":"Athos","amenity":"restaurant"},"name":"Athos","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Ruby Tuesday":{"tags":{"name":"Ruby Tuesday","amenity":"restaurant"},"name":"Ruby Tuesday","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Olive Garden":{"tags":{"name":"Olive Garden","amenity":"restaurant"},"name":"Olive Garden","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Ocean Basket":{"tags":{"name":"Ocean Basket","amenity":"restaurant"},"name":"Ocean Basket","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mellow Mushroom":{"tags":{"name":"Mellow Mushroom","amenity":"restaurant"},"name":"Mellow Mushroom","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Cracker Barrel":{"tags":{"name":"Cracker Barrel","amenity":"restaurant"},"name":"Cracker Barrel","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Strada":{"tags":{"name":"La Strada","amenity":"restaurant"},"name":"La Strada","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Panera Bread":{"tags":{"name":"Panera Bread","amenity":"restaurant"},"name":"Panera Bread","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Friendly's":{"tags":{"name":"Friendly's","amenity":"restaurant"},"name":"Friendly's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Buffalo Grill":{"tags":{"name":"Buffalo Grill","amenity":"restaurant"},"name":"Buffalo Grill","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Taste of India":{"tags":{"name":"Taste of India","amenity":"restaurant"},"name":"Taste of India","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Texas Roadhouse":{"tags":{"name":"Texas Roadhouse","amenity":"restaurant"},"name":"Texas Roadhouse","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/ガスト":{"tags":{"name":"ガスト","name:en":"Gusto","amenity":"restaurant"},"name":"ガスト","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/牛角":{"tags":{"name":"牛角","amenity":"restaurant"},"name":"牛角","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Schwarzer Adler":{"tags":{"name":"Schwarzer Adler","amenity":"restaurant"},"name":"Schwarzer Adler","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/丸亀製麺":{"tags":{"name":"丸亀製麺","amenity":"restaurant"},"name":"丸亀製麺","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/ココス":{"tags":{"name":"ココス","amenity":"restaurant"},"name":"ココス","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/ロイヤルホスト":{"tags":{"name":"ロイヤルホスト","amenity":"restaurant"},"name":"ロイヤルホスト","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sushi Bar":{"tags":{"name":"Sushi Bar","amenity":"restaurant"},"name":"Sushi Bar","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Tasca":{"tags":{"name":"La Tasca","amenity":"restaurant"},"name":"La Tasca","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Venezia":{"tags":{"name":"Venezia","amenity":"restaurant"},"name":"Venezia","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/ジョナサン":{"tags":{"name":"ジョナサン","amenity":"restaurant"},"name":"ジョナサン","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Léon de Bruxelles":{"tags":{"name":"Léon de Bruxelles","amenity":"restaurant"},"name":"Léon de Bruxelles","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/夢庵":{"tags":{"name":"夢庵","amenity":"restaurant"},"name":"夢庵","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mensa":{"tags":{"name":"Mensa","amenity":"restaurant"},"name":"Mensa","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/大戸屋":{"tags":{"name":"大戸屋","amenity":"restaurant"},"name":"大戸屋","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/El Paso":{"tags":{"name":"El Paso","amenity":"restaurant"},"name":"El Paso","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/びっくりドンキー":{"tags":{"name":"びっくりドンキー","amenity":"restaurant"},"name":"びっくりドンキー","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/サイゼリヤ":{"tags":{"name":"サイゼリヤ","amenity":"restaurant"},"name":"サイゼリヤ","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/MK Restaurants":{"tags":{"name":"MK Restaurants","amenity":"restaurant"},"name":"MK Restaurants","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Village Inn":{"tags":{"name":"Village Inn","amenity":"restaurant"},"name":"Village Inn","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Peking":{"tags":{"name":"Peking","amenity":"restaurant"},"name":"Peking","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sakura":{"tags":{"name":"Sakura","amenity":"restaurant"},"name":"Sakura","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Tony Roma's":{"tags":{"name":"Tony Roma's","amenity":"restaurant"},"name":"Tony Roma's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/restaurant":{"tags":{"name":"restaurant","amenity":"restaurant"},"name":"restaurant","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/El Rancho":{"tags":{"name":"El Rancho","amenity":"restaurant"},"name":"El Rancho","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Prezzo":{"tags":{"name":"Prezzo","amenity":"restaurant"},"name":"Prezzo","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Bodega":{"tags":{"name":"La Bodega","amenity":"restaurant"},"name":"La Bodega","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/バーミヤン":{"tags":{"name":"バーミヤン","amenity":"restaurant"},"name":"バーミヤン","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mimi's Cafe":{"tags":{"name":"Mimi's Cafe","amenity":"restaurant"},"name":"Mimi's Cafe","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Little Italy":{"tags":{"name":"Little Italy","amenity":"restaurant"},"name":"Little Italy","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Trattoria":{"tags":{"name":"La Trattoria","amenity":"restaurant"},"name":"La Trattoria","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Bonefish Grill":{"tags":{"name":"Bonefish Grill","amenity":"restaurant"},"name":"Bonefish Grill","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Wasabi":{"tags":{"name":"Wasabi","amenity":"restaurant"},"name":"Wasabi","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/China Wok":{"tags":{"name":"China Wok","amenity":"restaurant"},"name":"China Wok","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Joe's Crab Shack":{"tags":{"name":"Joe's Crab Shack","amenity":"restaurant"},"name":"Joe's Crab Shack","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Round Table Pizza":{"tags":{"name":"Round Table Pizza","amenity":"restaurant"},"name":"Round Table Pizza","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Buffalo Wild Wings":{"tags":{"name":"Buffalo Wild Wings","amenity":"restaurant"},"name":"Buffalo Wild Wings","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Perkins":{"tags":{"name":"Perkins","amenity":"restaurant"},"name":"Perkins","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/La Terrasse":{"tags":{"name":"La Terrasse","amenity":"restaurant"},"name":"La Terrasse","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/L'Escale":{"tags":{"name":"L'Escale","amenity":"restaurant"},"name":"L'Escale","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Shari's":{"tags":{"name":"Shari's","amenity":"restaurant"},"name":"Shari's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Bob Evans":{"tags":{"name":"Bob Evans","amenity":"restaurant"},"name":"Bob Evans","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/바다횟집 (Bada Fish Restaurant)":{"tags":{"name":"바다횟집 (Bada Fish Restaurant)","amenity":"restaurant"},"name":"바다횟집 (Bada Fish Restaurant)","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Mang Inasal":{"tags":{"name":"Mang Inasal","amenity":"restaurant"},"name":"Mang Inasal","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/California Pizza Kitchen":{"tags":{"name":"California Pizza Kitchen","amenity":"restaurant"},"name":"California Pizza Kitchen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Da Grasso":{"tags":{"name":"Da Grasso","amenity":"restaurant"},"name":"Da Grasso","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Якитория":{"tags":{"name":"Якитория","amenity":"restaurant"},"name":"Якитория","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Pizza Ranch":{"tags":{"name":"Pizza Ranch","amenity":"restaurant"},"name":"Pizza Ranch","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Golden Corral":{"tags":{"name":"Golden Corral","amenity":"restaurant"},"name":"Golden Corral","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Old Chicago":{"tags":{"name":"Old Chicago","amenity":"restaurant"},"name":"Old Chicago","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Евразия":{"tags":{"name":"Евразия","amenity":"restaurant"},"name":"Евразия","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Carrabba's Italian Grill":{"tags":{"name":"Carrabba's Italian Grill","amenity":"restaurant"},"name":"Carrabba's Italian Grill","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Noodles & Company":{"tags":{"name":"Noodles & Company","amenity":"restaurant"},"name":"Noodles & Company","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Canteen":{"tags":{"name":"Canteen","amenity":"restaurant"},"name":"Canteen","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Kudu":{"tags":{"name":"Kudu","amenity":"restaurant"},"name":"Kudu","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/O'Charley's":{"tags":{"name":"O'Charley's","amenity":"restaurant"},"name":"O'Charley's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Jason's Deli":{"tags":{"name":"Jason's Deli","amenity":"restaurant"},"name":"Jason's Deli","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/安楽亭":{"tags":{"name":"安楽亭","amenity":"restaurant"},"name":"安楽亭","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/LongHorn Steakhouse":{"tags":{"name":"LongHorn Steakhouse","amenity":"restaurant"},"name":"LongHorn Steakhouse","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Logan's Roadhouse":{"tags":{"name":"Logan's Roadhouse","amenity":"restaurant"},"name":"Logan's Roadhouse","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Moe's Southwest Grill":{"tags":{"name":"Moe's Southwest Grill","amenity":"restaurant"},"name":"Moe's Southwest Grill","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Sushi":{"tags":{"name":"Sushi","amenity":"restaurant"},"name":"Sushi","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Famous Dave's":{"tags":{"name":"Famous Dave's","amenity":"restaurant"},"name":"Famous Dave's","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/天下一品":{"tags":{"name":"天下一品","amenity":"restaurant"},"name":"天下一品","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Steak 'n Shake":{"tags":{"name":"Steak 'n Shake","cuisine":"burger","amenity":"restaurant"},"name":"Steak 'n Shake","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/ジョイフル":{"tags":{"name":"ジョイフル","amenity":"restaurant"},"name":"ジョイフル","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/やよい軒":{"tags":{"name":"やよい軒","amenity":"restaurant"},"name":"やよい軒","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/Ristorante Del Arte":{"tags":{"name":"Ristorante Del Arte","amenity":"restaurant"},"name":"Ristorante Del Arte","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/restaurant/八方雲集":{"tags":{"name":"八方雲集","amenity":"restaurant"},"name":"八方雲集","icon":"restaurant","geometry":["point","area"],"fields":["cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking"],"suggestion":true},"amenity/parking/Wanderparkplatz":{"tags":{"name":"Wanderparkplatz","amenity":"parking"},"name":"Wanderparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Carpool":{"tags":{"name":"Carpool","amenity":"parking"},"name":"Carpool","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Friedhof":{"tags":{"name":"Friedhof","amenity":"parking"},"name":"Friedhof","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Park and Ride":{"tags":{"name":"Park and Ride","amenity":"parking"},"name":"Park and Ride","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Rathaus":{"tags":{"name":"Rathaus","amenity":"parking"},"name":"Rathaus","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P1":{"tags":{"name":"P1","amenity":"parking"},"name":"P1","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P2":{"tags":{"name":"P2","amenity":"parking"},"name":"P2","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Markt":{"tags":{"name":"Markt","amenity":"parking"},"name":"Markt","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Public Parking":{"tags":{"name":"Public Parking","amenity":"parking"},"name":"Public Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P7":{"tags":{"name":"P7","amenity":"parking"},"name":"P7","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P8":{"tags":{"name":"P8","amenity":"parking"},"name":"P8","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parkplatz":{"tags":{"name":"Parkplatz","amenity":"parking"},"name":"Parkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Car Park":{"tags":{"name":"Car Park","amenity":"parking"},"name":"Car Park","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P9":{"tags":{"name":"P9","amenity":"parking"},"name":"P9","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot D":{"tags":{"name":"Lot D","amenity":"parking"},"name":"Lot D","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Park & Ride":{"tags":{"name":"Park & Ride","amenity":"parking"},"name":"Park & Ride","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Marktplatz":{"tags":{"name":"Marktplatz","amenity":"parking"},"name":"Marktplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P3":{"tags":{"name":"P3","amenity":"parking"},"name":"P3","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parkhaus":{"tags":{"name":"Parkhaus","amenity":"parking"},"name":"Parkhaus","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Visitor Parking":{"tags":{"name":"Visitor Parking","amenity":"parking"},"name":"Visitor Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parking de la Mairie":{"tags":{"name":"Parking de la Mairie","amenity":"parking"},"name":"Parking de la Mairie","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Besucherparkplatz":{"tags":{"name":"Besucherparkplatz","amenity":"parking"},"name":"Besucherparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Friedhofsparkplatz":{"tags":{"name":"Friedhofsparkplatz","amenity":"parking"},"name":"Friedhofsparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Estacionamiento":{"tags":{"name":"Estacionamiento","amenity":"parking"},"name":"Estacionamiento","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Festplatz":{"tags":{"name":"Festplatz","amenity":"parking"},"name":"Festplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Behindertenparkplatz":{"tags":{"name":"Behindertenparkplatz","amenity":"parking"},"name":"Behindertenparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place de l'Église":{"tags":{"name":"Place de l'Église","amenity":"parking"},"name":"Place de l'Église","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Sportplatz":{"tags":{"name":"Sportplatz","amenity":"parking"},"name":"Sportplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P&R":{"tags":{"name":"P&R","amenity":"parking"},"name":"P&R","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Waldparkplatz":{"tags":{"name":"Waldparkplatz","amenity":"parking"},"name":"Waldparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Bahnhof":{"tags":{"name":"Bahnhof","amenity":"parking"},"name":"Bahnhof","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P+R":{"tags":{"name":"P+R","amenity":"parking"},"name":"P+R","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parcare":{"tags":{"name":"Parcare","amenity":"parking"},"name":"Parcare","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Tesco Car Park":{"tags":{"name":"Tesco Car Park","amenity":"parking"},"name":"Tesco Car Park","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Bus":{"tags":{"name":"Bus","amenity":"parking"},"name":"Bus","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P6":{"tags":{"name":"P6","amenity":"parking"},"name":"P6","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Kundenparkplatz":{"tags":{"name":"Kundenparkplatz","amenity":"parking"},"name":"Kundenparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parkplatz Friedhof":{"tags":{"name":"Parkplatz Friedhof","amenity":"parking"},"name":"Parkplatz Friedhof","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place de la Mairie":{"tags":{"name":"Place de la Mairie","amenity":"parking"},"name":"Place de la Mairie","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Krankenhaus":{"tags":{"name":"Krankenhaus","amenity":"parking"},"name":"Krankenhaus","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/parking":{"tags":{"name":"parking","amenity":"parking"},"name":"parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Schulparkplatz":{"tags":{"name":"Schulparkplatz","amenity":"parking"},"name":"Schulparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place de la République":{"tags":{"name":"Place de la République","amenity":"parking"},"name":"Place de la République","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lehrerparkplatz":{"tags":{"name":"Lehrerparkplatz","amenity":"parking"},"name":"Lehrerparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P10":{"tags":{"name":"P10","amenity":"parking"},"name":"P10","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P4":{"tags":{"name":"P4","amenity":"parking"},"name":"P4","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/停車場":{"tags":{"name":"停車場","amenity":"parking"},"name":"停車場","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Dorfplatz":{"tags":{"name":"Dorfplatz","amenity":"parking"},"name":"Dorfplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P":{"tags":{"name":"P","amenity":"parking"},"name":"P","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Staff Car Park":{"tags":{"name":"Staff Car Park","amenity":"parking"},"name":"Staff Car Park","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Парковка":{"tags":{"name":"Парковка","amenity":"parking"},"name":"Парковка","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Busparkplatz":{"tags":{"name":"Busparkplatz","amenity":"parking"},"name":"Busparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/PKW":{"tags":{"name":"PKW","amenity":"parking"},"name":"PKW","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/LKW":{"tags":{"name":"LKW","amenity":"parking"},"name":"LKW","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parking de la Gare":{"tags":{"name":"Parking de la Gare","amenity":"parking"},"name":"Parking de la Gare","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Mitarbeiterparkplatz":{"tags":{"name":"Mitarbeiterparkplatz","amenity":"parking"},"name":"Mitarbeiterparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parkplatz Lidl":{"tags":{"name":"Parkplatz Lidl","amenity":"parking"},"name":"Parkplatz Lidl","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Disabled Parking":{"tags":{"name":"Disabled Parking","amenity":"parking"},"name":"Disabled Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Anwohnerparkplatz":{"tags":{"name":"Anwohnerparkplatz","amenity":"parking"},"name":"Anwohnerparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Bus Parking":{"tags":{"name":"Bus Parking","amenity":"parking"},"name":"Bus Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Pendlerparkplatz":{"tags":{"name":"Pendlerparkplatz","amenity":"parking"},"name":"Pendlerparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Gravel Parking Lot, Mille Lacs WMA":{"tags":{"name":"Gravel Parking Lot, Mille Lacs WMA","amenity":"parking"},"name":"Gravel Parking Lot, Mille Lacs WMA","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Privatparkplatz":{"tags":{"name":"Privatparkplatz","amenity":"parking"},"name":"Privatparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parking de la Poste":{"tags":{"name":"Parking de la Poste","amenity":"parking"},"name":"Parking de la Poste","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lidl Parkplatz":{"tags":{"name":"Lidl Parkplatz","amenity":"parking"},"name":"Lidl Parkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place du 19 Mars 1962":{"tags":{"name":"Place du 19 Mars 1962","amenity":"parking"},"name":"Place du 19 Mars 1962","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place de la Liberté":{"tags":{"name":"Place de la Liberté","amenity":"parking"},"name":"Place de la Liberté","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P5":{"tags":{"name":"P5","amenity":"parking"},"name":"P5","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parcheggio":{"tags":{"name":"Parcheggio","amenity":"parking"},"name":"Parcheggio","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/counter":{"tags":{"name":"counter","amenity":"parking"},"name":"counter","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Park":{"tags":{"name":"Park","amenity":"parking"},"name":"Park","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Car Parking":{"tags":{"name":"Car Parking","amenity":"parking"},"name":"Car Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parking du Cimetière":{"tags":{"name":"Parking du Cimetière","amenity":"parking"},"name":"Parking du Cimetière","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/タイムズ":{"tags":{"name":"タイムズ","amenity":"parking"},"name":"タイムズ","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Visitor":{"tags":{"name":"Visitor","amenity":"parking"},"name":"Visitor","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Private":{"tags":{"name":"Private","amenity":"parking"},"name":"Private","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Netto Parkplatz":{"tags":{"name":"Netto Parkplatz","amenity":"parking"},"name":"Netto Parkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place du Champ de Foire":{"tags":{"name":"Place du Champ de Foire","amenity":"parking"},"name":"Place du Champ de Foire","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Kunden":{"tags":{"name":"Kunden","amenity":"parking"},"name":"Kunden","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parqueadero":{"tags":{"name":"Parqueadero","amenity":"parking"},"name":"Parqueadero","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/TIR":{"tags":{"name":"TIR","amenity":"parking"},"name":"TIR","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Student Parking":{"tags":{"name":"Student Parking","amenity":"parking"},"name":"Student Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Faculty Parking":{"tags":{"name":"Faculty Parking","amenity":"parking"},"name":"Faculty Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parking":{"tags":{"name":"Parking","amenity":"parking"},"name":"Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Автостоянка":{"tags":{"name":"Автостоянка","amenity":"parking"},"name":"Автостоянка","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place du 8 Mai 1945":{"tags":{"name":"Place du 8 Mai 1945","amenity":"parking"},"name":"Place du 8 Mai 1945","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place du Général de Gaulle":{"tags":{"name":"Place du Général de Gaulle","amenity":"parking"},"name":"Place du Général de Gaulle","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parking Garage":{"tags":{"name":"Parking Garage","amenity":"parking"},"name":"Parking Garage","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Freibad":{"tags":{"name":"Freibad","amenity":"parking"},"name":"Freibad","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Staff Parking":{"tags":{"name":"Staff Parking","amenity":"parking"},"name":"Staff Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Паркинг":{"tags":{"name":"Паркинг","amenity":"parking"},"name":"Паркинг","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place du Marché":{"tags":{"name":"Place du Marché","amenity":"parking"},"name":"Place du Marché","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parqueo":{"tags":{"name":"Parqueo","amenity":"parking"},"name":"Parqueo","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/PMR":{"tags":{"name":"PMR","amenity":"parking"},"name":"PMR","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Besucher":{"tags":{"name":"Besucher","amenity":"parking"},"name":"Besucher","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Estacionamento":{"tags":{"name":"Estacionamento","amenity":"parking"},"name":"Estacionamento","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/<different> Boat Ramp":{"tags":{"name":"<different> Boat Ramp","amenity":"parking"},"name":"<different> Boat Ramp","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot B":{"tags":{"name":"Lot B","amenity":"parking"},"name":"Lot B","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parking leśny":{"tags":{"name":"Parking leśny","amenity":"parking"},"name":"Parking leśny","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Стоянка":{"tags":{"name":"Стоянка","amenity":"parking"},"name":"Стоянка","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot C":{"tags":{"name":"Lot C","amenity":"parking"},"name":"Lot C","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Truck Parking":{"tags":{"name":"Truck Parking","amenity":"parking"},"name":"Truck Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parking Lot":{"tags":{"name":"Parking Lot","amenity":"parking"},"name":"Parking Lot","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/三井のリパーク":{"tags":{"name":"三井のリパーク","amenity":"parking"},"name":"三井のリパーク","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot 6":{"tags":{"name":"Lot 6","amenity":"parking"},"name":"Lot 6","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot 2":{"tags":{"name":"Lot 2","amenity":"parking"},"name":"Lot 2","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot 1":{"tags":{"name":"Lot 1","amenity":"parking"},"name":"Lot 1","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot 5":{"tags":{"name":"Lot 5","amenity":"parking"},"name":"Lot 5","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot 3":{"tags":{"name":"Lot 3","amenity":"parking"},"name":"Lot 3","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot 4":{"tags":{"name":"Lot 4","amenity":"parking"},"name":"Lot 4","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place de la Libération":{"tags":{"name":"Place de la Libération","amenity":"parking"},"name":"Place de la Libération","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/LKW-Parkplatz":{"tags":{"name":"LKW-Parkplatz","amenity":"parking"},"name":"LKW-Parkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Aparcamiento":{"tags":{"name":"Aparcamiento","amenity":"parking"},"name":"Aparcamiento","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parkplatz Netto":{"tags":{"name":"Parkplatz Netto","amenity":"parking"},"name":"Parkplatz Netto","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Mieterparkplatz":{"tags":{"name":"Mieterparkplatz","amenity":"parking"},"name":"Mieterparkplatz","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/P11":{"tags":{"name":"P11","amenity":"parking"},"name":"P11","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Гаражи":{"tags":{"name":"Гаражи","amenity":"parking"},"name":"Гаражи","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Private Parking":{"tags":{"name":"Private Parking","amenity":"parking"},"name":"Private Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/H":{"tags":{"name":"H","amenity":"parking"},"name":"H","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parking strzeżony":{"tags":{"name":"Parking strzeżony","amenity":"parking"},"name":"Parking strzeżony","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parkoló":{"tags":{"name":"Parkoló","amenity":"parking"},"name":"Parkoló","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Privat":{"tags":{"name":"Privat","amenity":"parking"},"name":"Privat","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Mitarbeiter":{"tags":{"name":"Mitarbeiter","amenity":"parking"},"name":"Mitarbeiter","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Handicapped":{"tags":{"name":"Handicapped","amenity":"parking"},"name":"Handicapped","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Park Cimitero":{"tags":{"name":"Park Cimitero","amenity":"parking"},"name":"Park Cimitero","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/駐車場":{"tags":{"name":"駐車場","amenity":"parking"},"name":"駐車場","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Place de la Gare":{"tags":{"name":"Place de la Gare","amenity":"parking"},"name":"Place de la Gare","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/car parking":{"tags":{"name":"car parking","amenity":"parking"},"name":"car parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parcheggio disabili":{"tags":{"name":"Parcheggio disabili","amenity":"parking"},"name":"Parcheggio disabili","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Employee Parking":{"tags":{"name":"Employee Parking","amenity":"parking"},"name":"Employee Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Motorcycle Parking":{"tags":{"name":"Motorcycle Parking","amenity":"parking"},"name":"Motorcycle Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/miejsce postoju":{"tags":{"name":"miejsce postoju","amenity":"parking"},"name":"miejsce postoju","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Overflow Parking":{"tags":{"name":"Overflow Parking","amenity":"parking"},"name":"Overflow Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/پارکینگ":{"tags":{"name":"پارکینگ","amenity":"parking"},"name":"پارکینگ","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Disabled":{"tags":{"name":"Disabled","amenity":"parking"},"name":"Disabled","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/名鉄協商パーキング":{"tags":{"name":"名鉄協商パーキング","amenity":"parking"},"name":"名鉄協商パーキング","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/月極駐車場":{"tags":{"name":"月極駐車場","amenity":"parking"},"name":"月極駐車場","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot A":{"tags":{"name":"Lot A","amenity":"parking"},"name":"Lot A","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Parcheggio Disabili":{"tags":{"name":"Parcheggio Disabili","amenity":"parking"},"name":"Parcheggio Disabili","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Garaje":{"tags":{"name":"Garaje","amenity":"parking"},"name":"Garaje","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Life Time Fitness Parking":{"tags":{"name":"Life Time Fitness Parking","amenity":"parking"},"name":"Life Time Fitness Parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/truck parking":{"tags":{"name":"truck parking","amenity":"parking"},"name":"truck parking","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot F":{"tags":{"name":"Lot F","amenity":"parking"},"name":"Lot F","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot 7":{"tags":{"name":"Lot 7","amenity":"parking"},"name":"Lot 7","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/truck":{"tags":{"name":"truck","amenity":"parking"},"name":"truck","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/car":{"tags":{"name":"car","amenity":"parking"},"name":"car","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot H":{"tags":{"name":"Lot H","amenity":"parking"},"name":"Lot H","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot E":{"tags":{"name":"Lot E","amenity":"parking"},"name":"Lot E","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Lot G":{"tags":{"name":"Lot G","amenity":"parking"},"name":"Lot G","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/parking/Förhyrda":{"tags":{"name":"Förhyrda","amenity":"parking"},"name":"Förhyrda","icon":"parking","geometry":["point","vertex","area"],"fields":["operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay","address"],"suggestion":true},"amenity/bank/Chase":{"tags":{"name":"Chase","amenity":"bank"},"name":"Chase","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Commonwealth Bank":{"tags":{"name":"Commonwealth Bank","amenity":"bank"},"name":"Commonwealth Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Citibank":{"tags":{"name":"Citibank","amenity":"bank"},"name":"Citibank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Barclays":{"tags":{"name":"Barclays","amenity":"bank"},"name":"Barclays","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Westpac":{"tags":{"name":"Westpac","amenity":"bank"},"name":"Westpac","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/NAB":{"tags":{"name":"NAB","amenity":"bank"},"name":"NAB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/HSBC":{"tags":{"name":"HSBC","amenity":"bank"},"name":"HSBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ANZ":{"tags":{"name":"ANZ","amenity":"bank"},"name":"ANZ","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of China":{"tags":{"name":"Bank of China","amenity":"bank"},"name":"Bank of China","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/TSB":{"tags":{"name":"TSB","amenity":"bank"},"name":"TSB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BBBank":{"tags":{"name":"BBBank","amenity":"bank"},"name":"BBBank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sparkasse":{"tags":{"name":"Sparkasse","amenity":"bank"},"name":"Sparkasse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/UCPB":{"tags":{"name":"UCPB","amenity":"bank"},"name":"UCPB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PNB":{"tags":{"name":"PNB","amenity":"bank"},"name":"PNB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Metrobank":{"tags":{"name":"Metrobank","amenity":"bank"},"name":"Metrobank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BDO":{"tags":{"name":"BDO","amenity":"bank"},"name":"BDO","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Volksbank":{"tags":{"name":"Volksbank","amenity":"bank"},"name":"Volksbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/China Bank":{"tags":{"name":"China Bank","amenity":"bank"},"name":"China Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BPI":{"tags":{"name":"BPI","amenity":"bank"},"name":"BPI","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Postbank":{"tags":{"name":"Postbank","amenity":"bank"},"name":"Postbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/NatWest":{"tags":{"name":"NatWest","amenity":"bank"},"name":"NatWest","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/بانک ملت":{"tags":{"name":"بانک ملت","amenity":"bank"},"name":"بانک ملت","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Raiffeisenbank":{"tags":{"name":"Raiffeisenbank","amenity":"bank"},"name":"Raiffeisenbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Nordea":{"tags":{"name":"Nordea","amenity":"bank"},"name":"Nordea","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Landbank":{"tags":{"name":"Landbank","amenity":"bank"},"name":"Landbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Yorkshire Bank":{"tags":{"name":"Yorkshire Bank","amenity":"bank"},"name":"Yorkshire Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ABSA":{"tags":{"name":"ABSA","amenity":"bank"},"name":"ABSA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Standard Bank":{"tags":{"name":"Standard Bank","amenity":"bank"},"name":"Standard Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/FNB":{"tags":{"name":"FNB","amenity":"bank"},"name":"FNB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/بانک کشاورزی":{"tags":{"name":"بانک کشاورزی","amenity":"bank"},"name":"بانک کشاورزی","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/بانک مسکن":{"tags":{"name":"بانک مسکن","amenity":"bank"},"name":"بانک مسکن","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Deutsche Bank":{"tags":{"name":"Deutsche Bank","amenity":"bank"},"name":"Deutsche Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Santander":{"tags":{"name":"Santander","amenity":"bank"},"name":"Santander","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Commerzbank":{"tags":{"name":"Commerzbank","amenity":"bank"},"name":"Commerzbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Targobank":{"tags":{"name":"Targobank","amenity":"bank"},"name":"Targobank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ABN AMRO":{"tags":{"name":"ABN AMRO","amenity":"bank"},"name":"ABN AMRO","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/SEB":{"tags":{"name":"SEB","amenity":"bank"},"name":"SEB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Handelsbanken":{"tags":{"name":"Handelsbanken","amenity":"bank"},"name":"Handelsbanken","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Kreissparkasse":{"tags":{"name":"Kreissparkasse","amenity":"bank"},"name":"Kreissparkasse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/UniCredit Bank":{"tags":{"name":"UniCredit Bank","amenity":"bank"},"name":"UniCredit Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Monte dei Paschi di Siena":{"tags":{"name":"Monte dei Paschi di Siena","amenity":"bank"},"name":"Monte dei Paschi di Siena","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Popolare di Milano":{"tags":{"name":"Banca Popolare di Milano","amenity":"bank"},"name":"Banca Popolare di Milano","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caja Rural":{"tags":{"name":"Caja Rural","amenity":"bank"},"name":"Caja Rural","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sparda-Bank":{"tags":{"name":"Sparda-Bank","amenity":"bank"},"name":"Sparda-Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/VÚB":{"tags":{"name":"VÚB","amenity":"bank"},"name":"VÚB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Slovenská sporiteľňa":{"tags":{"name":"Slovenská sporiteľňa","amenity":"bank"},"name":"Slovenská sporiteľňa","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Банка ДСК":{"tags":{"name":"Банка ДСК","amenity":"bank"},"name":"Банка ДСК","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of Montreal":{"tags":{"name":"Bank of Montreal","amenity":"bank"},"name":"Bank of Montreal","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Comerica Bank":{"tags":{"name":"Comerica Bank","amenity":"bank"},"name":"Comerica Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/KBC":{"tags":{"name":"KBC","amenity":"bank"},"name":"KBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/US Bank":{"tags":{"name":"US Bank","amenity":"bank"},"name":"US Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/HypoVereinsbank":{"tags":{"name":"HypoVereinsbank","amenity":"bank"},"name":"HypoVereinsbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank Austria":{"tags":{"name":"Bank Austria","amenity":"bank"},"name":"Bank Austria","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Lloyds Bank":{"tags":{"name":"Lloyds Bank","amenity":"bank"},"name":"Lloyds Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ING":{"tags":{"name":"ING","amenity":"bank"},"name":"ING","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Erste Bank":{"tags":{"name":"Erste Bank","amenity":"bank"},"name":"Erste Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CIBC":{"tags":{"name":"CIBC","amenity":"bank"},"name":"CIBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BCA":{"tags":{"name":"BCA","amenity":"bank"},"name":"BCA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Scotiabank":{"tags":{"name":"Scotiabank","amenity":"bank"},"name":"Scotiabank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caisse d'Épargne":{"tags":{"name":"Caisse d'Épargne","amenity":"bank"},"name":"Caisse d'Épargne","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Clydesdale Bank":{"tags":{"name":"Clydesdale Bank","amenity":"bank"},"name":"Clydesdale Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of Scotland":{"tags":{"name":"Bank of Scotland","amenity":"bank"},"name":"Bank of Scotland","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Royal Bank of Scotland":{"tags":{"name":"Royal Bank of Scotland","amenity":"bank"},"name":"Royal Bank of Scotland","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/TD Canada Trust":{"tags":{"name":"TD Canada Trust","amenity":"bank"},"name":"TD Canada Trust","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BMO":{"tags":{"name":"BMO","amenity":"bank"},"name":"BMO","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Danske Bank":{"tags":{"name":"Danske Bank","amenity":"bank"},"name":"Danske Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Crédit Mutuel de Bretagne":{"tags":{"name":"Crédit Mutuel de Bretagne","amenity":"bank"},"name":"Crédit Mutuel de Bretagne","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/中国农业银行":{"tags":{"name":"中国农业银行","amenity":"bank"},"name":"中国农业银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Crédit Agricole":{"tags":{"name":"Crédit Agricole","amenity":"bank"},"name":"Crédit Agricole","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/LCL":{"tags":{"name":"LCL","amenity":"bank"},"name":"LCL","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/VR-Bank":{"tags":{"name":"VR-Bank","amenity":"bank"},"name":"VR-Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ČSOB":{"tags":{"name":"ČSOB","amenity":"bank"},"name":"ČSOB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Česká spořitelna":{"tags":{"name":"Česká spořitelna","amenity":"bank"},"name":"Česká spořitelna","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BNP Paribas":{"tags":{"name":"BNP Paribas","amenity":"bank"},"name":"BNP Paribas","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/National Bank":{"tags":{"name":"National Bank","amenity":"bank"},"name":"National Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/RBC Royal Bank":{"tags":{"name":"RBC Royal Bank","amenity":"bank"},"name":"RBC Royal Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Nationwide":{"tags":{"name":"Nationwide","amenity":"bank"},"name":"Nationwide","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/中国建设银行":{"tags":{"name":"中国建设银行","amenity":"bank"},"name":"中国建设银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Halifax":{"tags":{"name":"Halifax","amenity":"bank"},"name":"Halifax","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BAWAG PSK":{"tags":{"name":"BAWAG PSK","amenity":"bank"},"name":"BAWAG PSK","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CIBC Banking Centre":{"tags":{"name":"CIBC Banking Centre","amenity":"bank"},"name":"CIBC Banking Centre","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Royal Bank":{"tags":{"name":"Royal Bank","amenity":"bank"},"name":"Royal Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Nedbank":{"tags":{"name":"Nedbank","amenity":"bank"},"name":"Nedbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/First National Bank":{"tags":{"name":"First National Bank","amenity":"bank"},"name":"First National Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Rabobank":{"tags":{"name":"Rabobank","amenity":"bank"},"name":"Rabobank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sparkasse KölnBonn":{"tags":{"name":"Sparkasse KölnBonn","amenity":"bank"},"name":"Sparkasse KölnBonn","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Swedbank":{"tags":{"name":"Swedbank","amenity":"bank"},"name":"Swedbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Tatra banka":{"tags":{"name":"Tatra banka","amenity":"bank"},"name":"Tatra banka","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/IberCaja":{"tags":{"name":"IberCaja","amenity":"bank"},"name":"IberCaja","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Volksbank Raiffeisenbank":{"tags":{"name":"Volksbank Raiffeisenbank","amenity":"bank"},"name":"Volksbank Raiffeisenbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/İş Bankası":{"tags":{"name":"İş Bankası","amenity":"bank"},"name":"İş Bankası","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Berliner Sparkasse":{"tags":{"name":"Berliner Sparkasse","amenity":"bank"},"name":"Berliner Sparkasse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Berliner Volksbank":{"tags":{"name":"Berliner Volksbank","amenity":"bank"},"name":"Berliner Volksbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Wells Fargo":{"tags":{"name":"Wells Fargo","amenity":"bank"},"name":"Wells Fargo","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Société Générale":{"tags":{"name":"Société Générale","amenity":"bank"},"name":"Société Générale","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/RBC":{"tags":{"name":"RBC","amenity":"bank"},"name":"RBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Osuuspankki":{"tags":{"name":"Osuuspankki","amenity":"bank"},"name":"Osuuspankki","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sparkasse Aachen":{"tags":{"name":"Sparkasse Aachen","amenity":"bank"},"name":"Sparkasse Aachen","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Hamburger Sparkasse":{"tags":{"name":"Hamburger Sparkasse","amenity":"bank"},"name":"Hamburger Sparkasse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Cassa di Risparmio del Veneto":{"tags":{"name":"Cassa di Risparmio del Veneto","amenity":"bank"},"name":"Cassa di Risparmio del Veneto","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Ziraat Bankası":{"tags":{"name":"Ziraat Bankası","amenity":"bank"},"name":"Ziraat Bankası","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Akbank":{"tags":{"name":"Akbank","amenity":"bank"},"name":"Akbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banque Populaire":{"tags":{"name":"Banque Populaire","amenity":"bank"},"name":"Banque Populaire","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BNP Paribas Fortis":{"tags":{"name":"BNP Paribas Fortis","amenity":"bank"},"name":"BNP Paribas Fortis","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Popular":{"tags":{"name":"Banco Popular","amenity":"bank"},"name":"Banco Popular","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bankia":{"tags":{"name":"Bankia","amenity":"bank"},"name":"Bankia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/La Caixa":{"tags":{"name":"La Caixa","amenity":"bank"},"name":"La Caixa","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Credit Suisse":{"tags":{"name":"Credit Suisse","amenity":"bank"},"name":"Credit Suisse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BRD":{"tags":{"name":"BRD","amenity":"bank"},"name":"BRD","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BCR":{"tags":{"name":"BCR","amenity":"bank"},"name":"BCR","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BW-Bank":{"tags":{"name":"BW-Bank","amenity":"bank"},"name":"BW-Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Komerční banka":{"tags":{"name":"Komerční banka","amenity":"bank"},"name":"Komerční banka","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Pastor":{"tags":{"name":"Banco Pastor","amenity":"bank"},"name":"Banco Pastor","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/OTP":{"tags":{"name":"OTP","amenity":"bank"},"name":"OTP","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sberbank":{"tags":{"name":"Sberbank","amenity":"bank"},"name":"Sberbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CIC":{"tags":{"name":"CIC","amenity":"bank"},"name":"CIC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Transilvania":{"tags":{"name":"Banca Transilvania","amenity":"bank"},"name":"Banca Transilvania","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bancpost":{"tags":{"name":"Bancpost","amenity":"bank"},"name":"Bancpost","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Maybank":{"tags":{"name":"Maybank","amenity":"bank"},"name":"Maybank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BBVA":{"tags":{"name":"BBVA","amenity":"bank"},"name":"BBVA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Postbank Finanzcenter":{"tags":{"name":"Postbank Finanzcenter","amenity":"bank"},"name":"Postbank Finanzcenter","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/中国银行":{"tags":{"name":"中国银行","amenity":"bank"},"name":"中国银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Unicredit Banca":{"tags":{"name":"Unicredit Banca","amenity":"bank"},"name":"Unicredit Banca","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Crédit Mutuel":{"tags":{"name":"Crédit Mutuel","amenity":"bank"},"name":"Crédit Mutuel","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/mBank":{"tags":{"name":"mBank","amenity":"bank"},"name":"mBank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Intesa San Paolo":{"tags":{"name":"Intesa San Paolo","amenity":"bank"},"name":"Intesa San Paolo","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ATB Financial":{"tags":{"name":"ATB Financial","amenity":"bank"},"name":"ATB Financial","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Belfius":{"tags":{"name":"Belfius","amenity":"bank"},"name":"Belfius","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Piraeus Bank":{"tags":{"name":"Piraeus Bank","amenity":"bank"},"name":"Piraeus Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of America":{"tags":{"name":"Bank of America","amenity":"bank"},"name":"Bank of America","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Standard Chartered":{"tags":{"name":"Standard Chartered","amenity":"bank"},"name":"Standard Chartered","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Intesa Sanpaolo":{"tags":{"name":"Intesa Sanpaolo","amenity":"bank"},"name":"Intesa Sanpaolo","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Сбербанк":{"tags":{"name":"Сбербанк","amenity":"bank"},"name":"Сбербанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Россельхозбанк":{"tags":{"name":"Россельхозбанк","amenity":"bank"},"name":"Россельхозбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banc Sabadell":{"tags":{"name":"Banc Sabadell","amenity":"bank"},"name":"Banc Sabadell","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/MetroBank":{"tags":{"name":"MetroBank","amenity":"bank"},"name":"MetroBank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Crédit du Nord":{"tags":{"name":"Crédit du Nord","amenity":"bank"},"name":"Crédit du Nord","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Popular":{"tags":{"name":"Popular","amenity":"bank"},"name":"Popular","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Sabadell":{"tags":{"name":"Banco Sabadell","amenity":"bank"},"name":"Banco Sabadell","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Santander Consumer Bank":{"tags":{"name":"Santander Consumer Bank","amenity":"bank"},"name":"Santander Consumer Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BancoEstado":{"tags":{"name":"BancoEstado","amenity":"bank"},"name":"BancoEstado","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Millennium Bank":{"tags":{"name":"Millennium Bank","amenity":"bank"},"name":"Millennium Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/State Bank of India":{"tags":{"name":"State Bank of India","amenity":"bank"},"name":"State Bank of India","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Popolare di Novara":{"tags":{"name":"Banca Popolare di Novara","amenity":"bank"},"name":"Banca Popolare di Novara","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Беларусбанк":{"tags":{"name":"Беларусбанк","amenity":"bank"},"name":"Беларусбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ING Bank Śląski":{"tags":{"name":"ING Bank Śląski","amenity":"bank"},"name":"ING Bank Śląski","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Targo Bank":{"tags":{"name":"Targo Bank","amenity":"bank"},"name":"Targo Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Белинвестбанк":{"tags":{"name":"Белинвестбанк","amenity":"bank"},"name":"Белинвестбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Kreissparkasse Köln":{"tags":{"name":"Kreissparkasse Köln","amenity":"bank"},"name":"Kreissparkasse Köln","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco BCI":{"tags":{"name":"Banco BCI","amenity":"bank"},"name":"Banco BCI","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de Chile":{"tags":{"name":"Banco de Chile","amenity":"bank"},"name":"Banco de Chile","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Приорбанк":{"tags":{"name":"Приорбанк","amenity":"bank"},"name":"Приорбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ВТБ24":{"tags":{"name":"ВТБ24","amenity":"bank"},"name":"ВТБ24","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/UBS":{"tags":{"name":"UBS","amenity":"bank"},"name":"UBS","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BPH":{"tags":{"name":"BPH","amenity":"bank"},"name":"BPH","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PKO BP":{"tags":{"name":"PKO BP","amenity":"bank"},"name":"PKO BP","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Казкоммерцбанк":{"tags":{"name":"Казкоммерцбанк","amenity":"bank"},"name":"Казкоммерцбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PSBank":{"tags":{"name":"PSBank","amenity":"bank"},"name":"PSBank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/UnionBank":{"tags":{"name":"UnionBank","amenity":"bank"},"name":"UnionBank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/RCBC Savings Bank":{"tags":{"name":"RCBC Savings Bank","amenity":"bank"},"name":"RCBC Savings Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/EastWest Bank":{"tags":{"name":"EastWest Bank","amenity":"bank"},"name":"EastWest Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Commercial Bank of Ceylon PLC":{"tags":{"name":"Commercial Bank of Ceylon PLC","amenity":"bank"},"name":"Commercial Bank of Ceylon PLC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caja España":{"tags":{"name":"Caja España","amenity":"bank"},"name":"Caja España","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Unicaja Banco":{"tags":{"name":"Unicaja Banco","amenity":"bank"},"name":"Unicaja Banco","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BBK":{"tags":{"name":"BBK","amenity":"bank"},"name":"BBK","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/RBS":{"tags":{"name":"RBS","amenity":"bank"},"name":"RBS","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of Ireland":{"tags":{"name":"Bank of Ireland","amenity":"bank"},"name":"Bank of Ireland","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BNL":{"tags":{"name":"BNL","amenity":"bank"},"name":"BNL","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Stadtsparkasse":{"tags":{"name":"Stadtsparkasse","amenity":"bank"},"name":"Stadtsparkasse","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Itaú":{"tags":{"name":"Banco Itaú","amenity":"bank"},"name":"Banco Itaú","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/AIB":{"tags":{"name":"AIB","amenity":"bank"},"name":"AIB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Райффайзенбанк":{"tags":{"name":"Райффайзенбанк","amenity":"bank"},"name":"Райффайзенбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BZ WBK":{"tags":{"name":"BZ WBK","amenity":"bank"},"name":"BZ WBK","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco do Brasil":{"tags":{"name":"Banco do Brasil","amenity":"bank"},"name":"Banco do Brasil","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caixa Econômica Federal":{"tags":{"name":"Caixa Econômica Federal","amenity":"bank"},"name":"Caixa Econômica Federal","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Românească":{"tags":{"name":"Banca Românească","amenity":"bank"},"name":"Banca Românească","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Fifth Third Bank":{"tags":{"name":"Fifth Third Bank","amenity":"bank"},"name":"Fifth Third Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Popolare di Vicenza":{"tags":{"name":"Banca Popolare di Vicenza","amenity":"bank"},"name":"Banca Popolare di Vicenza","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Wachovia":{"tags":{"name":"Wachovia","amenity":"bank"},"name":"Wachovia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/K&H Bank":{"tags":{"name":"K&H Bank","amenity":"bank"},"name":"K&H Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CIB Bank":{"tags":{"name":"CIB Bank","amenity":"bank"},"name":"CIB Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Budapest Bank":{"tags":{"name":"Budapest Bank","amenity":"bank"},"name":"Budapest Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/みずほ銀行":{"tags":{"name":"みずほ銀行","amenity":"bank"},"name":"みずほ銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BES":{"tags":{"name":"BES","amenity":"bank"},"name":"BES","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ICICI Bank":{"tags":{"name":"ICICI Bank","amenity":"bank"},"name":"ICICI Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Credem":{"tags":{"name":"Credem","amenity":"bank"},"name":"Credem","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/HDFC Bank":{"tags":{"name":"HDFC Bank","amenity":"bank"},"name":"HDFC Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/La Banque Postale":{"tags":{"name":"La Banque Postale","amenity":"bank"},"name":"La Banque Postale","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bangkok Bank":{"tags":{"name":"Bangkok Bank","amenity":"bank"},"name":"Bangkok Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank BPH":{"tags":{"name":"Bank BPH","amenity":"bank"},"name":"Bank BPH","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/工商银行":{"tags":{"name":"工商银行","amenity":"bank"},"name":"工商银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Oberbank":{"tags":{"name":"Oberbank","amenity":"bank"},"name":"Oberbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Oldenburgische Landesbank":{"tags":{"name":"Oldenburgische Landesbank","amenity":"bank"},"name":"Oldenburgische Landesbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco di Sardegna":{"tags":{"name":"Banco di Sardegna","amenity":"bank"},"name":"Banco di Sardegna","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BRED":{"tags":{"name":"BRED","amenity":"bank"},"name":"BRED","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/First Bank":{"tags":{"name":"First Bank","amenity":"bank"},"name":"First Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Popolare di Verona":{"tags":{"name":"Banca Popolare di Verona","amenity":"bank"},"name":"Banca Popolare di Verona","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/OLB":{"tags":{"name":"OLB","amenity":"bank"},"name":"OLB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Popolare di Sondrio":{"tags":{"name":"Banca Popolare di Sondrio","amenity":"bank"},"name":"Banca Popolare di Sondrio","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Cariparma":{"tags":{"name":"Cariparma","amenity":"bank"},"name":"Cariparma","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bendigo Bank":{"tags":{"name":"Bendigo Bank","amenity":"bank"},"name":"Bendigo Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BBVA Bancomer":{"tags":{"name":"BBVA Bancomer","amenity":"bank"},"name":"BBVA Bancomer","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Argenta":{"tags":{"name":"Argenta","amenity":"bank"},"name":"Argenta","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/AXA":{"tags":{"name":"AXA","amenity":"bank"},"name":"AXA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Axis Bank":{"tags":{"name":"Axis Bank","amenity":"bank"},"name":"Axis Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Getin Bank":{"tags":{"name":"Getin Bank","amenity":"bank"},"name":"Getin Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CaixaBank":{"tags":{"name":"CaixaBank","amenity":"bank"},"name":"CaixaBank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Pekao SA":{"tags":{"name":"Pekao SA","amenity":"bank"},"name":"Pekao SA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca March":{"tags":{"name":"Banca March","amenity":"bank"},"name":"Banca March","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/БПС-Сбербанк":{"tags":{"name":"БПС-Сбербанк","amenity":"bank"},"name":"БПС-Сбербанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Альфа-Банк":{"tags":{"name":"Альфа-Банк","amenity":"bank"},"name":"Альфа-Банк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/GE Money Bank":{"tags":{"name":"GE Money Bank","amenity":"bank"},"name":"GE Money Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Белагропромбанк":{"tags":{"name":"Белагропромбанк","amenity":"bank"},"name":"Белагропромбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Galicia":{"tags":{"name":"Banco Galicia","amenity":"bank"},"name":"Banco Galicia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Eurobank":{"tags":{"name":"Eurobank","amenity":"bank"},"name":"Eurobank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bankinter":{"tags":{"name":"Bankinter","amenity":"bank"},"name":"Bankinter","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/横浜銀行":{"tags":{"name":"横浜銀行","amenity":"bank"},"name":"横浜銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Τράπεζα Πειραιώς":{"tags":{"name":"Τράπεζα Πειραιώς","amenity":"bank"},"name":"Τράπεζα Πειραιώς","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of New Zealand":{"tags":{"name":"Bank of New Zealand","amenity":"bank"},"name":"Bank of New Zealand","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banca Intesa":{"tags":{"name":"Banca Intesa","amenity":"bank"},"name":"Banca Intesa","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Canara Bank":{"tags":{"name":"Canara Bank","amenity":"bank"},"name":"Canara Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Cajamar":{"tags":{"name":"Cajamar","amenity":"bank"},"name":"Cajamar","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banamex":{"tags":{"name":"Banamex","amenity":"bank"},"name":"Banamex","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CEC Bank":{"tags":{"name":"CEC Bank","amenity":"bank"},"name":"CEC Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Davivienda":{"tags":{"name":"Davivienda","amenity":"bank"},"name":"Davivienda","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Alpha Bank":{"tags":{"name":"Alpha Bank","amenity":"bank"},"name":"Alpha Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/招商银行":{"tags":{"name":"招商银行","amenity":"bank"},"name":"招商银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banque Nationale":{"tags":{"name":"Banque Nationale","amenity":"bank"},"name":"Banque Nationale","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/第一銀行":{"tags":{"name":"第一銀行","amenity":"bank"},"name":"第一銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/SBI":{"tags":{"name":"SBI","amenity":"bank"},"name":"SBI","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Veneto Banca":{"tags":{"name":"Veneto Banca","amenity":"bank"},"name":"Veneto Banca","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of the West":{"tags":{"name":"Bank of the West","amenity":"bank"},"name":"Bank of the West","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Liberbank":{"tags":{"name":"Liberbank","amenity":"bank"},"name":"Liberbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Εθνική Τράπεζα":{"tags":{"name":"Εθνική Τράπεζα","amenity":"bank"},"name":"Εθνική Τράπεζα","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Key Bank":{"tags":{"name":"Key Bank","amenity":"bank"},"name":"Key Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Western Union":{"tags":{"name":"Western Union","amenity":"bank"},"name":"Western Union","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Citizens Bank":{"tags":{"name":"Citizens Bank","amenity":"bank"},"name":"Citizens Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/УкрСиббанк":{"tags":{"name":"УкрСиббанк","amenity":"bank"},"name":"УкрСиббанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ProCredit Bank":{"tags":{"name":"ProCredit Bank","amenity":"bank"},"name":"ProCredit Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ПриватБанк":{"tags":{"name":"ПриватБанк","amenity":"bank"},"name":"ПриватБанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/RCBC":{"tags":{"name":"RCBC","amenity":"bank"},"name":"RCBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Security Bank":{"tags":{"name":"Security Bank","amenity":"bank"},"name":"Security Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Millenium":{"tags":{"name":"Millenium","amenity":"bank"},"name":"Millenium","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/HNB":{"tags":{"name":"HNB","amenity":"bank"},"name":"HNB","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/三菱東京UFJ銀行":{"tags":{"name":"三菱東京UFJ銀行","amenity":"bank"},"name":"三菱東京UFJ銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CajaSur":{"tags":{"name":"CajaSur","amenity":"bank"},"name":"CajaSur","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ВТБ":{"tags":{"name":"ВТБ","amenity":"bank"},"name":"ВТБ","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Indian Bank":{"tags":{"name":"Indian Bank","amenity":"bank"},"name":"Indian Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Andhra Bank":{"tags":{"name":"Andhra Bank","amenity":"bank"},"name":"Andhra Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banque populaire":{"tags":{"name":"Banque populaire","amenity":"bank"},"name":"Banque populaire","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Ulster Bank":{"tags":{"name":"Ulster Bank","amenity":"bank"},"name":"Ulster Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bancolombia":{"tags":{"name":"Bancolombia","amenity":"bank"},"name":"Bancolombia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/TD Bank":{"tags":{"name":"TD Bank","amenity":"bank"},"name":"TD Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caixa":{"tags":{"name":"Caixa","amenity":"bank"},"name":"Caixa","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/SunTrust Bank":{"tags":{"name":"SunTrust Bank","amenity":"bank"},"name":"SunTrust Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Авангард":{"tags":{"name":"Авангард","amenity":"bank"},"name":"Авангард","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Union Bank":{"tags":{"name":"Union Bank","amenity":"bank"},"name":"Union Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Philippine National Bank":{"tags":{"name":"Philippine National Bank","amenity":"bank"},"name":"Philippine National Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bradesco":{"tags":{"name":"Bradesco","amenity":"bank"},"name":"Bradesco","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Itaú":{"tags":{"name":"Itaú","amenity":"bank"},"name":"Itaú","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Punjab National Bank":{"tags":{"name":"Punjab National Bank","amenity":"bank"},"name":"Punjab National Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PBZ":{"tags":{"name":"PBZ","amenity":"bank"},"name":"PBZ","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Alior Bank":{"tags":{"name":"Alior Bank","amenity":"bank"},"name":"Alior Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/中国工商银行":{"tags":{"name":"中国工商银行","amenity":"bank"},"name":"中国工商银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Novo Banco":{"tags":{"name":"Novo Banco","amenity":"bank"},"name":"Novo Banco","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Santander Río":{"tags":{"name":"Santander Río","amenity":"bank"},"name":"Santander Río","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Райффайзен Банк Аваль":{"tags":{"name":"Райффайзен Банк Аваль","amenity":"bank"},"name":"Райффайзен Банк Аваль","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Yorkshire Building Society":{"tags":{"name":"Yorkshire Building Society","amenity":"bank"},"name":"Yorkshire Building Society","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/De Venezuela":{"tags":{"name":"De Venezuela","amenity":"bank"},"name":"De Venezuela","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ธนาคารไทยพาณิชย์":{"tags":{"name":"ธนาคารไทยพาณิชย์","amenity":"bank"},"name":"ธนาคารไทยพาณิชย์","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bancomer":{"tags":{"name":"Bancomer","amenity":"bank"},"name":"Bancomer","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banorte":{"tags":{"name":"Banorte","amenity":"bank"},"name":"Banorte","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BOC":{"tags":{"name":"BOC","amenity":"bank"},"name":"BOC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Republic Bank":{"tags":{"name":"Republic Bank","amenity":"bank"},"name":"Republic Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Raiffeisen Polbank":{"tags":{"name":"Raiffeisen Polbank","amenity":"bank"},"name":"Raiffeisen Polbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Банк Москвы":{"tags":{"name":"Банк Москвы","amenity":"bank"},"name":"Банк Москвы","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Nacional":{"tags":{"name":"Banco Nacional","amenity":"bank"},"name":"Banco Nacional","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Pichincha":{"tags":{"name":"Banco Pichincha","amenity":"bank"},"name":"Banco Pichincha","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Syndicate Bank":{"tags":{"name":"Syndicate Bank","amenity":"bank"},"name":"Syndicate Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank Zachodni WBK":{"tags":{"name":"Bank Zachodni WBK","amenity":"bank"},"name":"Bank Zachodni WBK","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caja Duero":{"tags":{"name":"Caja Duero","amenity":"bank"},"name":"Caja Duero","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Regions Bank":{"tags":{"name":"Regions Bank","amenity":"bank"},"name":"Regions Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/KeyBank":{"tags":{"name":"KeyBank","amenity":"bank"},"name":"KeyBank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of Commerce":{"tags":{"name":"Bank of Commerce","amenity":"bank"},"name":"Bank of Commerce","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Росбанк":{"tags":{"name":"Росбанк","amenity":"bank"},"name":"Росбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Открытие":{"tags":{"name":"Открытие","amenity":"bank"},"name":"Открытие","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Бинбанк":{"tags":{"name":"Бинбанк","amenity":"bank"},"name":"Бинбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/People's Bank":{"tags":{"name":"People's Bank","amenity":"bank"},"name":"People's Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ПУМБ":{"tags":{"name":"ПУМБ","amenity":"bank"},"name":"ПУМБ","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco di Napoli":{"tags":{"name":"Banco di Napoli","amenity":"bank"},"name":"Banco di Napoli","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank Spółdzielczy":{"tags":{"name":"Bank Spółdzielczy","amenity":"bank"},"name":"Bank Spółdzielczy","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Public Bank":{"tags":{"name":"Public Bank","amenity":"bank"},"name":"Public Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/SunTrust":{"tags":{"name":"SunTrust","amenity":"bank"},"name":"SunTrust","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PNC Bank":{"tags":{"name":"PNC Bank","amenity":"bank"},"name":"PNC Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/신한은행":{"tags":{"name":"신한은행","name:en":"Sinhan Bank","amenity":"bank"},"name":"신한은행","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/우리은행":{"tags":{"name":"우리은행","name:en":"Uri Bank","amenity":"bank"},"name":"우리은행","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/국민은행":{"tags":{"name":"국민은행","name:en":"Gungmin Bank","amenity":"bank"},"name":"국민은행","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Газпромбанк":{"tags":{"name":"Газпромбанк","amenity":"bank"},"name":"Газпромбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/M&T Bank":{"tags":{"name":"M&T Bank","amenity":"bank"},"name":"M&T Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Indian Overseas Bank":{"tags":{"name":"Indian Overseas Bank","amenity":"bank"},"name":"Indian Overseas Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Santander Totta":{"tags":{"name":"Santander Totta","amenity":"bank"},"name":"Santander Totta","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de Bogotá":{"tags":{"name":"Banco de Bogotá","amenity":"bank"},"name":"Banco de Bogotá","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Ощадбанк":{"tags":{"name":"Ощадбанк","amenity":"bank"},"name":"Ощадбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/State Bank of Mysore":{"tags":{"name":"State Bank of Mysore","amenity":"bank"},"name":"State Bank of Mysore","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Estado":{"tags":{"name":"Banco Estado","amenity":"bank"},"name":"Banco Estado","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Ecobank":{"tags":{"name":"Ecobank","amenity":"bank"},"name":"Ecobank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Takarékszövetkezet":{"tags":{"name":"Takarékszövetkezet","amenity":"bank"},"name":"Takarékszövetkezet","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/East West Bank":{"tags":{"name":"East West Bank","amenity":"bank"},"name":"East West Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/بانک صادرات":{"tags":{"name":"بانک صادرات","amenity":"bank"},"name":"بانک صادرات","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Azteca":{"tags":{"name":"Banco Azteca","amenity":"bank"},"name":"Banco Azteca","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/TCF Bank":{"tags":{"name":"TCF Bank","amenity":"bank"},"name":"TCF Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Nación":{"tags":{"name":"Banco Nación","amenity":"bank"},"name":"Banco Nación","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Galicia":{"tags":{"name":"Galicia","amenity":"bank"},"name":"Galicia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Macro":{"tags":{"name":"Macro","amenity":"bank"},"name":"Macro","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Πειραιώς":{"tags":{"name":"Πειραιώς","amenity":"bank"},"name":"Πειραιώς","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Промсвязьбанк":{"tags":{"name":"Промсвязьбанк","amenity":"bank"},"name":"Промсвязьбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/بانک سپه":{"tags":{"name":"بانک سپه","amenity":"bank"},"name":"بانک سپه","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/بانک ملی":{"tags":{"name":"بانک ملی","amenity":"bank"},"name":"بانک ملی","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Уралсиб":{"tags":{"name":"Уралсиб","amenity":"bank"},"name":"Уралсиб","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/صادرات":{"tags":{"name":"صادرات","amenity":"bank"},"name":"صادرات","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/三井住友銀行":{"tags":{"name":"三井住友銀行","amenity":"bank"},"name":"三井住友銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/りそな銀行":{"tags":{"name":"りそな銀行","amenity":"bank"},"name":"りそな銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Commercial Bank":{"tags":{"name":"Commercial Bank","amenity":"bank"},"name":"Commercial Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BCI":{"tags":{"name":"BCI","amenity":"bank"},"name":"BCI","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de Costa Rica":{"tags":{"name":"Banco de Costa Rica","amenity":"bank"},"name":"Banco de Costa Rica","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Hrvatska poštanska banka":{"tags":{"name":"Hrvatska poštanska banka","amenity":"bank"},"name":"Hrvatska poštanska banka","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caixa Geral de Depósitos":{"tags":{"name":"Caixa Geral de Depósitos","amenity":"bank"},"name":"Caixa Geral de Depósitos","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Provincia":{"tags":{"name":"Banco Provincia","amenity":"bank"},"name":"Banco Provincia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of India":{"tags":{"name":"Bank of India","amenity":"bank"},"name":"Bank of India","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Umpqua Bank":{"tags":{"name":"Umpqua Bank","amenity":"bank"},"name":"Umpqua Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BCP":{"tags":{"name":"BCP","amenity":"bank"},"name":"BCP","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BB&T":{"tags":{"name":"BB&T","amenity":"bank"},"name":"BB&T","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Capital One":{"tags":{"name":"Capital One","amenity":"bank"},"name":"Capital One","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ABANCA":{"tags":{"name":"ABANCA","amenity":"bank"},"name":"ABANCA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Возрождение":{"tags":{"name":"Возрождение","amenity":"bank"},"name":"Возрождение","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Macro":{"tags":{"name":"Banco Macro","amenity":"bank"},"name":"Banco Macro","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/МДМ Банк":{"tags":{"name":"МДМ Банк","amenity":"bank"},"name":"МДМ Банк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Capital One Bank":{"tags":{"name":"Capital One Bank","amenity":"bank"},"name":"Capital One Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BBVA Compass":{"tags":{"name":"BBVA Compass","amenity":"bank"},"name":"BBVA Compass","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caja Círculo":{"tags":{"name":"Caja Círculo","amenity":"bank"},"name":"Caja Círculo","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CatalunyaCaixa":{"tags":{"name":"CatalunyaCaixa","amenity":"bank"},"name":"CatalunyaCaixa","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/One Network Bank":{"tags":{"name":"One Network Bank","amenity":"bank"},"name":"One Network Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Occidental de Descuento":{"tags":{"name":"Occidental de Descuento","amenity":"bank"},"name":"Occidental de Descuento","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Народный банк":{"tags":{"name":"Народный банк","amenity":"bank"},"name":"Народный банк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank Mandiri":{"tags":{"name":"Bank Mandiri","amenity":"bank"},"name":"Bank Mandiri","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de la Nación Argentina":{"tags":{"name":"Banco de la Nación Argentina","amenity":"bank"},"name":"Banco de la Nación Argentina","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Mercantil":{"tags":{"name":"Mercantil","amenity":"bank"},"name":"Mercantil","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/PKO Bank Polski":{"tags":{"name":"PKO Bank Polski","amenity":"bank"},"name":"PKO Bank Polski","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Русский стандарт":{"tags":{"name":"Русский стандарт","amenity":"bank"},"name":"Русский стандарт","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/First Citizens Bank":{"tags":{"name":"First Citizens Bank","amenity":"bank"},"name":"First Citizens Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Corporation Bank":{"tags":{"name":"Corporation Bank","amenity":"bank"},"name":"Corporation Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of Baroda":{"tags":{"name":"Bank of Baroda","amenity":"bank"},"name":"Bank of Baroda","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco G&T Continental":{"tags":{"name":"Banco G&T Continental","amenity":"bank"},"name":"Banco G&T Continental","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/U.S. Bank":{"tags":{"name":"U.S. Bank","amenity":"bank"},"name":"U.S. Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de Occidente":{"tags":{"name":"Banco de Occidente","amenity":"bank"},"name":"Banco de Occidente","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Kasa Stefczyka":{"tags":{"name":"Kasa Stefczyka","amenity":"bank"},"name":"Kasa Stefczyka","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Мособлбанк":{"tags":{"name":"Мособлбанк","amenity":"bank"},"name":"Мособлбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CGD":{"tags":{"name":"CGD","amenity":"bank"},"name":"CGD","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Huntington Bank":{"tags":{"name":"Huntington Bank","amenity":"bank"},"name":"Huntington Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sampath Bank":{"tags":{"name":"Sampath Bank","amenity":"bank"},"name":"Sampath Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Peoples Bank":{"tags":{"name":"Peoples Bank","amenity":"bank"},"name":"Peoples Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/建设银行":{"tags":{"name":"建设银行","amenity":"bank"},"name":"建设银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Interbank":{"tags":{"name":"Interbank","amenity":"bank"},"name":"Interbank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banrisul":{"tags":{"name":"Banrisul","amenity":"bank"},"name":"Banrisul","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/بانک تجارت":{"tags":{"name":"بانک تجارت","amenity":"bank"},"name":"بانک تجارت","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Cбербанк":{"tags":{"name":"Cбербанк","amenity":"bank"},"name":"Cбербанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BBVA Francés":{"tags":{"name":"BBVA Francés","amenity":"bank"},"name":"BBVA Francés","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ธนาคารกรุงเทพ":{"tags":{"name":"ธนาคารกรุงเทพ","amenity":"bank"},"name":"ธนาคารกรุงเทพ","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ธนาคารกสิกรไทย":{"tags":{"name":"ธนาคารกสิกรไทย","amenity":"bank"},"name":"ธนาคารกสิกรไทย","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Millenium BCP":{"tags":{"name":"Millenium BCP","amenity":"bank"},"name":"Millenium BCP","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Montepio":{"tags":{"name":"Montepio","amenity":"bank"},"name":"Montepio","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Provincial":{"tags":{"name":"Provincial","amenity":"bank"},"name":"Provincial","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bicentenario":{"tags":{"name":"Bicentenario","amenity":"bank"},"name":"Bicentenario","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banesco":{"tags":{"name":"Banesco","amenity":"bank"},"name":"Banesco","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ธนาคารกรุงไทย":{"tags":{"name":"ธนาคารกรุงไทย","amenity":"bank"},"name":"ธนาคารกรุงไทย","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Garanti Bankası":{"tags":{"name":"Garanti Bankası","amenity":"bank"},"name":"Garanti Bankası","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Совкомбанк":{"tags":{"name":"Совкомбанк","amenity":"bank"},"name":"Совкомбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BNA":{"tags":{"name":"BNA","amenity":"bank"},"name":"BNA","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BAC":{"tags":{"name":"BAC","amenity":"bank"},"name":"BAC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banrural":{"tags":{"name":"Banrural","amenity":"bank"},"name":"Banrural","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/BRI":{"tags":{"name":"BRI","amenity":"bank"},"name":"BRI","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Industrial":{"tags":{"name":"Banco Industrial","amenity":"bank"},"name":"Banco Industrial","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/京都銀行":{"tags":{"name":"京都銀行","amenity":"bank"},"name":"京都銀行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Cajero Automatico Bancared":{"tags":{"name":"Cajero Automatico Bancared","amenity":"bank"},"name":"Cajero Automatico Bancared","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de Desarrollo Banrural":{"tags":{"name":"Banco de Desarrollo Banrural","amenity":"bank"},"name":"Banco de Desarrollo Banrural","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Patagonia":{"tags":{"name":"Banco Patagonia","amenity":"bank"},"name":"Banco Patagonia","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ICBC":{"tags":{"name":"ICBC","amenity":"bank"},"name":"ICBC","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de Venezuela":{"tags":{"name":"Banco de Venezuela","amenity":"bank"},"name":"Banco de Venezuela","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco de la Nación":{"tags":{"name":"Banco de la Nación","amenity":"bank"},"name":"Banco de la Nación","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Banco Bradesco":{"tags":{"name":"Banco Bradesco","amenity":"bank"},"name":"Banco Bradesco","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank of Africa":{"tags":{"name":"Bank of Africa","amenity":"bank"},"name":"Bank of Africa","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Sicredi":{"tags":{"name":"Sicredi","amenity":"bank"},"name":"Sicredi","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ლიბერთი ბანკი":{"tags":{"name":"ლიბერთი ბანკი","name:en":"Liberty Bank","amenity":"bank"},"name":"ლიბერთი ბანკი","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ملی":{"tags":{"name":"ملی","amenity":"bank"},"name":"ملی","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Crédito Agrícola":{"tags":{"name":"Crédito Agrícola","amenity":"bank"},"name":"Crédito Agrícola","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Caja Rural de Jaén":{"tags":{"name":"Caja Rural de Jaén","amenity":"bank"},"name":"Caja Rural de Jaén","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/ASB Bank":{"tags":{"name":"ASB Bank","amenity":"bank"},"name":"ASB Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/농협":{"tags":{"name":"농협","amenity":"bank"},"name":"농협","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/РНКБ":{"tags":{"name":"РНКБ","amenity":"bank"},"name":"РНКБ","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/农业银行":{"tags":{"name":"农业银行","amenity":"bank"},"name":"农业银行","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Bank BRI":{"tags":{"name":"Bank BRI","amenity":"bank"},"name":"Bank BRI","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/Генбанк":{"tags":{"name":"Генбанк","amenity":"bank"},"name":"Генбанк","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/하나은행":{"tags":{"name":"하나은행","amenity":"bank"},"name":"하나은행","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bank/CityCommerce Bank":{"tags":{"name":"CityCommerce Bank","amenity":"bank"},"name":"CityCommerce Bank","icon":"bank","geometry":["point","area"],"fields":["atm","operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/bureau_de_change/Kantor":{"tags":{"name":"Kantor","amenity":"bureau_de_change"},"name":"Kantor","icon":"bank","geometry":["point","vertex"],"fields":["operator","currency_multi"],"suggestion":true},"amenity/car_rental/Europcar":{"tags":{"name":"Europcar","amenity":"car_rental"},"name":"Europcar","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Budget":{"tags":{"name":"Budget","amenity":"car_rental"},"name":"Budget","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Sixt":{"tags":{"name":"Sixt","amenity":"car_rental"},"name":"Sixt","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Hertz":{"tags":{"name":"Hertz","amenity":"car_rental"},"name":"Hertz","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Avis":{"tags":{"name":"Avis","amenity":"car_rental"},"name":"Avis","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Enterprise":{"tags":{"name":"Enterprise","amenity":"car_rental"},"name":"Enterprise","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/Thrifty":{"tags":{"name":"Thrifty","amenity":"car_rental"},"name":"Thrifty","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/U-Haul":{"tags":{"name":"U-Haul","amenity":"car_rental"},"name":"U-Haul","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/car_rental/ニッポンレンタカー":{"tags":{"name":"ニッポンレンタカー","amenity":"car_rental"},"name":"ニッポンレンタカー","icon":"car","geometry":["point","area"],"fields":["operator"],"suggestion":true},"amenity/pharmacy/Lloyds Pharmacy":{"tags":{"name":"Lloyds Pharmacy","amenity":"pharmacy"},"name":"Lloyds Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rowlands Pharmacy":{"tags":{"name":"Rowlands Pharmacy","amenity":"pharmacy"},"name":"Rowlands Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Boots":{"tags":{"name":"Boots","amenity":"pharmacy"},"name":"Boots","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Marien-Apotheke":{"tags":{"name":"Marien-Apotheke","amenity":"pharmacy"},"name":"Marien-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Park-Apotheke":{"tags":{"name":"Park-Apotheke","amenity":"pharmacy"},"name":"Park-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Mercury Drug":{"tags":{"name":"Mercury Drug","amenity":"pharmacy"},"name":"Mercury Drug","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Löwen-Apotheke":{"tags":{"name":"Löwen-Apotheke","amenity":"pharmacy"},"name":"Löwen-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Superdrug":{"tags":{"name":"Superdrug","amenity":"pharmacy"},"name":"Superdrug","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Sonnen-Apotheke":{"tags":{"name":"Sonnen-Apotheke","amenity":"pharmacy"},"name":"Sonnen-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Engel-Apotheke":{"tags":{"name":"Engel-Apotheke","amenity":"pharmacy"},"name":"Engel-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Hirsch-Apotheke":{"tags":{"name":"Hirsch-Apotheke","amenity":"pharmacy"},"name":"Hirsch-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Apoteket":{"tags":{"name":"Apoteket","amenity":"pharmacy"},"name":"Apoteket","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Stadt-Apotheke":{"tags":{"name":"Stadt-Apotheke","amenity":"pharmacy"},"name":"Stadt-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Markt-Apotheke":{"tags":{"name":"Markt-Apotheke","amenity":"pharmacy"},"name":"Markt-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Аптека":{"tags":{"name":"Аптека","amenity":"pharmacy"},"name":"Аптека","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Brunnen-Apotheke":{"tags":{"name":"Brunnen-Apotheke","amenity":"pharmacy"},"name":"Brunnen-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Hubertus Apotheke":{"tags":{"name":"Hubertus Apotheke","amenity":"pharmacy"},"name":"Hubertus Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Bahnhof Apotheke":{"tags":{"name":"Bahnhof Apotheke","amenity":"pharmacy"},"name":"Bahnhof Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Shoppers Drug Mart":{"tags":{"name":"Shoppers Drug Mart","amenity":"pharmacy"},"name":"Shoppers Drug Mart","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmacie Centrale":{"tags":{"name":"Pharmacie Centrale","amenity":"pharmacy"},"name":"Pharmacie Centrale","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Alte Apotheke":{"tags":{"name":"Alte Apotheke","amenity":"pharmacy"},"name":"Alte Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Neue Apotheke":{"tags":{"name":"Neue Apotheke","amenity":"pharmacy"},"name":"Neue Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rathaus-Apotheke":{"tags":{"name":"Rathaus-Apotheke","amenity":"pharmacy"},"name":"Rathaus-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Gintarinė vaistinė":{"tags":{"name":"Gintarinė vaistinė","amenity":"pharmacy"},"name":"Gintarinė vaistinė","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rats-Apotheke":{"tags":{"name":"Rats-Apotheke","amenity":"pharmacy"},"name":"Rats-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rosen-Apotheke":{"tags":{"name":"Rosen-Apotheke","amenity":"pharmacy"},"name":"Rosen-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Eczane":{"tags":{"name":"Eczane","amenity":"pharmacy"},"name":"Eczane","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmasave":{"tags":{"name":"Pharmasave","amenity":"pharmacy"},"name":"Pharmasave","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Adler Apotheke":{"tags":{"name":"Adler Apotheke","amenity":"pharmacy"},"name":"Adler Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Bären-Apotheke":{"tags":{"name":"Bären-Apotheke","amenity":"pharmacy"},"name":"Bären-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Hirsch Apotheke":{"tags":{"name":"Hirsch Apotheke","amenity":"pharmacy"},"name":"Hirsch Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Walgreens":{"tags":{"name":"Walgreens","amenity":"pharmacy"},"name":"Walgreens","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rite Aid":{"tags":{"name":"Rite Aid","amenity":"pharmacy"},"name":"Rite Aid","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Linden-Apotheke":{"tags":{"name":"Linden-Apotheke","amenity":"pharmacy"},"name":"Linden-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Bahnhof-Apotheke":{"tags":{"name":"Bahnhof-Apotheke","amenity":"pharmacy"},"name":"Bahnhof-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Burg-Apotheke":{"tags":{"name":"Burg-Apotheke","amenity":"pharmacy"},"name":"Burg-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Apotheke am Markt":{"tags":{"name":"Apotheke am Markt","amenity":"pharmacy"},"name":"Apotheke am Markt","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Schloss-Apotheke":{"tags":{"name":"Schloss-Apotheke","amenity":"pharmacy"},"name":"Schloss-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Jean Coutu":{"tags":{"name":"Jean Coutu","amenity":"pharmacy"},"name":"Jean Coutu","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmaprix":{"tags":{"name":"Pharmaprix","amenity":"pharmacy"},"name":"Pharmaprix","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmacie du Centre":{"tags":{"name":"Pharmacie du Centre","amenity":"pharmacy"},"name":"Pharmacie du Centre","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacias Ahumada":{"tags":{"name":"Farmacias Ahumada","amenity":"pharmacy"},"name":"Farmacias Ahumada","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Stern-Apotheke":{"tags":{"name":"Stern-Apotheke","amenity":"pharmacy"},"name":"Stern-Apotheke","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Guardian":{"tags":{"name":"Guardian","amenity":"pharmacy"},"name":"Guardian","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacia Comunale":{"tags":{"name":"Farmacia Comunale","amenity":"pharmacy"},"name":"Farmacia Comunale","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Dr.Max":{"tags":{"name":"Dr.Max","amenity":"pharmacy"},"name":"Dr.Max","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Cruz Verde":{"tags":{"name":"Cruz Verde","amenity":"pharmacy"},"name":"Cruz Verde","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/ГорЗдрав":{"tags":{"name":"ГорЗдрав","amenity":"pharmacy"},"name":"ГорЗдрав","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacias Cruz Verde":{"tags":{"name":"Farmacias Cruz Verde","amenity":"pharmacy"},"name":"Farmacias Cruz Verde","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/CVS":{"tags":{"name":"CVS","amenity":"pharmacy"},"name":"CVS","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Sensiblu":{"tags":{"name":"Sensiblu","amenity":"pharmacy"},"name":"Sensiblu","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Норма":{"tags":{"name":"Норма","amenity":"pharmacy"},"name":"Норма","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacias SalcoBrand":{"tags":{"name":"Farmacias SalcoBrand","amenity":"pharmacy"},"name":"Farmacias SalcoBrand","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Фармация":{"tags":{"name":"Фармация","amenity":"pharmacy"},"name":"Фармация","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmacie du Marché":{"tags":{"name":"Pharmacie du Marché","amenity":"pharmacy"},"name":"Pharmacie du Marché","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmacie de la Mairie":{"tags":{"name":"Pharmacie de la Mairie","amenity":"pharmacy"},"name":"Pharmacie de la Mairie","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacia Guadalajara":{"tags":{"name":"Farmacia Guadalajara","amenity":"pharmacy"},"name":"Farmacia Guadalajara","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Apteka":{"tags":{"name":"Apteka","amenity":"pharmacy"},"name":"Apteka","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmacie Principale":{"tags":{"name":"Pharmacie Principale","amenity":"pharmacy"},"name":"Pharmacie Principale","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Clicks":{"tags":{"name":"Clicks","amenity":"pharmacy"},"name":"Clicks","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/セイジョー":{"tags":{"name":"セイジョー","amenity":"pharmacy"},"name":"セイジョー","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Аптека №1":{"tags":{"name":"Аптека №1","amenity":"pharmacy"},"name":"Аптека №1","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/マツモトキヨシ":{"tags":{"name":"マツモトキヨシ","amenity":"pharmacy"},"name":"マツモトキヨシ","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Dr. Max":{"tags":{"name":"Dr. Max","amenity":"pharmacy"},"name":"Dr. Max","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Вита":{"tags":{"name":"Вита","amenity":"pharmacy"},"name":"Вита","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Catena":{"tags":{"name":"Catena","amenity":"pharmacy"},"name":"Catena","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Здоровье":{"tags":{"name":"Здоровье","amenity":"pharmacy"},"name":"Здоровье","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Аптека 36,6":{"tags":{"name":"Аптека 36,6","amenity":"pharmacy"},"name":"Аптека 36,6","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/サンドラッグ":{"tags":{"name":"サンドラッグ","amenity":"pharmacy"},"name":"サンドラッグ","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pharmacie de la Gare":{"tags":{"name":"Pharmacie de la Gare","amenity":"pharmacy"},"name":"Pharmacie de la Gare","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Apollo Pharmacy":{"tags":{"name":"Apollo Pharmacy","amenity":"pharmacy"},"name":"Apollo Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Chemist Warehouse":{"tags":{"name":"Chemist Warehouse","amenity":"pharmacy"},"name":"Chemist Warehouse","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rexall":{"tags":{"name":"Rexall","amenity":"pharmacy"},"name":"Rexall","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Первая помощь":{"tags":{"name":"Первая помощь","amenity":"pharmacy"},"name":"Первая помощь","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Gyógyszertár":{"tags":{"name":"Gyógyszertár","amenity":"pharmacy"},"name":"Gyógyszertár","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Ригла":{"tags":{"name":"Ригла","amenity":"pharmacy"},"name":"Ригла","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Droga Raia":{"tags":{"name":"Droga Raia","amenity":"pharmacy"},"name":"Droga Raia","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Аптека низьких цін":{"tags":{"name":"Аптека низьких цін","amenity":"pharmacy"},"name":"Аптека низьких цін","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Rose Pharmacy":{"tags":{"name":"Rose Pharmacy","amenity":"pharmacy"},"name":"Rose Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Dbam o Zdrowie":{"tags":{"name":"Dbam o Zdrowie","amenity":"pharmacy"},"name":"Dbam o Zdrowie","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Kinney Drugs":{"tags":{"name":"Kinney Drugs","amenity":"pharmacy"},"name":"Kinney Drugs","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Классика":{"tags":{"name":"Классика","amenity":"pharmacy"},"name":"Классика","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Ljekarna":{"tags":{"name":"Ljekarna","amenity":"pharmacy"},"name":"Ljekarna","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Фармакор":{"tags":{"name":"Фармакор","amenity":"pharmacy"},"name":"Фармакор","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmàcia":{"tags":{"name":"Farmàcia","amenity":"pharmacy"},"name":"Farmàcia","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/スギ薬局":{"tags":{"name":"スギ薬局","amenity":"pharmacy"},"name":"スギ薬局","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Pague Menos":{"tags":{"name":"Pague Menos","amenity":"pharmacy"},"name":"Pague Menos","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Горздрав":{"tags":{"name":"Горздрав","amenity":"pharmacy"},"name":"Горздрав","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Mēness aptieka":{"tags":{"name":"Mēness aptieka","amenity":"pharmacy"},"name":"Mēness aptieka","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/South Star Drug":{"tags":{"name":"South Star Drug","amenity":"pharmacy"},"name":"South Star Drug","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Панацея":{"tags":{"name":"Панацея","amenity":"pharmacy"},"name":"Панацея","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Арніка":{"tags":{"name":"Арніка","amenity":"pharmacy"},"name":"Арніка","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Drogaria São Paulo":{"tags":{"name":"Drogaria São Paulo","amenity":"pharmacy"},"name":"Drogaria São Paulo","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Аптечный пункт":{"tags":{"name":"Аптечный пункт","amenity":"pharmacy"},"name":"Аптечный пункт","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Невис":{"tags":{"name":"Невис","amenity":"pharmacy"},"name":"Невис","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Panvel":{"tags":{"name":"Panvel","amenity":"pharmacy"},"name":"Panvel","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Айболит":{"tags":{"name":"Айболит","amenity":"pharmacy"},"name":"Айболит","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/SalcoBrand":{"tags":{"name":"SalcoBrand","amenity":"pharmacy"},"name":"SalcoBrand","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Живика":{"tags":{"name":"Живика","amenity":"pharmacy"},"name":"Живика","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Walmart Pharmacy":{"tags":{"name":"Walmart Pharmacy","amenity":"pharmacy"},"name":"Walmart Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Walgreens Pharmacy":{"tags":{"name":"Walgreens Pharmacy","amenity":"pharmacy"},"name":"Walgreens Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacity":{"tags":{"name":"Farmacity","amenity":"pharmacy"},"name":"Farmacity","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/аптека":{"tags":{"name":"аптека","amenity":"pharmacy"},"name":"аптека","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/The Generics Pharmacy":{"tags":{"name":"The Generics Pharmacy","amenity":"pharmacy"},"name":"The Generics Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacias del Ahorro":{"tags":{"name":"Farmacias del Ahorro","amenity":"pharmacy"},"name":"Farmacias del Ahorro","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacias Similares":{"tags":{"name":"Farmacias Similares","amenity":"pharmacy"},"name":"Farmacias Similares","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmatodo":{"tags":{"name":"Farmatodo","amenity":"pharmacy"},"name":"Farmatodo","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/ツルハドラッグ":{"tags":{"name":"ツルハドラッグ","amenity":"pharmacy"},"name":"ツルハドラッグ","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Duane Reade":{"tags":{"name":"Duane Reade","amenity":"pharmacy"},"name":"Duane Reade","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Фармленд":{"tags":{"name":"Фармленд","amenity":"pharmacy"},"name":"Фармленд","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/H-E-B Pharmacy":{"tags":{"name":"H-E-B Pharmacy","amenity":"pharmacy"},"name":"H-E-B Pharmacy","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Планета здоровья":{"tags":{"name":"Планета здоровья","amenity":"pharmacy"},"name":"Планета здоровья","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/pharmacie":{"tags":{"name":"pharmacie","amenity":"pharmacy"},"name":"pharmacie","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/А5":{"tags":{"name":"А5","amenity":"pharmacy"},"name":"А5","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Имплозия":{"tags":{"name":"Имплозия","amenity":"pharmacy"},"name":"Имплозия","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Eurovaistinė":{"tags":{"name":"Eurovaistinė","amenity":"pharmacy"},"name":"Eurovaistinė","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Бережная аптека":{"tags":{"name":"Бережная аптека","amenity":"pharmacy"},"name":"Бережная аптека","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/36.6":{"tags":{"name":"36.6","amenity":"pharmacy"},"name":"36.6","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Benavides":{"tags":{"name":"Benavides","amenity":"pharmacy"},"name":"Benavides","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/ドラッグてらしま (Drug Terashima)":{"tags":{"name":"ドラッグてらしま (Drug Terashima)","amenity":"pharmacy"},"name":"ドラッグてらしま (Drug Terashima)","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmacias Guadalajara":{"tags":{"name":"Farmacias Guadalajara","amenity":"pharmacy"},"name":"Farmacias Guadalajara","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Drogasil":{"tags":{"name":"Drogasil","amenity":"pharmacy"},"name":"Drogasil","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Фармакопейка":{"tags":{"name":"Фармакопейка","amenity":"pharmacy"},"name":"Фармакопейка","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Аптека от склада":{"tags":{"name":"Аптека от склада","amenity":"pharmacy"},"name":"Аптека от склада","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/クリエイト":{"tags":{"name":"クリエイト","amenity":"pharmacy"},"name":"クリエイト","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/ავერსი (Aversi)":{"tags":{"name":"ავერსი (Aversi)","amenity":"pharmacy"},"name":"ავერსი (Aversi)","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Inkafarma":{"tags":{"name":"Inkafarma","amenity":"pharmacy"},"name":"Inkafarma","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/Farmahorro":{"tags":{"name":"Farmahorro","amenity":"pharmacy"},"name":"Farmahorro","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/ウエルシア":{"tags":{"name":"ウエルシア","amenity":"pharmacy"},"name":"ウエルシア","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/داروخانه":{"tags":{"name":"داروخانه","amenity":"pharmacy"},"name":"داروخانه","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/pharmacy/丁丁藥局":{"tags":{"name":"丁丁藥局","amenity":"pharmacy"},"name":"丁丁藥局","icon":"pharmacy","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"amenity/library/Stadtbibliothek":{"tags":{"name":"Stadtbibliothek","amenity":"library"},"name":"Stadtbibliothek","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Central Library":{"tags":{"name":"Central Library","amenity":"library"},"name":"Central Library","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Stadtbücherei":{"tags":{"name":"Stadtbücherei","amenity":"library"},"name":"Stadtbücherei","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Médiathèque":{"tags":{"name":"Médiathèque","amenity":"library"},"name":"Médiathèque","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Public Library":{"tags":{"name":"Public Library","amenity":"library"},"name":"Public Library","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Biblioteca Municipal":{"tags":{"name":"Biblioteca Municipal","amenity":"library"},"name":"Biblioteca Municipal","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Gemeindebücherei":{"tags":{"name":"Gemeindebücherei","amenity":"library"},"name":"Gemeindebücherei","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Bibliothek":{"tags":{"name":"Bibliothek","amenity":"library"},"name":"Bibliothek","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Biblioteca Comunale":{"tags":{"name":"Biblioteca Comunale","amenity":"library"},"name":"Biblioteca Comunale","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Library":{"tags":{"name":"Library","amenity":"library"},"name":"Library","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Bibliothèque municipale":{"tags":{"name":"Bibliothèque municipale","amenity":"library"},"name":"Bibliothèque municipale","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Bibliothèque Municipale":{"tags":{"name":"Bibliothèque Municipale","amenity":"library"},"name":"Bibliothèque Municipale","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Bibliothèque":{"tags":{"name":"Bibliothèque","amenity":"library"},"name":"Bibliothèque","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Bücherei":{"tags":{"name":"Bücherei","amenity":"library"},"name":"Bücherei","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Biblioteca Pública Municipal":{"tags":{"name":"Biblioteca Pública Municipal","amenity":"library"},"name":"Biblioteca Pública Municipal","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Bibliotheek":{"tags":{"name":"Bibliotheek","amenity":"library"},"name":"Bibliotheek","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Библиотека":{"tags":{"name":"Библиотека","amenity":"library"},"name":"Библиотека","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Детская библиотека":{"tags":{"name":"Детская библиотека","amenity":"library"},"name":"Детская библиотека","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Центральная городская библиотека":{"tags":{"name":"Центральная городская библиотека","amenity":"library"},"name":"Центральная городская библиотека","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Biblioteca":{"tags":{"name":"Biblioteca","amenity":"library"},"name":"Biblioteca","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Miejska Biblioteka Publiczna":{"tags":{"name":"Miejska Biblioteka Publiczna","amenity":"library"},"name":"Miejska Biblioteka Publiczna","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Městská knihovna":{"tags":{"name":"Městská knihovna","amenity":"library"},"name":"Městská knihovna","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Biblioteka":{"tags":{"name":"Biblioteka","amenity":"library"},"name":"Biblioteka","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Biblioteca comunale":{"tags":{"name":"Biblioteca comunale","amenity":"library"},"name":"Biblioteca comunale","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Biblioteka Publiczna":{"tags":{"name":"Biblioteka Publiczna","amenity":"library"},"name":"Biblioteka Publiczna","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Gminna Biblioteka Publiczna":{"tags":{"name":"Gminna Biblioteka Publiczna","amenity":"library"},"name":"Gminna Biblioteka Publiczna","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Центральная библиотека":{"tags":{"name":"Центральная библиотека","amenity":"library"},"name":"Центральная библиотека","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Biblioteca Pública":{"tags":{"name":"Biblioteca Pública","amenity":"library"},"name":"Biblioteca Pública","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Бібліотека":{"tags":{"name":"Бібліотека","amenity":"library"},"name":"Бібліотека","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/Городская библиотека":{"tags":{"name":"Городская библиотека","amenity":"library"},"name":"Городская библиотека","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/library/图书馆":{"tags":{"name":"图书馆","amenity":"library"},"name":"图书馆","icon":"library","geometry":["point","area"],"fields":["operator","building_area","address","opening_hours"],"suggestion":true},"amenity/kindergarten/Kindergarten":{"tags":{"name":"Kindergarten","amenity":"kindergarten"},"name":"Kindergarten","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Arche Noah":{"tags":{"name":"Arche Noah","amenity":"kindergarten"},"name":"Arche Noah","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Waldkindergarten":{"tags":{"name":"Waldkindergarten","amenity":"kindergarten"},"name":"Waldkindergarten","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Städtischer Kindergarten":{"tags":{"name":"Städtischer Kindergarten","amenity":"kindergarten"},"name":"Städtischer Kindergarten","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №19":{"tags":{"name":"Детский сад №19","amenity":"kindergarten"},"name":"Детский сад №19","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №11":{"tags":{"name":"Детский сад №11","amenity":"kindergarten"},"name":"Детский сад №11","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №8":{"tags":{"name":"Детский сад №8","amenity":"kindergarten"},"name":"Детский сад №8","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №2":{"tags":{"name":"Детский сад №2","amenity":"kindergarten"},"name":"Детский сад №2","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №7":{"tags":{"name":"Детский сад №7","amenity":"kindergarten"},"name":"Детский сад №7","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №15":{"tags":{"name":"Детский сад №15","amenity":"kindergarten"},"name":"Детский сад №15","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Evangelischer Kindergarten":{"tags":{"name":"Evangelischer Kindergarten","amenity":"kindergarten"},"name":"Evangelischer Kindergarten","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Katholischer Kindergarten":{"tags":{"name":"Katholischer Kindergarten","amenity":"kindergarten"},"name":"Katholischer Kindergarten","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Villa Kunterbunt":{"tags":{"name":"Villa Kunterbunt","amenity":"kindergarten"},"name":"Villa Kunterbunt","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Waldorfkindergarten":{"tags":{"name":"Waldorfkindergarten","amenity":"kindergarten"},"name":"Waldorfkindergarten","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Ev. Kindergarten":{"tags":{"name":"Ev. Kindergarten","amenity":"kindergarten"},"name":"Ev. Kindergarten","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Kindergarten St. Josef":{"tags":{"name":"Kindergarten St. Josef","amenity":"kindergarten"},"name":"Kindergarten St. Josef","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Kindertagesstätte":{"tags":{"name":"Kindertagesstätte","amenity":"kindergarten"},"name":"Kindertagesstätte","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Pusteblume":{"tags":{"name":"Pusteblume","amenity":"kindergarten"},"name":"Pusteblume","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Materská škola":{"tags":{"name":"Materská škola","amenity":"kindergarten"},"name":"Materská škola","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/MŠ":{"tags":{"name":"MŠ","amenity":"kindergarten"},"name":"MŠ","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №1":{"tags":{"name":"Детский сад №1","amenity":"kindergarten"},"name":"Детский сад №1","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №18":{"tags":{"name":"Детский сад №18","amenity":"kindergarten"},"name":"Детский сад №18","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/École Maternelle":{"tags":{"name":"École Maternelle","amenity":"kindergarten"},"name":"École Maternelle","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Crèche":{"tags":{"name":"Crèche","amenity":"kindergarten"},"name":"Crèche","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Kindergarten Regenbogen":{"tags":{"name":"Kindergarten Regenbogen","amenity":"kindergarten"},"name":"Kindergarten Regenbogen","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Przedszkole":{"tags":{"name":"Przedszkole","amenity":"kindergarten"},"name":"Przedszkole","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Mateřská škola":{"tags":{"name":"Mateřská škola","amenity":"kindergarten"},"name":"Mateřská škola","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад":{"tags":{"name":"Детский сад","amenity":"kindergarten"},"name":"Детский сад","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/детский сад":{"tags":{"name":"детский сад","amenity":"kindergarten"},"name":"детский сад","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Óvoda":{"tags":{"name":"Óvoda","amenity":"kindergarten"},"name":"Óvoda","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Jardin Infantil":{"tags":{"name":"Jardin Infantil","amenity":"kindergarten"},"name":"Jardin Infantil","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №4":{"tags":{"name":"Детский сад №4","amenity":"kindergarten"},"name":"Детский сад №4","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Nursery School":{"tags":{"name":"Nursery School","amenity":"kindergarten"},"name":"Nursery School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №3":{"tags":{"name":"Детский сад №3","amenity":"kindergarten"},"name":"Детский сад №3","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №14":{"tags":{"name":"Детский сад №14","amenity":"kindergarten"},"name":"Детский сад №14","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №5":{"tags":{"name":"Детский сад №5","amenity":"kindergarten"},"name":"Детский сад №5","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №10":{"tags":{"name":"Детский сад №10","amenity":"kindergarten"},"name":"Детский сад №10","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №29":{"tags":{"name":"Детский сад №29","amenity":"kindergarten"},"name":"Детский сад №29","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №22":{"tags":{"name":"Детский сад №22","amenity":"kindergarten"},"name":"Детский сад №22","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №25":{"tags":{"name":"Детский сад №25","amenity":"kindergarten"},"name":"Детский сад №25","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №6":{"tags":{"name":"Детский сад №6","amenity":"kindergarten"},"name":"Детский сад №6","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Солнышко":{"tags":{"name":"Солнышко","amenity":"kindergarten"},"name":"Солнышко","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/საბავშვო ბაღი (Kindergarten)":{"tags":{"name":"საბავშვო ბაღი (Kindergarten)","amenity":"kindergarten"},"name":"საბავშვო ბაღი (Kindergarten)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №9":{"tags":{"name":"Детский сад №9","amenity":"kindergarten"},"name":"Детский сад №9","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/PAUD":{"tags":{"name":"PAUD","amenity":"kindergarten"},"name":"PAUD","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №12":{"tags":{"name":"Детский сад №12","amenity":"kindergarten"},"name":"Детский сад №12","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/中央保育所":{"tags":{"name":"中央保育所","amenity":"kindergarten"},"name":"中央保育所","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад \"Солнышко\"":{"tags":{"name":"Детский сад \"Солнышко\"","amenity":"kindergarten"},"name":"Детский сад \"Солнышко\"","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Maria Montessori":{"tags":{"name":"Maria Montessori","amenity":"kindergarten"},"name":"Maria Montessori","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Rosaura Zapata":{"tags":{"name":"Rosaura Zapata","amenity":"kindergarten"},"name":"Rosaura Zapata","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Federico Froebel":{"tags":{"name":"Federico Froebel","amenity":"kindergarten"},"name":"Federico Froebel","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Детский сад №17":{"tags":{"name":"Детский сад №17","amenity":"kindergarten"},"name":"Детский сад №17","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Gabriela Mistral":{"tags":{"name":"Gabriela Mistral","amenity":"kindergarten"},"name":"Gabriela Mistral","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Anganwadi":{"tags":{"name":"Anganwadi","amenity":"kindergarten"},"name":"Anganwadi","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Jean Piaget":{"tags":{"name":"Jean Piaget","amenity":"kindergarten"},"name":"Jean Piaget","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Educacion Inicial de CONAFE No Escolarizado":{"tags":{"name":"Educacion Inicial de CONAFE No Escolarizado","amenity":"kindergarten"},"name":"Educacion Inicial de CONAFE No Escolarizado","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Estefania Casta�eda":{"tags":{"name":"Estefania Casta�eda","amenity":"kindergarten"},"name":"Estefania Casta�eda","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Preescolar Comunitario":{"tags":{"name":"Preescolar Comunitario","amenity":"kindergarten"},"name":"Preescolar Comunitario","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/CONAFE Preescolar":{"tags":{"name":"CONAFE Preescolar","amenity":"kindergarten"},"name":"CONAFE Preescolar","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/kindergarten/Sor Juana Ines De La Cruz":{"tags":{"name":"Sor Juana Ines De La Cruz","amenity":"kindergarten"},"name":"Sor Juana Ines De La Cruz","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/cafe/Starbucks":{"tags":{"name":"Starbucks","cuisine":"coffee_shop","amenity":"cafe"},"name":"Starbucks","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Cafeteria":{"tags":{"name":"Cafeteria","amenity":"cafe"},"name":"Cafeteria","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Costa":{"tags":{"name":"Costa","amenity":"cafe"},"name":"Costa","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Caffè Nero":{"tags":{"name":"Caffè Nero","amenity":"cafe"},"name":"Caffè Nero","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Кафе":{"tags":{"name":"Кафе","amenity":"cafe"},"name":"Кафе","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Café Central":{"tags":{"name":"Café Central","amenity":"cafe"},"name":"Café Central","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Tim Hortons":{"tags":{"name":"Tim Hortons","amenity":"cafe"},"name":"Tim Hortons","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Second Cup":{"tags":{"name":"Second Cup","amenity":"cafe"},"name":"Second Cup","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Country Style":{"tags":{"name":"Country Style","amenity":"cafe"},"name":"Country Style","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Dunkin' Donuts":{"tags":{"name":"Dunkin' Donuts","cuisine":"donut","amenity":"cafe"},"name":"Dunkin' Donuts","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Espresso House":{"tags":{"name":"Espresso House","amenity":"cafe"},"name":"Espresso House","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Coffee Time":{"tags":{"name":"Coffee Time","amenity":"cafe"},"name":"Coffee Time","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Eiscafe Dolomiti":{"tags":{"name":"Eiscafe Dolomiti","amenity":"cafe"},"name":"Eiscafe Dolomiti","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Cafe Coffee Day":{"tags":{"name":"Cafe Coffee Day","amenity":"cafe"},"name":"Cafe Coffee Day","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Eiscafe Venezia":{"tags":{"name":"Eiscafe Venezia","amenity":"cafe"},"name":"Eiscafe Venezia","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/スターバックス":{"tags":{"name":"スターバックス","name:en":"Starbucks","amenity":"cafe"},"name":"スターバックス","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/タリーズコーヒー":{"tags":{"name":"タリーズコーヒー","amenity":"cafe"},"name":"タリーズコーヒー","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Coffee House":{"tags":{"name":"Coffee House","amenity":"cafe"},"name":"Coffee House","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Segafredo":{"tags":{"name":"Segafredo","amenity":"cafe"},"name":"Segafredo","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Pret A Manger":{"tags":{"name":"Pret A Manger","amenity":"cafe"},"name":"Pret A Manger","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Barista":{"tags":{"name":"Barista","amenity":"cafe"},"name":"Barista","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Шоколадница":{"tags":{"name":"Шоколадница","amenity":"cafe"},"name":"Шоколадница","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Peet's Coffee & Tea":{"tags":{"name":"Peet's Coffee & Tea","amenity":"cafe"},"name":"Peet's Coffee & Tea","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Сказка":{"tags":{"name":"Сказка","amenity":"cafe"},"name":"Сказка","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/ドトールコーヒーショップ":{"tags":{"name":"ドトールコーヒーショップ","amenity":"cafe"},"name":"ドトールコーヒーショップ","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Café des Sports":{"tags":{"name":"Café des Sports","amenity":"cafe"},"name":"Café des Sports","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Internet Cafe":{"tags":{"name":"Internet Cafe","amenity":"cafe"},"name":"Internet Cafe","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Coffee Shop":{"tags":{"name":"Coffee Shop","amenity":"cafe"},"name":"Coffee Shop","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Столовая":{"tags":{"name":"Столовая","amenity":"cafe"},"name":"Столовая","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Tchibo":{"tags":{"name":"Tchibo","amenity":"cafe"},"name":"Tchibo","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Бистро":{"tags":{"name":"Бистро","amenity":"cafe"},"name":"Бистро","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/The Coffee Club":{"tags":{"name":"The Coffee Club","amenity":"cafe"},"name":"The Coffee Club","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Кофе Хауз":{"tags":{"name":"Кофе Хауз","amenity":"cafe"},"name":"Кофе Хауз","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Wayne's Coffee":{"tags":{"name":"Wayne's Coffee","amenity":"cafe"},"name":"Wayne's Coffee","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/星巴克":{"tags":{"name":"星巴克","amenity":"cafe"},"name":"星巴克","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/The Coffee Bean & Tea Leaf":{"tags":{"name":"The Coffee Bean & Tea Leaf","amenity":"cafe"},"name":"The Coffee Bean & Tea Leaf","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Закусочная":{"tags":{"name":"Закусочная","amenity":"cafe"},"name":"Закусочная","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Caribou Coffee":{"tags":{"name":"Caribou Coffee","amenity":"cafe"},"name":"Caribou Coffee","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Уют":{"tags":{"name":"Уют","amenity":"cafe"},"name":"Уют","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/ארומה":{"tags":{"name":"ארומה","amenity":"cafe"},"name":"ארומה","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/カフェ・ベローチェ":{"tags":{"name":"カフェ・ベローチェ","amenity":"cafe"},"name":"カフェ・ベローチェ","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Кофейня":{"tags":{"name":"Кофейня","amenity":"cafe"},"name":"Кофейня","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Шашлычная":{"tags":{"name":"Шашлычная","amenity":"cafe"},"name":"Шашлычная","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Кафетерий":{"tags":{"name":"Кафетерий","amenity":"cafe"},"name":"Кафетерий","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Встреча":{"tags":{"name":"Встреча","amenity":"cafe"},"name":"Встреча","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Coffee Fellows":{"tags":{"name":"Coffee Fellows","amenity":"cafe"},"name":"Coffee Fellows","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Havanna":{"tags":{"name":"Havanna","amenity":"cafe"},"name":"Havanna","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/コメダ珈琲店":{"tags":{"name":"コメダ珈琲店","amenity":"cafe"},"name":"コメダ珈琲店","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/คาเฟ่ อเมซอน":{"tags":{"name":"คาเฟ่ อเมซอน","amenity":"cafe"},"name":"คาเฟ่ อเมซอน","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Traveler's Coffee":{"tags":{"name":"Traveler's Coffee","amenity":"cafe"},"name":"Traveler's Coffee","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/85度C":{"tags":{"name":"85度C","amenity":"cafe"},"name":"85度C","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Café Amazon":{"tags":{"name":"Café Amazon","amenity":"cafe"},"name":"Café Amazon","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/エクセルシオール カフェ":{"tags":{"name":"エクセルシオール カフェ","amenity":"cafe"},"name":"エクセルシオール カフェ","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/カフェ・ド・クリエ":{"tags":{"name":"カフェ・ド・クリエ","name:en":"Cafe de CRIE","amenity":"cafe"},"name":"カフェ・ド・クリエ","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/サンマルクカフェ":{"tags":{"name":"サンマルクカフェ","amenity":"cafe"},"name":"サンマルクカフェ","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/cafe/Bar Kafe":{"tags":{"name":"Bar Kafe","amenity":"cafe"},"name":"Bar Kafe","icon":"cafe","geometry":["point","area"],"fields":["cuisine","internet_access","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/school/Школа №17":{"tags":{"name":"Школа №17","amenity":"school"},"name":"Школа №17","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Základná škola":{"tags":{"name":"Základná škola","amenity":"school"},"name":"Základná škola","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Astrid-Lindgren-Schule":{"tags":{"name":"Astrid-Lindgren-Schule","amenity":"school"},"name":"Astrid-Lindgren-Schule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École primaire":{"tags":{"name":"École primaire","amenity":"school"},"name":"École primaire","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Albert-Schweitzer-Schule":{"tags":{"name":"Albert-Schweitzer-Schule","amenity":"school"},"name":"Albert-Schweitzer-Schule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Grundschule":{"tags":{"name":"Grundschule","amenity":"school"},"name":"Grundschule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Realschule":{"tags":{"name":"Realschule","amenity":"school"},"name":"Realschule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/school":{"tags":{"name":"school","amenity":"school"},"name":"school","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Volkshochschule":{"tags":{"name":"Volkshochschule","amenity":"school"},"name":"Volkshochschule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Sunnyside School":{"tags":{"name":"Sunnyside School","amenity":"school"},"name":"Sunnyside School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Primary School":{"tags":{"name":"Primary School","amenity":"school"},"name":"Primary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École primaire Jules Ferry":{"tags":{"name":"École primaire Jules Ferry","amenity":"school"},"name":"École primaire Jules Ferry","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Základní škola":{"tags":{"name":"Základní škola","amenity":"school"},"name":"Základní škola","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Musikschule":{"tags":{"name":"Musikschule","amenity":"school"},"name":"Musikschule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École Primaire":{"tags":{"name":"École Primaire","amenity":"school"},"name":"École Primaire","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École Saint-Joseph":{"tags":{"name":"École Saint-Joseph","amenity":"school"},"name":"École Saint-Joseph","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École maternelle":{"tags":{"name":"École maternelle","amenity":"school"},"name":"École maternelle","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Erich-Kästner-Schule":{"tags":{"name":"Erich-Kästner-Schule","amenity":"school"},"name":"Erich-Kästner-Schule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Hauptschule":{"tags":{"name":"Hauptschule","amenity":"school"},"name":"Hauptschule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Escola Primária":{"tags":{"name":"Escola Primária","amenity":"school"},"name":"Escola Primária","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/ZŠ":{"tags":{"name":"ZŠ","amenity":"school"},"name":"ZŠ","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Holy Trinity School":{"tags":{"name":"Holy Trinity School","amenity":"school"},"name":"Holy Trinity School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №21":{"tags":{"name":"Школа №21","amenity":"school"},"name":"Школа №21","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №27":{"tags":{"name":"Школа №27","amenity":"school"},"name":"Школа №27","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №7":{"tags":{"name":"Школа №7","amenity":"school"},"name":"Школа №7","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №11":{"tags":{"name":"Школа №11","amenity":"school"},"name":"Школа №11","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №16":{"tags":{"name":"Школа №16","amenity":"school"},"name":"Школа №16","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №24":{"tags":{"name":"Школа №24","amenity":"school"},"name":"Школа №24","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №22":{"tags":{"name":"Школа №22","amenity":"school"},"name":"Школа №22","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Joseph School":{"tags":{"name":"Saint Joseph School","amenity":"school"},"name":"Saint Joseph School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Scuola Materna":{"tags":{"name":"Scuola Materna","amenity":"school"},"name":"Scuola Materna","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Center School":{"tags":{"name":"Center School","amenity":"school"},"name":"Center School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Jackson School":{"tags":{"name":"Jackson School","amenity":"school"},"name":"Jackson School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Lincoln School":{"tags":{"name":"Lincoln School","amenity":"school"},"name":"Lincoln School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Roosevelt School":{"tags":{"name":"Roosevelt School","amenity":"school"},"name":"Roosevelt School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Pleasant Valley School":{"tags":{"name":"Pleasant Valley School","amenity":"school"},"name":"Pleasant Valley School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Garfield Elementary School":{"tags":{"name":"Garfield Elementary School","amenity":"school"},"name":"Garfield Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Riverside School":{"tags":{"name":"Riverside School","amenity":"school"},"name":"Riverside School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Gimnazjum nr 1":{"tags":{"name":"Gimnazjum nr 1","amenity":"school"},"name":"Gimnazjum nr 1","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École Communale":{"tags":{"name":"École Communale","amenity":"school"},"name":"École Communale","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Volksschule":{"tags":{"name":"Volksschule","amenity":"school"},"name":"Volksschule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Pestalozzischule":{"tags":{"name":"Pestalozzischule","amenity":"school"},"name":"Pestalozzischule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Scuola Elementare":{"tags":{"name":"Scuola Elementare","amenity":"school"},"name":"Scuola Elementare","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Scuole Elementari":{"tags":{"name":"Scuole Elementari","amenity":"school"},"name":"Scuole Elementari","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Colegio San José":{"tags":{"name":"Colegio San José","amenity":"school"},"name":"Colegio San José","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Schule":{"tags":{"name":"Schule","amenity":"school"},"name":"Schule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Средняя школа":{"tags":{"name":"Средняя школа","amenity":"school"},"name":"Средняя школа","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №1":{"tags":{"name":"Школа №1","amenity":"school"},"name":"Школа №1","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Trinity School":{"tags":{"name":"Trinity School","amenity":"school"},"name":"Trinity School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Secondary School":{"tags":{"name":"Secondary School","amenity":"school"},"name":"Secondary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Szkoła":{"tags":{"name":"Szkoła","amenity":"school"},"name":"Szkoła","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Johns School":{"tags":{"name":"Saint Johns School","amenity":"school"},"name":"Saint Johns School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Schillerschule":{"tags":{"name":"Schillerschule","amenity":"school"},"name":"Schillerschule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Музыкальная школа":{"tags":{"name":"Музыкальная школа","amenity":"school"},"name":"Музыкальная школа","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École élémentaire":{"tags":{"name":"École élémentaire","amenity":"school"},"name":"École élémentaire","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École maternelle publique":{"tags":{"name":"École maternelle publique","amenity":"school"},"name":"École maternelle publique","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École primaire publique":{"tags":{"name":"École primaire publique","amenity":"school"},"name":"École primaire publique","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Гимназия №1":{"tags":{"name":"Гимназия №1","amenity":"school"},"name":"Гимназия №1","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École primaire privée Saint-Joseph":{"tags":{"name":"École primaire privée Saint-Joseph","amenity":"school"},"name":"École primaire privée Saint-Joseph","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Collège Jean Moulin":{"tags":{"name":"Collège Jean Moulin","amenity":"school"},"name":"Collège Jean Moulin","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Primarschule":{"tags":{"name":"Primarschule","amenity":"school"},"name":"Primarschule","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Emiliano Zapata":{"tags":{"name":"Emiliano Zapata","amenity":"school"},"name":"Emiliano Zapata","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №18":{"tags":{"name":"Школа №18","amenity":"school"},"name":"Школа №18","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №2":{"tags":{"name":"Школа №2","amenity":"school"},"name":"Школа №2","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №3":{"tags":{"name":"Школа №3","amenity":"school"},"name":"Школа №3","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №5":{"tags":{"name":"Школа №5","amenity":"school"},"name":"Школа №5","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Гимназия":{"tags":{"name":"Гимназия","amenity":"school"},"name":"Гимназия","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №26":{"tags":{"name":"Школа №26","amenity":"school"},"name":"Школа №26","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École communale":{"tags":{"name":"École communale","amenity":"school"},"name":"École communale","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Scuola Media":{"tags":{"name":"Scuola Media","amenity":"school"},"name":"Scuola Media","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Escuela":{"tags":{"name":"Escuela","amenity":"school"},"name":"Escuela","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Miguel Hidalgo":{"tags":{"name":"Miguel Hidalgo","amenity":"school"},"name":"Miguel Hidalgo","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École":{"tags":{"name":"École","amenity":"school"},"name":"École","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Longfellow Elementary School":{"tags":{"name":"Longfellow Elementary School","amenity":"school"},"name":"Longfellow Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Oak Grove School":{"tags":{"name":"Oak Grove School","amenity":"school"},"name":"Oak Grove School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Scuola elementare":{"tags":{"name":"Scuola elementare","amenity":"school"},"name":"Scuola elementare","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Central High School":{"tags":{"name":"Central High School","amenity":"school"},"name":"Central High School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Central Elementary School":{"tags":{"name":"Central Elementary School","amenity":"school"},"name":"Central Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Central School":{"tags":{"name":"Central School","amenity":"school"},"name":"Central School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Fairview School":{"tags":{"name":"Fairview School","amenity":"school"},"name":"Fairview School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Fairview Elementary School":{"tags":{"name":"Fairview Elementary School","amenity":"school"},"name":"Fairview Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Garfield School":{"tags":{"name":"Garfield School","amenity":"school"},"name":"Garfield School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Franklin School":{"tags":{"name":"Franklin School","amenity":"school"},"name":"Franklin School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Franklin Elementary School":{"tags":{"name":"Franklin Elementary School","amenity":"school"},"name":"Franklin Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Highland School":{"tags":{"name":"Highland School","amenity":"school"},"name":"Highland School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Holy Cross School":{"tags":{"name":"Holy Cross School","amenity":"school"},"name":"Holy Cross School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Holy Family School":{"tags":{"name":"Holy Family School","amenity":"school"},"name":"Holy Family School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Hillcrest Elementary School":{"tags":{"name":"Hillcrest Elementary School","amenity":"school"},"name":"Hillcrest Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Jefferson Elementary School":{"tags":{"name":"Jefferson Elementary School","amenity":"school"},"name":"Jefferson Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Jackson Elementary School":{"tags":{"name":"Jackson Elementary School","amenity":"school"},"name":"Jackson Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Jefferson School":{"tags":{"name":"Jefferson School","amenity":"school"},"name":"Jefferson School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Immaculate Conception School":{"tags":{"name":"Immaculate Conception School","amenity":"school"},"name":"Immaculate Conception School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Lincoln Elementary School":{"tags":{"name":"Lincoln Elementary School","amenity":"school"},"name":"Lincoln Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Liberty School":{"tags":{"name":"Liberty School","amenity":"school"},"name":"Liberty School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Longfellow School":{"tags":{"name":"Longfellow School","amenity":"school"},"name":"Longfellow School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/McKinley School":{"tags":{"name":"McKinley School","amenity":"school"},"name":"McKinley School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Maple Grove School":{"tags":{"name":"Maple Grove School","amenity":"school"},"name":"Maple Grove School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Pine Grove School":{"tags":{"name":"Pine Grove School","amenity":"school"},"name":"Pine Grove School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Pleasant View School":{"tags":{"name":"Pleasant View School","amenity":"school"},"name":"Pleasant View School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Pleasant Hill School":{"tags":{"name":"Pleasant Hill School","amenity":"school"},"name":"Pleasant Hill School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Roosevelt Elementary School":{"tags":{"name":"Roosevelt Elementary School","amenity":"school"},"name":"Roosevelt Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Josephs School":{"tags":{"name":"Saint Josephs School","amenity":"school"},"name":"Saint Josephs School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint James School":{"tags":{"name":"Saint James School","amenity":"school"},"name":"Saint James School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Sacred Heart School":{"tags":{"name":"Sacred Heart School","amenity":"school"},"name":"Sacred Heart School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Pauls School":{"tags":{"name":"Saint Pauls School","amenity":"school"},"name":"Saint Pauls School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Peters School":{"tags":{"name":"Saint Peters School","amenity":"school"},"name":"Saint Peters School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Marys School":{"tags":{"name":"Saint Marys School","amenity":"school"},"name":"Saint Marys School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Patricks School":{"tags":{"name":"Saint Patricks School","amenity":"school"},"name":"Saint Patricks School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Paul School":{"tags":{"name":"Saint Paul School","amenity":"school"},"name":"Saint Paul School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Smith School":{"tags":{"name":"Smith School","amenity":"school"},"name":"Smith School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Union School":{"tags":{"name":"Union School","amenity":"school"},"name":"Union School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Trinity Lutheran School":{"tags":{"name":"Trinity Lutheran School","amenity":"school"},"name":"Trinity Lutheran School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Wilson School":{"tags":{"name":"Wilson School","amenity":"school"},"name":"Wilson School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Wilson Elementary School":{"tags":{"name":"Wilson Elementary School","amenity":"school"},"name":"Wilson Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Washington School":{"tags":{"name":"Washington School","amenity":"school"},"name":"Washington School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Washington Elementary School":{"tags":{"name":"Washington Elementary School","amenity":"school"},"name":"Washington Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/White School":{"tags":{"name":"White School","amenity":"school"},"name":"White School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/West Elementary School":{"tags":{"name":"West Elementary School","amenity":"school"},"name":"West Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Francis School":{"tags":{"name":"Saint Francis School","amenity":"school"},"name":"Saint Francis School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Mary School":{"tags":{"name":"Saint Mary School","amenity":"school"},"name":"Saint Mary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/North Elementary School":{"tags":{"name":"North Elementary School","amenity":"school"},"name":"North Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/McKinley Elementary School":{"tags":{"name":"McKinley Elementary School","amenity":"school"},"name":"McKinley Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Brown School":{"tags":{"name":"Brown School","amenity":"school"},"name":"Brown School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Miller School":{"tags":{"name":"Miller School","amenity":"school"},"name":"Miller School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Mount Pleasant School":{"tags":{"name":"Mount Pleasant School","amenity":"school"},"name":"Mount Pleasant School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 1":{"tags":{"name":"School Number 1","amenity":"school"},"name":"School Number 1","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 4":{"tags":{"name":"School Number 4","amenity":"school"},"name":"School Number 4","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 3":{"tags":{"name":"School Number 3","amenity":"school"},"name":"School Number 3","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 2":{"tags":{"name":"School Number 2","amenity":"school"},"name":"School Number 2","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Highland Elementary School":{"tags":{"name":"Highland Elementary School","amenity":"school"},"name":"Highland Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Liberty Elementary School":{"tags":{"name":"Liberty Elementary School","amenity":"school"},"name":"Liberty Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Bethel School (historical)":{"tags":{"name":"Bethel School (historical)","amenity":"school"},"name":"Bethel School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Cedar Grove School (historical)":{"tags":{"name":"Cedar Grove School (historical)","amenity":"school"},"name":"Cedar Grove School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Center School (historical)":{"tags":{"name":"Center School (historical)","amenity":"school"},"name":"Center School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Central School (historical)":{"tags":{"name":"Central School (historical)","amenity":"school"},"name":"Central School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Fairview School (historical)":{"tags":{"name":"Fairview School (historical)","amenity":"school"},"name":"Fairview School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Friendship School (historical)":{"tags":{"name":"Friendship School (historical)","amenity":"school"},"name":"Friendship School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Hickory Grove School (historical)":{"tags":{"name":"Hickory Grove School (historical)","amenity":"school"},"name":"Hickory Grove School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Hopewell School (historical)":{"tags":{"name":"Hopewell School (historical)","amenity":"school"},"name":"Hopewell School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Liberty School (historical)":{"tags":{"name":"Liberty School (historical)","amenity":"school"},"name":"Liberty School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Mount Olive School (historical)":{"tags":{"name":"Mount Olive School (historical)","amenity":"school"},"name":"Mount Olive School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Mount Pleasant School (historical)":{"tags":{"name":"Mount Pleasant School (historical)","amenity":"school"},"name":"Mount Pleasant School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Mount Zion School (historical)":{"tags":{"name":"Mount Zion School (historical)","amenity":"school"},"name":"Mount Zion School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/New Hope School (historical)":{"tags":{"name":"New Hope School (historical)","amenity":"school"},"name":"New Hope School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Oak Hill School (historical)":{"tags":{"name":"Oak Hill School (historical)","amenity":"school"},"name":"Oak Hill School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Pine Grove School (historical)":{"tags":{"name":"Pine Grove School (historical)","amenity":"school"},"name":"Pine Grove School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Pleasant Grove School (historical)":{"tags":{"name":"Pleasant Grove School (historical)","amenity":"school"},"name":"Pleasant Grove School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Pleasant Hill School (historical)":{"tags":{"name":"Pleasant Hill School (historical)","amenity":"school"},"name":"Pleasant Hill School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Salem School (historical)":{"tags":{"name":"Salem School (historical)","amenity":"school"},"name":"Salem School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Union School (historical)":{"tags":{"name":"Union School (historical)","amenity":"school"},"name":"Union School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Walnut Grove School (historical)":{"tags":{"name":"Walnut Grove School (historical)","amenity":"school"},"name":"Walnut Grove School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Oak Grove School (historical)":{"tags":{"name":"Oak Grove School (historical)","amenity":"school"},"name":"Oak Grove School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Maple Grove School (historical)":{"tags":{"name":"Maple Grove School (historical)","amenity":"school"},"name":"Maple Grove School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Pleasant Valley School (historical)":{"tags":{"name":"Pleasant Valley School (historical)","amenity":"school"},"name":"Pleasant Valley School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Shady Grove School (historical)":{"tags":{"name":"Shady Grove School (historical)","amenity":"school"},"name":"Shady Grove School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Shiloh School (historical)":{"tags":{"name":"Shiloh School (historical)","amenity":"school"},"name":"Shiloh School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 3 (historical)":{"tags":{"name":"School Number 3 (historical)","amenity":"school"},"name":"School Number 3 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 4 (historical)":{"tags":{"name":"School Number 4 (historical)","amenity":"school"},"name":"School Number 4 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Antioch School (historical)":{"tags":{"name":"Antioch School (historical)","amenity":"school"},"name":"Antioch School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 1 (historical)":{"tags":{"name":"School Number 1 (historical)","amenity":"school"},"name":"School Number 1 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 12 (historical)":{"tags":{"name":"School Number 12 (historical)","amenity":"school"},"name":"School Number 12 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 5 (historical)":{"tags":{"name":"School Number 5 (historical)","amenity":"school"},"name":"School Number 5 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 7 (historical)":{"tags":{"name":"School Number 7 (historical)","amenity":"school"},"name":"School Number 7 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 8 (historical)":{"tags":{"name":"School Number 8 (historical)","amenity":"school"},"name":"School Number 8 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 10 (historical)":{"tags":{"name":"School Number 10 (historical)","amenity":"school"},"name":"School Number 10 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Mount Zion School":{"tags":{"name":"Mount Zion School","amenity":"school"},"name":"Mount Zion School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Midway School (historical)":{"tags":{"name":"Midway School (historical)","amenity":"school"},"name":"Midway School (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 15 (historical)":{"tags":{"name":"School Number 15 (historical)","amenity":"school"},"name":"School Number 15 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 2 (historical)":{"tags":{"name":"School Number 2 (historical)","amenity":"school"},"name":"School Number 2 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 9 (historical)":{"tags":{"name":"School Number 9 (historical)","amenity":"school"},"name":"School Number 9 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/High School":{"tags":{"name":"High School","amenity":"school"},"name":"High School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 6 (historical)":{"tags":{"name":"School Number 6 (historical)","amenity":"school"},"name":"School Number 6 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 11 (historical)":{"tags":{"name":"School Number 11 (historical)","amenity":"school"},"name":"School Number 11 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 14 (historical)":{"tags":{"name":"School Number 14 (historical)","amenity":"school"},"name":"School Number 14 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School Number 13 (historical)":{"tags":{"name":"School Number 13 (historical)","amenity":"school"},"name":"School Number 13 (historical)","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Gimnazjum":{"tags":{"name":"Gimnazjum","amenity":"school"},"name":"Gimnazjum","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Zespół Szkół":{"tags":{"name":"Zespół Szkół","amenity":"school"},"name":"Zespół Szkół","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Szkoła Podstawowa":{"tags":{"name":"Szkoła Podstawowa","amenity":"school"},"name":"Szkoła Podstawowa","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа искусств":{"tags":{"name":"Школа искусств","amenity":"school"},"name":"Школа искусств","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/School":{"tags":{"name":"School","amenity":"school"},"name":"School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École Élémentaire":{"tags":{"name":"École Élémentaire","amenity":"school"},"name":"École Élémentaire","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №10":{"tags":{"name":"Школа №10","amenity":"school"},"name":"Школа №10","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №19":{"tags":{"name":"Школа №19","amenity":"school"},"name":"Школа №19","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Escuela Primaria":{"tags":{"name":"Escuela Primaria","amenity":"school"},"name":"Escuela Primaria","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École élémentaire publique":{"tags":{"name":"École élémentaire publique","amenity":"school"},"name":"École élémentaire publique","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Ecole":{"tags":{"name":"Ecole","amenity":"school"},"name":"Ecole","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа":{"tags":{"name":"Школа","amenity":"school"},"name":"Школа","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №12":{"tags":{"name":"Школа №12","amenity":"school"},"name":"Школа №12","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Elementary School":{"tags":{"name":"Elementary School","amenity":"school"},"name":"Elementary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Scuola Primaria":{"tags":{"name":"Scuola Primaria","amenity":"school"},"name":"Scuola Primaria","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Escola Municipal":{"tags":{"name":"Escola Municipal","amenity":"school"},"name":"Escola Municipal","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Детская школа искусств":{"tags":{"name":"Детская школа искусств","amenity":"school"},"name":"Детская школа искусств","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Groupe Scolaire":{"tags":{"name":"Groupe Scolaire","amenity":"school"},"name":"Groupe Scolaire","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/CEM":{"tags":{"name":"CEM","amenity":"school"},"name":"CEM","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №8":{"tags":{"name":"Школа №8","amenity":"school"},"name":"Школа №8","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École primaire Jean Jaurès":{"tags":{"name":"École primaire Jean Jaurès","amenity":"school"},"name":"École primaire Jean Jaurès","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Szkoła Podstawowa nr 3":{"tags":{"name":"Szkoła Podstawowa nr 3","amenity":"school"},"name":"Szkoła Podstawowa nr 3","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №14":{"tags":{"name":"Школа №14","amenity":"school"},"name":"Школа №14","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №13":{"tags":{"name":"Школа №13","amenity":"school"},"name":"Школа №13","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа № 1":{"tags":{"name":"Школа № 1","amenity":"school"},"name":"Школа № 1","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Szkoła Podstawowa nr 2":{"tags":{"name":"Szkoła Podstawowa nr 2","amenity":"school"},"name":"Szkoła Podstawowa nr 2","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Colegio":{"tags":{"name":"Colegio","amenity":"school"},"name":"Colegio","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Szkoła Podstawowa nr 1":{"tags":{"name":"Szkoła Podstawowa nr 1","amenity":"school"},"name":"Szkoła Podstawowa nr 1","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №25":{"tags":{"name":"Школа №25","amenity":"school"},"name":"Школа №25","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа № 2":{"tags":{"name":"Школа № 2","amenity":"school"},"name":"Школа № 2","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Școala":{"tags":{"name":"Școala","amenity":"school"},"name":"Școala","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École primaire privée Notre-Dame":{"tags":{"name":"École primaire privée Notre-Dame","amenity":"school"},"name":"École primaire privée Notre-Dame","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №4":{"tags":{"name":"Школа №4","amenity":"school"},"name":"Школа №4","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №6":{"tags":{"name":"Школа №6","amenity":"school"},"name":"Школа №6","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №15":{"tags":{"name":"Школа №15","amenity":"school"},"name":"Школа №15","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/EPP":{"tags":{"name":"EPP","amenity":"school"},"name":"EPP","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа № 4":{"tags":{"name":"Школа № 4","amenity":"school"},"name":"Школа № 4","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Lycée":{"tags":{"name":"Lycée","amenity":"school"},"name":"Lycée","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа № 6":{"tags":{"name":"Школа № 6","amenity":"school"},"name":"Школа № 6","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Ecole primaire":{"tags":{"name":"Ecole primaire","amenity":"school"},"name":"Ecole primaire","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Szkoła podstawowa":{"tags":{"name":"Szkoła podstawowa","amenity":"school"},"name":"Szkoła podstawowa","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа № 3":{"tags":{"name":"Школа № 3","amenity":"school"},"name":"Школа № 3","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Sekolah":{"tags":{"name":"Sekolah","amenity":"school"},"name":"Sekolah","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Escola Estadual":{"tags":{"name":"Escola Estadual","amenity":"school"},"name":"Escola Estadual","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Collège privé Saint-Joseph":{"tags":{"name":"Collège privé Saint-Joseph","amenity":"school"},"name":"Collège privé Saint-Joseph","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №9":{"tags":{"name":"Школа №9","amenity":"school"},"name":"Школа №9","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Начальная школа":{"tags":{"name":"Начальная школа","amenity":"school"},"name":"Начальная школа","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №23":{"tags":{"name":"Школа №23","amenity":"school"},"name":"Школа №23","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Primaire":{"tags":{"name":"Primaire","amenity":"school"},"name":"Primaire","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа-интернат":{"tags":{"name":"Школа-интернат","amenity":"school"},"name":"Школа-интернат","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №20":{"tags":{"name":"Школа №20","amenity":"school"},"name":"Школа №20","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Школа №31":{"tags":{"name":"Школа №31","amenity":"school"},"name":"Школа №31","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/市立南小学校":{"tags":{"name":"市立南小学校","amenity":"school"},"name":"市立南小学校","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Ecole Primaire":{"tags":{"name":"Ecole Primaire","amenity":"school"},"name":"Ecole Primaire","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Средняя школа №2":{"tags":{"name":"Средняя школа №2","amenity":"school"},"name":"Средняя школа №2","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/UNIDAD EDUCATIVA":{"tags":{"name":"UNIDAD EDUCATIVA","amenity":"school"},"name":"UNIDAD EDUCATIVA","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Средняя школа №1":{"tags":{"name":"Средняя школа №1","amenity":"school"},"name":"Средняя школа №1","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Benito Juarez":{"tags":{"name":"Benito Juarez","amenity":"school"},"name":"Benito Juarez","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/SDN":{"tags":{"name":"SDN","amenity":"school"},"name":"SDN","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/市立南中学校":{"tags":{"name":"市立南中学校","amenity":"school"},"name":"市立南中学校","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/市立東中学校":{"tags":{"name":"市立東中学校","amenity":"school"},"name":"市立東中学校","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/市立西中学校":{"tags":{"name":"市立西中学校","amenity":"school"},"name":"市立西中学校","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/SD":{"tags":{"name":"SD","amenity":"school"},"name":"SD","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Leona Vicario":{"tags":{"name":"Leona Vicario","amenity":"school"},"name":"Leona Vicario","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École primaire privée Sainte-Marie":{"tags":{"name":"École primaire privée Sainte-Marie","amenity":"school"},"name":"École primaire privée Sainte-Marie","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/школа":{"tags":{"name":"школа","amenity":"school"},"name":"школа","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/ESCUELA":{"tags":{"name":"ESCUELA","amenity":"school"},"name":"ESCUELA","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Escola":{"tags":{"name":"Escola","amenity":"school"},"name":"Escola","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École primaire privée":{"tags":{"name":"École primaire privée","amenity":"school"},"name":"École primaire privée","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Általános iskola":{"tags":{"name":"Általános iskola","amenity":"school"},"name":"Általános iskola","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Adolfo Lopez Mateos":{"tags":{"name":"Adolfo Lopez Mateos","amenity":"school"},"name":"Adolfo Lopez Mateos","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Amado Nervo":{"tags":{"name":"Amado Nervo","amenity":"school"},"name":"Amado Nervo","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Cuauhtemoc":{"tags":{"name":"Cuauhtemoc","amenity":"school"},"name":"Cuauhtemoc","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Gregorio Torres Quintero":{"tags":{"name":"Gregorio Torres Quintero","amenity":"school"},"name":"Gregorio Torres Quintero","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Guadalupe Victoria":{"tags":{"name":"Guadalupe Victoria","amenity":"school"},"name":"Guadalupe Victoria","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Ignacio Zaragoza":{"tags":{"name":"Ignacio Zaragoza","amenity":"school"},"name":"Ignacio Zaragoza","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Justo Sierra":{"tags":{"name":"Justo Sierra","amenity":"school"},"name":"Justo Sierra","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Nicolas Bravo":{"tags":{"name":"Nicolas Bravo","amenity":"school"},"name":"Nicolas Bravo","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Vicente Guerrero":{"tags":{"name":"Vicente Guerrero","amenity":"school"},"name":"Vicente Guerrero","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/مدرسه":{"tags":{"name":"مدرسه","amenity":"school"},"name":"مدرسه","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/ESCOLA":{"tags":{"name":"ESCOLA","amenity":"school"},"name":"ESCOLA","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/sekolah":{"tags":{"name":"sekolah","amenity":"school"},"name":"sekolah","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/École Primaire Publique":{"tags":{"name":"École Primaire Publique","amenity":"school"},"name":"École Primaire Publique","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Juan Escutia":{"tags":{"name":"Juan Escutia","amenity":"school"},"name":"Juan Escutia","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Josefa Ortiz De Dominguez":{"tags":{"name":"Josefa Ortiz De Dominguez","amenity":"school"},"name":"Josefa Ortiz De Dominguez","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Curso Comunitario":{"tags":{"name":"Curso Comunitario","amenity":"school"},"name":"Curso Comunitario","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Francisco I. Madero":{"tags":{"name":"Francisco I. Madero","amenity":"school"},"name":"Francisco I. Madero","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Francisco Villa":{"tags":{"name":"Francisco Villa","amenity":"school"},"name":"Francisco Villa","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Ignacio Allende":{"tags":{"name":"Ignacio Allende","amenity":"school"},"name":"Ignacio Allende","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Jose Clemente Orozco":{"tags":{"name":"Jose Clemente Orozco","amenity":"school"},"name":"Jose Clemente Orozco","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Lazaro Cardenas":{"tags":{"name":"Lazaro Cardenas","amenity":"school"},"name":"Lazaro Cardenas","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Miguel Hidalgo Y Costilla":{"tags":{"name":"Miguel Hidalgo Y Costilla","amenity":"school"},"name":"Miguel Hidalgo Y Costilla","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Ni�os Heroes":{"tags":{"name":"Ni�os Heroes","amenity":"school"},"name":"Ni�os Heroes","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Ricardo Flores Magon":{"tags":{"name":"Ricardo Flores Magon","amenity":"school"},"name":"Ricardo Flores Magon","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Valentin Gomez Farias":{"tags":{"name":"Valentin Gomez Farias","amenity":"school"},"name":"Valentin Gomez Farias","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Venustiano Carranza":{"tags":{"name":"Venustiano Carranza","amenity":"school"},"name":"Venustiano Carranza","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Jose Vasconcelos":{"tags":{"name":"Jose Vasconcelos","amenity":"school"},"name":"Jose Vasconcelos","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Lazaro Cardenas Del Rio":{"tags":{"name":"Lazaro Cardenas Del Rio","amenity":"school"},"name":"Lazaro Cardenas Del Rio","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Agustin Ya�ez":{"tags":{"name":"Agustin Ya�ez","amenity":"school"},"name":"Agustin Ya�ez","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Manuel Lopez Cotilla":{"tags":{"name":"Manuel Lopez Cotilla","amenity":"school"},"name":"Manuel Lopez Cotilla","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Nombre En Tramite":{"tags":{"name":"Nombre En Tramite","amenity":"school"},"name":"Nombre En Tramite","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Francisco I Madero":{"tags":{"name":"Francisco I Madero","amenity":"school"},"name":"Francisco I Madero","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Jose Ma Morelos Y Pavon":{"tags":{"name":"Jose Ma Morelos Y Pavon","amenity":"school"},"name":"Jose Ma Morelos Y Pavon","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Pedro Moreno":{"tags":{"name":"Pedro Moreno","amenity":"school"},"name":"Pedro Moreno","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Ramon Corona":{"tags":{"name":"Ramon Corona","amenity":"school"},"name":"Ramon Corona","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Cursos Comunitarios":{"tags":{"name":"Cursos Comunitarios","amenity":"school"},"name":"Cursos Comunitarios","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Primaria Comunitaria":{"tags":{"name":"Primaria Comunitaria","amenity":"school"},"name":"Primaria Comunitaria","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/school/Saint Kizito Primary School":{"tags":{"name":"Saint Kizito Primary School","amenity":"school"},"name":"Saint Kizito Primary School","icon":"school","geometry":["point","area"],"fields":["operator","address"],"suggestion":true},"amenity/cinema/Odeon":{"tags":{"name":"Odeon","amenity":"cinema"},"name":"Odeon","icon":"cinema","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/cinema/Cineworld":{"tags":{"name":"Cineworld","amenity":"cinema"},"name":"Cineworld","icon":"cinema","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/cinema/Cinemark":{"tags":{"name":"Cinemark","amenity":"cinema"},"name":"Cinemark","icon":"cinema","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Ärztehaus":{"tags":{"name":"Ärztehaus","amenity":"doctors"},"name":"Ärztehaus","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Cabinet Médical":{"tags":{"name":"Cabinet Médical","amenity":"doctors"},"name":"Cabinet Médical","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Orvosi rendelő":{"tags":{"name":"Orvosi rendelő","amenity":"doctors"},"name":"Orvosi rendelő","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Cabinet médical":{"tags":{"name":"Cabinet médical","amenity":"doctors"},"name":"Cabinet médical","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Инвитро":{"tags":{"name":"Инвитро","amenity":"doctors"},"name":"Инвитро","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Женская консультация":{"tags":{"name":"Женская консультация","amenity":"doctors"},"name":"Женская консультация","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Фельдшерско-акушерский пункт":{"tags":{"name":"Фельдшерско-акушерский пункт","amenity":"doctors"},"name":"Фельдшерско-акушерский пункт","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Ośrodek Zdrowia":{"tags":{"name":"Ośrodek Zdrowia","amenity":"doctors"},"name":"Ośrodek Zdrowia","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Медпункт":{"tags":{"name":"Медпункт","amenity":"doctors"},"name":"Медпункт","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Consultorio Médico":{"tags":{"name":"Consultorio Médico","amenity":"doctors"},"name":"Consultorio Médico","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/doctors/Centre de Santé":{"tags":{"name":"Centre de Santé","amenity":"doctors"},"name":"Centre de Santé","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/hospital/Детская поликлиника":{"tags":{"name":"Детская поликлиника","amenity":"hospital"},"name":"Детская поликлиника","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Centro de Saúde":{"tags":{"name":"Centro de Saúde","amenity":"hospital"},"name":"Centro de Saúde","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Centro de Salud":{"tags":{"name":"Centro de Salud","amenity":"hospital"},"name":"Centro de Salud","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Cruz Roja":{"tags":{"name":"Cruz Roja","amenity":"hospital"},"name":"Cruz Roja","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/IMSS":{"tags":{"name":"IMSS","amenity":"hospital"},"name":"IMSS","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Government Hospital":{"tags":{"name":"Government Hospital","amenity":"hospital"},"name":"Government Hospital","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/ЦРБ":{"tags":{"name":"ЦРБ","amenity":"hospital"},"name":"ЦРБ","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Больница":{"tags":{"name":"Больница","amenity":"hospital"},"name":"Больница","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Поликлиника":{"tags":{"name":"Поликлиника","amenity":"hospital"},"name":"Поликлиника","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Центральная районная больница":{"tags":{"name":"Центральная районная больница","amenity":"hospital"},"name":"Центральная районная больница","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Роддом":{"tags":{"name":"Роддом","amenity":"hospital"},"name":"Роддом","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Городская больница":{"tags":{"name":"Городская больница","amenity":"hospital"},"name":"Городская больница","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Hospital":{"tags":{"name":"Hospital","amenity":"hospital"},"name":"Hospital","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Кожно-венерологический диспансер":{"tags":{"name":"Кожно-венерологический диспансер","amenity":"hospital"},"name":"Кожно-венерологический диспансер","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Hospital Municipal":{"tags":{"name":"Hospital Municipal","amenity":"hospital"},"name":"Hospital Municipal","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Hôpital":{"tags":{"name":"Hôpital","amenity":"hospital"},"name":"Hôpital","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/경희한의원 (Gyeonghui Oriental Medicine Clinic)":{"tags":{"name":"경희한의원 (Gyeonghui Oriental Medicine Clinic)","amenity":"hospital"},"name":"경희한의원 (Gyeonghui Oriental Medicine Clinic)","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Амбулатория":{"tags":{"name":"Амбулатория","amenity":"hospital"},"name":"Амбулатория","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Скорая помощь":{"tags":{"name":"Скорая помощь","amenity":"hospital"},"name":"Скорая помощь","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Районная больница":{"tags":{"name":"Районная больница","amenity":"hospital"},"name":"Районная больница","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Детская больница":{"tags":{"name":"Детская больница","amenity":"hospital"},"name":"Детская больница","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Родильный дом":{"tags":{"name":"Родильный дом","amenity":"hospital"},"name":"Родильный дом","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/Инфекционное отделение":{"tags":{"name":"Инфекционное отделение","amenity":"hospital"},"name":"Инфекционное отделение","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/hospital/โรงพยาบาลส่งเสริมสุขภาพตำบล":{"tags":{"name":"โรงพยาบาลส่งเสริมสุขภาพตำบล","amenity":"hospital"},"name":"โรงพยาบาลส่งเสริมสุขภาพตำบล","icon":"hospital","geometry":["point","area"],"fields":["operator","address","emergency"],"suggestion":true},"amenity/biergarten/Biergarten":{"tags":{"name":"Biergarten","amenity":"biergarten"},"name":"Biergarten","icon":"beer","geometry":["point","area"],"fields":["address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/theatre/Teatro Municipal":{"tags":{"name":"Teatro Municipal","amenity":"theatre"},"name":"Teatro Municipal","icon":"theatre","geometry":["point","area"],"fields":["operator","address","building_area"],"suggestion":true},"amenity/theatre/Freilichtbühne":{"tags":{"name":"Freilichtbühne","amenity":"theatre"},"name":"Freilichtbühne","icon":"theatre","geometry":["point","area"],"fields":["operator","address","building_area"],"suggestion":true},"amenity/theatre/Amphitheatre":{"tags":{"name":"Amphitheatre","amenity":"theatre"},"name":"Amphitheatre","icon":"theatre","geometry":["point","area"],"fields":["operator","address","building_area"],"suggestion":true},"amenity/theatre/Anfiteatro":{"tags":{"name":"Anfiteatro","amenity":"theatre"},"name":"Anfiteatro","icon":"theatre","geometry":["point","area"],"fields":["operator","address","building_area"],"suggestion":true},"amenity/theatre/Amphitheater":{"tags":{"name":"Amphitheater","amenity":"theatre"},"name":"Amphitheater","icon":"theatre","geometry":["point","area"],"fields":["operator","address","building_area"],"suggestion":true},"amenity/theatre/Amfiteatr":{"tags":{"name":"Amfiteatr","amenity":"theatre"},"name":"Amfiteatr","icon":"theatre","geometry":["point","area"],"fields":["operator","address","building_area"],"suggestion":true},"amenity/bar/Bar Sport":{"tags":{"name":"Bar Sport","amenity":"bar"},"name":"Bar Sport","icon":"bar","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/bar/Bar Centrale":{"tags":{"name":"Bar Centrale","amenity":"bar"},"name":"Bar Centrale","icon":"bar","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/bar/Бар":{"tags":{"name":"Бар","amenity":"bar"},"name":"Бар","icon":"bar","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/bar/Beach Bar":{"tags":{"name":"Beach Bar","amenity":"bar"},"name":"Beach Bar","icon":"bar","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","smoking"],"suggestion":true},"amenity/car_wash/Spălătorie Auto":{"tags":{"name":"Spălătorie Auto","amenity":"car_wash"},"name":"Spălătorie Auto","icon":"car","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/car_wash/Автомойка":{"tags":{"name":"Автомойка","amenity":"car_wash"},"name":"Автомойка","icon":"car","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/car_wash/Мойка":{"tags":{"name":"Мойка","amenity":"car_wash"},"name":"Мойка","icon":"car","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/car_wash/Car Wash":{"tags":{"name":"Car Wash","amenity":"car_wash"},"name":"Car Wash","icon":"car","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/car_wash/Waschanlage":{"tags":{"name":"Waschanlage","amenity":"car_wash"},"name":"Waschanlage","icon":"car","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/car_wash/автомойка":{"tags":{"name":"автомойка","amenity":"car_wash"},"name":"автомойка","icon":"car","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/car_wash/Car wash":{"tags":{"name":"Car wash","amenity":"car_wash"},"name":"Car wash","icon":"car","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/car_wash/Myjnia samochodowa":{"tags":{"name":"Myjnia samochodowa","amenity":"car_wash"},"name":"Myjnia samochodowa","icon":"car","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/car_wash/Myjnia bezdotykowa":{"tags":{"name":"Myjnia bezdotykowa","amenity":"car_wash"},"name":"Myjnia bezdotykowa","icon":"car","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/car_wash/H-E-B Car Wash":{"tags":{"name":"H-E-B Car Wash","amenity":"car_wash"},"name":"H-E-B Car Wash","icon":"car","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/clinic/Polyclinique":{"tags":{"name":"Polyclinique","amenity":"clinic"},"name":"Polyclinique","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/clinic/Posto de Saúde":{"tags":{"name":"Posto de Saúde","amenity":"clinic"},"name":"Posto de Saúde","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/clinic/Clinic":{"tags":{"name":"Clinic","amenity":"clinic"},"name":"Clinic","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/clinic/Health Sub Center":{"tags":{"name":"Health Sub Center","amenity":"clinic"},"name":"Health Sub Center","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/clinic/ФАП":{"tags":{"name":"ФАП","amenity":"clinic"},"name":"ФАП","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/clinic/Aid Post":{"tags":{"name":"Aid Post","amenity":"clinic"},"name":"Aid Post","icon":"hospital","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/bicycle_rental/metropolradruhr":{"tags":{"name":"metropolradruhr","amenity":"bicycle_rental"},"name":"metropolradruhr","icon":"bicycle","geometry":["point","vertex","area"],"fields":["capacity","network","operator"],"suggestion":true},"amenity/bicycle_rental/Bicing":{"tags":{"name":"Bicing","amenity":"bicycle_rental"},"name":"Bicing","icon":"bicycle","geometry":["point","vertex","area"],"fields":["capacity","network","operator"],"suggestion":true},"amenity/veterinary/Clinique vétérinaire":{"tags":{"name":"Clinique vétérinaire","amenity":"veterinary"},"name":"Clinique vétérinaire","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"amenity/veterinary/Ветлечебница":{"tags":{"name":"Ветлечебница","amenity":"veterinary"},"name":"Ветлечебница","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"amenity/veterinary/Vétérinaire":{"tags":{"name":"Vétérinaire","amenity":"veterinary"},"name":"Vétérinaire","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"amenity/veterinary/Clinique Vétérinaire":{"tags":{"name":"Clinique Vétérinaire","amenity":"veterinary"},"name":"Clinique Vétérinaire","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"amenity/veterinary/Ветеринарная клиника":{"tags":{"name":"Ветеринарная клиника","amenity":"veterinary"},"name":"Ветеринарная клиника","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"amenity/dentist/Стоматология":{"tags":{"name":"Стоматология","amenity":"dentist"},"name":"Стоматология","icon":"dentist","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/dentist/Zahnarzt":{"tags":{"name":"Zahnarzt","amenity":"dentist"},"name":"Zahnarzt","icon":"dentist","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/dentist/Dentiste":{"tags":{"name":"Dentiste","amenity":"dentist"},"name":"Dentiste","icon":"dentist","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/dentist/Clínica Dental":{"tags":{"name":"Clínica Dental","amenity":"dentist"},"name":"Clínica Dental","icon":"dentist","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/dentist/Dental Clinic":{"tags":{"name":"Dental Clinic","amenity":"dentist"},"name":"Dental Clinic","icon":"dentist","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/dentist/Dentist":{"tags":{"name":"Dentist","amenity":"dentist"},"name":"Dentist","icon":"dentist","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/dentist/Aspen Dental":{"tags":{"name":"Aspen Dental","amenity":"dentist"},"name":"Aspen Dental","icon":"dentist","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/dentist/Стоматологическая поликлиника":{"tags":{"name":"Стоматологическая поликлиника","amenity":"dentist"},"name":"Стоматологическая поликлиника","icon":"dentist","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/dentist/Clinica Dental":{"tags":{"name":"Clinica Dental","amenity":"dentist"},"name":"Clinica Dental","icon":"dentist","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/arts_centre/Дом культуры":{"tags":{"name":"Дом культуры","amenity":"arts_centre"},"name":"Дом культуры","icon":"theatre","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/arts_centre/Клуб":{"tags":{"name":"Клуб","amenity":"arts_centre"},"name":"Клуб","icon":"theatre","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/arts_centre/Świetlica wiejska":{"tags":{"name":"Świetlica wiejska","amenity":"arts_centre"},"name":"Świetlica wiejska","icon":"theatre","geometry":["point","area"],"fields":["address","building_area","opening_hours"],"suggestion":true},"amenity/social_facility/Социальный участковый":{"tags":{"name":"Социальный участковый","amenity":"social_facility"},"name":"Социальный участковый","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","wheelchair","social_facility_for"],"suggestion":true},"amenity/social_facility/Safe Haven":{"tags":{"name":"Safe Haven","amenity":"social_facility"},"name":"Safe Haven","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","wheelchair","social_facility_for"],"suggestion":true},"shop/mobile_phone/Vodafone":{"tags":{"name":"Vodafone","shop":"mobile_phone"},"name":"Vodafone","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/T-Punkt":{"tags":{"name":"T-Punkt","shop":"mobile_phone"},"name":"T-Punkt","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Билайн":{"tags":{"name":"Билайн","shop":"mobile_phone"},"name":"Билайн","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/ソフトバンクショップ":{"tags":{"name":"ソフトバンクショップ","shop":"mobile_phone"},"name":"ソフトバンクショップ","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/O2":{"tags":{"name":"O2","shop":"mobile_phone"},"name":"O2","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Carphone Warehouse":{"tags":{"name":"Carphone Warehouse","shop":"mobile_phone"},"name":"Carphone Warehouse","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Orange":{"tags":{"name":"Orange","shop":"mobile_phone"},"name":"Orange","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/3 Store":{"tags":{"name":"3 Store","shop":"mobile_phone"},"name":"3 Store","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/T-Mobile":{"tags":{"name":"T-Mobile","shop":"mobile_phone"},"name":"T-Mobile","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Sprint":{"tags":{"name":"Sprint","shop":"mobile_phone"},"name":"Sprint","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/AT&T":{"tags":{"name":"AT&T","shop":"mobile_phone"},"name":"AT&T","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Verizon Wireless":{"tags":{"name":"Verizon Wireless","shop":"mobile_phone"},"name":"Verizon Wireless","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Verizon":{"tags":{"name":"Verizon","shop":"mobile_phone"},"name":"Verizon","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/mobilcom debitel":{"tags":{"name":"mobilcom debitel","shop":"mobile_phone"},"name":"mobilcom debitel","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Евросеть":{"tags":{"name":"Евросеть","shop":"mobile_phone"},"name":"Евросеть","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Movistar":{"tags":{"name":"Movistar","shop":"mobile_phone"},"name":"Movistar","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Telekom Shop":{"tags":{"name":"Telekom Shop","shop":"mobile_phone"},"name":"Telekom Shop","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/EE":{"tags":{"name":"EE","shop":"mobile_phone"},"name":"EE","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Telekom":{"tags":{"name":"Telekom","shop":"mobile_phone"},"name":"Telekom","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/ドコモショップ":{"tags":{"name":"ドコモショップ","shop":"mobile_phone"},"name":"ドコモショップ","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Telus":{"tags":{"name":"Telus","shop":"mobile_phone"},"name":"Telus","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Claro":{"tags":{"name":"Claro","shop":"mobile_phone"},"name":"Claro","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Cricket":{"tags":{"name":"Cricket","shop":"mobile_phone"},"name":"Cricket","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/The Phone House":{"tags":{"name":"The Phone House","shop":"mobile_phone"},"name":"The Phone House","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/vodafone":{"tags":{"name":"vodafone","shop":"mobile_phone"},"name":"vodafone","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Bell":{"tags":{"name":"Bell","shop":"mobile_phone"},"name":"Bell","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/SFR":{"tags":{"name":"SFR","shop":"mobile_phone"},"name":"SFR","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/МТС":{"tags":{"name":"МТС","shop":"mobile_phone"},"name":"МТС","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Metro PCS":{"tags":{"name":"Metro PCS","shop":"mobile_phone"},"name":"Metro PCS","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Digicel":{"tags":{"name":"Digicel","shop":"mobile_phone"},"name":"Digicel","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Связной":{"tags":{"name":"Связной","shop":"mobile_phone"},"name":"Связной","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Мегафон":{"tags":{"name":"Мегафон","shop":"mobile_phone"},"name":"Мегафон","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Теле2":{"tags":{"name":"Теле2","shop":"mobile_phone"},"name":"Теле2","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Wind":{"tags":{"name":"Wind","shop":"mobile_phone"},"name":"Wind","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Boost Mobile":{"tags":{"name":"Boost Mobile","shop":"mobile_phone"},"name":"Boost Mobile","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Алло":{"tags":{"name":"Алло","shop":"mobile_phone"},"name":"Алло","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/МегаФон":{"tags":{"name":"МегаФон","shop":"mobile_phone"},"name":"МегаФон","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/MetroPCS":{"tags":{"name":"MetroPCS","shop":"mobile_phone"},"name":"MetroPCS","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Play":{"tags":{"name":"Play","shop":"mobile_phone"},"name":"Play","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Telenor":{"tags":{"name":"Telenor","shop":"mobile_phone"},"name":"Telenor","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/au":{"tags":{"name":"au","shop":"mobile_phone"},"name":"au","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Plus":{"tags":{"name":"Plus","shop":"mobile_phone"},"name":"Plus","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Tele2":{"tags":{"name":"Tele2","shop":"mobile_phone"},"name":"Tele2","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/auショップ":{"tags":{"name":"auショップ","shop":"mobile_phone"},"name":"auショップ","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/mobile_phone/Bitė":{"tags":{"name":"Bitė","shop":"mobile_phone"},"name":"Bitė","icon":"mobilephone","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Eurospar":{"tags":{"name":"Eurospar","shop":"supermarket"},"name":"Eurospar","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Merkur":{"tags":{"name":"Merkur","shop":"supermarket"},"name":"Merkur","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sainsbury's":{"tags":{"name":"Sainsbury's","shop":"supermarket"},"name":"Sainsbury's","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Lidl":{"tags":{"name":"Lidl","shop":"supermarket"},"name":"Lidl","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Edeka":{"tags":{"name":"Edeka","shop":"supermarket"},"name":"Edeka","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Coles":{"tags":{"name":"Coles","shop":"supermarket"},"name":"Coles","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Iceland":{"tags":{"name":"Iceland","shop":"supermarket"},"name":"Iceland","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Woolworths":{"tags":{"name":"Woolworths","shop":"supermarket"},"name":"Woolworths","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/denn's Biomarkt":{"tags":{"name":"denn's Biomarkt","shop":"supermarket"},"name":"denn's Biomarkt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Billa":{"tags":{"name":"Billa","shop":"supermarket"},"name":"Billa","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ALDI":{"tags":{"name":"ALDI","shop":"supermarket"},"name":"ALDI","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/The Co-operative Food":{"tags":{"name":"The Co-operative Food","shop":"supermarket"},"name":"The Co-operative Food","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Checkers":{"tags":{"name":"Checkers","shop":"supermarket"},"name":"Checkers","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Penny":{"tags":{"name":"Penny","shop":"supermarket"},"name":"Penny","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Norma":{"tags":{"name":"Norma","shop":"supermarket"},"name":"Norma","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/NETTO":{"tags":{"name":"NETTO","shop":"supermarket"},"name":"NETTO","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Morrisons":{"tags":{"name":"Morrisons","shop":"supermarket"},"name":"Morrisons","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kaufland":{"tags":{"name":"Kaufland","shop":"supermarket"},"name":"Kaufland","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tesco Metro":{"tags":{"name":"Tesco Metro","shop":"supermarket"},"name":"Tesco Metro","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Intermarché Contact":{"tags":{"name":"Intermarché Contact","shop":"supermarket"},"name":"Intermarché Contact","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Nahkauf":{"tags":{"name":"Nahkauf","shop":"supermarket"},"name":"Nahkauf","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Rewe":{"tags":{"name":"Rewe","shop":"supermarket"},"name":"Rewe","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Aldi Süd":{"tags":{"name":"Aldi Süd","shop":"supermarket"},"name":"Aldi Süd","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Real":{"tags":{"name":"Real","shop":"supermarket"},"name":"Real","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/King Soopers":{"tags":{"name":"King Soopers","shop":"supermarket"},"name":"King Soopers","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kiwi":{"tags":{"name":"Kiwi","shop":"supermarket"},"name":"Kiwi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Asda":{"tags":{"name":"Asda","shop":"supermarket"},"name":"Asda","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Pick n Pay":{"tags":{"name":"Pick n Pay","shop":"supermarket"},"name":"Pick n Pay","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Coop":{"tags":{"name":"Coop","shop":"supermarket"},"name":"Coop","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tengelmann":{"tags":{"name":"Tengelmann","shop":"supermarket"},"name":"Tengelmann","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Carrefour":{"tags":{"name":"Carrefour","shop":"supermarket"},"name":"Carrefour","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Waitrose":{"tags":{"name":"Waitrose","shop":"supermarket"},"name":"Waitrose","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Spar":{"tags":{"name":"Spar","shop":"supermarket"},"name":"Spar","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Hofer":{"tags":{"name":"Hofer","shop":"supermarket"},"name":"Hofer","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tesco":{"tags":{"name":"Tesco","shop":"supermarket"},"name":"Tesco","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/M-Preis":{"tags":{"name":"M-Preis","shop":"supermarket"},"name":"M-Preis","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/tegut":{"tags":{"name":"tegut","shop":"supermarket"},"name":"tegut","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sainsbury's Local":{"tags":{"name":"Sainsbury's Local","shop":"supermarket"},"name":"Sainsbury's Local","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/E-Center":{"tags":{"name":"E-Center","shop":"supermarket"},"name":"E-Center","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Aldi Nord":{"tags":{"name":"Aldi Nord","shop":"supermarket"},"name":"Aldi Nord","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Meijer":{"tags":{"name":"Meijer","shop":"supermarket"},"name":"Meijer","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Safeway":{"tags":{"name":"Safeway","shop":"supermarket"},"name":"Safeway","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/No Frills":{"tags":{"name":"No Frills","shop":"supermarket"},"name":"No Frills","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Budgens":{"tags":{"name":"Budgens","shop":"supermarket"},"name":"Budgens","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Albert":{"tags":{"name":"Albert","shop":"supermarket"},"name":"Albert","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Jumbo":{"tags":{"name":"Jumbo","shop":"supermarket"},"name":"Jumbo","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Interspar":{"tags":{"name":"Interspar","shop":"supermarket"},"name":"Interspar","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Shoprite":{"tags":{"name":"Shoprite","shop":"supermarket"},"name":"Shoprite","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/MPreis":{"tags":{"name":"MPreis","shop":"supermarket"},"name":"MPreis","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Penny Market":{"tags":{"name":"Penny Market","shop":"supermarket"},"name":"Penny Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tesco Extra":{"tags":{"name":"Tesco Extra","shop":"supermarket"},"name":"Tesco Extra","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Albert Heijn":{"tags":{"name":"Albert Heijn","shop":"supermarket"},"name":"Albert Heijn","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/IGA":{"tags":{"name":"IGA","shop":"supermarket"},"name":"IGA","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Super U":{"tags":{"name":"Super U","shop":"supermarket"},"name":"Super U","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Metro":{"tags":{"name":"Metro","shop":"supermarket"},"name":"Metro","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Migros":{"tags":{"name":"Migros","shop":"supermarket"},"name":"Migros","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Marktkauf":{"tags":{"name":"Marktkauf","shop":"supermarket"},"name":"Marktkauf","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Combi":{"tags":{"name":"Combi","shop":"supermarket"},"name":"Combi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ICA":{"tags":{"name":"ICA","shop":"supermarket"},"name":"ICA","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/PLUS":{"tags":{"name":"PLUS","shop":"supermarket"},"name":"PLUS","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Hoogvliet":{"tags":{"name":"Hoogvliet","shop":"supermarket"},"name":"Hoogvliet","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/EMTÉ":{"tags":{"name":"EMTÉ","shop":"supermarket"},"name":"EMTÉ","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/coop":{"tags":{"name":"coop","shop":"supermarket"},"name":"coop","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Dirk van den Broek":{"tags":{"name":"Dirk van den Broek","shop":"supermarket"},"name":"Dirk van den Broek","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Food Basics":{"tags":{"name":"Food Basics","shop":"supermarket"},"name":"Food Basics","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Casino":{"tags":{"name":"Casino","shop":"supermarket"},"name":"Casino","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Penny Markt":{"tags":{"name":"Penny Markt","shop":"supermarket"},"name":"Penny Markt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Giant":{"tags":{"name":"Giant","shop":"supermarket"},"name":"Giant","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ADEG":{"tags":{"name":"ADEG","shop":"supermarket"},"name":"ADEG","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ALDI SÜD":{"tags":{"name":"ALDI SÜD","shop":"supermarket"},"name":"ALDI SÜD","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Simply Market":{"tags":{"name":"Simply Market","shop":"supermarket"},"name":"Simply Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Konzum":{"tags":{"name":"Konzum","shop":"supermarket"},"name":"Konzum","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Carrefour Express":{"tags":{"name":"Carrefour Express","shop":"supermarket"},"name":"Carrefour Express","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Foodland":{"tags":{"name":"Foodland","shop":"supermarket"},"name":"Foodland","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Famila":{"tags":{"name":"Famila","shop":"supermarket"},"name":"Famila","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Hemköp":{"tags":{"name":"Hemköp","shop":"supermarket"},"name":"Hemköp","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Markant":{"tags":{"name":"Markant","shop":"supermarket"},"name":"Markant","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Volg":{"tags":{"name":"Volg","shop":"supermarket"},"name":"Volg","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Netto Marken-Discount":{"tags":{"name":"Netto Marken-Discount","shop":"supermarket"},"name":"Netto Marken-Discount","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Leader Price":{"tags":{"name":"Leader Price","shop":"supermarket"},"name":"Leader Price","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Treff 3000":{"tags":{"name":"Treff 3000","shop":"supermarket"},"name":"Treff 3000","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kaiser's":{"tags":{"name":"Kaiser's","shop":"supermarket"},"name":"Kaiser's","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/K+K":{"tags":{"name":"K+K","shop":"supermarket"},"name":"K+K","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Unimarkt":{"tags":{"name":"Unimarkt","shop":"supermarket"},"name":"Unimarkt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Meny":{"tags":{"name":"Meny","shop":"supermarket"},"name":"Meny","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/U Express":{"tags":{"name":"U Express","shop":"supermarket"},"name":"U Express","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Carrefour City":{"tags":{"name":"Carrefour City","shop":"supermarket"},"name":"Carrefour City","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Bim":{"tags":{"name":"Bim","shop":"supermarket"},"name":"Bim","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/real,-":{"tags":{"name":"real,-","shop":"supermarket"},"name":"real,-","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Countdown":{"tags":{"name":"Countdown","shop":"supermarket"},"name":"Countdown","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sobeys":{"tags":{"name":"Sobeys","shop":"supermarket"},"name":"Sobeys","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Cargills Food City":{"tags":{"name":"Cargills Food City","shop":"supermarket"},"name":"Cargills Food City","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/S-Market":{"tags":{"name":"S-Market","shop":"supermarket"},"name":"S-Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Denner":{"tags":{"name":"Denner","shop":"supermarket"},"name":"Denner","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Zielpunkt":{"tags":{"name":"Zielpunkt","shop":"supermarket"},"name":"Zielpunkt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/NP":{"tags":{"name":"NP","shop":"supermarket"},"name":"NP","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Franprix":{"tags":{"name":"Franprix","shop":"supermarket"},"name":"Franprix","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Monoprix":{"tags":{"name":"Monoprix","shop":"supermarket"},"name":"Monoprix","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Landi":{"tags":{"name":"Landi","shop":"supermarket"},"name":"Landi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Diska":{"tags":{"name":"Diska","shop":"supermarket"},"name":"Diska","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/PENNY":{"tags":{"name":"PENNY","shop":"supermarket"},"name":"PENNY","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Giant Eagle":{"tags":{"name":"Giant Eagle","shop":"supermarket"},"name":"Giant Eagle","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/NORMA":{"tags":{"name":"NORMA","shop":"supermarket"},"name":"NORMA","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/NP-Markt":{"tags":{"name":"NP-Markt","shop":"supermarket"},"name":"NP-Markt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Coop Extra":{"tags":{"name":"Coop Extra","shop":"supermarket"},"name":"Coop Extra","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/AD Delhaize":{"tags":{"name":"AD Delhaize","shop":"supermarket"},"name":"AD Delhaize","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Grocery Outlet":{"tags":{"name":"Grocery Outlet","shop":"supermarket"},"name":"Grocery Outlet","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Auchan":{"tags":{"name":"Auchan","shop":"supermarket"},"name":"Auchan","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Mercadona":{"tags":{"name":"Mercadona","shop":"supermarket"},"name":"Mercadona","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Consum":{"tags":{"name":"Consum","shop":"supermarket"},"name":"Consum","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Pam":{"tags":{"name":"Pam","shop":"supermarket"},"name":"Pam","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/sky":{"tags":{"name":"sky","shop":"supermarket"},"name":"sky","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Şok":{"tags":{"name":"Şok","shop":"supermarket"},"name":"Şok","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Despar":{"tags":{"name":"Despar","shop":"supermarket"},"name":"Despar","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Eroski":{"tags":{"name":"Eroski","shop":"supermarket"},"name":"Eroski","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/SuperValu":{"tags":{"name":"SuperValu","shop":"supermarket"},"name":"SuperValu","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Dia":{"tags":{"name":"Dia","shop":"supermarket"},"name":"Dia","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Rema 1000":{"tags":{"name":"Rema 1000","shop":"supermarket"},"name":"Rema 1000","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Bunnpris":{"tags":{"name":"Bunnpris","shop":"supermarket"},"name":"Bunnpris","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Konsum":{"tags":{"name":"Konsum","shop":"supermarket"},"name":"Konsum","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Profi":{"tags":{"name":"Profi","shop":"supermarket"},"name":"Profi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Colruyt":{"tags":{"name":"Colruyt","shop":"supermarket"},"name":"Colruyt","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/The Co-operative":{"tags":{"name":"The Co-operative","shop":"supermarket"},"name":"The Co-operative","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Rimi":{"tags":{"name":"Rimi","shop":"supermarket"},"name":"Rimi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Delhaize":{"tags":{"name":"Delhaize","shop":"supermarket"},"name":"Delhaize","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Real Canadian Superstore":{"tags":{"name":"Real Canadian Superstore","shop":"supermarket"},"name":"Real Canadian Superstore","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Mercator":{"tags":{"name":"Mercator","shop":"supermarket"},"name":"Mercator","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Smith's":{"tags":{"name":"Smith's","shop":"supermarket"},"name":"Smith's","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Walmart":{"tags":{"name":"Walmart","shop":"supermarket"},"name":"Walmart","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kroger":{"tags":{"name":"Kroger","shop":"supermarket"},"name":"Kroger","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Intermarché":{"tags":{"name":"Intermarché","shop":"supermarket"},"name":"Intermarché","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Albertsons":{"tags":{"name":"Albertsons","shop":"supermarket"},"name":"Albertsons","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Trader Joe's":{"tags":{"name":"Trader Joe's","shop":"supermarket"},"name":"Trader Joe's","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Feneberg":{"tags":{"name":"Feneberg","shop":"supermarket"},"name":"Feneberg","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Kvickly":{"tags":{"name":"Kvickly","shop":"supermarket"},"name":"Kvickly","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Makro":{"tags":{"name":"Makro","shop":"supermarket"},"name":"Makro","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Лента":{"tags":{"name":"Лента","shop":"supermarket"},"name":"Лента","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Nah & Frisch":{"tags":{"name":"Nah & Frisch","shop":"supermarket"},"name":"Nah & Frisch","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ALDI Nord":{"tags":{"name":"ALDI Nord","shop":"supermarket"},"name":"ALDI Nord","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Maxi":{"tags":{"name":"Maxi","shop":"supermarket"},"name":"Maxi","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Ашан":{"tags":{"name":"Ашан","shop":"supermarket"},"name":"Ашан","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/CRAI":{"tags":{"name":"CRAI","shop":"supermarket"},"name":"CRAI","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ICA Supermarket":{"tags":{"name":"ICA Supermarket","shop":"supermarket"},"name":"ICA Supermarket","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Fakta":{"tags":{"name":"Fakta","shop":"supermarket"},"name":"Fakta","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Ekom":{"tags":{"name":"Ekom","shop":"supermarket"},"name":"Ekom","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Магнит":{"tags":{"name":"Магнит","shop":"supermarket"},"name":"Магнит","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/nahkauf":{"tags":{"name":"nahkauf","shop":"supermarket"},"name":"nahkauf","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Caprabo":{"tags":{"name":"Caprabo","shop":"supermarket"},"name":"Caprabo","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Famiglia Cooperativa":{"tags":{"name":"Famiglia Cooperativa","shop":"supermarket"},"name":"Famiglia Cooperativa","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Народная 7Я семьЯ":{"tags":{"name":"Народная 7Я семьЯ","shop":"supermarket"},"name":"Народная 7Я семьЯ","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Carrefour Contact":{"tags":{"name":"Carrefour Contact","shop":"supermarket"},"name":"Carrefour Contact","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Maxima XX":{"tags":{"name":"Maxima XX","shop":"supermarket"},"name":"Maxima XX","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Wasgau":{"tags":{"name":"Wasgau","shop":"supermarket"},"name":"Wasgau","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Match":{"tags":{"name":"Match","shop":"supermarket"},"name":"Match","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Pingo Doce":{"tags":{"name":"Pingo Doce","shop":"supermarket"},"name":"Pingo Doce","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Lider":{"tags":{"name":"Lider","shop":"supermarket"},"name":"Lider","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Unimarc":{"tags":{"name":"Unimarc","shop":"supermarket"},"name":"Unimarc","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Santa Isabel":{"tags":{"name":"Santa Isabel","shop":"supermarket"},"name":"Santa Isabel","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Седьмой континент":{"tags":{"name":"Седьмой континент","shop":"supermarket"},"name":"Седьмой континент","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Carrefour express":{"tags":{"name":"Carrefour express","shop":"supermarket"},"name":"Carrefour express","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/HIT":{"tags":{"name":"HIT","shop":"supermarket"},"name":"HIT","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Пятёрочка":{"tags":{"name":"Пятёрочка","shop":"supermarket"},"name":"Пятёрочка","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Conad":{"tags":{"name":"Conad","shop":"supermarket"},"name":"Conad","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Фуршет":{"tags":{"name":"Фуршет","shop":"supermarket"},"name":"Фуршет","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Willys":{"tags":{"name":"Willys","shop":"supermarket"},"name":"Willys","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Farmfoods":{"tags":{"name":"Farmfoods","shop":"supermarket"},"name":"Farmfoods","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Фора":{"tags":{"name":"Фора","shop":"supermarket"},"name":"Фора","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Dunnes Stores":{"tags":{"name":"Dunnes Stores","shop":"supermarket"},"name":"Dunnes Stores","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Сільпо":{"tags":{"name":"Сільпо","shop":"supermarket"},"name":"Сільпо","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/マルエツ":{"tags":{"name":"マルエツ","shop":"supermarket"},"name":"マルエツ","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Alnatura":{"tags":{"name":"Alnatura","shop":"supermarket"},"name":"Alnatura","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Piggly Wiggly":{"tags":{"name":"Piggly Wiggly","shop":"supermarket"},"name":"Piggly Wiggly","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Prix":{"tags":{"name":"Prix","shop":"supermarket"},"name":"Prix","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Crai":{"tags":{"name":"Crai","shop":"supermarket"},"name":"Crai","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Biocoop":{"tags":{"name":"Biocoop","shop":"supermarket"},"name":"Biocoop","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/REWE City":{"tags":{"name":"REWE City","shop":"supermarket"},"name":"REWE City","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/El Árbol":{"tags":{"name":"El Árbol","shop":"supermarket"},"name":"El Árbol","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/E. Leclerc":{"tags":{"name":"E. Leclerc","shop":"supermarket"},"name":"E. Leclerc","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Super Brugsen":{"tags":{"name":"Super Brugsen","shop":"supermarket"},"name":"Super Brugsen","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Дикси":{"tags":{"name":"Дикси","shop":"supermarket"},"name":"Дикси","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Whole Foods Market":{"tags":{"name":"Whole Foods Market","shop":"supermarket"},"name":"Whole Foods Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/G20":{"tags":{"name":"G20","shop":"supermarket"},"name":"G20","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Eroski Center":{"tags":{"name":"Eroski Center","shop":"supermarket"},"name":"Eroski Center","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Publix":{"tags":{"name":"Publix","shop":"supermarket"},"name":"Publix","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Conad City":{"tags":{"name":"Conad City","shop":"supermarket"},"name":"Conad City","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Перекресток":{"tags":{"name":"Перекресток","shop":"supermarket"},"name":"Перекресток","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Føtex":{"tags":{"name":"Føtex","shop":"supermarket"},"name":"Føtex","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/イトーヨーカドー":{"tags":{"name":"イトーヨーカドー","shop":"supermarket"},"name":"イトーヨーカドー","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sprouts Farmers Market":{"tags":{"name":"Sprouts Farmers Market","shop":"supermarket"},"name":"Sprouts Farmers Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Ralphs":{"tags":{"name":"Ralphs","shop":"supermarket"},"name":"Ralphs","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Mila":{"tags":{"name":"Mila","shop":"supermarket"},"name":"Mila","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Biedronka":{"tags":{"name":"Biedronka","shop":"supermarket"},"name":"Biedronka","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Eurospin":{"tags":{"name":"Eurospin","shop":"supermarket"},"name":"Eurospin","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Семья":{"tags":{"name":"Семья","shop":"supermarket"},"name":"Семья","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Виват":{"tags":{"name":"Виват","shop":"supermarket"},"name":"Виват","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Froiz":{"tags":{"name":"Froiz","shop":"supermarket"},"name":"Froiz","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Gadis":{"tags":{"name":"Gadis","shop":"supermarket"},"name":"Gadis","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Евроопт":{"tags":{"name":"Евроопт","shop":"supermarket"},"name":"Евроопт","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Квартал":{"tags":{"name":"Квартал","shop":"supermarket"},"name":"Квартал","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Esselunga":{"tags":{"name":"Esselunga","shop":"supermarket"},"name":"Esselunga","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/SuperBrugsen":{"tags":{"name":"SuperBrugsen","shop":"supermarket"},"name":"SuperBrugsen","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Reliance Fresh":{"tags":{"name":"Reliance Fresh","shop":"supermarket"},"name":"Reliance Fresh","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Winn-Dixie":{"tags":{"name":"Winn-Dixie","shop":"supermarket"},"name":"Winn-Dixie","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Irma":{"tags":{"name":"Irma","shop":"supermarket"},"name":"Irma","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Mega Image":{"tags":{"name":"Mega Image","shop":"supermarket"},"name":"Mega Image","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Centre Commercial E. Leclerc":{"tags":{"name":"Centre Commercial E. Leclerc","shop":"supermarket"},"name":"Centre Commercial E. Leclerc","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/西友":{"tags":{"name":"西友","shop":"supermarket"},"name":"西友","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/A101":{"tags":{"name":"A101","shop":"supermarket"},"name":"A101","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Game":{"tags":{"name":"Game","shop":"supermarket"},"name":"Game","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Coop Konsum":{"tags":{"name":"Coop Konsum","shop":"supermarket"},"name":"Coop Konsum","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Alimerka":{"tags":{"name":"Alimerka","shop":"supermarket"},"name":"Alimerka","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Piotr i Paweł":{"tags":{"name":"Piotr i Paweł","shop":"supermarket"},"name":"Piotr i Paweł","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/A&O":{"tags":{"name":"A&O","shop":"supermarket"},"name":"A&O","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Coviran":{"tags":{"name":"Coviran","shop":"supermarket"},"name":"Coviran","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Maxima":{"tags":{"name":"Maxima","shop":"supermarket"},"name":"Maxima","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ΑΒ Βασιλόπουλος":{"tags":{"name":"ΑΒ Βασιλόπουλος","shop":"supermarket"},"name":"ΑΒ Βασιλόπουλος","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Stokrotka":{"tags":{"name":"Stokrotka","shop":"supermarket"},"name":"Stokrotka","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Карусель":{"tags":{"name":"Карусель","shop":"supermarket"},"name":"Карусель","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Utile":{"tags":{"name":"Utile","shop":"supermarket"},"name":"Utile","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/CONAD":{"tags":{"name":"CONAD","shop":"supermarket"},"name":"CONAD","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Winn Dixie":{"tags":{"name":"Winn Dixie","shop":"supermarket"},"name":"Winn Dixie","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Μασούτης":{"tags":{"name":"Μασούτης","shop":"supermarket"},"name":"Μασούτης","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/イオン":{"tags":{"name":"イオン","shop":"supermarket"},"name":"イオン","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Chedraui":{"tags":{"name":"Chedraui","shop":"supermarket"},"name":"Chedraui","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Walmart Neighborhood Market":{"tags":{"name":"Walmart Neighborhood Market","shop":"supermarket"},"name":"Walmart Neighborhood Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Delikatesy Centrum":{"tags":{"name":"Delikatesy Centrum","shop":"supermarket"},"name":"Delikatesy Centrum","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Géant Casino":{"tags":{"name":"Géant Casino","shop":"supermarket"},"name":"Géant Casino","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Ekono":{"tags":{"name":"Ekono","shop":"supermarket"},"name":"Ekono","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ASDA":{"tags":{"name":"ASDA","shop":"supermarket"},"name":"ASDA","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Intermarche":{"tags":{"name":"Intermarche","shop":"supermarket"},"name":"Intermarche","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Stop & Shop":{"tags":{"name":"Stop & Shop","shop":"supermarket"},"name":"Stop & Shop","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Maxima X":{"tags":{"name":"Maxima X","shop":"supermarket"},"name":"Maxima X","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tottus":{"tags":{"name":"Tottus","shop":"supermarket"},"name":"Tottus","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Food Lion":{"tags":{"name":"Food Lion","shop":"supermarket"},"name":"Food Lion","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Harris Teeter":{"tags":{"name":"Harris Teeter","shop":"supermarket"},"name":"Harris Teeter","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sam's Club":{"tags":{"name":"Sam's Club","shop":"supermarket"},"name":"Sam's Club","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Continente":{"tags":{"name":"Continente","shop":"supermarket"},"name":"Continente","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Foodworks":{"tags":{"name":"Foodworks","shop":"supermarket"},"name":"Foodworks","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Maxi Dia":{"tags":{"name":"Maxi Dia","shop":"supermarket"},"name":"Maxi Dia","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/H-E-B":{"tags":{"name":"H-E-B","shop":"supermarket"},"name":"H-E-B","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Price Chopper":{"tags":{"name":"Price Chopper","shop":"supermarket"},"name":"Price Chopper","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Soriana":{"tags":{"name":"Soriana","shop":"supermarket"},"name":"Soriana","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Атак":{"tags":{"name":"Атак","shop":"supermarket"},"name":"Атак","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Puregold":{"tags":{"name":"Puregold","shop":"supermarket"},"name":"Puregold","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Полушка":{"tags":{"name":"Полушка","shop":"supermarket"},"name":"Полушка","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Jewel-Osco":{"tags":{"name":"Jewel-Osco","shop":"supermarket"},"name":"Jewel-Osco","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Condis":{"tags":{"name":"Condis","shop":"supermarket"},"name":"Condis","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Big C":{"tags":{"name":"Big C","shop":"supermarket"},"name":"Big C","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sigma":{"tags":{"name":"Sigma","shop":"supermarket"},"name":"Sigma","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Верный":{"tags":{"name":"Верный","shop":"supermarket"},"name":"Верный","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/いなげや":{"tags":{"name":"いなげや","shop":"supermarket"},"name":"いなげや","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/АТБ":{"tags":{"name":"АТБ","shop":"supermarket"},"name":"АТБ","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Bodega Aurrera":{"tags":{"name":"Bodega Aurrera","shop":"supermarket"},"name":"Bodega Aurrera","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Fresh Market":{"tags":{"name":"Fresh Market","shop":"supermarket"},"name":"Fresh Market","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Азбука Вкуса":{"tags":{"name":"Азбука Вкуса","shop":"supermarket"},"name":"Азбука Вкуса","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/QFC":{"tags":{"name":"QFC","shop":"supermarket"},"name":"QFC","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Vea":{"tags":{"name":"Vea","shop":"supermarket"},"name":"Vea","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Minipreço":{"tags":{"name":"Minipreço","shop":"supermarket"},"name":"Minipreço","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Sisa":{"tags":{"name":"Sisa","shop":"supermarket"},"name":"Sisa","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Монетка":{"tags":{"name":"Монетка","shop":"supermarket"},"name":"Монетка","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Магнолия":{"tags":{"name":"Магнолия","shop":"supermarket"},"name":"Магнолия","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/POLOmarket":{"tags":{"name":"POLOmarket","shop":"supermarket"},"name":"POLOmarket","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Palí":{"tags":{"name":"Palí","shop":"supermarket"},"name":"Palí","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Costco":{"tags":{"name":"Costco","shop":"supermarket"},"name":"Costco","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Tesco Lotus":{"tags":{"name":"Tesco Lotus","shop":"supermarket"},"name":"Tesco Lotus","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Lupa":{"tags":{"name":"Lupa","shop":"supermarket"},"name":"Lupa","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Hy-Vee":{"tags":{"name":"Hy-Vee","shop":"supermarket"},"name":"Hy-Vee","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Disco":{"tags":{"name":"Disco","shop":"supermarket"},"name":"Disco","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Pão de Açúcar":{"tags":{"name":"Pão de Açúcar","shop":"supermarket"},"name":"Pão de Açúcar","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Save-A-Lot":{"tags":{"name":"Save-A-Lot","shop":"supermarket"},"name":"Save-A-Lot","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Walmart Supercenter":{"tags":{"name":"Walmart Supercenter","shop":"supermarket"},"name":"Walmart Supercenter","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Comercial Mexicana":{"tags":{"name":"Comercial Mexicana","shop":"supermarket"},"name":"Comercial Mexicana","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Plodine":{"tags":{"name":"Plodine","shop":"supermarket"},"name":"Plodine","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Grand Frais":{"tags":{"name":"Grand Frais","shop":"supermarket"},"name":"Grand Frais","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Hannaford":{"tags":{"name":"Hannaford","shop":"supermarket"},"name":"Hannaford","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Fred Meyer":{"tags":{"name":"Fred Meyer","shop":"supermarket"},"name":"Fred Meyer","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/マックスバリュ":{"tags":{"name":"マックスバリュ","shop":"supermarket"},"name":"マックスバリュ","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Wegmans":{"tags":{"name":"Wegmans","shop":"supermarket"},"name":"Wegmans","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Dia %":{"tags":{"name":"Dia %","shop":"supermarket"},"name":"Dia %","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Cub Foods":{"tags":{"name":"Cub Foods","shop":"supermarket"},"name":"Cub Foods","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Extra":{"tags":{"name":"Extra","shop":"supermarket"},"name":"Extra","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/ライフ":{"tags":{"name":"ライフ","shop":"supermarket"},"name":"ライフ","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Гроздь":{"tags":{"name":"Гроздь","shop":"supermarket"},"name":"Гроздь","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Супермаркет":{"tags":{"name":"Супермаркет","shop":"supermarket"},"name":"Супермаркет","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Atacadão":{"tags":{"name":"Atacadão","shop":"supermarket"},"name":"Atacadão","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/New World":{"tags":{"name":"New World","shop":"supermarket"},"name":"New World","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Ahorramás":{"tags":{"name":"Ahorramás","shop":"supermarket"},"name":"Ahorramás","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/業務スーパー":{"tags":{"name":"業務スーパー","shop":"supermarket"},"name":"業務スーパー","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Despensa Familiar":{"tags":{"name":"Despensa Familiar","shop":"supermarket"},"name":"Despensa Familiar","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Красный Яр":{"tags":{"name":"Красный Яр","shop":"supermarket"},"name":"Красный Яр","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/全聯福利中心":{"tags":{"name":"全聯福利中心","shop":"supermarket"},"name":"全聯福利中心","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Plaza Vea":{"tags":{"name":"Plaza Vea","shop":"supermarket"},"name":"Plaza Vea","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Командор":{"tags":{"name":"Командор","shop":"supermarket"},"name":"Командор","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Таврія-В":{"tags":{"name":"Таврія-В","shop":"supermarket"},"name":"Таврія-В","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/まいばすけっと":{"tags":{"name":"まいばすけっと","shop":"supermarket"},"name":"まいばすけっと","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Norfa XL":{"tags":{"name":"Norfa XL","shop":"supermarket"},"name":"Norfa XL","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Радеж":{"tags":{"name":"Радеж","shop":"supermarket"},"name":"Радеж","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Mercado de Abastos":{"tags":{"name":"Mercado de Abastos","shop":"supermarket"},"name":"Mercado de Abastos","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Dino":{"tags":{"name":"Dino","shop":"supermarket"},"name":"Dino","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Покупочка":{"tags":{"name":"Покупочка","shop":"supermarket"},"name":"Покупочка","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Хүнсний дэлгүүр":{"tags":{"name":"Хүнсний дэлгүүр","shop":"supermarket"},"name":"Хүнсний дэлгүүр","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/E. Leclerc Drive":{"tags":{"name":"E. Leclerc Drive","shop":"supermarket"},"name":"E. Leclerc Drive","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/Leclerc Drive":{"tags":{"name":"Leclerc Drive","shop":"supermarket"},"name":"Leclerc Drive","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/supermarket/全聯":{"tags":{"name":"全聯","shop":"supermarket"},"name":"全聯","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Sports Direct":{"tags":{"name":"Sports Direct","shop":"sports"},"name":"Sports Direct","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Decathlon":{"tags":{"name":"Decathlon","shop":"sports"},"name":"Decathlon","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Intersport":{"tags":{"name":"Intersport","shop":"sports"},"name":"Intersport","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Спорттовары":{"tags":{"name":"Спорттовары","shop":"sports"},"name":"Спорттовары","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Sports Authority":{"tags":{"name":"Sports Authority","shop":"sports"},"name":"Sports Authority","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Спортмастер":{"tags":{"name":"Спортмастер","shop":"sports"},"name":"Спортмастер","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Hervis":{"tags":{"name":"Hervis","shop":"sports"},"name":"Hervis","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Sport 2000":{"tags":{"name":"Sport 2000","shop":"sports"},"name":"Sport 2000","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Big 5 Sporting Goods":{"tags":{"name":"Big 5 Sporting Goods","shop":"sports"},"name":"Big 5 Sporting Goods","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/sports/Dick's Sporting Goods":{"tags":{"name":"Dick's Sporting Goods","shop":"sports"},"name":"Dick's Sporting Goods","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Big W":{"tags":{"name":"Big W","shop":"department_store"},"name":"Big W","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Canadian Tire":{"tags":{"name":"Canadian Tire","shop":"department_store"},"name":"Canadian Tire","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Karstadt":{"tags":{"name":"Karstadt","shop":"department_store"},"name":"Karstadt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Kmart":{"tags":{"name":"Kmart","shop":"department_store"},"name":"Kmart","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/El Corte Inglés":{"tags":{"name":"El Corte Inglés","shop":"department_store"},"name":"El Corte Inglés","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Target":{"tags":{"name":"Target","shop":"department_store"},"name":"Target","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Big Lots":{"tags":{"name":"Big Lots","shop":"department_store"},"name":"Big Lots","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/The Warehouse":{"tags":{"name":"The Warehouse","shop":"department_store"},"name":"The Warehouse","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Galeria Kaufhof":{"tags":{"name":"Galeria Kaufhof","shop":"department_store"},"name":"Galeria Kaufhof","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Debenhams":{"tags":{"name":"Debenhams","shop":"department_store"},"name":"Debenhams","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Marks & Spencer":{"tags":{"name":"Marks & Spencer","shop":"department_store"},"name":"Marks & Spencer","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Argos":{"tags":{"name":"Argos","shop":"department_store"},"name":"Argos","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Woolworth":{"tags":{"name":"Woolworth","shop":"department_store"},"name":"Woolworth","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Универмаг":{"tags":{"name":"Универмаг","shop":"department_store"},"name":"Универмаг","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Sears":{"tags":{"name":"Sears","shop":"department_store"},"name":"Sears","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/BHS":{"tags":{"name":"BHS","shop":"department_store"},"name":"BHS","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Kohl's":{"tags":{"name":"Kohl's","shop":"department_store"},"name":"Kohl's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Bed Bath & Beyond":{"tags":{"name":"Bed Bath & Beyond","shop":"department_store"},"name":"Bed Bath & Beyond","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Dillard's":{"tags":{"name":"Dillard's","shop":"department_store"},"name":"Dillard's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/Macy's":{"tags":{"name":"Macy's","shop":"department_store"},"name":"Macy's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/JCPenney":{"tags":{"name":"JCPenney","shop":"department_store"},"name":"JCPenney","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/department_store/HEMA":{"tags":{"name":"HEMA","shop":"department_store"},"name":"HEMA","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Tesco Express":{"tags":{"name":"Tesco Express","shop":"convenience"},"name":"Tesco Express","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/One Stop":{"tags":{"name":"One Stop","shop":"convenience"},"name":"One Stop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Londis":{"tags":{"name":"Londis","shop":"convenience"},"name":"Londis","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/7-Eleven":{"tags":{"name":"7-Eleven","shop":"convenience"},"name":"7-Eleven","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Sale":{"tags":{"name":"Sale","shop":"convenience"},"name":"Sale","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Costcutter":{"tags":{"name":"Costcutter","shop":"convenience"},"name":"Costcutter","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Siwa":{"tags":{"name":"Siwa","shop":"convenience"},"name":"Siwa","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/COOP Jednota":{"tags":{"name":"COOP Jednota","shop":"convenience"},"name":"COOP Jednota","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mac's":{"tags":{"name":"Mac's","shop":"convenience"},"name":"Mac's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Alepa":{"tags":{"name":"Alepa","shop":"convenience"},"name":"Alepa","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Hasty Market":{"tags":{"name":"Hasty Market","shop":"convenience"},"name":"Hasty Market","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/K-Market":{"tags":{"name":"K-Market","shop":"convenience"},"name":"K-Market","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/On the Run":{"tags":{"name":"On the Run","shop":"convenience"},"name":"On the Run","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/CBA":{"tags":{"name":"CBA","shop":"convenience"},"name":"CBA","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Valintatalo":{"tags":{"name":"Valintatalo","shop":"convenience"},"name":"Valintatalo","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Alimentación":{"tags":{"name":"Alimentación","shop":"convenience"},"name":"Alimentación","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Circle K":{"tags":{"name":"Circle K","shop":"convenience"},"name":"Circle K","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/セブンイレブン":{"tags":{"name":"セブンイレブン","name:en":"7-Eleven","shop":"convenience"},"name":"セブンイレブン","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ローソン":{"tags":{"name":"ローソン","name:en":"LAWSON","shop":"convenience"},"name":"ローソン","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Migrolino":{"tags":{"name":"Migrolino","shop":"convenience"},"name":"Migrolino","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Petit Casino":{"tags":{"name":"Petit Casino","shop":"convenience"},"name":"Petit Casino","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Coop Pronto":{"tags":{"name":"Coop Pronto","shop":"convenience"},"name":"Coop Pronto","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mace":{"tags":{"name":"Mace","shop":"convenience"},"name":"Mace","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mini Market":{"tags":{"name":"Mini Market","shop":"convenience"},"name":"Mini Market","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Nisa Local":{"tags":{"name":"Nisa Local","shop":"convenience"},"name":"Nisa Local","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Продукты":{"tags":{"name":"Продукты","shop":"convenience"},"name":"Продукты","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mini Stop":{"tags":{"name":"Mini Stop","shop":"convenience"},"name":"Mini Stop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/LAWSON":{"tags":{"name":"LAWSON","shop":"convenience"},"name":"LAWSON","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/デイリーヤマザキ":{"tags":{"name":"デイリーヤマザキ","shop":"convenience"},"name":"デイリーヤマザキ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Надежда":{"tags":{"name":"Надежда","shop":"convenience"},"name":"Надежда","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Nisa":{"tags":{"name":"Nisa","shop":"convenience"},"name":"Nisa","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Premier":{"tags":{"name":"Premier","shop":"convenience"},"name":"Premier","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ABC":{"tags":{"name":"ABC","shop":"convenience"},"name":"ABC","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/McColl's":{"tags":{"name":"McColl's","shop":"convenience"},"name":"McColl's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ミニストップ":{"tags":{"name":"ミニストップ","name:en":"MINISTOP","shop":"convenience"},"name":"ミニストップ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/サンクス":{"tags":{"name":"サンクス","name:en":"sunkus","shop":"convenience"},"name":"サンクス","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/スリーエフ":{"tags":{"name":"スリーエフ","shop":"convenience"},"name":"スリーエフ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/8 à Huit":{"tags":{"name":"8 à Huit","shop":"convenience"},"name":"8 à Huit","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Żabka":{"tags":{"name":"Żabka","shop":"convenience"},"name":"Żabka","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Almacen":{"tags":{"name":"Almacen","shop":"convenience"},"name":"Almacen","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Proxi":{"tags":{"name":"Proxi","shop":"convenience"},"name":"Proxi","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/萊爾富":{"tags":{"name":"萊爾富","shop":"convenience"},"name":"萊爾富","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/全家便利商店":{"tags":{"name":"全家便利商店","shop":"convenience"},"name":"全家便利商店","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Vival":{"tags":{"name":"Vival","shop":"convenience"},"name":"Vival","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/FamilyMart":{"tags":{"name":"FamilyMart","shop":"convenience"},"name":"FamilyMart","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ファミリーマート":{"tags":{"name":"ファミリーマート","name:en":"FamilyMart","shop":"convenience"},"name":"ファミリーマート","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Магазин":{"tags":{"name":"Магазин","shop":"convenience"},"name":"Магазин","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/セブンイレブン(Seven-Eleven)":{"tags":{"name":"セブンイレブン(Seven-Eleven)","shop":"convenience"},"name":"セブンイレブン(Seven-Eleven)","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Jednota":{"tags":{"name":"Jednota","shop":"convenience"},"name":"Jednota","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Гастроном":{"tags":{"name":"Гастроном","shop":"convenience"},"name":"Гастроном","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Centra":{"tags":{"name":"Centra","shop":"convenience"},"name":"Centra","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Couche-Tard":{"tags":{"name":"Couche-Tard","shop":"convenience"},"name":"Couche-Tard","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/サークルK":{"tags":{"name":"サークルK","name:en":"Circle K","shop":"convenience"},"name":"サークルK","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/7 eleven":{"tags":{"name":"7 eleven","shop":"convenience"},"name":"7 eleven","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mlin i pekare":{"tags":{"name":"Mlin i pekare","shop":"convenience"},"name":"Mlin i pekare","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Sunkus":{"tags":{"name":"Sunkus","shop":"convenience"},"name":"Sunkus","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Wawa":{"tags":{"name":"Wawa","shop":"convenience"},"name":"Wawa","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Lifestyle Express":{"tags":{"name":"Lifestyle Express","shop":"convenience"},"name":"Lifestyle Express","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ampm":{"tags":{"name":"ampm","shop":"convenience"},"name":"ampm","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/General Store":{"tags":{"name":"General Store","shop":"convenience"},"name":"General Store","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Lewiatan":{"tags":{"name":"Lewiatan","shop":"convenience"},"name":"Lewiatan","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Večerka":{"tags":{"name":"Večerka","shop":"convenience"},"name":"Večerka","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Potraviny":{"tags":{"name":"Potraviny","shop":"convenience"},"name":"Potraviny","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Select":{"tags":{"name":"Select","shop":"convenience"},"name":"Select","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Ассорти":{"tags":{"name":"Ассорти","shop":"convenience"},"name":"Ассорти","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Копейка":{"tags":{"name":"Копейка","shop":"convenience"},"name":"Копейка","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Универсам":{"tags":{"name":"Универсам","shop":"convenience"},"name":"Универсам","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Берёзка":{"tags":{"name":"Берёзка","shop":"convenience"},"name":"Берёзка","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Русь":{"tags":{"name":"Русь","shop":"convenience"},"name":"Русь","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Społem":{"tags":{"name":"Społem","shop":"convenience"},"name":"Społem","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Shop":{"tags":{"name":"Shop","shop":"convenience"},"name":"Shop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Cumberland Farms":{"tags":{"name":"Cumberland Farms","shop":"convenience"},"name":"Cumberland Farms","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Мария-Ра":{"tags":{"name":"Мария-Ра","shop":"convenience"},"name":"Мария-Ра","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Aibė":{"tags":{"name":"Aibė","shop":"convenience"},"name":"Aibė","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Coop Jednota":{"tags":{"name":"Coop Jednota","shop":"convenience"},"name":"Coop Jednota","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Tesco Lotus Express":{"tags":{"name":"Tesco Lotus Express","shop":"convenience"},"name":"Tesco Lotus Express","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Смак":{"tags":{"name":"Смак","shop":"convenience"},"name":"Смак","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Виктория":{"tags":{"name":"Виктория","shop":"convenience"},"name":"Виктория","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Plaid Pantry":{"tags":{"name":"Plaid Pantry","shop":"convenience"},"name":"Plaid Pantry","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/M&S Simply Food":{"tags":{"name":"M&S Simply Food","shop":"convenience"},"name":"M&S Simply Food","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Sklep spożywczy":{"tags":{"name":"Sklep spożywczy","shop":"convenience"},"name":"Sklep spożywczy","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Groszek":{"tags":{"name":"Groszek","shop":"convenience"},"name":"Groszek","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Продукти":{"tags":{"name":"Продукти","shop":"convenience"},"name":"Продукти","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Martin's":{"tags":{"name":"Martin's","shop":"convenience"},"name":"Martin's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Bodega":{"tags":{"name":"Bodega","shop":"convenience"},"name":"Bodega","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Татьяна":{"tags":{"name":"Татьяна","shop":"convenience"},"name":"Татьяна","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/24 часа":{"tags":{"name":"24 часа","shop":"convenience"},"name":"24 часа","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Минимаркет":{"tags":{"name":"Минимаркет","shop":"convenience"},"name":"Минимаркет","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Oxxo":{"tags":{"name":"Oxxo","shop":"convenience"},"name":"Oxxo","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/abc":{"tags":{"name":"abc","shop":"convenience"},"name":"abc","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Stewart's":{"tags":{"name":"Stewart's","shop":"convenience"},"name":"Stewart's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Любимый":{"tags":{"name":"Любимый","shop":"convenience"},"name":"Любимый","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Shop & Go":{"tags":{"name":"Shop & Go","shop":"convenience"},"name":"Shop & Go","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Hruška":{"tags":{"name":"Hruška","shop":"convenience"},"name":"Hruška","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ローソンストア100":{"tags":{"name":"ローソンストア100","shop":"convenience"},"name":"ローソンストア100","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/CU":{"tags":{"name":"CU","shop":"convenience"},"name":"CU","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Гурман":{"tags":{"name":"Гурман","shop":"convenience"},"name":"Гурман","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Радуга":{"tags":{"name":"Радуга","shop":"convenience"},"name":"Радуга","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Фортуна":{"tags":{"name":"Фортуна","shop":"convenience"},"name":"Фортуна","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Magazin Mixt":{"tags":{"name":"Magazin Mixt","shop":"convenience"},"name":"Magazin Mixt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Magazin Alimentar":{"tags":{"name":"Magazin Alimentar","shop":"convenience"},"name":"Magazin Alimentar","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Маяк":{"tags":{"name":"Маяк","shop":"convenience"},"name":"Маяк","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Prehrana":{"tags":{"name":"Prehrana","shop":"convenience"},"name":"Prehrana","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Picard":{"tags":{"name":"Picard","shop":"convenience"},"name":"Picard","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Epicerie":{"tags":{"name":"Epicerie","shop":"convenience"},"name":"Epicerie","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Эконом":{"tags":{"name":"Эконом","shop":"convenience"},"name":"Эконом","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Four Square":{"tags":{"name":"Four Square","shop":"convenience"},"name":"Four Square","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Визит":{"tags":{"name":"Визит","shop":"convenience"},"name":"Визит","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Nasz Sklep":{"tags":{"name":"Nasz Sklep","shop":"convenience"},"name":"Nasz Sklep","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Апельсин":{"tags":{"name":"Апельсин","shop":"convenience"},"name":"Апельсин","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Авоська":{"tags":{"name":"Авоська","shop":"convenience"},"name":"Авоська","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Dollar General":{"tags":{"name":"Dollar General","shop":"convenience"},"name":"Dollar General","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Studenac":{"tags":{"name":"Studenac","shop":"convenience"},"name":"Studenac","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Magazin":{"tags":{"name":"Magazin","shop":"convenience"},"name":"Magazin","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Central Convenience Store":{"tags":{"name":"Central Convenience Store","shop":"convenience"},"name":"Central Convenience Store","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/セイコーマート":{"tags":{"name":"セイコーマート","shop":"convenience"},"name":"セイコーマート","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mini Mart":{"tags":{"name":"Mini Mart","shop":"convenience"},"name":"Mini Mart","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mini ABC":{"tags":{"name":"Mini ABC","shop":"convenience"},"name":"Mini ABC","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Тройка":{"tags":{"name":"Тройка","shop":"convenience"},"name":"Тройка","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/продукты":{"tags":{"name":"продукты","shop":"convenience"},"name":"продукты","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Alimentari":{"tags":{"name":"Alimentari","shop":"convenience"},"name":"Alimentari","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Кулинария":{"tags":{"name":"Кулинария","shop":"convenience"},"name":"Кулинария","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Агрокомплекс":{"tags":{"name":"Агрокомплекс","shop":"convenience"},"name":"Агрокомплекс","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/全家":{"tags":{"name":"全家","shop":"convenience"},"name":"全家","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/GS25":{"tags":{"name":"GS25","shop":"convenience"},"name":"GS25","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Мечта":{"tags":{"name":"Мечта","shop":"convenience"},"name":"Мечта","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Кировский":{"tags":{"name":"Кировский","shop":"convenience"},"name":"Кировский","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/United Dairy Farmers":{"tags":{"name":"United Dairy Farmers","shop":"convenience"},"name":"United Dairy Farmers","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Freshmarket":{"tags":{"name":"Freshmarket","shop":"convenience"},"name":"Freshmarket","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mini market":{"tags":{"name":"Mini market","shop":"convenience"},"name":"Mini market","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Delikatesy":{"tags":{"name":"Delikatesy","shop":"convenience"},"name":"Delikatesy","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Odido":{"tags":{"name":"Odido","shop":"convenience"},"name":"Odido","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Corner Store":{"tags":{"name":"Corner Store","shop":"convenience"},"name":"Corner Store","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Ромашка":{"tags":{"name":"Ромашка","shop":"convenience"},"name":"Ромашка","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Alimentation Générale":{"tags":{"name":"Alimentation Générale","shop":"convenience"},"name":"Alimentation Générale","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ポプラ":{"tags":{"name":"ポプラ","shop":"convenience"},"name":"ポプラ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/BP Shop":{"tags":{"name":"BP Shop","shop":"convenience"},"name":"BP Shop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Продуктовый":{"tags":{"name":"Продуктовый","shop":"convenience"},"name":"Продуктовый","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Almacén":{"tags":{"name":"Almacén","shop":"convenience"},"name":"Almacén","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Весна":{"tags":{"name":"Весна","shop":"convenience"},"name":"Весна","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Центральный":{"tags":{"name":"Центральный","shop":"convenience"},"name":"Центральный","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Мираж":{"tags":{"name":"Мираж","shop":"convenience"},"name":"Мираж","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Mini Market Non-Stop":{"tags":{"name":"Mini Market Non-Stop","shop":"convenience"},"name":"Mini Market Non-Stop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ココストア":{"tags":{"name":"ココストア","shop":"convenience"},"name":"ココストア","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Светлана":{"tags":{"name":"Светлана","shop":"convenience"},"name":"Светлана","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Копеечка":{"tags":{"name":"Копеечка","shop":"convenience"},"name":"Копеечка","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Меркурий":{"tags":{"name":"Меркурий","shop":"convenience"},"name":"Меркурий","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Food Mart":{"tags":{"name":"Food Mart","shop":"convenience"},"name":"Food Mart","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Royal Farms":{"tags":{"name":"Royal Farms","shop":"convenience"},"name":"Royal Farms","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Vegyesbolt":{"tags":{"name":"Vegyesbolt","shop":"convenience"},"name":"Vegyesbolt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Елена":{"tags":{"name":"Елена","shop":"convenience"},"name":"Елена","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Продукты 24":{"tags":{"name":"Продукты 24","shop":"convenience"},"name":"Продукты 24","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Kisbolt":{"tags":{"name":"Kisbolt","shop":"convenience"},"name":"Kisbolt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Parduotuvė":{"tags":{"name":"Parduotuvė","shop":"convenience"},"name":"Parduotuvė","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Reál":{"tags":{"name":"Reál","shop":"convenience"},"name":"Reál","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/AMPM":{"tags":{"name":"AMPM","shop":"convenience"},"name":"AMPM","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/ヤマザキショップ":{"tags":{"name":"ヤマザキショップ","shop":"convenience"},"name":"ヤマザキショップ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Продуктовый магазин":{"tags":{"name":"Продуктовый магазин","shop":"convenience"},"name":"Продуктовый магазин","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Alfamart":{"tags":{"name":"Alfamart","shop":"convenience"},"name":"Alfamart","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/odido":{"tags":{"name":"odido","shop":"convenience"},"name":"odido","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Indomaret":{"tags":{"name":"Indomaret","shop":"convenience"},"name":"Indomaret","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/магазин":{"tags":{"name":"магазин","shop":"convenience"},"name":"магазин","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Alfa Mart":{"tags":{"name":"Alfa Mart","shop":"convenience"},"name":"Alfa Mart","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Fresh":{"tags":{"name":"Fresh","shop":"convenience"},"name":"Fresh","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Boutique":{"tags":{"name":"Boutique","shop":"convenience"},"name":"Boutique","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/მარკეტი (Market)":{"tags":{"name":"მარკეტი (Market)","shop":"convenience"},"name":"მარკეტი (Market)","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Magazin alimentar":{"tags":{"name":"Magazin alimentar","shop":"convenience"},"name":"Magazin alimentar","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/OK便利商店":{"tags":{"name":"OK便利商店","shop":"convenience"},"name":"OK便利商店","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Magazin Non-Stop":{"tags":{"name":"Magazin Non-Stop","shop":"convenience"},"name":"Magazin Non-Stop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Sari-sari Store":{"tags":{"name":"Sari-sari Store","shop":"convenience"},"name":"Sari-sari Store","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Stores":{"tags":{"name":"Stores","shop":"convenience"},"name":"Stores","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Małpka Express":{"tags":{"name":"Małpka Express","shop":"convenience"},"name":"Małpka Express","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/convenience/Baqala":{"tags":{"name":"Baqala","shop":"convenience"},"name":"Baqala","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Budnikowsky":{"tags":{"name":"Budnikowsky","shop":"chemist"},"name":"Budnikowsky","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/dm":{"tags":{"name":"dm","shop":"chemist"},"name":"dm","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Müller":{"tags":{"name":"Müller","shop":"chemist"},"name":"Müller","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Schlecker":{"tags":{"name":"Schlecker","shop":"chemist"},"name":"Schlecker","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Etos":{"tags":{"name":"Etos","shop":"chemist"},"name":"Etos","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Bipa":{"tags":{"name":"Bipa","shop":"chemist"},"name":"Bipa","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Rossmann":{"tags":{"name":"Rossmann","shop":"chemist"},"name":"Rossmann","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Teta":{"tags":{"name":"Teta","shop":"chemist"},"name":"Teta","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Kruidvat":{"tags":{"name":"Kruidvat","shop":"chemist"},"name":"Kruidvat","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Рубль Бум":{"tags":{"name":"Рубль Бум","shop":"chemist"},"name":"Рубль Бум","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Watsons":{"tags":{"name":"Watsons","shop":"chemist"},"name":"Watsons","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Улыбка радуги":{"tags":{"name":"Улыбка радуги","shop":"chemist"},"name":"Улыбка радуги","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/7 Дней":{"tags":{"name":"7 Дней","shop":"chemist"},"name":"7 Дней","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Бытовая химия":{"tags":{"name":"Бытовая химия","shop":"chemist"},"name":"Бытовая химия","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/Магнит Косметик":{"tags":{"name":"Магнит Косметик","shop":"chemist"},"name":"Магнит Косметик","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/chemist/屈臣氏":{"tags":{"name":"屈臣氏","shop":"chemist"},"name":"屈臣氏","icon":"grocery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Kwik Fit":{"tags":{"name":"Kwik Fit","shop":"car_repair"},"name":"Kwik Fit","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/A.T.U":{"tags":{"name":"A.T.U","shop":"car_repair"},"name":"A.T.U","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Midas":{"tags":{"name":"Midas","shop":"car_repair"},"name":"Midas","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Feu Vert":{"tags":{"name":"Feu Vert","shop":"car_repair"},"name":"Feu Vert","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Norauto":{"tags":{"name":"Norauto","shop":"car_repair"},"name":"Norauto","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Шиномонтаж":{"tags":{"name":"Шиномонтаж","shop":"car_repair"},"name":"Шиномонтаж","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Speedy":{"tags":{"name":"Speedy","shop":"car_repair"},"name":"Speedy","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Pit Stop":{"tags":{"name":"Pit Stop","shop":"car_repair"},"name":"Pit Stop","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Garage Renault":{"tags":{"name":"Garage Renault","shop":"car_repair"},"name":"Garage Renault","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Jiffy Lube":{"tags":{"name":"Jiffy Lube","shop":"car_repair"},"name":"Jiffy Lube","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/СТО":{"tags":{"name":"СТО","shop":"car_repair"},"name":"СТО","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Автосервис":{"tags":{"name":"Автосервис","shop":"car_repair"},"name":"Автосервис","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Pep Boys":{"tags":{"name":"Pep Boys","shop":"car_repair"},"name":"Pep Boys","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Carglass":{"tags":{"name":"Carglass","shop":"car_repair"},"name":"Carglass","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/ÖAMTC":{"tags":{"name":"ÖAMTC","shop":"car_repair"},"name":"ÖAMTC","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/шиномонтаж":{"tags":{"name":"шиномонтаж","shop":"car_repair"},"name":"шиномонтаж","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Euromaster":{"tags":{"name":"Euromaster","shop":"car_repair"},"name":"Euromaster","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Mr. Lube":{"tags":{"name":"Mr. Lube","shop":"car_repair"},"name":"Mr. Lube","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Valvoline Instant Oil Change":{"tags":{"name":"Valvoline Instant Oil Change","shop":"car_repair"},"name":"Valvoline Instant Oil Change","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Wulkanizacja":{"tags":{"name":"Wulkanizacja","shop":"car_repair"},"name":"Wulkanizacja","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Firestone":{"tags":{"name":"Firestone","shop":"car_repair"},"name":"Firestone","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Goodyear":{"tags":{"name":"Goodyear","shop":"car_repair"},"name":"Goodyear","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Roady":{"tags":{"name":"Roady","shop":"car_repair"},"name":"Roady","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Mekonomen":{"tags":{"name":"Mekonomen","shop":"car_repair"},"name":"Mekonomen","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Автомастерская":{"tags":{"name":"Автомастерская","shop":"car_repair"},"name":"Автомастерская","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Advance Auto Parts":{"tags":{"name":"Advance Auto Parts","shop":"car_repair"},"name":"Advance Auto Parts","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Замена масла":{"tags":{"name":"Замена масла","shop":"car_repair"},"name":"Замена масла","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Gomeria":{"tags":{"name":"Gomeria","shop":"car_repair"},"name":"Gomeria","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Firestone Complete Auto Care":{"tags":{"name":"Firestone Complete Auto Care","shop":"car_repair"},"name":"Firestone Complete Auto Care","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Автосервис+шиномонтаж":{"tags":{"name":"Автосервис+шиномонтаж","shop":"car_repair"},"name":"Автосервис+шиномонтаж","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_repair/Gomería":{"tags":{"name":"Gomería","shop":"car_repair"},"name":"Gomería","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Red Ribbon":{"tags":{"name":"Red Ribbon","shop":"bakery"},"name":"Red Ribbon","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Kamps":{"tags":{"name":"Kamps","shop":"bakery"},"name":"Kamps","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Lila Bäcker":{"tags":{"name":"Lila Bäcker","shop":"bakery"},"name":"Lila Bäcker","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Bäckerei Schmidt":{"tags":{"name":"Bäckerei Schmidt","shop":"bakery"},"name":"Bäckerei Schmidt","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Anker":{"tags":{"name":"Anker","shop":"bakery"},"name":"Anker","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Schäfer":{"tags":{"name":"Schäfer","shop":"bakery"},"name":"Schäfer","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Schäfer's":{"tags":{"name":"Schäfer's","shop":"bakery"},"name":"Schäfer's","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Sternenbäck":{"tags":{"name":"Sternenbäck","shop":"bakery"},"name":"Sternenbäck","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Hofpfisterei":{"tags":{"name":"Hofpfisterei","shop":"bakery"},"name":"Hofpfisterei","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Bakers Delight":{"tags":{"name":"Bakers Delight","shop":"bakery"},"name":"Bakers Delight","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Greggs":{"tags":{"name":"Greggs","shop":"bakery"},"name":"Greggs","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Panaderia":{"tags":{"name":"Panaderia","shop":"bakery"},"name":"Panaderia","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Ströck":{"tags":{"name":"Ströck","shop":"bakery"},"name":"Ströck","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Oebel":{"tags":{"name":"Oebel","shop":"bakery"},"name":"Oebel","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Sehne":{"tags":{"name":"Sehne","shop":"bakery"},"name":"Sehne","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Boulangerie":{"tags":{"name":"Boulangerie","shop":"bakery"},"name":"Boulangerie","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Stadtbäckerei":{"tags":{"name":"Stadtbäckerei","shop":"bakery"},"name":"Stadtbäckerei","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Banette":{"tags":{"name":"Banette","shop":"bakery"},"name":"Banette","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Steinecke":{"tags":{"name":"Steinecke","shop":"bakery"},"name":"Steinecke","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Goldilocks":{"tags":{"name":"Goldilocks","shop":"bakery"},"name":"Goldilocks","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Backwerk":{"tags":{"name":"Backwerk","shop":"bakery"},"name":"Backwerk","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Dat Backhus":{"tags":{"name":"Dat Backhus","shop":"bakery"},"name":"Dat Backhus","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/K&U":{"tags":{"name":"K&U","shop":"bakery"},"name":"K&U","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Ihle":{"tags":{"name":"Ihle","shop":"bakery"},"name":"Ihle","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Der Beck":{"tags":{"name":"Der Beck","shop":"bakery"},"name":"Der Beck","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Ditsch":{"tags":{"name":"Ditsch","shop":"bakery"},"name":"Ditsch","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Bäckerei Fuchs":{"tags":{"name":"Bäckerei Fuchs","shop":"bakery"},"name":"Bäckerei Fuchs","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Bakker Bart":{"tags":{"name":"Bakker Bart","shop":"bakery"},"name":"Bakker Bart","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Bäckerei Müller":{"tags":{"name":"Bäckerei Müller","shop":"bakery"},"name":"Bäckerei Müller","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Backshop":{"tags":{"name":"Backshop","shop":"bakery"},"name":"Backshop","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Wiener Feinbäcker":{"tags":{"name":"Wiener Feinbäcker","shop":"bakery"},"name":"Wiener Feinbäcker","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Bäckerei Grimminger":{"tags":{"name":"Bäckerei Grimminger","shop":"bakery"},"name":"Bäckerei Grimminger","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Goeken backen":{"tags":{"name":"Goeken backen","shop":"bakery"},"name":"Goeken backen","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/von Allwörden":{"tags":{"name":"von Allwörden","shop":"bakery"},"name":"von Allwörden","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Paul":{"tags":{"name":"Paul","shop":"bakery"},"name":"Paul","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Musmanni":{"tags":{"name":"Musmanni","shop":"bakery"},"name":"Musmanni","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Хлеб":{"tags":{"name":"Хлеб","shop":"bakery"},"name":"Хлеб","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Fornetti":{"tags":{"name":"Fornetti","shop":"bakery"},"name":"Fornetti","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Le Fournil":{"tags":{"name":"Le Fournil","shop":"bakery"},"name":"Le Fournil","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Булочная":{"tags":{"name":"Булочная","shop":"bakery"},"name":"Булочная","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/boulangerie":{"tags":{"name":"boulangerie","shop":"bakery"},"name":"boulangerie","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Пекарня":{"tags":{"name":"Пекарня","shop":"bakery"},"name":"Пекарня","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Mlinar":{"tags":{"name":"Mlinar","shop":"bakery"},"name":"Mlinar","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Свежий хлеб":{"tags":{"name":"Свежий хлеб","shop":"bakery"},"name":"Свежий хлеб","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Marie Blachère":{"tags":{"name":"Marie Blachère","shop":"bakery"},"name":"Marie Blachère","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Cooplands":{"tags":{"name":"Cooplands","shop":"bakery"},"name":"Cooplands","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bakery/Кулиничи":{"tags":{"name":"Кулиничи","shop":"bakery"},"name":"Кулиничи","icon":"bakery","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/IKEA":{"tags":{"name":"IKEA","shop":"furniture"},"name":"IKEA","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Dänisches Bettenlager":{"tags":{"name":"Dänisches Bettenlager","shop":"furniture"},"name":"Dänisches Bettenlager","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Jysk":{"tags":{"name":"Jysk","shop":"furniture"},"name":"Jysk","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Roller":{"tags":{"name":"Roller","shop":"furniture"},"name":"Roller","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Conforama":{"tags":{"name":"Conforama","shop":"furniture"},"name":"Conforama","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/The Brick":{"tags":{"name":"The Brick","shop":"furniture"},"name":"The Brick","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Мебель":{"tags":{"name":"Мебель","shop":"furniture"},"name":"Мебель","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Casa":{"tags":{"name":"Casa","shop":"furniture"},"name":"Casa","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/JYSK":{"tags":{"name":"JYSK","shop":"furniture"},"name":"JYSK","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/But":{"tags":{"name":"But","shop":"furniture"},"name":"But","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Pier 1 Imports":{"tags":{"name":"Pier 1 Imports","shop":"furniture"},"name":"Pier 1 Imports","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/ニトリ":{"tags":{"name":"ニトリ","shop":"furniture"},"name":"ニトリ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/furniture/Black Red White":{"tags":{"name":"Black Red White","shop":"furniture"},"name":"Black Red White","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Hornbach":{"tags":{"name":"Hornbach","shop":"doityourself"},"name":"Hornbach","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/B&Q":{"tags":{"name":"B&Q","shop":"doityourself"},"name":"B&Q","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Hubo":{"tags":{"name":"Hubo","shop":"doityourself"},"name":"Hubo","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Mr Bricolage":{"tags":{"name":"Mr Bricolage","shop":"doityourself"},"name":"Mr Bricolage","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Gamma":{"tags":{"name":"Gamma","shop":"doityourself"},"name":"Gamma","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/OBI":{"tags":{"name":"OBI","shop":"doityourself"},"name":"OBI","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Lowe's":{"tags":{"name":"Lowe's","shop":"doityourself"},"name":"Lowe's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Wickes":{"tags":{"name":"Wickes","shop":"doityourself"},"name":"Wickes","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Hagebau":{"tags":{"name":"Hagebau","shop":"doityourself"},"name":"Hagebau","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Castorama":{"tags":{"name":"Castorama","shop":"doityourself"},"name":"Castorama","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Rona":{"tags":{"name":"Rona","shop":"doityourself"},"name":"Rona","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Toom Baumarkt":{"tags":{"name":"Toom Baumarkt","shop":"doityourself"},"name":"Toom Baumarkt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Homebase":{"tags":{"name":"Homebase","shop":"doityourself"},"name":"Homebase","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Lagerhaus":{"tags":{"name":"Lagerhaus","shop":"doityourself"},"name":"Lagerhaus","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Bauhaus":{"tags":{"name":"Bauhaus","shop":"doityourself"},"name":"Bauhaus","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Leroy Merlin":{"tags":{"name":"Leroy Merlin","shop":"doityourself"},"name":"Leroy Merlin","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Hellweg":{"tags":{"name":"Hellweg","shop":"doityourself"},"name":"Hellweg","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Brico":{"tags":{"name":"Brico","shop":"doityourself"},"name":"Brico","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Bricomarché":{"tags":{"name":"Bricomarché","shop":"doityourself"},"name":"Bricomarché","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Hagebaumarkt":{"tags":{"name":"Hagebaumarkt","shop":"doityourself"},"name":"Hagebaumarkt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Biltema":{"tags":{"name":"Biltema","shop":"doityourself"},"name":"Biltema","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/BayWa":{"tags":{"name":"BayWa","shop":"doityourself"},"name":"BayWa","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Home Depot":{"tags":{"name":"Home Depot","shop":"doityourself"},"name":"Home Depot","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Menards":{"tags":{"name":"Menards","shop":"doityourself"},"name":"Menards","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Weldom":{"tags":{"name":"Weldom","shop":"doityourself"},"name":"Weldom","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Toom":{"tags":{"name":"Toom","shop":"doityourself"},"name":"Toom","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Praktiker":{"tags":{"name":"Praktiker","shop":"doityourself"},"name":"Praktiker","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Easy":{"tags":{"name":"Easy","shop":"doityourself"},"name":"Easy","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Sonderpreis Baumarkt":{"tags":{"name":"Sonderpreis Baumarkt","shop":"doityourself"},"name":"Sonderpreis Baumarkt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Ace Hardware":{"tags":{"name":"Ace Hardware","shop":"doityourself"},"name":"Ace Hardware","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Screwfix":{"tags":{"name":"Screwfix","shop":"doityourself"},"name":"Screwfix","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Karwei":{"tags":{"name":"Karwei","shop":"doityourself"},"name":"Karwei","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Mr. Bricolage":{"tags":{"name":"Mr. Bricolage","shop":"doityourself"},"name":"Mr. Bricolage","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Строитель":{"tags":{"name":"Строитель","shop":"doityourself"},"name":"Строитель","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Home Hardware":{"tags":{"name":"Home Hardware","shop":"doityourself"},"name":"Home Hardware","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Мастер":{"tags":{"name":"Мастер","shop":"doityourself"},"name":"Мастер","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/コメリ":{"tags":{"name":"コメリ","shop":"doityourself"},"name":"コメリ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Bunnings Warehouse":{"tags":{"name":"Bunnings Warehouse","shop":"doityourself"},"name":"Bunnings Warehouse","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Bricorama":{"tags":{"name":"Bricorama","shop":"doityourself"},"name":"Bricorama","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Стройматериалы":{"tags":{"name":"Стройматериалы","shop":"doityourself"},"name":"Стройматериалы","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/コーナン":{"tags":{"name":"コーナン","shop":"doityourself"},"name":"コーナン","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/doityourself/Point P":{"tags":{"name":"Point P","shop":"doityourself"},"name":"Point P","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Staples":{"tags":{"name":"Staples","shop":"stationery"},"name":"Staples","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/McPaper":{"tags":{"name":"McPaper","shop":"stationery"},"name":"McPaper","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Ryman":{"tags":{"name":"Ryman","shop":"stationery"},"name":"Ryman","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Pagro":{"tags":{"name":"Pagro","shop":"stationery"},"name":"Pagro","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Officeworks":{"tags":{"name":"Officeworks","shop":"stationery"},"name":"Officeworks","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Office Depot":{"tags":{"name":"Office Depot","shop":"stationery"},"name":"Office Depot","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Libro":{"tags":{"name":"Libro","shop":"stationery"},"name":"Libro","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Office Max":{"tags":{"name":"Office Max","shop":"stationery"},"name":"Office Max","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/stationery/Канцтовары":{"tags":{"name":"Канцтовары","shop":"stationery"},"name":"Канцтовары","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Skoda":{"tags":{"name":"Skoda","shop":"car"},"name":"Skoda","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/BMW":{"tags":{"name":"BMW","shop":"car"},"name":"BMW","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/KIA":{"tags":{"name":"KIA","shop":"car"},"name":"KIA","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Citroen":{"tags":{"name":"Citroen","shop":"car"},"name":"Citroen","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Renault":{"tags":{"name":"Renault","shop":"car"},"name":"Renault","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Mercedes-Benz":{"tags":{"name":"Mercedes-Benz","shop":"car"},"name":"Mercedes-Benz","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Volvo":{"tags":{"name":"Volvo","shop":"car"},"name":"Volvo","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Ford":{"tags":{"name":"Ford","shop":"car"},"name":"Ford","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Kia Motors":{"tags":{"name":"Kia Motors","shop":"car"},"name":"Kia Motors","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Mazda":{"tags":{"name":"Mazda","shop":"car"},"name":"Mazda","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Mitsubishi":{"tags":{"name":"Mitsubishi","shop":"car"},"name":"Mitsubishi","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Fiat":{"tags":{"name":"Fiat","shop":"car"},"name":"Fiat","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Opel":{"tags":{"name":"Opel","shop":"car"},"name":"Opel","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Volkswagen":{"tags":{"name":"Volkswagen","shop":"car"},"name":"Volkswagen","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Toyota":{"tags":{"name":"Toyota","shop":"car"},"name":"Toyota","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Nissan":{"tags":{"name":"Nissan","shop":"car"},"name":"Nissan","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Seat":{"tags":{"name":"Seat","shop":"car"},"name":"Seat","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Porsche":{"tags":{"name":"Porsche","shop":"car"},"name":"Porsche","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Suzuki":{"tags":{"name":"Suzuki","shop":"car"},"name":"Suzuki","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Honda":{"tags":{"name":"Honda","shop":"car"},"name":"Honda","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Peugeot":{"tags":{"name":"Peugeot","shop":"car"},"name":"Peugeot","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Lexus":{"tags":{"name":"Lexus","shop":"car"},"name":"Lexus","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/KIA Motors":{"tags":{"name":"KIA Motors","shop":"car"},"name":"KIA Motors","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Hyundai":{"tags":{"name":"Hyundai","shop":"car"},"name":"Hyundai","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Kia":{"tags":{"name":"Kia","shop":"car"},"name":"Kia","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Audi":{"tags":{"name":"Audi","shop":"car"},"name":"Audi","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Автомагазин":{"tags":{"name":"Автомагазин","shop":"car"},"name":"Автомагазин","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Subaru":{"tags":{"name":"Subaru","shop":"car"},"name":"Subaru","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car/Chevrolet":{"tags":{"name":"Chevrolet","shop":"car"},"name":"Chevrolet","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/R-kioski":{"tags":{"name":"R-kioski","shop":"kiosk"},"name":"R-kioski","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Kiosk":{"tags":{"name":"Kiosk","shop":"kiosk"},"name":"Kiosk","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/R-Kioski":{"tags":{"name":"R-Kioski","shop":"kiosk"},"name":"R-Kioski","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Narvesen":{"tags":{"name":"Narvesen","shop":"kiosk"},"name":"Narvesen","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Tabak Trafik":{"tags":{"name":"Tabak Trafik","shop":"kiosk"},"name":"Tabak Trafik","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Trafik":{"tags":{"name":"Trafik","shop":"kiosk"},"name":"Trafik","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Pressbyrån":{"tags":{"name":"Pressbyrån","shop":"kiosk"},"name":"Pressbyrån","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Trinkhalle":{"tags":{"name":"Trinkhalle","shop":"kiosk"},"name":"Trinkhalle","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Kiosco":{"tags":{"name":"Kiosco","shop":"kiosk"},"name":"Kiosco","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Пресса":{"tags":{"name":"Пресса","shop":"kiosk"},"name":"Пресса","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Trafika":{"tags":{"name":"Trafika","shop":"kiosk"},"name":"Trafika","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Ruch":{"tags":{"name":"Ruch","shop":"kiosk"},"name":"Ruch","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Tisak":{"tags":{"name":"Tisak","shop":"kiosk"},"name":"Tisak","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Киоск":{"tags":{"name":"Киоск","shop":"kiosk"},"name":"Киоск","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Kolporter":{"tags":{"name":"Kolporter","shop":"kiosk"},"name":"Kolporter","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Kiosko":{"tags":{"name":"Kiosko","shop":"kiosk"},"name":"Kiosko","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Kios":{"tags":{"name":"Kios","shop":"kiosk"},"name":"Kios","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Lietuvos spauda":{"tags":{"name":"Lietuvos spauda","shop":"kiosk"},"name":"Lietuvos spauda","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Pulpería":{"tags":{"name":"Pulpería","shop":"kiosk"},"name":"Pulpería","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/KIOS":{"tags":{"name":"KIOS","shop":"kiosk"},"name":"KIOS","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kiosk/Warung":{"tags":{"name":"Warung","shop":"kiosk"},"name":"Warung","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Maplin":{"tags":{"name":"Maplin","shop":"electronics"},"name":"Maplin","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Media Markt":{"tags":{"name":"Media Markt","shop":"electronics"},"name":"Media Markt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Saturn":{"tags":{"name":"Saturn","shop":"electronics"},"name":"Saturn","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Currys":{"tags":{"name":"Currys","shop":"electronics"},"name":"Currys","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Euronics":{"tags":{"name":"Euronics","shop":"electronics"},"name":"Euronics","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Rogers":{"tags":{"name":"Rogers","shop":"electronics"},"name":"Rogers","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Radio Shack":{"tags":{"name":"Radio Shack","shop":"electronics"},"name":"Radio Shack","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Best Buy":{"tags":{"name":"Best Buy","shop":"electronics"},"name":"Best Buy","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Elgiganten":{"tags":{"name":"Elgiganten","shop":"electronics"},"name":"Elgiganten","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Expert":{"tags":{"name":"Expert","shop":"electronics"},"name":"Expert","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Эльдорадо":{"tags":{"name":"Эльдорадо","shop":"electronics"},"name":"Эльдорадо","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Hartlauer":{"tags":{"name":"Hartlauer","shop":"electronics"},"name":"Hartlauer","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Darty":{"tags":{"name":"Darty","shop":"electronics"},"name":"Darty","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Interdiscount":{"tags":{"name":"Interdiscount","shop":"electronics"},"name":"Interdiscount","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/М.Видео":{"tags":{"name":"М.Видео","shop":"electronics"},"name":"М.Видео","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Samsung":{"tags":{"name":"Samsung","shop":"electronics"},"name":"Samsung","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Фокстрот":{"tags":{"name":"Фокстрот","shop":"electronics"},"name":"Фокстрот","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/ケーズデンキ":{"tags":{"name":"ケーズデンキ","shop":"electronics"},"name":"ケーズデンキ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/The Source":{"tags":{"name":"The Source","shop":"electronics"},"name":"The Source","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Boulanger":{"tags":{"name":"Boulanger","shop":"electronics"},"name":"Boulanger","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Batteries Plus Bulbs":{"tags":{"name":"Batteries Plus Bulbs","shop":"electronics"},"name":"Batteries Plus Bulbs","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Эксперт":{"tags":{"name":"Эксперт","shop":"electronics"},"name":"Эксперт","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Media Expert":{"tags":{"name":"Media Expert","shop":"electronics"},"name":"Media Expert","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/ヤマダ電機":{"tags":{"name":"ヤマダ電機","shop":"electronics"},"name":"ヤマダ電機","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/エディオン":{"tags":{"name":"エディオン","shop":"electronics"},"name":"エディオン","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/Neonet":{"tags":{"name":"Neonet","shop":"electronics"},"name":"Neonet","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/electronics/La Curacao":{"tags":{"name":"La Curacao","shop":"electronics"},"name":"La Curacao","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Tedi":{"tags":{"name":"Tedi","shop":"variety_store"},"name":"Tedi","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Action":{"tags":{"name":"Action","shop":"variety_store"},"name":"Action","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Dollar Tree":{"tags":{"name":"Dollar Tree","shop":"variety_store"},"name":"Dollar Tree","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Dollarama":{"tags":{"name":"Dollarama","shop":"variety_store"},"name":"Dollarama","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/ダイソー":{"tags":{"name":"ダイソー","shop":"variety_store"},"name":"ダイソー","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Fix Price":{"tags":{"name":"Fix Price","shop":"variety_store"},"name":"Fix Price","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Family Dollar":{"tags":{"name":"Family Dollar","shop":"variety_store"},"name":"Family Dollar","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/GiFi":{"tags":{"name":"GiFi","shop":"variety_store"},"name":"GiFi","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Poundland":{"tags":{"name":"Poundland","shop":"variety_store"},"name":"Poundland","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/variety_store/Variety Store":{"tags":{"name":"Variety Store","shop":"variety_store"},"name":"Variety Store","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/alcohol/Alko":{"tags":{"name":"Alko","shop":"alcohol"},"name":"Alko","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Beer Store":{"tags":{"name":"Beer Store","shop":"alcohol"},"name":"Beer Store","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/LCBO":{"tags":{"name":"LCBO","shop":"alcohol"},"name":"LCBO","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/The Beer Store":{"tags":{"name":"The Beer Store","shop":"alcohol"},"name":"The Beer Store","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Systembolaget":{"tags":{"name":"Systembolaget","shop":"alcohol"},"name":"Systembolaget","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Норман":{"tags":{"name":"Норман","shop":"alcohol"},"name":"Норман","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Ароматный мир":{"tags":{"name":"Ароматный мир","shop":"alcohol"},"name":"Ароматный мир","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Bargain Booze":{"tags":{"name":"Bargain Booze","shop":"alcohol"},"name":"Bargain Booze","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/BWS":{"tags":{"name":"BWS","shop":"alcohol"},"name":"BWS","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Vinmonopolet":{"tags":{"name":"Vinmonopolet","shop":"alcohol"},"name":"Vinmonopolet","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Botilleria":{"tags":{"name":"Botilleria","shop":"alcohol"},"name":"Botilleria","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/SAQ":{"tags":{"name":"SAQ","shop":"alcohol"},"name":"SAQ","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Gall & Gall":{"tags":{"name":"Gall & Gall","shop":"alcohol"},"name":"Gall & Gall","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Liquorland":{"tags":{"name":"Liquorland","shop":"alcohol"},"name":"Liquorland","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Mitra":{"tags":{"name":"Mitra","shop":"alcohol"},"name":"Mitra","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Nicolas":{"tags":{"name":"Nicolas","shop":"alcohol"},"name":"Nicolas","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Живое пиво":{"tags":{"name":"Живое пиво","shop":"alcohol"},"name":"Живое пиво","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Dan Murphy's":{"tags":{"name":"Dan Murphy's","shop":"alcohol"},"name":"Dan Murphy's","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Красное и белое":{"tags":{"name":"Красное и белое","shop":"alcohol"},"name":"Красное и белое","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/BC Liquor Store":{"tags":{"name":"BC Liquor Store","shop":"alcohol"},"name":"BC Liquor Store","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Красное & Белое":{"tags":{"name":"Красное & Белое","shop":"alcohol"},"name":"Красное & Белое","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Liquor Store":{"tags":{"name":"Liquor Store","shop":"alcohol"},"name":"Liquor Store","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Бристоль":{"tags":{"name":"Бристоль","shop":"alcohol"},"name":"Бристоль","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Красное и Белое":{"tags":{"name":"Красное и Белое","shop":"alcohol"},"name":"Красное и Белое","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Разливное пиво":{"tags":{"name":"Разливное пиво","shop":"alcohol"},"name":"Разливное пиво","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Красное&Белое":{"tags":{"name":"Красное&Белое","shop":"alcohol"},"name":"Красное&Белое","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/alcohol/Пиво":{"tags":{"name":"Пиво","shop":"alcohol"},"name":"Пиво","icon":"alcohol-shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","drive_through"],"suggestion":true},"shop/bicycle/Halfords":{"tags":{"name":"Halfords","shop":"bicycle"},"name":"Halfords","icon":"bicycle","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bicycle/サイクルベースあさひ":{"tags":{"name":"サイクルベースあさひ","shop":"bicycle"},"name":"サイクルベースあさひ","icon":"bicycle","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bicycle/Веломарка":{"tags":{"name":"Веломарка","shop":"bicycle"},"name":"Веломарка","icon":"bicycle","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/KiK":{"tags":{"name":"KiK","shop":"clothes"},"name":"KiK","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/H&M":{"tags":{"name":"H&M","shop":"clothes"},"name":"H&M","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/C&A":{"tags":{"name":"C&A","shop":"clothes"},"name":"C&A","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Second Hand":{"tags":{"name":"Second Hand","shop":"clothes"},"name":"Second Hand","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Urban Outfitters":{"tags":{"name":"Urban Outfitters","shop":"clothes"},"name":"Urban Outfitters","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Vögele":{"tags":{"name":"Vögele","shop":"clothes"},"name":"Vögele","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Zeeman":{"tags":{"name":"Zeeman","shop":"clothes"},"name":"Zeeman","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Takko":{"tags":{"name":"Takko","shop":"clothes"},"name":"Takko","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Charles Vögele":{"tags":{"name":"Charles Vögele","shop":"clothes"},"name":"Charles Vögele","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Nike":{"tags":{"name":"Nike","shop":"clothes"},"name":"Nike","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Peek & Cloppenburg":{"tags":{"name":"Peek & Cloppenburg","shop":"clothes"},"name":"Peek & Cloppenburg","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/OVS":{"tags":{"name":"OVS","shop":"clothes"},"name":"OVS","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Zara":{"tags":{"name":"Zara","shop":"clothes"},"name":"Zara","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Vero Moda":{"tags":{"name":"Vero Moda","shop":"clothes"},"name":"Vero Moda","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Ernsting's family":{"tags":{"name":"Ernsting's family","shop":"clothes"},"name":"Ernsting's family","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Winners":{"tags":{"name":"Winners","shop":"clothes"},"name":"Winners","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/NKD":{"tags":{"name":"NKD","shop":"clothes"},"name":"NKD","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/GAP":{"tags":{"name":"GAP","shop":"clothes"},"name":"GAP","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/River Island":{"tags":{"name":"River Island","shop":"clothes"},"name":"River Island","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Next":{"tags":{"name":"Next","shop":"clothes"},"name":"Next","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Monsoon":{"tags":{"name":"Monsoon","shop":"clothes"},"name":"Monsoon","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Gap":{"tags":{"name":"Gap","shop":"clothes"},"name":"Gap","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Adidas":{"tags":{"name":"Adidas","shop":"clothes"},"name":"Adidas","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Gerry Weber":{"tags":{"name":"Gerry Weber","shop":"clothes"},"name":"Gerry Weber","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Ulla Popken":{"tags":{"name":"Ulla Popken","shop":"clothes"},"name":"Ulla Popken","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Mr Price":{"tags":{"name":"Mr Price","shop":"clothes"},"name":"Mr Price","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Pep":{"tags":{"name":"Pep","shop":"clothes"},"name":"Pep","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Edgars":{"tags":{"name":"Edgars","shop":"clothes"},"name":"Edgars","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Ackermans":{"tags":{"name":"Ackermans","shop":"clothes"},"name":"Ackermans","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/House":{"tags":{"name":"House","shop":"clothes"},"name":"House","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Truworths":{"tags":{"name":"Truworths","shop":"clothes"},"name":"Truworths","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Reserved":{"tags":{"name":"Reserved","shop":"clothes"},"name":"Reserved","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Ross":{"tags":{"name":"Ross","shop":"clothes"},"name":"Ross","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Hugo Boss":{"tags":{"name":"Hugo Boss","shop":"clothes"},"name":"Hugo Boss","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Burton":{"tags":{"name":"Burton","shop":"clothes"},"name":"Burton","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Dorothy Perkins":{"tags":{"name":"Dorothy Perkins","shop":"clothes"},"name":"Dorothy Perkins","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/s.Oliver":{"tags":{"name":"s.Oliver","shop":"clothes"},"name":"s.Oliver","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Cecil":{"tags":{"name":"Cecil","shop":"clothes"},"name":"Cecil","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Lane Bryant":{"tags":{"name":"Lane Bryant","shop":"clothes"},"name":"Lane Bryant","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Dress Barn":{"tags":{"name":"Dress Barn","shop":"clothes"},"name":"Dress Barn","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Old Navy":{"tags":{"name":"Old Navy","shop":"clothes"},"name":"Old Navy","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Dressmann":{"tags":{"name":"Dressmann","shop":"clothes"},"name":"Dressmann","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Jack & Jones":{"tags":{"name":"Jack & Jones","shop":"clothes"},"name":"Jack & Jones","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Hunkemöller":{"tags":{"name":"Hunkemöller","shop":"clothes"},"name":"Hunkemöller","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Pimkie":{"tags":{"name":"Pimkie","shop":"clothes"},"name":"Pimkie","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Esprit":{"tags":{"name":"Esprit","shop":"clothes"},"name":"Esprit","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Primark":{"tags":{"name":"Primark","shop":"clothes"},"name":"Primark","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Bonita":{"tags":{"name":"Bonita","shop":"clothes"},"name":"Bonita","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Mexx":{"tags":{"name":"Mexx","shop":"clothes"},"name":"Mexx","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Matalan":{"tags":{"name":"Matalan","shop":"clothes"},"name":"Matalan","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Tally Weijl":{"tags":{"name":"Tally Weijl","shop":"clothes"},"name":"Tally Weijl","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Mango":{"tags":{"name":"Mango","shop":"clothes"},"name":"Mango","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/TK Maxx":{"tags":{"name":"TK Maxx","shop":"clothes"},"name":"TK Maxx","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Springfield":{"tags":{"name":"Springfield","shop":"clothes"},"name":"Springfield","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Sisley":{"tags":{"name":"Sisley","shop":"clothes"},"name":"Sisley","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Benetton":{"tags":{"name":"Benetton","shop":"clothes"},"name":"Benetton","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/AWG":{"tags":{"name":"AWG","shop":"clothes"},"name":"AWG","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Tommy Hilfiger":{"tags":{"name":"Tommy Hilfiger","shop":"clothes"},"name":"Tommy Hilfiger","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Wibra":{"tags":{"name":"Wibra","shop":"clothes"},"name":"Wibra","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Fat Face":{"tags":{"name":"Fat Face","shop":"clothes"},"name":"Fat Face","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Reitmans":{"tags":{"name":"Reitmans","shop":"clothes"},"name":"Reitmans","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Lindex":{"tags":{"name":"Lindex","shop":"clothes"},"name":"Lindex","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/New Look":{"tags":{"name":"New Look","shop":"clothes"},"name":"New Look","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/KappAhl":{"tags":{"name":"KappAhl","shop":"clothes"},"name":"KappAhl","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/New Yorker":{"tags":{"name":"New Yorker","shop":"clothes"},"name":"New Yorker","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Etam":{"tags":{"name":"Etam","shop":"clothes"},"name":"Etam","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Kiabi":{"tags":{"name":"Kiabi","shop":"clothes"},"name":"Kiabi","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Palmers":{"tags":{"name":"Palmers","shop":"clothes"},"name":"Palmers","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Jack Wolfskin":{"tags":{"name":"Jack Wolfskin","shop":"clothes"},"name":"Jack Wolfskin","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/American Apparel":{"tags":{"name":"American Apparel","shop":"clothes"},"name":"American Apparel","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Desigual":{"tags":{"name":"Desigual","shop":"clothes"},"name":"Desigual","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Cubus":{"tags":{"name":"Cubus","shop":"clothes"},"name":"Cubus","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Gant":{"tags":{"name":"Gant","shop":"clothes"},"name":"Gant","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Tom Tailor":{"tags":{"name":"Tom Tailor","shop":"clothes"},"name":"Tom Tailor","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Topshop":{"tags":{"name":"Topshop","shop":"clothes"},"name":"Topshop","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Bershka":{"tags":{"name":"Bershka","shop":"clothes"},"name":"Bershka","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Burlington Coat Factory":{"tags":{"name":"Burlington Coat Factory","shop":"clothes"},"name":"Burlington Coat Factory","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Jules":{"tags":{"name":"Jules","shop":"clothes"},"name":"Jules","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Guess":{"tags":{"name":"Guess","shop":"clothes"},"name":"Guess","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Jennyfer":{"tags":{"name":"Jennyfer","shop":"clothes"},"name":"Jennyfer","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Pepco":{"tags":{"name":"Pepco","shop":"clothes"},"name":"Pepco","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Orsay":{"tags":{"name":"Orsay","shop":"clothes"},"name":"Orsay","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Tezenis":{"tags":{"name":"Tezenis","shop":"clothes"},"name":"Tezenis","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Forever 21":{"tags":{"name":"Forever 21","shop":"clothes"},"name":"Forever 21","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Mark's":{"tags":{"name":"Mark's","shop":"clothes"},"name":"Mark's","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Triumph":{"tags":{"name":"Triumph","shop":"clothes"},"name":"Triumph","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Timberland":{"tags":{"name":"Timberland","shop":"clothes"},"name":"Timberland","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Superdry":{"tags":{"name":"Superdry","shop":"clothes"},"name":"Superdry","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/AOKI":{"tags":{"name":"AOKI","shop":"clothes"},"name":"AOKI","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Calzedonia":{"tags":{"name":"Calzedonia","shop":"clothes"},"name":"Calzedonia","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Intimissimi":{"tags":{"name":"Intimissimi","shop":"clothes"},"name":"Intimissimi","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Orchestra":{"tags":{"name":"Orchestra","shop":"clothes"},"name":"Orchestra","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/United Colors of Benetton":{"tags":{"name":"United Colors of Benetton","shop":"clothes"},"name":"United Colors of Benetton","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/洋服の青山":{"tags":{"name":"洋服の青山","shop":"clothes"},"name":"洋服の青山","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Levi's":{"tags":{"name":"Levi's","shop":"clothes"},"name":"Levi's","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Petit Bateau":{"tags":{"name":"Petit Bateau","shop":"clothes"},"name":"Petit Bateau","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Diesel":{"tags":{"name":"Diesel","shop":"clothes"},"name":"Diesel","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/American Eagle Outfitters":{"tags":{"name":"American Eagle Outfitters","shop":"clothes"},"name":"American Eagle Outfitters","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Celio":{"tags":{"name":"Celio","shop":"clothes"},"name":"Celio","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Camaïeu":{"tags":{"name":"Camaïeu","shop":"clothes"},"name":"Camaïeu","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Lacoste":{"tags":{"name":"Lacoste","shop":"clothes"},"name":"Lacoste","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/WE":{"tags":{"name":"WE","shop":"clothes"},"name":"WE","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Men's Wearhouse":{"tags":{"name":"Men's Wearhouse","shop":"clothes"},"name":"Men's Wearhouse","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Sergent Major":{"tags":{"name":"Sergent Major","shop":"clothes"},"name":"Sergent Major","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Jeans Fritz":{"tags":{"name":"Jeans Fritz","shop":"clothes"},"name":"Jeans Fritz","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Ross Dress for Less":{"tags":{"name":"Ross Dress for Less","shop":"clothes"},"name":"Ross Dress for Less","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Promod":{"tags":{"name":"Promod","shop":"clothes"},"name":"Promod","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Street One":{"tags":{"name":"Street One","shop":"clothes"},"name":"Street One","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/TJ Maxx":{"tags":{"name":"TJ Maxx","shop":"clothes"},"name":"TJ Maxx","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/ユニクロ":{"tags":{"name":"ユニクロ","shop":"clothes"},"name":"ユニクロ","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Engbers":{"tags":{"name":"Engbers","shop":"clothes"},"name":"Engbers","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Only":{"tags":{"name":"Only","shop":"clothes"},"name":"Only","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Marc O'Polo":{"tags":{"name":"Marc O'Polo","shop":"clothes"},"name":"Marc O'Polo","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Banana Republic":{"tags":{"name":"Banana Republic","shop":"clothes"},"name":"Banana Republic","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Одежда":{"tags":{"name":"Одежда","shop":"clothes"},"name":"Одежда","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Marshalls":{"tags":{"name":"Marshalls","shop":"clothes"},"name":"Marshalls","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/La Halle":{"tags":{"name":"La Halle","shop":"clothes"},"name":"La Halle","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Peacocks":{"tags":{"name":"Peacocks","shop":"clothes"},"name":"Peacocks","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Camaieu":{"tags":{"name":"Camaieu","shop":"clothes"},"name":"Camaieu","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Justice":{"tags":{"name":"Justice","shop":"clothes"},"name":"Justice","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Massimo Dutti":{"tags":{"name":"Massimo Dutti","shop":"clothes"},"name":"Massimo Dutti","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Cache Cache":{"tags":{"name":"Cache Cache","shop":"clothes"},"name":"Cache Cache","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Женская одежда":{"tags":{"name":"Женская одежда","shop":"clothes"},"name":"Женская одежда","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Victoria's Secret":{"tags":{"name":"Victoria's Secret","shop":"clothes"},"name":"Victoria's Secret","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Спецодежда":{"tags":{"name":"Спецодежда","shop":"clothes"},"name":"Спецодежда","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/西松屋":{"tags":{"name":"西松屋","shop":"clothes"},"name":"西松屋","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Calvin Klein":{"tags":{"name":"Calvin Klein","shop":"clothes"},"name":"Calvin Klein","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Stradivarius":{"tags":{"name":"Stradivarius","shop":"clothes"},"name":"Stradivarius","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Stefanel":{"tags":{"name":"Stefanel","shop":"clothes"},"name":"Stefanel","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Gina Laura":{"tags":{"name":"Gina Laura","shop":"clothes"},"name":"Gina Laura","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Chico's":{"tags":{"name":"Chico's","shop":"clothes"},"name":"Chico's","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Caroll":{"tags":{"name":"Caroll","shop":"clothes"},"name":"Caroll","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/しまむら":{"tags":{"name":"しまむら","shop":"clothes"},"name":"しまむら","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Gémo":{"tags":{"name":"Gémo","shop":"clothes"},"name":"Gémo","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/ワークマン":{"tags":{"name":"ワークマン","shop":"clothes"},"name":"ワークマン","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Mim":{"tags":{"name":"Mim","shop":"clothes"},"name":"Mim","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Cropp":{"tags":{"name":"Cropp","shop":"clothes"},"name":"Cropp","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/clothes/Toko Pakaian":{"tags":{"name":"Toko Pakaian","shop":"clothes"},"name":"Toko Pakaian","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bookmaker/Paddy Power":{"tags":{"name":"Paddy Power","shop":"bookmaker"},"name":"Paddy Power","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bookmaker/Ladbrokes":{"tags":{"name":"Ladbrokes","shop":"bookmaker"},"name":"Ladbrokes","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bookmaker/Betfred":{"tags":{"name":"Betfred","shop":"bookmaker"},"name":"Betfred","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bookmaker/William Hill":{"tags":{"name":"William Hill","shop":"bookmaker"},"name":"William Hill","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bookmaker/Coral":{"tags":{"name":"Coral","shop":"bookmaker"},"name":"Coral","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video_games/GameStop":{"tags":{"name":"GameStop","shop":"video_games"},"name":"GameStop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video_games/Game Stop":{"tags":{"name":"Game Stop","shop":"video_games"},"name":"Game Stop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video_games/EB Games":{"tags":{"name":"EB Games","shop":"video_games"},"name":"EB Games","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video_games/Micromania":{"tags":{"name":"Micromania","shop":"video_games"},"name":"Micromania","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video_games/Gamestop":{"tags":{"name":"Gamestop","shop":"video_games"},"name":"Gamestop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/REWE Getränkemarkt":{"tags":{"name":"REWE Getränkemarkt","shop":"beverages"},"name":"REWE Getränkemarkt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/Getränke Hoffmann":{"tags":{"name":"Getränke Hoffmann","shop":"beverages"},"name":"Getränke Hoffmann","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/Orterer Getränkemarkt":{"tags":{"name":"Orterer Getränkemarkt","shop":"beverages"},"name":"Orterer Getränkemarkt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/Rewe Getränkemarkt":{"tags":{"name":"Rewe Getränkemarkt","shop":"beverages"},"name":"Rewe Getränkemarkt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/Getränkemarkt":{"tags":{"name":"Getränkemarkt","shop":"beverages"},"name":"Getränkemarkt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/Fristo":{"tags":{"name":"Fristo","shop":"beverages"},"name":"Fristo","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/Trinkgut":{"tags":{"name":"Trinkgut","shop":"beverages"},"name":"Trinkgut","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/Dursty":{"tags":{"name":"Dursty","shop":"beverages"},"name":"Dursty","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/Getränkeland":{"tags":{"name":"Getränkeland","shop":"beverages"},"name":"Getränkeland","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/Edeka Getränkemarkt":{"tags":{"name":"Edeka Getränkemarkt","shop":"beverages"},"name":"Edeka Getränkemarkt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beverages/trinkgut":{"tags":{"name":"trinkgut","shop":"beverages"},"name":"trinkgut","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Fressnapf":{"tags":{"name":"Fressnapf","shop":"pet"},"name":"Fressnapf","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/PetSmart":{"tags":{"name":"PetSmart","shop":"pet"},"name":"PetSmart","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Pet Valu":{"tags":{"name":"Pet Valu","shop":"pet"},"name":"Pet Valu","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Das Futterhaus":{"tags":{"name":"Das Futterhaus","shop":"pet"},"name":"Das Futterhaus","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Pets at Home":{"tags":{"name":"Pets at Home","shop":"pet"},"name":"Pets at Home","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Petco":{"tags":{"name":"Petco","shop":"pet"},"name":"Petco","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pet/Зоотовары":{"tags":{"name":"Зоотовары","shop":"pet"},"name":"Зоотовары","icon":"dog-park","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/butcher/Boucherie":{"tags":{"name":"Boucherie","shop":"butcher"},"name":"Boucherie","icon":"slaughterhouse","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/butcher/Carniceria":{"tags":{"name":"Carniceria","shop":"butcher"},"name":"Carniceria","icon":"slaughterhouse","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/butcher/Мясо":{"tags":{"name":"Мясо","shop":"butcher"},"name":"Мясо","icon":"slaughterhouse","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/butcher/Великолукский мясокомбинат":{"tags":{"name":"Великолукский мясокомбинат","shop":"butcher"},"name":"Великолукский мясокомбинат","icon":"slaughterhouse","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/butcher/Мясная лавка":{"tags":{"name":"Мясная лавка","shop":"butcher"},"name":"Мясная лавка","icon":"slaughterhouse","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/butcher/Macelleria":{"tags":{"name":"Macelleria","shop":"butcher"},"name":"Macelleria","icon":"slaughterhouse","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/butcher/Ариант":{"tags":{"name":"Ариант","shop":"butcher"},"name":"Ариант","icon":"slaughterhouse","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/butcher/Свежее мясо":{"tags":{"name":"Свежее мясо","shop":"butcher"},"name":"Свежее мясо","icon":"slaughterhouse","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/tobacco/Estanco":{"tags":{"name":"Estanco","shop":"tobacco"},"name":"Estanco","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/tobacco/Tabacchi":{"tags":{"name":"Tabacchi","shop":"tobacco"},"name":"Tabacchi","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/tobacco/Табак":{"tags":{"name":"Табак","shop":"tobacco"},"name":"Табак","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/tobacco/Nemzeti Dohánybolt":{"tags":{"name":"Nemzeti Dohánybolt","shop":"tobacco"},"name":"Nemzeti Dohánybolt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/tobacco/Nemzeti dohánybolt":{"tags":{"name":"Nemzeti dohánybolt","shop":"tobacco"},"name":"Nemzeti dohánybolt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/laundry/Laundrette":{"tags":{"name":"Laundrette","shop":"laundry"},"name":"Laundrette","icon":"laundry","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/laundry/Coin Laundry":{"tags":{"name":"Coin Laundry","shop":"laundry"},"name":"Coin Laundry","icon":"laundry","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/laundry/Laverie":{"tags":{"name":"Laverie","shop":"laundry"},"name":"Laverie","icon":"laundry","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/laundry/Laundromat":{"tags":{"name":"Laundromat","shop":"laundry"},"name":"Laundromat","icon":"laundry","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/laundry/Lavanderia":{"tags":{"name":"Lavanderia","shop":"laundry"},"name":"Lavanderia","icon":"laundry","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/laundry/Laundry":{"tags":{"name":"Laundry","shop":"laundry"},"name":"Laundry","icon":"laundry","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Boots Opticians":{"tags":{"name":"Boots Opticians","shop":"optician"},"name":"Boots Opticians","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Fielmann":{"tags":{"name":"Fielmann","shop":"optician"},"name":"Fielmann","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Pearle":{"tags":{"name":"Pearle","shop":"optician"},"name":"Pearle","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Apollo":{"tags":{"name":"Apollo","shop":"optician"},"name":"Apollo","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Hakim Optical":{"tags":{"name":"Hakim Optical","shop":"optician"},"name":"Hakim Optical","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/メガネスーパー":{"tags":{"name":"メガネスーパー","shop":"optician"},"name":"メガネスーパー","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Vision Express":{"tags":{"name":"Vision Express","shop":"optician"},"name":"Vision Express","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Générale d'Optique":{"tags":{"name":"Générale d'Optique","shop":"optician"},"name":"Générale d'Optique","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Optic 2000":{"tags":{"name":"Optic 2000","shop":"optician"},"name":"Optic 2000","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Alain Afflelou":{"tags":{"name":"Alain Afflelou","shop":"optician"},"name":"Alain Afflelou","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Specsavers":{"tags":{"name":"Specsavers","shop":"optician"},"name":"Specsavers","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Krys":{"tags":{"name":"Krys","shop":"optician"},"name":"Krys","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Optical Center":{"tags":{"name":"Optical Center","shop":"optician"},"name":"Optical Center","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Atol":{"tags":{"name":"Atol","shop":"optician"},"name":"Atol","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Les Opticiens Mutualistes":{"tags":{"name":"Les Opticiens Mutualistes","shop":"optician"},"name":"Les Opticiens Mutualistes","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Hans Anders":{"tags":{"name":"Hans Anders","shop":"optician"},"name":"Hans Anders","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/Optika":{"tags":{"name":"Optika","shop":"optician"},"name":"Optika","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/眼鏡市場":{"tags":{"name":"眼鏡市場","shop":"optician"},"name":"眼鏡市場","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/optician/แว่นท็อปเจริญ":{"tags":{"name":"แว่นท็อปเจริญ","shop":"optician"},"name":"แว่นท็อปเจริญ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hardware/1000 мелочей":{"tags":{"name":"1000 мелочей","shop":"hardware"},"name":"1000 мелочей","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hardware/Хозтовары":{"tags":{"name":"Хозтовары","shop":"hardware"},"name":"Хозтовары","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hardware/Ferretería":{"tags":{"name":"Ferretería","shop":"hardware"},"name":"Ferretería","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hardware/Hardware":{"tags":{"name":"Hardware","shop":"hardware"},"name":"Hardware","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hardware/Quincaillerie":{"tags":{"name":"Quincaillerie","shop":"hardware"},"name":"Quincaillerie","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hardware/Сантехника":{"tags":{"name":"Сантехника","shop":"hardware"},"name":"Сантехника","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hardware/Ferreteria":{"tags":{"name":"Ferreteria","shop":"hardware"},"name":"Ferreteria","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Deichmann":{"tags":{"name":"Deichmann","shop":"shoes"},"name":"Deichmann","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Reno":{"tags":{"name":"Reno","shop":"shoes"},"name":"Reno","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Payless ShoeSource":{"tags":{"name":"Payless ShoeSource","shop":"shoes"},"name":"Payless ShoeSource","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Ecco":{"tags":{"name":"Ecco","shop":"shoes"},"name":"Ecco","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Clarks":{"tags":{"name":"Clarks","shop":"shoes"},"name":"Clarks","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/La Halle aux Chaussures":{"tags":{"name":"La Halle aux Chaussures","shop":"shoes"},"name":"La Halle aux Chaussures","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/東京靴流通センター":{"tags":{"name":"東京靴流通センター","shop":"shoes"},"name":"東京靴流通センター","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Brantano":{"tags":{"name":"Brantano","shop":"shoes"},"name":"Brantano","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Tamaris":{"tags":{"name":"Tamaris","shop":"shoes"},"name":"Tamaris","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Geox":{"tags":{"name":"Geox","shop":"shoes"},"name":"Geox","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Salamander":{"tags":{"name":"Salamander","shop":"shoes"},"name":"Salamander","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Payless Shoe Source":{"tags":{"name":"Payless Shoe Source","shop":"shoes"},"name":"Payless Shoe Source","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Famous Footwear":{"tags":{"name":"Famous Footwear","shop":"shoes"},"name":"Famous Footwear","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Quick Schuh":{"tags":{"name":"Quick Schuh","shop":"shoes"},"name":"Quick Schuh","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Foot Locker":{"tags":{"name":"Foot Locker","shop":"shoes"},"name":"Foot Locker","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Shoe Zone":{"tags":{"name":"Shoe Zone","shop":"shoes"},"name":"Shoe Zone","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Siemes Schuhcenter":{"tags":{"name":"Siemes Schuhcenter","shop":"shoes"},"name":"Siemes Schuhcenter","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Юничел":{"tags":{"name":"Юничел","shop":"shoes"},"name":"Юничел","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Ремонт обуви":{"tags":{"name":"Ремонт обуви","shop":"shoes"},"name":"Ремонт обуви","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Rieker":{"tags":{"name":"Rieker","shop":"shoes"},"name":"Rieker","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Aldo":{"tags":{"name":"Aldo","shop":"shoes"},"name":"Aldo","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Bata":{"tags":{"name":"Bata","shop":"shoes"},"name":"Bata","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Eram":{"tags":{"name":"Eram","shop":"shoes"},"name":"Eram","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/CCC":{"tags":{"name":"CCC","shop":"shoes"},"name":"CCC","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Scapino":{"tags":{"name":"Scapino","shop":"shoes"},"name":"Scapino","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/ЦентрОбувь":{"tags":{"name":"ЦентрОбувь","shop":"shoes"},"name":"ЦентрОбувь","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/shoes/Chaussea":{"tags":{"name":"Chaussea","shop":"shoes"},"name":"Chaussea","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/La Grande Récré":{"tags":{"name":"La Grande Récré","shop":"toys"},"name":"La Grande Récré","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Toys R Us":{"tags":{"name":"Toys R Us","shop":"toys"},"name":"Toys R Us","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Intertoys":{"tags":{"name":"Intertoys","shop":"toys"},"name":"Intertoys","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Bart Smit":{"tags":{"name":"Bart Smit","shop":"toys"},"name":"Bart Smit","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Детский мир":{"tags":{"name":"Детский мир","shop":"toys"},"name":"Детский мир","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Maxi Toys":{"tags":{"name":"Maxi Toys","shop":"toys"},"name":"Maxi Toys","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Игрушки":{"tags":{"name":"Игрушки","shop":"toys"},"name":"Игрушки","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/King Jouet":{"tags":{"name":"King Jouet","shop":"toys"},"name":"King Jouet","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/toys/Dráčik":{"tags":{"name":"Dráčik","shop":"toys"},"name":"Dráčik","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/travel_agency/Flight Centre":{"tags":{"name":"Flight Centre","shop":"travel_agency"},"name":"Flight Centre","icon":"suitcase","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/travel_agency/Thomson":{"tags":{"name":"Thomson","shop":"travel_agency"},"name":"Thomson","icon":"suitcase","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/travel_agency/Thomas Cook":{"tags":{"name":"Thomas Cook","shop":"travel_agency"},"name":"Thomas Cook","icon":"suitcase","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/travel_agency/First Reisebüro":{"tags":{"name":"First Reisebüro","shop":"travel_agency"},"name":"First Reisebüro","icon":"suitcase","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/travel_agency/TUI":{"tags":{"name":"TUI","shop":"travel_agency"},"name":"TUI","icon":"suitcase","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/travel_agency/The Co-operative Travel":{"tags":{"name":"The Co-operative Travel","shop":"travel_agency"},"name":"The Co-operative Travel","icon":"suitcase","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/585":{"tags":{"name":"585","shop":"jewelry"},"name":"585","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/Bijou Brigitte":{"tags":{"name":"Bijou Brigitte","shop":"jewelry"},"name":"Bijou Brigitte","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/Christ":{"tags":{"name":"Christ","shop":"jewelry"},"name":"Christ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/Claire's":{"tags":{"name":"Claire's","shop":"jewelry"},"name":"Claire's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/Swarovski":{"tags":{"name":"Swarovski","shop":"jewelry"},"name":"Swarovski","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/Pandora":{"tags":{"name":"Pandora","shop":"jewelry"},"name":"Pandora","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/Адамас":{"tags":{"name":"Адамас","shop":"jewelry"},"name":"Адамас","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/jewelry/Kay Jewelers":{"tags":{"name":"Kay Jewelers","shop":"jewelry"},"name":"Kay Jewelers","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/carpet/Carpet Right":{"tags":{"name":"Carpet Right","shop":"carpet"},"name":"Carpet Right","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beauty/Yves Rocher":{"tags":{"name":"Yves Rocher","shop":"beauty"},"name":"Yves Rocher","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beauty/Nails":{"tags":{"name":"Nails","shop":"beauty"},"name":"Nails","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/beauty/Sally Beauty Supply":{"tags":{"name":"Sally Beauty Supply","shop":"beauty"},"name":"Sally Beauty Supply","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_parts/Автозапчасти":{"tags":{"name":"Автозапчасти","shop":"car_parts"},"name":"Автозапчасти","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_parts/AutoZone":{"tags":{"name":"AutoZone","shop":"car_parts"},"name":"AutoZone","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_parts/O'Reilly Auto Parts":{"tags":{"name":"O'Reilly Auto Parts","shop":"car_parts"},"name":"O'Reilly Auto Parts","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_parts/NAPA Auto Parts":{"tags":{"name":"NAPA Auto Parts","shop":"car_parts"},"name":"NAPA Auto Parts","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_parts/タイヤ館":{"tags":{"name":"タイヤ館","shop":"car_parts"},"name":"タイヤ館","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_parts/Repco":{"tags":{"name":"Repco","shop":"car_parts"},"name":"Repco","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_parts/オートバックス":{"tags":{"name":"オートバックス","shop":"car_parts"},"name":"オートバックス","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_parts/イエローハット":{"tags":{"name":"イエローハット","shop":"car_parts"},"name":"イエローハット","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_parts/Tokić":{"tags":{"name":"Tokić","shop":"car_parts"},"name":"Tokić","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/car_parts/repuestos automotrices":{"tags":{"name":"repuestos automotrices","shop":"car_parts"},"name":"repuestos automotrices","icon":"car","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video/World of Video":{"tags":{"name":"World of Video","shop":"video"},"name":"World of Video","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video/Family Video":{"tags":{"name":"Family Video","shop":"video"},"name":"Family Video","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video/Blockbuster":{"tags":{"name":"Blockbuster","shop":"video"},"name":"Blockbuster","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video/TSUTAYA":{"tags":{"name":"TSUTAYA","shop":"video"},"name":"TSUTAYA","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/video/ゲオ":{"tags":{"name":"ゲオ","shop":"video"},"name":"ゲオ","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/Monceau Fleurs":{"tags":{"name":"Monceau Fleurs","shop":"florist"},"name":"Monceau Fleurs","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/Blumenladen":{"tags":{"name":"Blumenladen","shop":"florist"},"name":"Blumenladen","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/Interflora":{"tags":{"name":"Interflora","shop":"florist"},"name":"Interflora","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/Blume 2000":{"tags":{"name":"Blume 2000","shop":"florist"},"name":"Blume 2000","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/Цветы":{"tags":{"name":"Цветы","shop":"florist"},"name":"Цветы","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/Blumen":{"tags":{"name":"Blumen","shop":"florist"},"name":"Blumen","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/Blumen Risse":{"tags":{"name":"Blumen Risse","shop":"florist"},"name":"Blumen Risse","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/상록식물원 (Sangnok Florist)":{"tags":{"name":"상록식물원 (Sangnok Florist)","shop":"florist"},"name":"상록식물원 (Sangnok Florist)","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/Florărie":{"tags":{"name":"Florărie","shop":"florist"},"name":"Florărie","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/Kwiaciarnia":{"tags":{"name":"Kwiaciarnia","shop":"florist"},"name":"Kwiaciarnia","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/florist/Virágbolt":{"tags":{"name":"Virágbolt","shop":"florist"},"name":"Virágbolt","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/tailor/Änderungsschneiderei":{"tags":{"name":"Änderungsschneiderei","shop":"tailor"},"name":"Änderungsschneiderei","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/tailor/Ателье":{"tags":{"name":"Ателье","shop":"tailor"},"name":"Ателье","icon":"clothing-store","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hearing_aids/Kind Hörgeräte":{"tags":{"name":"Kind Hörgeräte","shop":"hearing_aids"},"name":"Kind Hörgeräte","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hearing_aids/Amplifon":{"tags":{"name":"Amplifon","shop":"hearing_aids"},"name":"Amplifon","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Klier":{"tags":{"name":"Klier","shop":"hairdresser"},"name":"Klier","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Klipp":{"tags":{"name":"Klipp","shop":"hairdresser"},"name":"Klipp","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Toni & Guy":{"tags":{"name":"Toni & Guy","shop":"hairdresser"},"name":"Toni & Guy","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Haarscharf":{"tags":{"name":"Haarscharf","shop":"hairdresser"},"name":"Haarscharf","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Supercuts":{"tags":{"name":"Supercuts","shop":"hairdresser"},"name":"Supercuts","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Hairkiller":{"tags":{"name":"Hairkiller","shop":"hairdresser"},"name":"Hairkiller","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Great Clips":{"tags":{"name":"Great Clips","shop":"hairdresser"},"name":"Great Clips","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Парикмахерская":{"tags":{"name":"Парикмахерская","shop":"hairdresser"},"name":"Парикмахерская","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Haarmonie":{"tags":{"name":"Haarmonie","shop":"hairdresser"},"name":"Haarmonie","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Top Hair":{"tags":{"name":"Top Hair","shop":"hairdresser"},"name":"Top Hair","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Figaro":{"tags":{"name":"Figaro","shop":"hairdresser"},"name":"Figaro","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Перукарня":{"tags":{"name":"Перукарня","shop":"hairdresser"},"name":"Перукарня","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Tchip":{"tags":{"name":"Tchip","shop":"hairdresser"},"name":"Tchip","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Jean Louis David":{"tags":{"name":"Jean Louis David","shop":"hairdresser"},"name":"Jean Louis David","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/The Barber Shop":{"tags":{"name":"The Barber Shop","shop":"hairdresser"},"name":"The Barber Shop","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Стиль":{"tags":{"name":"Стиль","shop":"hairdresser"},"name":"Стиль","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Sport Clips":{"tags":{"name":"Sport Clips","shop":"hairdresser"},"name":"Sport Clips","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Franck Provost":{"tags":{"name":"Franck Provost","shop":"hairdresser"},"name":"Franck Provost","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Hair Cuttery":{"tags":{"name":"Hair Cuttery","shop":"hairdresser"},"name":"Hair Cuttery","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Cost Cutters":{"tags":{"name":"Cost Cutters","shop":"hairdresser"},"name":"Cost Cutters","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Coiffure":{"tags":{"name":"Coiffure","shop":"hairdresser"},"name":"Coiffure","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Шарм":{"tags":{"name":"Шарм","shop":"hairdresser"},"name":"Шарм","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Салон красоты":{"tags":{"name":"Салон красоты","shop":"hairdresser"},"name":"Салон красоты","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/hairdresser/Peluquería":{"tags":{"name":"Peluquería","shop":"hairdresser"},"name":"Peluquería","icon":"hairdresser","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bed/Matratzen Concord":{"tags":{"name":"Matratzen Concord","shop":"bed"},"name":"Matratzen Concord","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/bed/Mattress Firm":{"tags":{"name":"Mattress Firm","shop":"bed"},"name":"Mattress Firm","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/copyshop/FedEx Office Print and Ship Center":{"tags":{"name":"FedEx Office Print and Ship Center","shop":"copyshop"},"name":"FedEx Office Print and Ship Center","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/erotic/Orion":{"tags":{"name":"Orion","shop":"erotic"},"name":"Orion","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/money_lender/Money Mart":{"tags":{"name":"Money Mart","shop":"money_lender"},"name":"Money Mart","icon":"bank","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours","currency_multi"],"suggestion":true},"shop/cosmetics/The Body Shop":{"tags":{"name":"The Body Shop","shop":"cosmetics"},"name":"The Body Shop","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/cosmetics/Sephora":{"tags":{"name":"Sephora","shop":"cosmetics"},"name":"Sephora","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/cosmetics/Л'Этуаль":{"tags":{"name":"Л'Этуаль","shop":"cosmetics"},"name":"Л'Этуаль","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/confectionery/Thorntons":{"tags":{"name":"Thorntons","shop":"confectionery"},"name":"Thorntons","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/confectionery/Hussel":{"tags":{"name":"Hussel","shop":"confectionery"},"name":"Hussel","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/confectionery/Leonidas":{"tags":{"name":"Leonidas","shop":"confectionery"},"name":"Leonidas","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/confectionery/Fagyizó":{"tags":{"name":"Fagyizó","shop":"confectionery"},"name":"Fagyizó","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/music/HMV":{"tags":{"name":"HMV","shop":"music"},"name":"HMV","icon":"music","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/motorcycle/Harley Davidson":{"tags":{"name":"Harley Davidson","shop":"motorcycle"},"name":"Harley Davidson","icon":"scooter","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/motorcycle/Yamaha":{"tags":{"name":"Yamaha","shop":"motorcycle"},"name":"Yamaha","icon":"scooter","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/newsagent/Relay":{"tags":{"name":"Relay","shop":"newsagent"},"name":"Relay","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/newsagent/WH Smith":{"tags":{"name":"WH Smith","shop":"newsagent"},"name":"WH Smith","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/newsagent/Maison de la Presse":{"tags":{"name":"Maison de la Presse","shop":"newsagent"},"name":"Maison de la Presse","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/newsagent/WHSmith":{"tags":{"name":"WHSmith","shop":"newsagent"},"name":"WHSmith","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/newsagent/Печать":{"tags":{"name":"Печать","shop":"newsagent"},"name":"Печать","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/newsagent/Tabac Presse":{"tags":{"name":"Tabac Presse","shop":"newsagent"},"name":"Tabac Presse","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/newsagent/Роспечать":{"tags":{"name":"Роспечать","shop":"newsagent"},"name":"Роспечать","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/newsagent/Союзпечать":{"tags":{"name":"Союзпечать","shop":"newsagent"},"name":"Союзпечать","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/newsagent/Edicola":{"tags":{"name":"Edicola","shop":"newsagent"},"name":"Edicola","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/newsagent/Витебскоблсоюзпечать":{"tags":{"name":"Витебскоблсоюзпечать","shop":"newsagent"},"name":"Витебскоблсоюзпечать","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/lottery/Lotto":{"tags":{"name":"Lotto","shop":"lottery"},"name":"Lotto","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/lottery/ONCE":{"tags":{"name":"ONCE","shop":"lottery"},"name":"ONCE","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/lottery/Lottózó":{"tags":{"name":"Lottózó","shop":"lottery"},"name":"Lottózó","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/garden_centre/Dehner":{"tags":{"name":"Dehner","shop":"garden_centre"},"name":"Dehner","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/garden_centre/Jardiland":{"tags":{"name":"Jardiland","shop":"garden_centre"},"name":"Jardiland","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/garden_centre/Gamm Vert":{"tags":{"name":"Gamm Vert","shop":"garden_centre"},"name":"Gamm Vert","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/garden_centre/Point Vert":{"tags":{"name":"Point Vert","shop":"garden_centre"},"name":"Point Vert","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/tyres/Discount Tire":{"tags":{"name":"Discount Tire","shop":"tyres"},"name":"Discount Tire","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/tyres/Borracharia":{"tags":{"name":"Borracharia","shop":"tyres"},"name":"Borracharia","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/tyres/Вулканизация":{"tags":{"name":"Вулканизация","shop":"tyres"},"name":"Вулканизация","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/baby_goods/Babies R Us":{"tags":{"name":"Babies R Us","shop":"baby_goods"},"name":"Babies R Us","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/craft/Michael's":{"tags":{"name":"Michael's","shop":"craft"},"name":"Michael's","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/craft/Michaels":{"tags":{"name":"Michaels","shop":"craft"},"name":"Michaels","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/craft/Hobby Lobby":{"tags":{"name":"Hobby Lobby","shop":"craft"},"name":"Hobby Lobby","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/outdoor/REI":{"tags":{"name":"REI","shop":"outdoor"},"name":"REI","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/outdoor/Mountain Warehouse":{"tags":{"name":"Mountain Warehouse","shop":"outdoor"},"name":"Mountain Warehouse","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/outdoor/Рыболов":{"tags":{"name":"Рыболов","shop":"outdoor"},"name":"Рыболов","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/houseware/Blokker":{"tags":{"name":"Blokker","shop":"houseware"},"name":"Blokker","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/houseware/Xenos":{"tags":{"name":"Xenos","shop":"houseware"},"name":"Xenos","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/houseware/Marskramer":{"tags":{"name":"Marskramer","shop":"houseware"},"name":"Marskramer","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/computer/PC World":{"tags":{"name":"PC World","shop":"computer"},"name":"PC World","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/computer/ДНС":{"tags":{"name":"ДНС","shop":"computer"},"name":"ДНС","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/computer/DNS":{"tags":{"name":"DNS","shop":"computer"},"name":"DNS","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/computer/Apple Store":{"tags":{"name":"Apple Store","shop":"computer"},"name":"Apple Store","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/interior_decoration/Depot":{"tags":{"name":"Depot","shop":"interior_decoration"},"name":"Depot","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/second_hand/Goodwill":{"tags":{"name":"Goodwill","shop":"second_hand"},"name":"Goodwill","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pawnbroker/Cash Converters":{"tags":{"name":"Cash Converters","shop":"pawnbroker"},"name":"Cash Converters","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/pawnbroker/Ломбард":{"tags":{"name":"Ломбард","shop":"pawnbroker"},"name":"Ломбард","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/farm/Hofladen":{"tags":{"name":"Hofladen","shop":"farm"},"name":"Hofladen","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/dry_cleaning/Химчистка":{"tags":{"name":"Химчистка","shop":"dry_cleaning"},"name":"Химчистка","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/dry_cleaning/Диана":{"tags":{"name":"Диана","shop":"dry_cleaning"},"name":"Диана","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/dry_cleaning/Cleaners":{"tags":{"name":"Cleaners","shop":"dry_cleaning"},"name":"Cleaners","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/dry_cleaning/ホワイト急便":{"tags":{"name":"ホワイト急便","shop":"dry_cleaning"},"name":"ホワイト急便","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/paint/Sherwin-Williams":{"tags":{"name":"Sherwin-Williams","shop":"paint"},"name":"Sherwin-Williams","icon":"water","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/paint/Comex":{"tags":{"name":"Comex","shop":"paint"},"name":"Comex","icon":"water","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/paint/Sherwin Williams":{"tags":{"name":"Sherwin Williams","shop":"paint"},"name":"Sherwin Williams","icon":"water","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/funeral_directors/Ритуальные услуги":{"tags":{"name":"Ритуальные услуги","shop":"funeral_directors"},"name":"Ритуальные услуги","icon":"cemetery","geometry":["point","area"],"fields":["operator","address","building_area","religion","denomination"],"suggestion":true},"shop/funeral_directors/The Co-operative Funeralcare":{"tags":{"name":"The Co-operative Funeralcare","shop":"funeral_directors"},"name":"The Co-operative Funeralcare","icon":"cemetery","geometry":["point","area"],"fields":["operator","address","building_area","religion","denomination"],"suggestion":true},"shop/gift/Hallmark":{"tags":{"name":"Hallmark","shop":"gift"},"name":"Hallmark","icon":"gift","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/gift/Сувениры":{"tags":{"name":"Сувениры","shop":"gift"},"name":"Сувениры","icon":"gift","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/gift/Card Factory":{"tags":{"name":"Card Factory","shop":"gift"},"name":"Card Factory","icon":"gift","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/gift/Gift Shop":{"tags":{"name":"Gift Shop","shop":"gift"},"name":"Gift Shop","icon":"gift","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/ticket/Проездные билеты":{"tags":{"name":"Проездные билеты","shop":"ticket"},"name":"Проездные билеты","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/ticket/Boutique Grandes Lignes":{"tags":{"name":"Boutique Grandes Lignes","shop":"ticket"},"name":"Boutique Grandes Lignes","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/ticket/Guichet Transilien":{"tags":{"name":"Guichet Transilien","shop":"ticket"},"name":"Guichet Transilien","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/greengrocer/Овощи-фрукты":{"tags":{"name":"Овощи-фрукты","shop":"greengrocer"},"name":"Овощи-фрукты","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/greengrocer/Zöldséges":{"tags":{"name":"Zöldséges","shop":"greengrocer"},"name":"Zöldséges","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/fabric/Ткани":{"tags":{"name":"Ткани","shop":"fabric"},"name":"Ткани","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/frame/rumah penduduk":{"tags":{"name":"rumah penduduk","shop":"frame"},"name":"rumah penduduk","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"shop/kitchen/Home Utensils":{"tags":{"name":"Home Utensils","shop":"kitchen"},"name":"Home Utensils","icon":"shop","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"tourism/hotel/Holiday Inn":{"tags":{"name":"Holiday Inn","tourism":"hotel"},"name":"Holiday Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hotel Ibis":{"tags":{"name":"Hotel Ibis","tourism":"hotel"},"name":"Hotel Ibis","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Novotel":{"tags":{"name":"Novotel","tourism":"hotel"},"name":"Novotel","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Crowne Plaza":{"tags":{"name":"Crowne Plaza","tourism":"hotel"},"name":"Crowne Plaza","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Premier Inn":{"tags":{"name":"Premier Inn","tourism":"hotel"},"name":"Premier Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Holiday Inn Express":{"tags":{"name":"Holiday Inn Express","tourism":"hotel"},"name":"Holiday Inn Express","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Park Hotel":{"tags":{"name":"Park Hotel","tourism":"hotel"},"name":"Park Hotel","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Ibis":{"tags":{"name":"Ibis","tourism":"hotel"},"name":"Ibis","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Ibis Budget":{"tags":{"name":"Ibis Budget","tourism":"hotel"},"name":"Ibis Budget","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Travelodge":{"tags":{"name":"Travelodge","tourism":"hotel"},"name":"Travelodge","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/City Hotel":{"tags":{"name":"City Hotel","tourism":"hotel"},"name":"City Hotel","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hotel Royal":{"tags":{"name":"Hotel Royal","tourism":"hotel"},"name":"Hotel Royal","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Campanile":{"tags":{"name":"Campanile","tourism":"hotel"},"name":"Campanile","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Comfort Inn":{"tags":{"name":"Comfort Inn","tourism":"hotel"},"name":"Comfort Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Quality Inn & Suites":{"tags":{"name":"Quality Inn & Suites","tourism":"hotel"},"name":"Quality Inn & Suites","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Courtyard by Marriott":{"tags":{"name":"Courtyard by Marriott","tourism":"hotel"},"name":"Courtyard by Marriott","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Mercure":{"tags":{"name":"Mercure","tourism":"hotel"},"name":"Mercure","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hotel Europa":{"tags":{"name":"Hotel Europa","tourism":"hotel"},"name":"Hotel Europa","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Formule 1":{"tags":{"name":"Formule 1","tourism":"hotel"},"name":"Formule 1","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Grand Hotel":{"tags":{"name":"Grand Hotel","tourism":"hotel"},"name":"Grand Hotel","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hilton":{"tags":{"name":"Hilton","tourism":"hotel"},"name":"Hilton","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Courtyard Marriott":{"tags":{"name":"Courtyard Marriott","tourism":"hotel"},"name":"Courtyard Marriott","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hotel Krone":{"tags":{"name":"Hotel Krone","tourism":"hotel"},"name":"Hotel Krone","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Ramada":{"tags":{"name":"Ramada","tourism":"hotel"},"name":"Ramada","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Best Western":{"tags":{"name":"Best Western","tourism":"hotel"},"name":"Best Western","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Quality Inn":{"tags":{"name":"Quality Inn","tourism":"hotel"},"name":"Quality Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Days Inn":{"tags":{"name":"Days Inn","tourism":"hotel"},"name":"Days Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Royal Hotel":{"tags":{"name":"Royal Hotel","tourism":"hotel"},"name":"Royal Hotel","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Marriott":{"tags":{"name":"Marriott","tourism":"hotel"},"name":"Marriott","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Première Classe":{"tags":{"name":"Première Classe","tourism":"hotel"},"name":"Première Classe","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hotel Central":{"tags":{"name":"Hotel Central","tourism":"hotel"},"name":"Hotel Central","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hotel Victoria":{"tags":{"name":"Hotel Victoria","tourism":"hotel"},"name":"Hotel Victoria","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/東横イン":{"tags":{"name":"東横イン","tourism":"hotel"},"name":"東横イン","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Kyriad":{"tags":{"name":"Kyriad","tourism":"hotel"},"name":"Kyriad","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Parkhotel":{"tags":{"name":"Parkhotel","tourism":"hotel"},"name":"Parkhotel","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Extended Stay America":{"tags":{"name":"Extended Stay America","tourism":"hotel"},"name":"Extended Stay America","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hotel zur Post":{"tags":{"name":"Hotel zur Post","tourism":"hotel"},"name":"Hotel zur Post","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Fairfield Inn":{"tags":{"name":"Fairfield Inn","tourism":"hotel"},"name":"Fairfield Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hotel Post":{"tags":{"name":"Hotel Post","tourism":"hotel"},"name":"Hotel Post","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Staybridge Suites":{"tags":{"name":"Staybridge Suites","tourism":"hotel"},"name":"Staybridge Suites","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hotel Panorama":{"tags":{"name":"Hotel Panorama","tourism":"hotel"},"name":"Hotel Panorama","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hampton Inn & Suites":{"tags":{"name":"Hampton Inn & Suites","tourism":"hotel"},"name":"Hampton Inn & Suites","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hotel":{"tags":{"name":"Hotel","tourism":"hotel"},"name":"Hotel","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Sheraton":{"tags":{"name":"Sheraton","tourism":"hotel"},"name":"Sheraton","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hôtel Ibis":{"tags":{"name":"Hôtel Ibis","tourism":"hotel"},"name":"Hôtel Ibis","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Sleep Inn":{"tags":{"name":"Sleep Inn","tourism":"hotel"},"name":"Sleep Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Country Inn & Suites":{"tags":{"name":"Country Inn & Suites","tourism":"hotel"},"name":"Country Inn & Suites","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Comfort Suites":{"tags":{"name":"Comfort Suites","tourism":"hotel"},"name":"Comfort Suites","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Super 8":{"tags":{"name":"Super 8","tourism":"hotel"},"name":"Super 8","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Гостиница":{"tags":{"name":"Гостиница","tourism":"hotel"},"name":"Гостиница","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Residence Inn":{"tags":{"name":"Residence Inn","tourism":"hotel"},"name":"Residence Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Homewood Suites":{"tags":{"name":"Homewood Suites","tourism":"hotel"},"name":"Homewood Suites","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hilton Garden Inn":{"tags":{"name":"Hilton Garden Inn","tourism":"hotel"},"name":"Hilton Garden Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hôtel de France":{"tags":{"name":"Hôtel de France","tourism":"hotel"},"name":"Hôtel de France","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Hampton Inn":{"tags":{"name":"Hampton Inn","tourism":"hotel"},"name":"Hampton Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Embassy Suites":{"tags":{"name":"Embassy Suites","tourism":"hotel"},"name":"Embassy Suites","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Comfort Inn & Suites":{"tags":{"name":"Comfort Inn & Suites","tourism":"hotel"},"name":"Comfort Inn & Suites","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/La Quinta":{"tags":{"name":"La Quinta","tourism":"hotel"},"name":"La Quinta","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Holiday Inn Express & Suites":{"tags":{"name":"Holiday Inn Express & Suites","tourism":"hotel"},"name":"Holiday Inn Express & Suites","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/hotel/Fairfield Inn & Suites":{"tags":{"name":"Fairfield Inn & Suites","tourism":"hotel"},"name":"Fairfield Inn & Suites","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/motel/Motel":{"tags":{"name":"Motel","tourism":"motel"},"name":"Motel","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/motel/Econo Lodge":{"tags":{"name":"Econo Lodge","tourism":"motel"},"name":"Econo Lodge","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/motel/Motel 6":{"tags":{"name":"Motel 6","tourism":"motel"},"name":"Motel 6","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/motel/Rodeway Inn":{"tags":{"name":"Rodeway Inn","tourism":"motel"},"name":"Rodeway Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/motel/Budget Inn":{"tags":{"name":"Budget Inn","tourism":"motel"},"name":"Budget Inn","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/museum/Heimatmuseum":{"tags":{"name":"Heimatmuseum","tourism":"museum"},"name":"Heimatmuseum","icon":"museum","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"tourism/museum/Stadtmuseum":{"tags":{"name":"Stadtmuseum","tourism":"museum"},"name":"Stadtmuseum","icon":"museum","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"tourism/museum/Краеведческий музей":{"tags":{"name":"Краеведческий музей","tourism":"museum"},"name":"Краеведческий музей","icon":"museum","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"tourism/museum/Музей":{"tags":{"name":"Музей","tourism":"museum"},"name":"Музей","icon":"museum","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"tourism/museum/Tájház":{"tags":{"name":"Tájház","tourism":"museum"},"name":"Tájház","icon":"museum","geometry":["point","area"],"fields":["operator","address","building_area","opening_hours"],"suggestion":true},"tourism/attraction/Kursächsische Postmeilensäule":{"tags":{"name":"Kursächsische Postmeilensäule","tourism":"attraction"},"name":"Kursächsische Postmeilensäule","icon":"monument","geometry":["point","vertex","area"],"fields":["operator","address"],"suggestion":true},"tourism/attraction/Lavoir":{"tags":{"name":"Lavoir","tourism":"attraction"},"name":"Lavoir","icon":"monument","geometry":["point","vertex","area"],"fields":["operator","address"],"suggestion":true},"tourism/attraction/Sommerrodelbahn":{"tags":{"name":"Sommerrodelbahn","tourism":"attraction"},"name":"Sommerrodelbahn","icon":"monument","geometry":["point","vertex","area"],"fields":["operator","address"],"suggestion":true},"tourism/attraction/Колесо обозрения":{"tags":{"name":"Колесо обозрения","tourism":"attraction"},"name":"Колесо обозрения","icon":"monument","geometry":["point","vertex","area"],"fields":["operator","address"],"suggestion":true},"tourism/attraction/дольмен":{"tags":{"name":"дольмен","tourism":"attraction"},"name":"дольмен","icon":"monument","geometry":["point","vertex","area"],"fields":["operator","address"],"suggestion":true},"tourism/attraction/Усадьба":{"tags":{"name":"Усадьба","tourism":"attraction"},"name":"Усадьба","icon":"monument","geometry":["point","vertex","area"],"fields":["operator","address"],"suggestion":true},"tourism/attraction/Кладбище еврейское":{"tags":{"name":"Кладбище еврейское","tourism":"attraction"},"name":"Кладбище еврейское","icon":"monument","geometry":["point","vertex","area"],"fields":["operator","address"],"suggestion":true},"tourism/attraction/Приусадебный парк":{"tags":{"name":"Приусадебный парк","tourism":"attraction"},"name":"Приусадебный парк","icon":"monument","geometry":["point","vertex","area"],"fields":["operator","address"],"suggestion":true},"tourism/attraction/Хозяйственный двор":{"tags":{"name":"Хозяйственный двор","tourism":"attraction"},"name":"Хозяйственный двор","icon":"monument","geometry":["point","vertex","area"],"fields":["operator","address"],"suggestion":true},"tourism/attraction/OWŚ":{"tags":{"name":"OWŚ","tourism":"attraction"},"name":"OWŚ","icon":"monument","geometry":["point","vertex","area"],"fields":["operator","address"],"suggestion":true},"tourism/camp_site/Camping":{"tags":{"name":"Camping","tourism":"camp_site"},"name":"Camping","icon":"campsite","geometry":["point","vertex","area"],"fields":["operator","address","capacity","fee"],"suggestion":true},"tourism/camp_site/Camping Municipal":{"tags":{"name":"Camping Municipal","tourism":"camp_site"},"name":"Camping Municipal","icon":"campsite","geometry":["point","vertex","area"],"fields":["operator","address","capacity","fee"],"suggestion":true},"tourism/camp_site/Camping municipal":{"tags":{"name":"Camping municipal","tourism":"camp_site"},"name":"Camping municipal","icon":"campsite","geometry":["point","vertex","area"],"fields":["operator","address","capacity","fee"],"suggestion":true},"tourism/camp_site/Campsite":{"tags":{"name":"Campsite","tourism":"camp_site"},"name":"Campsite","icon":"campsite","geometry":["point","vertex","area"],"fields":["operator","address","capacity","fee"],"suggestion":true},"tourism/chalet/Ferienwohnung":{"tags":{"name":"Ferienwohnung","tourism":"chalet"},"name":"Ferienwohnung","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking"],"suggestion":true},"tourism/hostel/Общежитие":{"tags":{"name":"Общежитие","tourism":"hostel"},"name":"Общежитие","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area","smoking","rooms","internet_access","internet_access/fee"],"suggestion":true},"tourism/alpine_hut/КОШ":{"tags":{"name":"КОШ","tourism":"alpine_hut"},"name":"КОШ","icon":"lodging","geometry":["point","area"],"fields":["operator","address","building_area"],"suggestion":true},"tourism/caravan_site/мк с Освещением ":{"tags":{"name":"мк с Освещением ","tourism":"caravan_site"},"name":"мк с Освещением ","icon":"bus","geometry":["point","vertex","area"],"fields":["operator","address","capacity","fee","sanitary_dump_station","power_supply","internet_access"],"suggestion":true},"tourism/caravan_site/жб с Освещением ":{"tags":{"name":"жб с Освещением ","tourism":"caravan_site"},"name":"жб с Освещением ","icon":"bus","geometry":["point","vertex","area"],"fields":["operator","address","capacity","fee","sanitary_dump_station","power_supply","internet_access"],"suggestion":true},"leisure/playground/Playground":{"tags":{"name":"Playground","leisure":"playground"},"name":"Playground","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Abenteuerspielplatz":{"tags":{"name":"Abenteuerspielplatz","leisure":"playground"},"name":"Abenteuerspielplatz","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Kinderspielplatz":{"tags":{"name":"Kinderspielplatz","leisure":"playground"},"name":"Kinderspielplatz","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Waldspielplatz":{"tags":{"name":"Waldspielplatz","leisure":"playground"},"name":"Waldspielplatz","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Spielplatz":{"tags":{"name":"Spielplatz","leisure":"playground"},"name":"Spielplatz","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Bolzplatz":{"tags":{"name":"Bolzplatz","leisure":"playground"},"name":"Bolzplatz","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Wasserspielplatz":{"tags":{"name":"Wasserspielplatz","leisure":"playground"},"name":"Wasserspielplatz","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Játszótér":{"tags":{"name":"Játszótér","leisure":"playground"},"name":"Játszótér","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Parque Infantil":{"tags":{"name":"Parque Infantil","leisure":"playground"},"name":"Parque Infantil","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Parque":{"tags":{"name":"Parque","leisure":"playground"},"name":"Parque","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Parque infantil":{"tags":{"name":"Parque infantil","leisure":"playground"},"name":"Parque infantil","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Aire de Jeux":{"tags":{"name":"Aire de Jeux","leisure":"playground"},"name":"Aire de Jeux","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Plac zabaw":{"tags":{"name":"Plac zabaw","leisure":"playground"},"name":"Plac zabaw","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Dětské hřiště":{"tags":{"name":"Dětské hřiště","leisure":"playground"},"name":"Dětské hřiště","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Детская площадка":{"tags":{"name":"Детская площадка","leisure":"playground"},"name":"Детская площадка","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/playground":{"tags":{"name":"playground","leisure":"playground"},"name":"playground","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Tot Lot":{"tags":{"name":"Tot Lot","leisure":"playground"},"name":"Tot Lot","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Jeux Enfants":{"tags":{"name":"Jeux Enfants","leisure":"playground"},"name":"Jeux Enfants","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Parco giochi":{"tags":{"name":"Parco giochi","leisure":"playground"},"name":"Parco giochi","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/playground/Zona Infantil":{"tags":{"name":"Zona Infantil","leisure":"playground"},"name":"Zona Infantil","icon":"playground","geometry":["point","area"],"suggestion":true},"leisure/sports_centre/Kieser Training":{"tags":{"name":"Kieser Training","leisure":"sports_centre"},"name":"Kieser Training","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Turnhalle":{"tags":{"name":"Turnhalle","leisure":"sports_centre"},"name":"Turnhalle","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Virgin Active":{"tags":{"name":"Virgin Active","leisure":"sports_centre"},"name":"Virgin Active","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Planet Fitness":{"tags":{"name":"Planet Fitness","leisure":"sports_centre"},"name":"Planet Fitness","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Sporthalle":{"tags":{"name":"Sporthalle","leisure":"sports_centre"},"name":"Sporthalle","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Schulsporthalle":{"tags":{"name":"Schulsporthalle","leisure":"sports_centre"},"name":"Schulsporthalle","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Palestra":{"tags":{"name":"Palestra","leisure":"sports_centre"},"name":"Palestra","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Fitness First":{"tags":{"name":"Fitness First","leisure":"sports_centre"},"name":"Fitness First","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/LA Fitness":{"tags":{"name":"LA Fitness","leisure":"sports_centre"},"name":"LA Fitness","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Reithalle":{"tags":{"name":"Reithalle","leisure":"sports_centre"},"name":"Reithalle","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/McFit":{"tags":{"name":"McFit","leisure":"sports_centre"},"name":"McFit","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Спортзал":{"tags":{"name":"Спортзал","leisure":"sports_centre"},"name":"Спортзал","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Mrs. Sporty":{"tags":{"name":"Mrs. Sporty","leisure":"sports_centre"},"name":"Mrs. Sporty","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Tennishalle":{"tags":{"name":"Tennishalle","leisure":"sports_centre"},"name":"Tennishalle","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/YMCA":{"tags":{"name":"YMCA","leisure":"sports_centre"},"name":"YMCA","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Hallenbad":{"tags":{"name":"Hallenbad","leisure":"sports_centre"},"name":"Hallenbad","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Palazzetto dello Sport":{"tags":{"name":"Palazzetto dello Sport","leisure":"sports_centre"},"name":"Palazzetto dello Sport","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/24 Hour Fitness":{"tags":{"name":"24 Hour Fitness","leisure":"sports_centre"},"name":"24 Hour Fitness","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Mehrzweckhalle":{"tags":{"name":"Mehrzweckhalle","leisure":"sports_centre"},"name":"Mehrzweckhalle","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Gold's Gym":{"tags":{"name":"Gold's Gym","leisure":"sports_centre"},"name":"Gold's Gym","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Polideportivo":{"tags":{"name":"Polideportivo","leisure":"sports_centre"},"name":"Polideportivo","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Curves":{"tags":{"name":"Curves","leisure":"sports_centre"},"name":"Curves","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Tennis":{"tags":{"name":"Tennis","leisure":"sports_centre"},"name":"Tennis","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/ДЮСШ":{"tags":{"name":"ДЮСШ","leisure":"sports_centre"},"name":"ДЮСШ","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Gymnase":{"tags":{"name":"Gymnase","leisure":"sports_centre"},"name":"Gymnase","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Salle Polyvalente":{"tags":{"name":"Salle Polyvalente","leisure":"sports_centre"},"name":"Salle Polyvalente","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/ФОК":{"tags":{"name":"ФОК","leisure":"sports_centre"},"name":"ФОК","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Anytime Fitness":{"tags":{"name":"Anytime Fitness","leisure":"sports_centre"},"name":"Anytime Fitness","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Gym":{"tags":{"name":"Gym","leisure":"sports_centre"},"name":"Gym","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Hala sportowa":{"tags":{"name":"Hala sportowa","leisure":"sports_centre"},"name":"Hala sportowa","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Orlik":{"tags":{"name":"Orlik","leisure":"sports_centre"},"name":"Orlik","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Спорткомплекс":{"tags":{"name":"Спорткомплекс","leisure":"sports_centre"},"name":"Спорткомплекс","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Palestra Comunale":{"tags":{"name":"Palestra Comunale","leisure":"sports_centre"},"name":"Palestra Comunale","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Gymnasium":{"tags":{"name":"Gymnasium","leisure":"sports_centre"},"name":"Gymnasium","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Gimnasio":{"tags":{"name":"Gimnasio","leisure":"sports_centre"},"name":"Gimnasio","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Gimnasio Municipal":{"tags":{"name":"Gimnasio Municipal","leisure":"sports_centre"},"name":"Gimnasio Municipal","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Polideportivo Municipal":{"tags":{"name":"Polideportivo Municipal","leisure":"sports_centre"},"name":"Polideportivo Municipal","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Life Time Fitness":{"tags":{"name":"Life Time Fitness","leisure":"sports_centre"},"name":"Life Time Fitness","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Pabellón de Deportes":{"tags":{"name":"Pabellón de Deportes","leisure":"sports_centre"},"name":"Pabellón de Deportes","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/sports_centre/Pabellón Municipal de Deportes":{"tags":{"name":"Pabellón Municipal de Deportes","leisure":"sports_centre"},"name":"Pabellón Municipal de Deportes","icon":"pitch","geometry":["point","area"],"fields":["sport","address","building_area","opening_hours"],"suggestion":true},"leisure/swimming_pool/Piscina municipal":{"tags":{"name":"Piscina municipal","leisure":"swimming_pool"},"name":"Piscina municipal","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Piscine municipale":{"tags":{"name":"Piscine municipale","leisure":"swimming_pool"},"name":"Piscine municipale","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Pool":{"tags":{"name":"Pool","leisure":"swimming_pool"},"name":"Pool","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Piscine":{"tags":{"name":"Piscine","leisure":"swimming_pool"},"name":"Piscine","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Piscina Comunale":{"tags":{"name":"Piscina Comunale","leisure":"swimming_pool"},"name":"Piscina Comunale","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Swimming Pool":{"tags":{"name":"Swimming Pool","leisure":"swimming_pool"},"name":"Swimming Pool","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Бассейн":{"tags":{"name":"Бассейн","leisure":"swimming_pool"},"name":"Бассейн","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Piscina Municipal":{"tags":{"name":"Piscina Municipal","leisure":"swimming_pool"},"name":"Piscina Municipal","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Piscina":{"tags":{"name":"Piscina","leisure":"swimming_pool"},"name":"Piscina","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Nichtschwimmerbecken":{"tags":{"name":"Nichtschwimmerbecken","leisure":"swimming_pool"},"name":"Nichtschwimmerbecken","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Sportbecken":{"tags":{"name":"Sportbecken","leisure":"swimming_pool"},"name":"Sportbecken","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/Kinderbecken":{"tags":{"name":"Kinderbecken","leisure":"swimming_pool"},"name":"Kinderbecken","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true},"leisure/swimming_pool/piscina":{"tags":{"name":"piscina","leisure":"swimming_pool"},"name":"piscina","icon":"swimming","geometry":["point","area"],"fields":["access_simple","operator","address"],"suggestion":true}},"defaults":{"area":["category-landuse","category-building","category-water-area","leisure/park","amenity/hospital","amenity/place_of_worship","amenity/cafe","amenity/restaurant","area"],"line":["category-road","category-rail","category-path","category-water-line","category-barrier","power/line","line"],"point":["leisure/park","amenity/hospital","amenity/place_of_worship","amenity/cafe","amenity/restaurant","amenity/fast_food","amenity/bar","amenity/bank","shop/supermarket","point"],"vertex":["highway/crosswalk","highway/crossing","railway/level_crossing","highway/traffic_signals","highway/turning_circle","highway/mini_roundabout","highway/motorway_junction","vertex"],"relation":["category-route","category-restriction","type/boundary","type/multipolygon","type/site","relation"]},"categories":{"category-barrier":{"geometry":"line","name":"Barrier Features","icon":"roadblock","members":["barrier/fence","barrier/wall","barrier/ditch","barrier/gate","barrier"]},"category-building":{"geometry":"area","name":"Building Features","icon":"building","members":["building","building/house","building/apartments","building/commercial","building/industrial","building/residential"]},"category-golf":{"geometry":"area","name":"Golf Features","icon":"golf","members":["golf/fairway","golf/green","golf/lateral_water_hazard","golf/rough","golf/bunker","golf/tee","golf/water_hazard"]},"category-landuse":{"geometry":"area","name":"Land Use Features","icon":"land-use","members":["landuse/residential","landuse/industrial","landuse/commercial","landuse/retail","landuse/farmland","landuse/farmyard","landuse/forest","landuse/meadow","landuse/cemetery","landuse/military"]},"category-path":{"geometry":"line","name":"Path Features","icon":"category-path","members":["highway/pedestrian","footway/crosswalk","footway/sidewalk","highway/footway","highway/cycleway","highway/bridleway","highway/path","highway/steps"]},"category-rail":{"geometry":"line","name":"Rail Features","icon":"category-rail","members":["railway/rail","railway/subway","railway/tram","railway/monorail","railway/disused","railway/abandoned"]},"category-restriction":{"geometry":"relation","name":"Restriction Features","icon":"restriction","members":["type/restriction/no_left_turn","type/restriction/no_right_turn","type/restriction/no_straight_on","type/restriction/no_u_turn","type/restriction/only_left_turn","type/restriction/only_right_turn","type/restriction/only_straight_on","type/restriction"]},"category-road":{"geometry":"line","name":"Road Features","icon":"category-roads","members":["highway/residential","highway/motorway","highway/trunk","highway/primary","highway/secondary","highway/tertiary","highway/service","highway/motorway_link","highway/trunk_link","highway/primary_link","highway/secondary_link","highway/tertiary_link","highway/unclassified","highway/track","highway/road"]},"category-route":{"geometry":"relation","name":"Route Features","icon":"route","members":["type/route/road","type/route/bicycle","type/route/foot","type/route/hiking","type/route/horse","type/route/bus","type/route/train","type/route/tram","type/route/ferry","type/route/power","type/route/pipeline","type/route/detour","type/route_master","type/route"]},"category-water-area":{"geometry":"area","name":"Water Features","icon":"water","members":["natural/water/lake","natural/water/pond","natural/water/reservoir","natural/water"]},"category-water-line":{"geometry":"line","name":"Water Features","icon":"category-water","members":["waterway/river","waterway/stream","waterway/canal","waterway/ditch","waterway/drain"]}},"fields":{"access":{"keys":["access","foot","motor_vehicle","bicycle","horse"],"reference":{"key":"access"},"type":"access","label":"Allowed Access","placeholder":"Not Specified","strings":{"types":{"access":"All","foot":"Foot","motor_vehicle":"Motor Vehicles","bicycle":"Bicycles","horse":"Horses"},"options":{"yes":{"title":"Allowed","description":"Access permitted by law; a right of way"},"no":{"title":"Prohibited","description":"Access not permitted to the general public"},"permissive":{"title":"Permissive","description":"Access permitted until such time as the owner revokes the permission"},"private":{"title":"Private","description":"Access permitted only with permission of the owner on an individual basis"},"designated":{"title":"Designated","description":"Access permitted according to signs or specific local laws"},"destination":{"title":"Destination","description":"Access permitted only to reach a destination"},"dismount":{"title":"Dismount","description":"Access permitted but rider must dismount"}}}},"access_simple":{"key":"access","type":"combo","label":"Allowed Access","placeholder":"yes","options":["permissive","private","customers","no"]},"access_toilets":{"key":"access","type":"combo","label":"Access","options":["yes","permissive","private","customers"]},"address":{"type":"address","keys":["addr:housename","addr:housenumber","addr:conscriptionnumber","addr:street","addr:city","addr:postcode","addr:place","addr:hamlet","addr:suburb","addr:subdistrict","addr:district","addr:province","addr:state","addr:country"],"reference":{"key":"addr"},"icon":"address","universal":true,"label":"Address","strings":{"placeholders":{"housename":"Housename","housenumber":"123","conscriptionnumber":"123","street":"Street","city":"City","postcode":"Postcode","place":"Place","hamlet":"Hamlet","suburb":"Suburb","subdistrict":"Subdistrict","district":"District","province":"Province","state":"State","country":"Country"}}},"admin_level":{"key":"admin_level","type":"number","label":"Admin Level"},"aerialway":{"key":"aerialway","type":"typeCombo","label":"Type"},"aerialway/access":{"key":"aerialway:access","type":"combo","label":"Access","strings":{"options":{"entry":"Entry","exit":"Exit","both":"Both"}}},"aerialway/bubble":{"key":"aerialway:bubble","type":"check","label":"Bubble"},"aerialway/capacity":{"key":"aerialway:capacity","type":"number","label":"Capacity (per hour)","placeholder":"500, 2500, 5000..."},"aerialway/duration":{"key":"aerialway:duration","type":"number","label":"Duration (minutes)","placeholder":"1, 2, 3..."},"aerialway/heating":{"key":"aerialway:heating","type":"check","label":"Heated"},"aerialway/occupancy":{"key":"aerialway:occupancy","type":"number","label":"Occupancy","placeholder":"2, 4, 8..."},"aerialway/summer/access":{"key":"aerialway:summer:access","type":"combo","label":"Access (summer)","strings":{"options":{"entry":"Entry","exit":"Exit","both":"Both"}}},"aeroway":{"key":"aeroway","type":"typeCombo","label":"Type"},"amenity":{"key":"amenity","type":"typeCombo","label":"Type"},"area/highway":{"key":"area:highway","type":"typeCombo","label":"Type"},"artist":{"key":"artist_name","type":"text","label":"Artist"},"artwork_type":{"key":"artwork_type","type":"combo","label":"Type"},"atm":{"key":"atm","type":"check","label":"ATM"},"backrest":{"key":"backrest","type":"check","label":"Backrest"},"barrier":{"key":"barrier","type":"typeCombo","label":"Type"},"bench":{"key":"bench","type":"check","label":"Bench"},"bicycle_parking":{"key":"bicycle_parking","type":"combo","label":"Type"},"bin":{"key":"bin","type":"check","label":"Waste Bin"},"boundary":{"key":"boundary","type":"combo","label":"Type"},"brand":{"key":"brand","type":"text","label":"Brand"},"building":{"key":"building","type":"combo","label":"Building"},"building_area":{"key":"building","type":"combo","default":"yes","geometry":"area","label":"Building"},"capacity":{"key":"capacity","type":"number","label":"Capacity","placeholder":"50, 100, 200..."},"cardinal_direction":{"key":"direction","type":"combo","label":"Direction","strings":{"options":{"N":"North","E":"East","S":"South","W":"West","NE":"Northeast","SE":"Southeast","SW":"Southwest","NW":"Northwest","NNE":"North-northeast","ENE":"East-northeast","ESE":"East-southeast","SSE":"South-southeast","SSW":"South-southwest","WSW":"West-southwest","WNW":"West-northwest","NNW":"North-northwest"}}},"clock_direction":{"key":"direction","type":"combo","label":"Direction","strings":{"options":{"clockwise":"Clockwise","anticlockwise":"Counterclockwise"}}},"collection_times":{"key":"collection_times","type":"text","label":"Collection Times"},"construction":{"key":"construction","type":"combo","label":"Type"},"content":{"key":"content","type":"combo","label":"Contents"},"country":{"key":"country","type":"combo","label":"Country"},"covered":{"key":"covered","type":"check","label":"Covered"},"craft":{"key":"craft","type":"typeCombo","label":"Type"},"crop":{"key":"crop","type":"combo","label":"Crop"},"crossing":{"key":"crossing","type":"combo","label":"Type"},"cuisine":{"key":"cuisine","type":"combo","label":"Cuisine"},"currency_multi":{"key":"currency:","type":"multiCombo","label":"Currency Types"},"cycleway":{"keys":["cycleway:left","cycleway:right"],"reference":{"key":"cycleway"},"type":"cycleway","label":"Bike Lanes","placeholder":"none","strings":{"types":{"cycleway:left":"Left side","cycleway:right":"Right side"},"options":{"none":{"title":"None","description":"No bike lane"},"lane":{"title":"Standard bike lane","description":"A bike lane separated from auto traffic by a painted line"},"shared_lane":{"title":"Shared bike lane","description":"A bike lane with no separation from auto traffic"},"track":{"title":"Bike track","description":"A bike lane separated from traffic by a physical barrier"},"share_busway":{"title":"Bike lane shared with bus","description":"A bike lane shared with a bus lane"},"opposite_lane":{"title":"Opposite bike lane","description":"A bike lane that travels in the opposite direction of traffic"},"opposite":{"title":"Contraflow bike lane","description":"A bike lane that travels in both directions on a one-way street"}}}},"delivery":{"key":"delivery","type":"check","label":"Delivery"},"denomination":{"key":"denomination","type":"combo","label":"Denomination"},"denotation":{"key":"denotation","type":"combo","label":"Denotation"},"description":{"key":"description","type":"textarea","label":"Description","universal":true},"diaper":{"key":"diaper","type":"combo","label":"Diaper Changing Available","options":["yes","no","room","1","2","3","4","5"]},"dock":{"key":"dock","type":"combo","label":"Type"},"drive_through":{"key":"drive_through","type":"check","label":"Drive-Through"},"electrified":{"key":"electrified","type":"combo","label":"Electrification","placeholder":"Contact Line, Electrified Rail...","strings":{"options":{"contact_line":"Contact Line","rail":"Electrified Rail","yes":"Yes (unspecified)","no":"No"}}},"elevation":{"key":"ele","type":"number","icon":"elevation","universal":true,"label":"Elevation"},"emergency":{"key":"emergency","type":"check","label":"Emergency"},"entrance":{"key":"entrance","type":"typeCombo","label":"Type"},"except":{"key":"except","type":"combo","label":"Exceptions"},"fax":{"key":"fax","type":"tel","label":"Fax","placeholder":"+31 42 123 4567"},"fee":{"key":"fee","type":"check","label":"Fee"},"fire_hydrant/type":{"key":"fire_hydrant:type","type":"combo","label":"Type","strings":{"options":{"pillar":"Pillar/Aboveground","underground":"Underground","wall":"Wall","pond":"Pond"}}},"fixme":{"key":"fixme","type":"textarea","label":"Fix Me","universal":true},"fuel":{"key":"fuel","type":"combo","label":"Fuel"},"fuel_multi":{"key":"fuel:","type":"multiCombo","label":"Fuel Types"},"gauge":{"key":"gauge","type":"combo","label":"Gauge"},"gender":{"type":"radio","keys":["male","female","unisex"],"label":"Gender","placeholder":"Unknown","strings":{"options":{"male":"Male","female":"Female","unisex":"Unisex"}}},"generator/method":{"key":"generator:method","type":"combo","label":"Method"},"generator/source":{"key":"generator:source","type":"combo","label":"Source"},"generator/type":{"key":"generator:type","type":"combo","label":"Type"},"golf_hole":{"key":"ref","type":"text","label":"Reference","placeholder":"Hole number (1-18)"},"handicap":{"key":"handicap","type":"number","label":"Handicap","placeholder":"1-18"},"handrail":{"key":"handrail","type":"check","label":"Handrail"},"highway":{"key":"highway","type":"typeCombo","label":"Type"},"historic":{"key":"historic","type":"typeCombo","label":"Type"},"hoops":{"key":"hoops","type":"number","label":"Hoops","placeholder":"1, 2, 4..."},"iata":{"key":"iata","type":"text","label":"IATA"},"icao":{"key":"icao","type":"text","label":"ICAO"},"incline":{"key":"incline","type":"combo","label":"Incline"},"incline_steps":{"key":"incline","type":"combo","label":"Incline","strings":{"options":{"up":"Up","down":"Down"}}},"information":{"key":"information","type":"typeCombo","label":"Type"},"internet_access":{"key":"internet_access","type":"combo","label":"Internet Access","strings":{"options":{"yes":"Yes","no":"No","wlan":"Wifi","wired":"Wired","terminal":"Terminal"}}},"internet_access/fee":{"key":"internet_access:fee","type":"check","label":"Internet Access Fee"},"kerb":{"key":"kerb","type":"combo","label":"Curb Ramp"},"lamp_type":{"key":"lamp_type","type":"combo","label":"Type"},"landuse":{"key":"landuse","type":"typeCombo","label":"Type"},"lanes":{"key":"lanes","type":"number","label":"Lanes","placeholder":"1, 2, 3..."},"layer":{"key":"layer","type":"combo","label":"Layer"},"leaf_cycle":{"key":"leaf_cycle","type":"combo","label":"Leaf Cycle","strings":{"options":{"evergreen":"Evergreen","deciduous":"Deciduous","semi_evergreen":"Semi-Evergreen","semi_deciduous":"Semi-Deciduous","mixed":"Mixed"}}},"leaf_cycle_singular":{"key":"leaf_cycle","type":"combo","label":"Leaf Cycle","strings":{"options":{"evergreen":"Evergreen","deciduous":"Deciduous","semi_evergreen":"Semi-Evergreen","semi_deciduous":"Semi-Deciduous"}}},"leaf_type":{"key":"leaf_type","type":"combo","label":"Leaf Type","strings":{"options":{"broadleaved":"Broadleaved","needleleaved":"Needleleaved","mixed":"Mixed","leafless":"Leafless"}}},"leaf_type_singular":{"key":"leaf_type","type":"combo","label":"Leaf Type","strings":{"options":{"broadleaved":"Broadleaved","needleleaved":"Needleleaved","leafless":"Leafless"}}},"leisure":{"key":"leisure","type":"typeCombo","label":"Type"},"length":{"key":"length","type":"number","label":"Length (Meters)"},"level":{"key":"level","type":"combo","label":"Level","universal":true},"levels":{"key":"building:levels","type":"number","label":"Levels","placeholder":"2, 4, 6..."},"lit":{"key":"lit","type":"check","label":"Lit"},"location":{"key":"location","type":"combo","label":"Location"},"man_made":{"key":"man_made","type":"typeCombo","label":"Type"},"maxspeed":{"key":"maxspeed","type":"maxspeed","label":"Speed Limit","placeholder":"40, 50, 60..."},"maxstay":{"key":"maxstay","type":"combo","label":"Max Stay","options":["15 min","30 min","45 min","1 hr","1.5 hr","2 hr","2.5 hr","3 hr","4 hr","1 day","2 day"],"snake_case":false},"mtb/scale":{"key":"mtb:scale","type":"combo","label":"Mountain Biking Difficulty","placeholder":"0, 1, 2, 3...","strings":{"options":{"0":"0: Solid gravel/packed earth, no obstacles, wide curves","1":"1: Some loose surface, small obstacles, wide curves","2":"2: Much loose surface, large obstacles, easy hairpins","3":"3: Slippery surface, large obstacles, tight hairpins","4":"4: Loose surface or boulders, dangerous hairpins","5":"5: Maximum difficulty, boulder fields, landslides","6":"6: Not rideable except by the very best mountain bikers"}}},"mtb/scale/imba":{"key":"mtb:scale:imba","type":"combo","label":"IMBA Trail Difficulty","placeholder":"Easy, Medium, Difficult...","strings":{"options":{"0":"Easiest (white circle)","1":"Easy (green circle)","2":"Medium (blue square)","3":"Difficult (black diamond)","4":"Extremely Difficult (double black diamond)"}}},"mtb/scale/uphill":{"key":"mtb:scale:uphill","type":"combo","label":"Mountain Biking Uphill Difficulty","placeholder":"0, 1, 2, 3...","strings":{"options":{"0":"0: Avg. incline <10%, gravel/packed earth, no obstacles","1":"1: Avg. incline <15%, gravel/packed earth, few small objects","2":"2: Avg. incline <20%, stable surface, fistsize rocks/roots","3":"3: Avg. incline <25%, variable surface, fistsize rocks/branches","4":"4: Avg. incline <30%, poor condition, big rocks/branches","5":"5: Very steep, bike generally needs to be pushed or carried"}}},"name":{"key":"name","type":"localized","label":"Name","placeholder":"Common name (if any)"},"natural":{"key":"natural","type":"typeCombo","label":"Natural"},"network":{"key":"network","type":"text","label":"Network"},"note":{"key":"note","type":"textarea","universal":true,"icon":"note","label":"Note"},"office":{"key":"office","type":"typeCombo","label":"Type"},"oneway":{"key":"oneway","type":"check","label":"One Way","strings":{"options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}}},"oneway_yes":{"key":"oneway","type":"check","label":"One Way","strings":{"options":{"undefined":"Assumed to be Yes","yes":"Yes","no":"No"}}},"opening_hours":{"key":"opening_hours","type":"text","label":"Hours"},"operator":{"key":"operator","type":"text","label":"Operator"},"par":{"key":"par","type":"number","label":"Par","placeholder":"3, 4, 5..."},"parallel_direction":{"key":"direction","type":"combo","label":"Direction","strings":{"options":{"forward":"Forward","backward":"Backward"}}},"park_ride":{"key":"park_ride","type":"check","label":"Park and Ride"},"parking":{"key":"parking","type":"combo","label":"Type","strings":{"options":{"surface":"Surface","multi-storey":"Multilevel","underground":"Underground","sheds":"Sheds","carports":"Carports","garage_boxes":"Garage Boxes","lane":"Roadside Lane"}}},"payment_multi":{"key":"payment:","type":"multiCombo","label":"Payment Types"},"phone":{"key":"phone","type":"tel","icon":"telephone","universal":true,"label":"Phone","placeholder":"+31 42 123 4567"},"piste/difficulty":{"key":"piste:difficulty","type":"combo","label":"Difficulty","placeholder":"Easy, Intermediate, Advanced...","strings":{"options":{"novice":"Novice (instructional)","easy":"Easy (green circle)","intermediate":"Intermediate (blue square)","advanced":"Advanced (black diamond)","expert":"Expert (double black diamond)","freeride":"Freeride (off-piste)","extreme":"Extreme (climbing equipment required)"}}},"piste/grooming":{"key":"piste:grooming","type":"combo","label":"Grooming","strings":{"options":{"classic":"Classic","mogul":"Mogul","backcountry":"Backcountry","classic+skating":"Classic and Skating","scooter":"Scooter/Snowmobile","skating":"Skating"}}},"piste/type":{"key":"piste:type","type":"typeCombo","label":"Type","strings":{"options":{"downhill":"Downhill","nordic":"Nordic","skitour":"Skitour","sled":"Sled","hike":"Hike","sleigh":"Sleigh","ice_skate":"Ice Skate","snow_park":"Snow Park","playground":"Playground"}}},"place":{"key":"place","type":"typeCombo","label":"Type"},"population":{"key":"population","type":"text","label":"Population"},"power":{"key":"power","type":"typeCombo","label":"Type"},"power_supply":{"key":"power_supply","type":"check","label":"Power Supply"},"railway":{"key":"railway","type":"typeCombo","label":"Type"},"recycling_accepts":{"key":"recycling:","type":"multiCombo","label":"Accepts"},"ref":{"key":"ref","type":"text","label":"Reference"},"relation":{"key":"type","type":"combo","label":"Type"},"religion":{"key":"religion","type":"combo","label":"Religion"},"restriction":{"key":"restriction","type":"combo","label":"Type"},"restrictions":{"type":"restrictions","geometry":"vertex","icon":"restrictions","reference":{"rtype":"restriction"},"label":"Turn Restrictions"},"rooms":{"key":"rooms","type":"number","label":"Rooms"},"route":{"key":"route","type":"combo","label":"Type"},"route_master":{"key":"route_master","type":"combo","label":"Type"},"sac_scale":{"key":"sac_scale","type":"combo","label":"Hiking Difficulty","placeholder":"Mountain Hiking, Alpine Hiking...","strings":{"options":{"hiking":"T1: Hiking","mountain_hiking":"T2: Mountain Hiking","demanding_mountain_hiking":"T3: Demanding Mountain Hiking","alpine_hiking":"T4: Alpine Hiking","demanding_alpine_hiking":"T5: Demanding Alpine Hiking","difficult_alpine_hiking":"T6: Difficult Alpine Hiking"}}},"sanitary_dump_station":{"key":"sanitary_dump_station","type":"check","label":"Toilet Disposal"},"seasonal":{"key":"seasonal","type":"check","label":"Seasonal"},"service":{"key":"service","type":"combo","label":"Type","options":["parking_aisle","driveway","alley","emergency_access","drive-through"]},"service/bicycle/chain_tool":{"key":"service:bicycle:chain_tool","type":"check","label":"Chain Tool","strings":{"options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}}},"service/bicycle/pump":{"key":"service:bicycle:pump","type":"check","label":"Air Pump","strings":{"options":{"undefined":"Assumed to be No","yes":"Yes","no":"No"}}},"service_rail":{"key":"service","type":"combo","label":"Service Type","strings":{"options":{"spur":"Spur","yard":"Yard","siding":"Siding","crossover":"Crossover"}}},"shelter":{"key":"shelter","type":"check","label":"Shelter"},"shelter_type":{"key":"shelter_type","type":"combo","label":"Type"},"shop":{"key":"shop","type":"typeCombo","label":"Type"},"site":{"key":"site","type":"combo","label":"Type"},"smoking":{"key":"smoking","type":"combo","label":"Smoking","placeholder":"No, Separated, Yes...","strings":{"options":{"no":"No smoking anywhere","separated":"In smoking areas, not physically isolated","isolated":"In smoking areas, physically isolated","outside":"Allowed outside","yes":"Allowed everywhere","dedicated":"Dedicated to smokers (e.g. smokers' club)"}}},"smoothness":{"key":"smoothness","type":"combo","label":"Smoothness","placeholder":"Thin Rollers, Wheels, Off-Road...","strings":{"options":{"excellent":"Thin Rollers: rollerblade, skateboard","good":"Thin Wheels: racing bike","intermediate":"Wheels: city bike, wheelchair, scooter","bad":"Robust Wheels: trekking bike, car, rickshaw","very_bad":"High Clearance: light duty off-road vehicle","horrible":"Off-Road: heavy duty off-road vehicle","very_horrible":"Specialized off-road: tractor, ATV","impassable":"Impassable / No wheeled vehicle"}}},"social_facility_for":{"key":"social_facility:for","type":"radio","label":"People served","placeholder":"Homeless, Disabled, Child, etc","options":["abused","child","disabled","diseased","drug_addicted","homeless","juvenile","mental_health","migrant","orphan","senior","underprivileged","unemployed","victim"]},"source":{"key":"source","type":"text","icon":"source","universal":true,"label":"Source"},"sport":{"key":"sport","type":"combo","label":"Sport"},"sport_ice":{"key":"sport","type":"combo","label":"Sport","options":["skating","hockey","multi","curling","ice_stock"]},"sport_racing":{"key":"sport","type":"combo","label":"Sport","options":["cycling","dog_racing","horse_racing","karting","motor","motocross","running"]},"stars":{"key":"stars","type":"number","label":"Stars"},"stop":{"key":"stop","type":"combo","label":"Stop Type","strings":{"options":{"all":"All Ways","minor":"Minor Road"}}},"structure":{"type":"radio","keys":["bridge","tunnel","embankment","cutting","ford"],"label":"Structure","placeholder":"Unknown","strings":{"options":{"bridge":"Bridge","tunnel":"Tunnel","embankment":"Embankment","cutting":"Cutting","ford":"Ford"}}},"studio":{"key":"studio","type":"combo","label":"Type"},"substation":{"key":"substation","type":"typeCombo","label":"Type"},"supervised":{"key":"supervised","type":"check","label":"Supervised"},"surface":{"key":"surface","type":"combo","label":"Surface"},"tactile_paving":{"key":"tactile_paving","type":"check","label":"Tactile Paving"},"takeaway":{"key":"takeaway","type":"combo","label":"Takeaway","placeholder":"Yes, No, Takeaway Only...","strings":{"options":{"yes":"Yes","no":"No","only":"Takeaway Only"}}},"toilets/disposal":{"key":"toilets:disposal","type":"combo","label":"Disposal","strings":{"options":{"flush":"Flush","pitlatrine":"Pit/Latrine","chemical":"Chemical","bucket":"Bucket"}}},"tourism":{"key":"tourism","type":"typeCombo","label":"Type"},"towertype":{"key":"tower:type","type":"combo","label":"Tower type"},"tracktype":{"key":"tracktype","type":"combo","label":"Track Type","placeholder":"Solid, Mostly Solid, Soft...","strings":{"options":{"grade1":"Solid: paved or heavily compacted hardcore surface","grade2":"Mostly Solid: gravel/rock with some soft material mixed in","grade3":"Even mixture of hard and soft materials","grade4":"Mostly Soft: soil/sand/grass with some hard material mixed in","grade5":"Soft: soil/sand/grass"}}},"traffic_signals":{"key":"traffic_signals","type":"combo","label":"Type","default":"signal"},"trail_visibility":{"key":"trail_visibility","type":"combo","label":"Trail Visibility","placeholder":"Excellent, Good, Bad...","strings":{"options":{"excellent":"Excellent: unambiguous path or markers everywhere","good":"Good: markers visible, sometimes require searching","intermediate":"Intermediate: few markers, path mostly visible","bad":"Bad: no markers, path sometimes invisible/pathless","horrible":"Horrible: often pathless, some orientation skills required","no":"No: pathless, excellent orientation skills required"}}},"trees":{"key":"trees","type":"combo","label":"Trees"},"tunnel":{"key":"tunnel","type":"combo","label":"Tunnel"},"vending":{"key":"vending","type":"combo","label":"Type of Goods"},"water":{"key":"water","type":"combo","label":"Type"},"water_point":{"key":"water_point","type":"check","label":"Water Point"},"waterway":{"key":"waterway","type":"typeCombo","label":"Type"},"website":{"key":"website","type":"url","icon":"website","placeholder":"http://example.com/","universal":true,"label":"Website"},"wetland":{"key":"wetland","type":"combo","label":"Type"},"wheelchair":{"key":"wheelchair","type":"radio","options":["yes","limited","no"],"icon":"wheelchair","universal":true,"label":"Wheelchair Access"},"width":{"key":"width","type":"number","label":"Width (Meters)"},"wikipedia":{"key":"wikipedia","keys":["wikipedia","wikidata"],"type":"wikipedia","icon":"wikipedia","universal":true,"label":"Wikipedia"}}};
\ No newline at end of file
/* required styles */
-.leaflet-map-pane,
+.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
-.leaflet-tile-pane,
.leaflet-tile-container,
-.leaflet-overlay-pane,
-.leaflet-shadow-pane,
-.leaflet-marker-pane,
-.leaflet-popup-pane,
-.leaflet-overlay-pane svg,
+.leaflet-map-pane svg,
+.leaflet-map-pane canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
}
.leaflet-container {
overflow: hidden;
- -ms-touch-action: none;
- touch-action: none;
}
.leaflet-tile,
.leaflet-marker-icon,
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
- -webkit-user-drag: none;
+ -webkit-user-drag: none;
+ }
+/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
+.leaflet-safari .leaflet-tile {
+ image-rendering: -webkit-optimize-contrast;
+ }
+/* hack that prevents hw layers "stretching" when loading new tiles */
+.leaflet-safari .leaflet-tile-container {
+ width: 1600px;
+ height: 1600px;
+ -webkit-transform-origin: 0 0;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
display: block;
}
-/* map is broken in FF if you have max-width: 100% on tiles */
-.leaflet-container img {
+/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
+/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
+.leaflet-container .leaflet-overlay-pane svg,
+.leaflet-container .leaflet-marker-pane img,
+.leaflet-container .leaflet-tile-pane img,
+.leaflet-container img.leaflet-image-layer {
max-width: none !important;
}
-/* stupid Android 2 doesn't understand "max-width: none" properly */
-.leaflet-container img.leaflet-image-layer {
- max-width: 15000px !important;
+
+.leaflet-container.leaflet-touch-zoom {
+ -ms-touch-action: pan-x pan-y;
+ touch-action: pan-x pan-y;
}
+.leaflet-container.leaflet-touch-drag {
+ -ms-touch-action: pinch-zoom;
+ }
+.leaflet-container.leaflet-touch-drag.leaflet-touch-drag {
+ -ms-touch-action: none;
+ touch-action: none;
+}
.leaflet-tile {
filter: inherit;
visibility: hidden;
.leaflet-zoom-box {
width: 0;
height: 0;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ z-index: 800;
}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
-moz-user-select: none;
}
-.leaflet-tile-pane { z-index: 2; }
-.leaflet-objects-pane { z-index: 3; }
-.leaflet-overlay-pane { z-index: 4; }
-.leaflet-shadow-pane { z-index: 5; }
-.leaflet-marker-pane { z-index: 6; }
-.leaflet-popup-pane { z-index: 7; }
+.leaflet-pane { z-index: 400; }
+
+.leaflet-tile-pane { z-index: 200; }
+.leaflet-overlay-pane { z-index: 400; }
+.leaflet-shadow-pane { z-index: 500; }
+.leaflet-marker-pane { z-index: 600; }
+.leaflet-tooltip-pane { z-index: 650; }
+.leaflet-popup-pane { z-index: 700; }
+
+.leaflet-map-pane canvas { z-index: 100; }
+.leaflet-map-pane svg { z-index: 200; }
.leaflet-vml-shape {
width: 1px;
.leaflet-control {
position: relative;
- z-index: 7;
+ z-index: 800;
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto;
}
.leaflet-top,
/* zoom and fade animations */
-.leaflet-fade-anim .leaflet-tile,
+.leaflet-fade-anim .leaflet-tile {
+ will-change: opacity;
+ }
.leaflet-fade-anim .leaflet-popup {
opacity: 0;
-webkit-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
-.leaflet-fade-anim .leaflet-tile-loaded,
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
opacity: 1;
}
-
+.leaflet-zoom-animated {
+ -webkit-transform-origin: 0 0;
+ -ms-transform-origin: 0 0;
+ transform-origin: 0 0;
+ }
+.leaflet-zoom-anim .leaflet-zoom-animated {
+ will-change: transform;
+ }
.leaflet-zoom-anim .leaflet-zoom-animated {
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
}
.leaflet-zoom-anim .leaflet-tile,
-.leaflet-pan-anim .leaflet-tile,
-.leaflet-touching .leaflet-zoom-animated {
+.leaflet-pan-anim .leaflet-tile {
-webkit-transition: none;
-moz-transition: none;
-o-transition: none;
/* cursors */
-.leaflet-clickable {
+.leaflet-interactive {
cursor: pointer;
}
-.leaflet-container {
+.leaflet-grab {
cursor: -webkit-grab;
cursor: -moz-grab;
}
+.leaflet-crosshair,
+.leaflet-crosshair .leaflet-interactive {
+ cursor: crosshair;
+ }
.leaflet-popup-pane,
.leaflet-control {
cursor: auto;
}
-.leaflet-dragging .leaflet-container,
-.leaflet-dragging .leaflet-clickable {
+.leaflet-dragging .leaflet-grab,
+.leaflet-dragging .leaflet-grab .leaflet-interactive,
+.leaflet-dragging .leaflet-marker-draggable {
cursor: move;
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
}
+/* marker & overlays interactivity */
+.leaflet-marker-icon,
+.leaflet-marker-shadow,
+.leaflet-image-layer,
+.leaflet-pane > svg path,
+.leaflet-tile-container {
+ pointer-events: none;
+ }
+
+.leaflet-marker-icon.leaflet-interactive,
+.leaflet-image-layer.leaflet-interactive,
+.leaflet-pane > svg path.leaflet-interactive {
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
+ pointer-events: auto;
+ }
/* visual tweaks */
color: #333;
background: #fff;
}
+.leaflet-control-layers-scrollbar {
+ overflow-y: scroll;
+ padding-right: 5px;
+ }
.leaflet-control-layers-selector {
margin-top: 2px;
position: relative;
margin: 5px -10px 5px -6px;
}
+/* Default icon URLs */
+.leaflet-default-icon-path {
+ background-image: url(images/marker-icon.png);
+ }
+
/* attribution and scale controls */
font-size: 11px;
white-space: nowrap;
overflow: hidden;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
background: #fff;
background: rgba(255, 255, 255, 0.5);
.leaflet-popup {
position: absolute;
text-align: center;
+ margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
padding: 1px;
margin: 18px 0;
}
.leaflet-popup-tip-container {
- margin: 0 auto;
width: 40px;
height: 20px;
- position: relative;
+ position: absolute;
+ left: 50%;
+ margin-left: -20px;
overflow: hidden;
+ pointer-events: none;
}
.leaflet-popup-tip {
width: 17px;
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
background: white;
-
+ color: #333;
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.leaflet-container a.leaflet-popup-close-button {
top: 0;
right: 0;
padding: 4px 4px 0 0;
+ border: none;
text-align: center;
width: 18px;
height: 14px;
background: #fff;
border: 1px solid #666;
}
+
+
+/* Tooltip */
+/* Base styles for the element that has a tooltip */
+.leaflet-tooltip {
+ position: absolute;
+ padding: 6px;
+ background-color: #fff;
+ border: 1px solid #fff;
+ border-radius: 3px;
+ color: #222;
+ white-space: nowrap;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ pointer-events: none;
+ box-shadow: 0 1px 3px rgba(0,0,0,0.4);
+ }
+.leaflet-tooltip.leaflet-clickable {
+ cursor: pointer;
+ pointer-events: auto;
+ }
+.leaflet-tooltip-top:before,
+.leaflet-tooltip-bottom:before,
+.leaflet-tooltip-left:before,
+.leaflet-tooltip-right:before {
+ position: absolute;
+ pointer-events: none;
+ border: 6px solid transparent;
+ background: transparent;
+ content: "";
+ }
+
+/* Directions */
+
+.leaflet-tooltip-bottom {
+ margin-top: 6px;
+}
+.leaflet-tooltip-top {
+ margin-top: -6px;
+}
+.leaflet-tooltip-bottom:before,
+.leaflet-tooltip-top:before {
+ left: 50%;
+ margin-left: -6px;
+ }
+.leaflet-tooltip-top:before {
+ bottom: 0;
+ margin-bottom: -12px;
+ border-top-color: #fff;
+ }
+.leaflet-tooltip-bottom:before {
+ top: 0;
+ margin-top: -12px;
+ margin-left: -6px;
+ border-bottom-color: #fff;
+ }
+.leaflet-tooltip-left {
+ margin-left: -6px;
+}
+.leaflet-tooltip-right {
+ margin-left: 6px;
+}
+.leaflet-tooltip-left:before,
+.leaflet-tooltip-right:before {
+ top: 50%;
+ margin-top: -6px;
+ }
+.leaflet-tooltip-left:before {
+ right: 0;
+ margin-right: -12px;
+ border-left-color: #fff;
+ }
+.leaflet-tooltip-right:before {
+ left: 0;
+ margin-left: -12px;
+ border-right-color: #fff;
+ }
/*
- Leaflet, a JavaScript library for mobile-friendly interactive maps. http://leafletjs.com
- (c) 2010-2013, Vladimir Agafonkin
- (c) 2010-2011, CloudMade
+ Leaflet 1.0.1, a JS library for interactive maps. http://leafletjs.com
+ (c) 2010-2016 Vladimir Agafonkin, (c) 2010-2011 CloudMade
*/
(function (window, document, undefined) {
-var oldL = window.L,
- L = {};
+var L = {
+ version: "1.0.1"
+};
+
+function expose() {
+ var oldL = window.L;
+
+ L.noConflict = function () {
+ window.L = oldL;
+ return this;
+ };
-L.version = '0.7.7';
+ window.L = L;
+}
// define Leaflet for Node module pattern loaders, including Browserify
if (typeof module === 'object' && typeof module.exports === 'object') {
}
// define Leaflet as a global L variable, saving the original L to restore later if needed
+if (typeof window !== 'undefined') {
+ expose();
+}
-L.noConflict = function () {
- window.L = oldL;
- return this;
-};
-
-window.L = L;
/*
- * L.Util contains various utility functions used throughout Leaflet code.
+ * @namespace Util
+ *
+ * Various utility functions, used by Leaflet internally.
*/
L.Util = {
- extend: function (dest) { // (Object[, Object, ...]) ->
- var sources = Array.prototype.slice.call(arguments, 1),
- i, j, len, src;
- for (j = 0, len = sources.length; j < len; j++) {
- src = sources[j] || {};
+ // @function extend(dest: Object, src?: Object): Object
+ // Merges the properties of the `src` object (or multiple objects) into `dest` object and returns the latter. Has an `L.extend` shortcut.
+ extend: function (dest) {
+ var i, j, len, src;
+
+ for (j = 1, len = arguments.length; j < len; j++) {
+ src = arguments[j];
for (i in src) {
- if (src.hasOwnProperty(i)) {
- dest[i] = src[i];
- }
+ dest[i] = src[i];
}
}
return dest;
},
- bind: function (fn, obj) { // (Function, Object) -> Function
- var args = arguments.length > 2 ? Array.prototype.slice.call(arguments, 2) : null;
- return function () {
- return fn.apply(obj, args || arguments);
- };
- },
-
- stamp: (function () {
- var lastId = 0,
- key = '_leaflet_id';
- return function (obj) {
- obj[key] = obj[key] || ++lastId;
- return obj[key];
+ // @function create(proto: Object, properties?: Object): Object
+ // Compatibility polyfill for [Object.create](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/create)
+ create: Object.create || (function () {
+ function F() {}
+ return function (proto) {
+ F.prototype = proto;
+ return new F();
};
- }()),
+ })(),
- invokeEach: function (obj, method, context) {
- var i, args;
+ // @function bind(fn: Function, …): Function
+ // Returns a new function bound to the arguments passed, like [Function.prototype.bind](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).
+ // Has a `L.bind()` shortcut.
+ bind: function (fn, obj) {
+ var slice = Array.prototype.slice;
- if (typeof obj === 'object') {
- args = Array.prototype.slice.call(arguments, 3);
-
- for (i in obj) {
- method.apply(context, [i, obj[i]].concat(args));
- }
- return true;
+ if (fn.bind) {
+ return fn.bind.apply(fn, slice.call(arguments, 1));
}
- return false;
- },
-
- limitExecByInterval: function (fn, time, context) {
- var lock, execOnUnlock;
+ var args = slice.call(arguments, 2);
- return function wrapperFn() {
- var args = arguments;
+ return function () {
+ return fn.apply(obj, args.length ? args.concat(slice.call(arguments)) : arguments);
+ };
+ },
- if (lock) {
- execOnUnlock = true;
- return;
+ // @function stamp(obj: Object): Number
+ // Returns the unique ID of an object, assiging it one if it doesn't have it.
+ stamp: function (obj) {
+ /*eslint-disable */
+ obj._leaflet_id = obj._leaflet_id || ++L.Util.lastId;
+ return obj._leaflet_id;
+ /*eslint-enable */
+ },
+
+ // @property lastId: Number
+ // Last unique ID used by [`stamp()`](#util-stamp)
+ lastId: 0,
+
+ // @function throttle(fn: Function, time: Number, context: Object): Function
+ // Returns a function which executes function `fn` with the given scope `context`
+ // (so that the `this` keyword refers to `context` inside `fn`'s code). The function
+ // `fn` will be called no more than one time per given amount of `time`. The arguments
+ // received by the bound function will be any arguments passed when binding the
+ // function, followed by any arguments passed when invoking the bound function.
+ // Has an `L.bind` shortcut.
+ throttle: function (fn, time, context) {
+ var lock, args, wrapperFn, later;
+
+ later = function () {
+ // reset lock and call if queued
+ lock = false;
+ if (args) {
+ wrapperFn.apply(context, args);
+ args = false;
}
+ };
- lock = true;
-
- setTimeout(function () {
- lock = false;
-
- if (execOnUnlock) {
- wrapperFn.apply(context, args);
- execOnUnlock = false;
- }
- }, time);
+ wrapperFn = function () {
+ if (lock) {
+ // called too soon, queue to call later
+ args = arguments;
- fn.apply(context, args);
+ } else {
+ // call and lock until later
+ fn.apply(context, arguments);
+ setTimeout(later, time);
+ lock = true;
+ }
};
+
+ return wrapperFn;
},
- falseFn: function () {
- return false;
+ // @function wrapNum(num: Number, range: Number[], includeMax?: Boolean): Number
+ // Returns the number `num` modulo `range` in such a way so it lies within
+ // `range[0]` and `range[1]`. The returned value will be always smaller than
+ // `range[1]` unless `includeMax` is set to `true`.
+ wrapNum: function (x, range, includeMax) {
+ var max = range[1],
+ min = range[0],
+ d = max - min;
+ return x === max && includeMax ? x : ((x - min) % d + d) % d + min;
},
+ // @function falseFn(): Function
+ // Returns a function which always returns `false`.
+ falseFn: function () { return false; },
+
+ // @function formatNum(num: Number, digits?: Number): Number
+ // Returns the number `num` rounded to `digits` decimals, or to 5 decimals by default.
formatNum: function (num, digits) {
var pow = Math.pow(10, digits || 5);
return Math.round(num * pow) / pow;
},
+ // @function trim(str: String): String
+ // Compatibility polyfill for [String.prototype.trim](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)
trim: function (str) {
return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, '');
},
+ // @function splitWords(str: String): String[]
+ // Trims and splits the string on whitespace and returns the array of parts.
splitWords: function (str) {
return L.Util.trim(str).split(/\s+/);
},
+ // @function setOptions(obj: Object, options: Object): Object
+ // Merges the given properties to the `options` of the `obj` object, returning the resulting options. See `Class options`. Has an `L.setOptions` shortcut.
setOptions: function (obj, options) {
- obj.options = L.extend({}, obj.options, options);
+ if (!obj.hasOwnProperty('options')) {
+ obj.options = obj.options ? L.Util.create(obj.options) : {};
+ }
+ for (var i in options) {
+ obj.options[i] = options[i];
+ }
return obj.options;
},
+ // @function getParamString(obj: Object, existingUrl?: String, uppercase?: Boolean): String
+ // Converts an object into a parameter URL string, e.g. `{a: "foo", b: "bar"}`
+ // translates to `'?a=foo&b=bar'`. If `existingUrl` is set, the parameters will
+ // be appended at the end. If `uppercase` is `true`, the parameter names will
+ // be uppercased (e.g. `'?A=foo&B=bar'`)
getParamString: function (obj, existingUrl, uppercase) {
var params = [];
for (var i in obj) {
}
return ((!existingUrl || existingUrl.indexOf('?') === -1) ? '?' : '&') + params.join('&');
},
+
+ // @function template(str: String, data: Object): String
+ // Simple templating facility, accepts a template string of the form `'Hello {a}, {b}'`
+ // and a data object like `{a: 'foo', b: 'bar'}`, returns evaluated string
+ // `('Hello foo, bar')`. You can also specify functions instead of strings for
+ // data values — they will be evaluated passing `data` as an argument.
template: function (str, data) {
- return str.replace(/\{ *([\w_]+) *\}/g, function (str, key) {
+ return str.replace(L.Util.templateRe, function (str, key) {
var value = data[key];
+
if (value === undefined) {
throw new Error('No value provided for variable ' + str);
+
} else if (typeof value === 'function') {
value = value(data);
}
});
},
+ templateRe: /\{ *([\w_\-]+) *\}/g,
+
+ // @function isArray(obj): Boolean
+ // Compatibility polyfill for [Array.isArray](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)
isArray: Array.isArray || function (obj) {
return (Object.prototype.toString.call(obj) === '[object Array]');
},
+ // @function indexOf(array: Array, el: Object): Number
+ // Compatibility polyfill for [Array.prototype.indexOf](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)
+ indexOf: function (array, el) {
+ for (var i = 0; i < array.length; i++) {
+ if (array[i] === el) { return i; }
+ }
+ return -1;
+ },
+
+ // @property emptyImageUrl: String
+ // Data URI string containing a base64-encoded empty GIF image.
+ // Used as a hack to free memory from unused images on WebKit-powered
+ // mobile devices (by setting image `src` to this string).
emptyImageUrl: 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='
};
(function () {
-
// inspired by http://paulirish.com/2011/requestanimationframe-for-smart-animating/
function getPrefixed(name) {
- var i, fn,
- prefixes = ['webkit', 'moz', 'o', 'ms'];
-
- for (i = 0; i < prefixes.length && !fn; i++) {
- fn = window[prefixes[i] + name];
- }
-
- return fn;
+ return window['webkit' + name] || window['moz' + name] || window['ms' + name];
}
var lastTime = 0;
+ // fallback for IE 7-8
function timeoutDefer(fn) {
var time = +new Date(),
timeToCall = Math.max(0, 16 - (time - lastTime));
return window.setTimeout(fn, timeToCall);
}
- var requestFn = window.requestAnimationFrame ||
- getPrefixed('RequestAnimationFrame') || timeoutDefer;
-
- var cancelFn = window.cancelAnimationFrame ||
- getPrefixed('CancelAnimationFrame') ||
- getPrefixed('CancelRequestAnimationFrame') ||
- function (id) { window.clearTimeout(id); };
+ var requestFn = window.requestAnimationFrame || getPrefixed('RequestAnimationFrame') || timeoutDefer,
+ cancelFn = window.cancelAnimationFrame || getPrefixed('CancelAnimationFrame') ||
+ getPrefixed('CancelRequestAnimationFrame') || function (id) { window.clearTimeout(id); };
- L.Util.requestAnimFrame = function (fn, context, immediate, element) {
- fn = L.bind(fn, context);
-
+ // @function requestAnimFrame(fn: Function, context?: Object, immediate?: Boolean): Number
+ // Schedules `fn` to be executed when the browser repaints. `fn` is bound to
+ // `context` if given. When `immediate` is set, `fn` is called immediately if
+ // the browser doesn't have native support for
+ // [`window.requestAnimationFrame`](https://developer.mozilla.org/docs/Web/API/window/requestAnimationFrame),
+ // otherwise it's delayed. Returns a request ID that can be used to cancel the request.
+ L.Util.requestAnimFrame = function (fn, context, immediate) {
if (immediate && requestFn === timeoutDefer) {
- fn();
+ fn.call(context);
} else {
- return requestFn.call(window, fn, element);
+ return requestFn.call(window, L.bind(fn, context));
}
};
+ // @function cancelAnimFrame(id: Number): undefined
+ // Cancels a previous `requestAnimFrame`. See also [window.cancelAnimationFrame](https://developer.mozilla.org/docs/Web/API/window/cancelAnimationFrame).
L.Util.cancelAnimFrame = function (id) {
if (id) {
cancelFn.call(window, id);
}
};
-
-}());
+})();
// shortcuts for most used utility functions
L.extend = L.Util.extend;
L.setOptions = L.Util.setOptions;
-/*
- * L.Class powers the OOP facilities of the library.
- * Thanks to John Resig and Dean Edwards for inspiration!
- */
+
+
+// @class Class
+// @aka L.Class
+
+// @section
+// @uninheritable
+
+// Thanks to John Resig and Dean Edwards for inspiration!
L.Class = function () {};
L.Class.extend = function (props) {
- // extended class with the new prototype
+ // @function extend(props: Object): Function
+ // [Extends the current class](#class-inheritance) given the properties to be included.
+ // Returns a Javascript function that is a class constructor (to be called with `new`).
var NewClass = function () {
// call the constructor
}
// call all constructor hooks
- if (this._initHooks) {
- this.callInitHooks();
- }
+ this.callInitHooks();
};
- // instantiate class without calling constructor
- var F = function () {};
- F.prototype = this.prototype;
+ var parentProto = NewClass.__super__ = this.prototype;
- var proto = new F();
+ var proto = L.Util.create(parentProto);
proto.constructor = NewClass;
NewClass.prototype = proto;
- //inherit parent's statics
+ // inherit parent's statics
for (var i in this) {
if (this.hasOwnProperty(i) && i !== 'prototype') {
NewClass[i] = this[i];
}
// merge options
- if (props.options && proto.options) {
- props.options = L.extend({}, proto.options, props.options);
+ if (proto.options) {
+ props.options = L.Util.extend(L.Util.create(proto.options), props.options);
}
// mix given properties into the prototype
proto._initHooks = [];
- var parent = this;
- // jshint camelcase: false
- NewClass.__super__ = parent.prototype;
-
// add method for calling all hooks
proto.callInitHooks = function () {
if (this._initHooksCalled) { return; }
- if (parent.prototype.callInitHooks) {
- parent.prototype.callInitHooks.call(this);
+ if (parentProto.callInitHooks) {
+ parentProto.callInitHooks.call(this);
}
this._initHooksCalled = true;
};
-// method for adding properties to prototype
+// @function include(properties: Object): this
+// [Includes a mixin](#class-includes) into the current class.
L.Class.include = function (props) {
L.extend(this.prototype, props);
+ return this;
};
-// merge new default options to the Class
+// @function mergeOptions(options: Object): this
+// [Merges `options`](#class-options) into the defaults of the class.
L.Class.mergeOptions = function (options) {
L.extend(this.prototype.options, options);
+ return this;
};
-// add a constructor hook
+// @function addInitHook(fn: Function): this
+// Adds a [constructor hook](#class-constructor-hooks) to the class.
L.Class.addInitHook = function (fn) { // (Function) || (String, args...)
var args = Array.prototype.slice.call(arguments, 1);
this.prototype._initHooks = this.prototype._initHooks || [];
this.prototype._initHooks.push(init);
+ return this;
};
+
/*
- * L.Mixin.Events is used to add custom events functionality to Leaflet classes.
+ * @class Evented
+ * @aka L.Evented
+ * @inherits Class
+ *
+ * A set of methods shared between event-powered classes (like `Map` and `Marker`). Generally, events allow you to execute some function when something happens with an object (e.g. the user clicks on the map, causing the map to fire `'click'` event).
+ *
+ * @example
+ *
+ * ```js
+ * map.on('click', function(e) {
+ * alert(e.latlng);
+ * } );
+ * ```
+ *
+ * Leaflet deals with event listeners by reference, so if you want to add a listener and then remove it, define it as a function:
+ *
+ * ```js
+ * function onClick(e) { ... }
+ *
+ * map.on('click', onClick);
+ * map.off('click', onClick);
+ * ```
*/
-var eventsKey = '_leaflet_events';
-
-L.Mixin = {};
-L.Mixin.Events = {
+L.Evented = L.Class.extend({
- addEventListener: function (types, fn, context) { // (String, Function[, Object]) or (Object[, Object])
+ /* @method on(type: String, fn: Function, context?: Object): this
+ * Adds a listener function (`fn`) to a particular event type of the object. You can optionally specify the context of the listener (object the this keyword will point to). You can also pass several space-separated types (e.g. `'click dblclick'`).
+ *
+ * @alternative
+ * @method on(eventMap: Object): this
+ * Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`
+ */
+ on: function (types, fn, context) {
// types can be a map of types/handlers
- if (L.Util.invokeEach(types, this.addEventListener, this, fn, context)) { return this; }
-
- var events = this[eventsKey] = this[eventsKey] || {},
- contextId = context && context !== this && L.stamp(context),
- i, len, event, type, indexKey, indexLenKey, typeIndex;
-
- // types can be a string of space-separated words
- types = L.Util.splitWords(types);
-
- for (i = 0, len = types.length; i < len; i++) {
- event = {
- action: fn,
- context: context || this
- };
- type = types[i];
+ if (typeof types === 'object') {
+ for (var type in types) {
+ // we don't process space-separated events here for performance;
+ // it's a hot path since Layer uses the on(obj) syntax
+ this._on(type, types[type], fn);
+ }
- if (contextId) {
- // store listeners of a particular context in a separate hash (if it has an id)
- // gives a major performance boost when removing thousands of map layers
+ } else {
+ // types can be a string of space-separated words
+ types = L.Util.splitWords(types);
- indexKey = type + '_idx';
- indexLenKey = indexKey + '_len';
+ for (var i = 0, len = types.length; i < len; i++) {
+ this._on(types[i], fn, context);
+ }
+ }
- typeIndex = events[indexKey] = events[indexKey] || {};
+ return this;
+ },
- if (!typeIndex[contextId]) {
- typeIndex[contextId] = [];
+ /* @method off(type: String, fn?: Function, context?: Object): this
+ * Removes a previously added listener function. If no function is specified, it will remove all the listeners of that particular event from the object. Note that if you passed a custom context to `on`, you must pass the same context to `off` in order to remove the listener.
+ *
+ * @alternative
+ * @method off(eventMap: Object): this
+ * Removes a set of type/listener pairs.
+ *
+ * @alternative
+ * @method off: this
+ * Removes all listeners to all events on the object.
+ */
+ off: function (types, fn, context) {
- // keep track of the number of keys in the index to quickly check if it's empty
- events[indexLenKey] = (events[indexLenKey] || 0) + 1;
- }
+ if (!types) {
+ // clear all listeners if called without arguments
+ delete this._events;
- typeIndex[contextId].push(event);
+ } else if (typeof types === 'object') {
+ for (var type in types) {
+ this._off(type, types[type], fn);
+ }
+ } else {
+ types = L.Util.splitWords(types);
- } else {
- events[type] = events[type] || [];
- events[type].push(event);
+ for (var i = 0, len = types.length; i < len; i++) {
+ this._off(types[i], fn, context);
}
}
return this;
},
- hasEventListeners: function (type) { // (String) -> Boolean
- var events = this[eventsKey];
- return !!events && ((type in events && events[type].length > 0) ||
- (type + '_idx' in events && events[type + '_idx_len'] > 0));
- },
-
- removeEventListener: function (types, fn, context) { // ([String, Function, Object]) or (Object[, Object])
+ // attach listener (without syntactic sugar now)
+ _on: function (type, fn, context) {
+ this._events = this._events || {};
- if (!this[eventsKey]) {
- return this;
+ /* get/init listeners for type */
+ var typeListeners = this._events[type];
+ if (!typeListeners) {
+ typeListeners = [];
+ this._events[type] = typeListeners;
}
- if (!types) {
- return this.clearAllEventListeners();
+ if (context === this) {
+ // Less memory footprint.
+ context = undefined;
}
+ var newListener = {fn: fn, ctx: context},
+ listeners = typeListeners;
- if (L.Util.invokeEach(types, this.removeEventListener, this, fn, context)) { return this; }
-
- var events = this[eventsKey],
- contextId = context && context !== this && L.stamp(context),
- i, len, type, listeners, j, indexKey, indexLenKey, typeIndex, removed;
+ // check if fn already there
+ for (var i = 0, len = listeners.length; i < len; i++) {
+ if (listeners[i].fn === fn && listeners[i].ctx === context) {
+ return;
+ }
+ }
- types = L.Util.splitWords(types);
+ listeners.push(newListener);
+ typeListeners.count++;
+ },
- for (i = 0, len = types.length; i < len; i++) {
- type = types[i];
- indexKey = type + '_idx';
- indexLenKey = indexKey + '_len';
+ _off: function (type, fn, context) {
+ var listeners,
+ i,
+ len;
- typeIndex = events[indexKey];
+ if (!this._events) { return; }
- if (!fn) {
- // clear all listeners for a type if function isn't specified
- delete events[type];
- delete events[indexKey];
- delete events[indexLenKey];
+ listeners = this._events[type];
- } else {
- listeners = contextId && typeIndex ? typeIndex[contextId] : events[type];
-
- if (listeners) {
- for (j = listeners.length - 1; j >= 0; j--) {
- if ((listeners[j].action === fn) && (!context || (listeners[j].context === context))) {
- removed = listeners.splice(j, 1);
- // set the old action to a no-op, because it is possible
- // that the listener is being iterated over as part of a dispatch
- removed[0].action = L.Util.falseFn;
- }
- }
+ if (!listeners) {
+ return;
+ }
- if (context && typeIndex && (listeners.length === 0)) {
- delete typeIndex[contextId];
- events[indexLenKey]--;
- }
- }
+ if (!fn) {
+ // Set all removed listeners to noop so they are not called if remove happens in fire
+ for (i = 0, len = listeners.length; i < len; i++) {
+ listeners[i].fn = L.Util.falseFn;
}
+ // clear all listeners for a type if function isn't specified
+ delete this._events[type];
+ return;
}
- return this;
- },
-
- clearAllEventListeners: function () {
- delete this[eventsKey];
- return this;
- },
-
- fireEvent: function (type, data) { // (String[, Object])
- if (!this.hasEventListeners(type)) {
- return this;
+ if (context === this) {
+ context = undefined;
}
- var event = L.Util.extend({}, data, { type: type, target: this });
+ if (listeners) {
- var events = this[eventsKey],
- listeners, i, len, typeIndex, contextId;
+ // find fn and remove it
+ for (i = 0, len = listeners.length; i < len; i++) {
+ var l = listeners[i];
+ if (l.ctx !== context) { continue; }
+ if (l.fn === fn) {
- if (events[type]) {
- // make sure adding/removing listeners inside other listeners won't cause infinite loop
- listeners = events[type].slice();
+ // set the removed listener to noop so that's not called if remove happens in fire
+ l.fn = L.Util.falseFn;
- for (i = 0, len = listeners.length; i < len; i++) {
- listeners[i].action.call(listeners[i].context, event);
+ if (this._firingCount) {
+ /* copy array in case events are being fired */
+ this._events[type] = listeners = listeners.slice();
+ }
+ listeners.splice(i, 1);
+
+ return;
+ }
}
}
+ },
+
+ // @method fire(type: String, data?: Object, propagate?: Boolean): this
+ // Fires an event of the specified type. You can optionally provide an data
+ // object — the first argument of the listener function will contain its
+ // properties. The event might can optionally be propagated to event parents.
+ fire: function (type, data, propagate) {
+ if (!this.listens(type, propagate)) { return this; }
- // fire event for the context-indexed listeners as well
- typeIndex = events[type + '_idx'];
+ var event = L.Util.extend({}, data, {type: type, target: this});
- for (contextId in typeIndex) {
- listeners = typeIndex[contextId].slice();
+ if (this._events) {
+ var listeners = this._events[type];
if (listeners) {
- for (i = 0, len = listeners.length; i < len; i++) {
- listeners[i].action.call(listeners[i].context, event);
+ this._firingCount = (this._firingCount + 1) || 1;
+ for (var i = 0, len = listeners.length; i < len; i++) {
+ var l = listeners[i];
+ l.fn.call(l.ctx || this, event);
}
+
+ this._firingCount--;
}
}
+ if (propagate) {
+ // propagate the event to parents (set with addEventParent)
+ this._propagateEvent(event);
+ }
+
return this;
},
- addOneTimeEventListener: function (types, fn, context) {
+ // @method listens(type: String): Boolean
+ // Returns `true` if a particular event type has any listeners attached to it.
+ listens: function (type, propagate) {
+ var listeners = this._events && this._events[type];
+ if (listeners && listeners.length) { return true; }
+
+ if (propagate) {
+ // also check parents for listeners if event propagates
+ for (var id in this._eventParents) {
+ if (this._eventParents[id].listens(type, propagate)) { return true; }
+ }
+ }
+ return false;
+ },
+
+ // @method once(…): this
+ // Behaves as [`on(…)`](#evented-on), except the listener will only get fired once and then removed.
+ once: function (types, fn, context) {
- if (L.Util.invokeEach(types, this.addOneTimeEventListener, this, fn, context)) { return this; }
+ if (typeof types === 'object') {
+ for (var type in types) {
+ this.once(type, types[type], fn);
+ }
+ return this;
+ }
var handler = L.bind(function () {
this
- .removeEventListener(types, fn, context)
- .removeEventListener(types, handler, context);
+ .off(types, fn, context)
+ .off(types, handler, context);
}, this);
+ // add a listener that's executed once and removed after that
return this
- .addEventListener(types, fn, context)
- .addEventListener(types, handler, context);
+ .on(types, fn, context)
+ .on(types, handler, context);
+ },
+
+ // @method addEventParent(obj: Evented): this
+ // Adds an event parent - an `Evented` that will receive propagated events
+ addEventParent: function (obj) {
+ this._eventParents = this._eventParents || {};
+ this._eventParents[L.stamp(obj)] = obj;
+ return this;
+ },
+
+ // @method removeEventParent(obj: Evented): this
+ // Removes an event parent, so it will stop receiving propagated events
+ removeEventParent: function (obj) {
+ if (this._eventParents) {
+ delete this._eventParents[L.stamp(obj)];
+ }
+ return this;
+ },
+
+ _propagateEvent: function (e) {
+ for (var id in this._eventParents) {
+ this._eventParents[id].fire(e.type, L.extend({layer: e.target}, e), true);
+ }
}
-};
+});
+
+var proto = L.Evented.prototype;
+
+// aliases; we should ditch those eventually
+
+// @method addEventListener(…): this
+// Alias to [`on(…)`](#evented-on)
+proto.addEventListener = proto.on;
+
+// @method removeEventListener(…): this
+// Alias to [`off(…)`](#evented-off)
+
+// @method clearAllEventListeners(…): this
+// Alias to [`off()`](#evented-off)
+proto.removeEventListener = proto.clearAllEventListeners = proto.off;
+
+// @method addOneTimeEventListener(…): this
+// Alias to [`once(…)`](#evented-once)
+proto.addOneTimeEventListener = proto.once;
+
+// @method fireEvent(…): this
+// Alias to [`fire(…)`](#evented-fire)
+proto.fireEvent = proto.fire;
+
+// @method hasEventListeners(…): Boolean
+// Alias to [`listens(…)`](#evented-listens)
+proto.hasEventListeners = proto.listens;
+
+L.Mixin = {Events: proto};
-L.Mixin.Events.on = L.Mixin.Events.addEventListener;
-L.Mixin.Events.off = L.Mixin.Events.removeEventListener;
-L.Mixin.Events.once = L.Mixin.Events.addOneTimeEventListener;
-L.Mixin.Events.fire = L.Mixin.Events.fireEvent;
/*
- * L.Browser handles different browser and feature detections for internal Leaflet use.
+ * @namespace Browser
+ * @aka L.Browser
+ *
+ * A namespace with static properties for browser/feature detection used by Leaflet internally.
+ *
+ * @example
+ *
+ * ```js
+ * if (L.Browser.ielt9) {
+ * alert('Upgrade your browser, dude!');
+ * }
+ * ```
*/
(function () {
- var ie = 'ActiveXObject' in window,
- ielt9 = ie && !document.addEventListener,
+ var ua = navigator.userAgent.toLowerCase(),
+ doc = document.documentElement,
+
+ ie = 'ActiveXObject' in window,
- // terrible browser detection to work around Safari / iOS / Android browser bugs
- ua = navigator.userAgent.toLowerCase(),
- webkit = ua.indexOf('webkit') !== -1,
- chrome = ua.indexOf('chrome') !== -1,
+ webkit = ua.indexOf('webkit') !== -1,
phantomjs = ua.indexOf('phantom') !== -1,
- android = ua.indexOf('android') !== -1,
android23 = ua.search('android [23]') !== -1,
- gecko = ua.indexOf('gecko') !== -1,
+ chrome = ua.indexOf('chrome') !== -1,
+ gecko = ua.indexOf('gecko') !== -1 && !webkit && !window.opera && !ie,
- mobile = typeof orientation !== undefined + '',
+ win = navigator.platform.indexOf('Win') === 0,
+
+ mobile = typeof orientation !== 'undefined' || ua.indexOf('mobile') !== -1,
msPointer = !window.PointerEvent && window.MSPointerEvent,
- pointer = (window.PointerEvent && window.navigator.pointerEnabled) ||
- msPointer,
- retina = ('devicePixelRatio' in window && window.devicePixelRatio > 1) ||
- ('matchMedia' in window && window.matchMedia('(min-resolution:144dpi)') &&
- window.matchMedia('(min-resolution:144dpi)').matches),
+ pointer = window.PointerEvent || msPointer,
- doc = document.documentElement,
ie3d = ie && ('transition' in doc.style),
webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23,
gecko3d = 'MozPerspective' in doc.style,
- opera3d = 'OTransition' in doc.style,
- any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d || opera3d) && !phantomjs;
+ opera12 = 'OTransition' in doc.style;
- var touch = !window.L_NO_TOUCH && !phantomjs && (pointer || 'ontouchstart' in window ||
- (window.DocumentTouch && document instanceof window.DocumentTouch));
+
+ var touch = !window.L_NO_TOUCH && (pointer || 'ontouchstart' in window ||
+ (window.DocumentTouch && document instanceof window.DocumentTouch));
L.Browser = {
+
+ // @property ie: Boolean
+ // `true` for all Internet Explorer versions (not Edge).
ie: ie,
- ielt9: ielt9,
+
+ // @property ielt9: Boolean
+ // `true` for Internet Explorer versions less than 9.
+ ielt9: ie && !document.addEventListener,
+
+ // @property edge: Boolean
+ // `true` for the Edge web browser.
+ edge: 'msLaunchUri' in navigator && !('documentMode' in document),
+
+ // @property webkit: Boolean
+ // `true` for webkit-based browsers like Chrome and Safari (including mobile versions).
webkit: webkit,
- gecko: gecko && !webkit && !window.opera && !ie,
- android: android,
+ // @property gecko: Boolean
+ // `true` for gecko-based browsers like Firefox.
+ gecko: gecko,
+
+ // @property android: Boolean
+ // `true` for any browser running on an Android platform.
+ android: ua.indexOf('android') !== -1,
+
+ // @property android23: Boolean
+ // `true` for browsers running on Android 2 or Android 3.
android23: android23,
+ // @property chrome: Boolean
+ // `true` for the Chrome browser.
chrome: chrome,
+ // @property safari: Boolean
+ // `true` for the Safari browser.
+ safari: !chrome && ua.indexOf('safari') !== -1,
+
+
+ // @property win: Boolean
+ // `true` when the browser is running in a Windows platform
+ win: win,
+
+
+ // @property ie3d: Boolean
+ // `true` for all Internet Explorer versions supporting CSS transforms.
ie3d: ie3d,
+
+ // @property webkit3d: Boolean
+ // `true` for webkit-based browsers supporting CSS transforms.
webkit3d: webkit3d,
+
+ // @property gecko3d: Boolean
+ // `true` for gecko-based browsers supporting CSS transforms.
gecko3d: gecko3d,
- opera3d: opera3d,
- any3d: any3d,
+ // @property opera12: Boolean
+ // `true` for the Opera browser supporting CSS transforms (version 12 or later).
+ opera12: opera12,
+
+ // @property any3d: Boolean
+ // `true` for all browsers supporting CSS transforms.
+ any3d: !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d) && !opera12 && !phantomjs,
+
+
+ // @property mobile: Boolean
+ // `true` for all browsers running in a mobile device.
mobile: mobile,
+
+ // @property mobileWebkit: Boolean
+ // `true` for all webkit-based browsers in a mobile device.
mobileWebkit: mobile && webkit,
+
+ // @property mobileWebkit3d: Boolean
+ // `true` for all webkit-based browsers in a mobile device supporting CSS transforms.
mobileWebkit3d: mobile && webkit3d,
+
+ // @property mobileOpera: Boolean
+ // `true` for the Opera browser in a mobile device.
mobileOpera: mobile && window.opera,
- touch: touch,
- msPointer: msPointer,
- pointer: pointer,
+ // @property mobileGecko: Boolean
+ // `true` for gecko-based browsers running in a mobile device.
+ mobileGecko: mobile && gecko,
+
- retina: retina
+ // @property touch: Boolean
+ // `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events).
+ touch: !!touch,
+
+ // @property msPointer: Boolean
+ // `true` for browsers implementing the Microsoft touch events model (notably IE10).
+ msPointer: !!msPointer,
+
+ // @property pointer: Boolean
+ // `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx).
+ pointer: !!pointer,
+
+
+ // @property retina: Boolean
+ // `true` for browsers on a high-resolution "retina" screen.
+ retina: (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1
};
}());
+
/*
- * L.Point represents a point with x and y coordinates.
+ * @class Point
+ * @aka L.Point
+ *
+ * Represents a point with `x` and `y` coordinates in pixels.
+ *
+ * @example
+ *
+ * ```js
+ * var point = L.point(200, 300);
+ * ```
+ *
+ * All Leaflet methods and options that accept `Point` objects also accept them in a simple Array form (unless noted otherwise), so these lines are equivalent:
+ *
+ * ```js
+ * map.panBy([200, 300]);
+ * map.panBy(L.point(200, 300));
+ * ```
*/
-L.Point = function (/*Number*/ x, /*Number*/ y, /*Boolean*/ round) {
+L.Point = function (x, y, round) {
this.x = (round ? Math.round(x) : x);
this.y = (round ? Math.round(y) : y);
};
L.Point.prototype = {
+ // @method clone(): Point
+ // Returns a copy of the current point.
clone: function () {
return new L.Point(this.x, this.y);
},
- // non-destructive, returns a new point
+ // @method add(otherPoint: Point): Point
+ // Returns the result of addition of the current and the given points.
add: function (point) {
+ // non-destructive, returns a new point
return this.clone()._add(L.point(point));
},
- // destructive, used directly for performance in situations where it's safe to modify existing point
_add: function (point) {
+ // destructive, used directly for performance in situations where it's safe to modify existing point
this.x += point.x;
this.y += point.y;
return this;
},
+ // @method subtract(otherPoint: Point): Point
+ // Returns the result of subtraction of the given point from the current.
subtract: function (point) {
return this.clone()._subtract(L.point(point));
},
return this;
},
+ // @method divideBy(num: Number): Point
+ // Returns the result of division of the current point by the given number.
divideBy: function (num) {
return this.clone()._divideBy(num);
},
return this;
},
+ // @method multiplyBy(num: Number): Point
+ // Returns the result of multiplication of the current point by the given number.
multiplyBy: function (num) {
return this.clone()._multiplyBy(num);
},
return this;
},
+ // @method scaleBy(scale: Point): Point
+ // Multiply each coordinate of the current point by each coordinate of
+ // `scale`. In linear algebra terms, multiply the point by the
+ // [scaling matrix](https://en.wikipedia.org/wiki/Scaling_%28geometry%29#Matrix_representation)
+ // defined by `scale`.
+ scaleBy: function (point) {
+ return new L.Point(this.x * point.x, this.y * point.y);
+ },
+
+ // @method unscaleBy(scale: Point): Point
+ // Inverse of `scaleBy`. Divide each coordinate of the current point by
+ // each coordinate of `scale`.
+ unscaleBy: function (point) {
+ return new L.Point(this.x / point.x, this.y / point.y);
+ },
+
+ // @method round(): Point
+ // Returns a copy of the current point with rounded coordinates.
round: function () {
return this.clone()._round();
},
return this;
},
+ // @method floor(): Point
+ // Returns a copy of the current point with floored coordinates (rounded down).
floor: function () {
return this.clone()._floor();
},
return this;
},
+ // @method ceil(): Point
+ // Returns a copy of the current point with ceiled coordinates (rounded up).
+ ceil: function () {
+ return this.clone()._ceil();
+ },
+
+ _ceil: function () {
+ this.x = Math.ceil(this.x);
+ this.y = Math.ceil(this.y);
+ return this;
+ },
+
+ // @method distanceTo(otherPoint: Point): Number
+ // Returns the cartesian distance between the current and the given points.
distanceTo: function (point) {
point = L.point(point);
return Math.sqrt(x * x + y * y);
},
+ // @method equals(otherPoint: Point): Boolean
+ // Returns `true` if the given point has the same coordinates.
equals: function (point) {
point = L.point(point);
point.y === this.y;
},
+ // @method contains(otherPoint: Point): Boolean
+ // Returns `true` if both coordinates of the given point are less than the corresponding current point coordinates (in absolute values).
contains: function (point) {
point = L.point(point);
Math.abs(point.y) <= Math.abs(this.y);
},
+ // @method toString(): String
+ // Returns a string representation of the point for debugging purposes.
toString: function () {
return 'Point(' +
L.Util.formatNum(this.x) + ', ' +
}
};
+// @factory L.point(x: Number, y: Number, round?: Boolean)
+// Creates a Point object with the given `x` and `y` coordinates. If optional `round` is set to true, rounds the `x` and `y` values.
+
+// @alternative
+// @factory L.point(coords: Number[])
+// Expects an array of the form `[x, y]` instead.
+
+// @alternative
+// @factory L.point(coords: Object)
+// Expects a plain object of the form `{x: Number, y: Number}` instead.
L.point = function (x, y, round) {
if (x instanceof L.Point) {
return x;
if (x === undefined || x === null) {
return x;
}
+ if (typeof x === 'object' && 'x' in x && 'y' in x) {
+ return new L.Point(x.x, x.y);
+ }
return new L.Point(x, y, round);
};
+
/*
- * L.Bounds represents a rectangular area on the screen in pixel coordinates.
+ * @class Bounds
+ * @aka L.Bounds
+ *
+ * Represents a rectangular area in pixel coordinates.
+ *
+ * @example
+ *
+ * ```js
+ * var p1 = L.point(10, 10),
+ * p2 = L.point(40, 60),
+ * bounds = L.bounds(p1, p2);
+ * ```
+ *
+ * All Leaflet methods that accept `Bounds` objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:
+ *
+ * ```js
+ * otherBounds.intersects([[10, 10], [40, 60]]);
+ * ```
*/
-L.Bounds = function (a, b) { //(Point, Point) or Point[]
+L.Bounds = function (a, b) {
if (!a) { return; }
var points = b ? [a, b] : a;
};
L.Bounds.prototype = {
- // extend the bounds to contain the given point
+ // @method extend(point: Point): this
+ // Extends the bounds to contain the given point.
extend: function (point) { // (Point)
point = L.point(point);
+ // @property min: Point
+ // The top left corner of the rectangle.
+ // @property max: Point
+ // The bottom right corner of the rectangle.
if (!this.min && !this.max) {
this.min = point.clone();
this.max = point.clone();
return this;
},
- getCenter: function (round) { // (Boolean) -> Point
+ // @method getCenter(round?: Boolean): Point
+ // Returns the center point of the bounds.
+ getCenter: function (round) {
return new L.Point(
(this.min.x + this.max.x) / 2,
(this.min.y + this.max.y) / 2, round);
},
- getBottomLeft: function () { // -> Point
+ // @method getBottomLeft(): Point
+ // Returns the bottom-left point of the bounds.
+ getBottomLeft: function () {
return new L.Point(this.min.x, this.max.y);
},
+ // @method getTopRight(): Point
+ // Returns the top-right point of the bounds.
getTopRight: function () { // -> Point
return new L.Point(this.max.x, this.min.y);
},
+ // @method getSize(): Point
+ // Returns the size of the given bounds
getSize: function () {
return this.max.subtract(this.min);
},
- contains: function (obj) { // (Bounds) or (Point) -> Boolean
+ // @method contains(otherBounds: Bounds): Boolean
+ // Returns `true` if the rectangle contains the given one.
+ // @alternative
+ // @method contains(point: Point): Boolean
+ // Returns `true` if the rectangle contains the given point.
+ contains: function (obj) {
var min, max;
if (typeof obj[0] === 'number' || obj instanceof L.Point) {
(max.y <= this.max.y);
},
+ // @method intersects(otherBounds: Bounds): Boolean
+ // Returns `true` if the rectangle intersects the given bounds. Two bounds
+ // intersect if they have at least one point in common.
intersects: function (bounds) { // (Bounds) -> Boolean
bounds = L.bounds(bounds);
return xIntersects && yIntersects;
},
+ // @method overlaps(otherBounds: Bounds): Boolean
+ // Returns `true` if the rectangle overlaps the given bounds. Two bounds
+ // overlap if their intersection is an area.
+ overlaps: function (bounds) { // (Bounds) -> Boolean
+ bounds = L.bounds(bounds);
+
+ var min = this.min,
+ max = this.max,
+ min2 = bounds.min,
+ max2 = bounds.max,
+ xOverlaps = (max2.x > min.x) && (min2.x < max.x),
+ yOverlaps = (max2.y > min.y) && (min2.y < max.y);
+
+ return xOverlaps && yOverlaps;
+ },
+
isValid: function () {
return !!(this.min && this.max);
}
};
-L.bounds = function (a, b) { // (Bounds) or (Point, Point) or (Point[])
+
+// @factory L.bounds(topLeft: Point, bottomRight: Point)
+// Creates a Bounds object from two coordinates (usually top-left and bottom-right corners).
+// @alternative
+// @factory L.bounds(points: Point[])
+// Creates a Bounds object from the points it contains
+L.bounds = function (a, b) {
if (!a || a instanceof L.Bounds) {
return a;
}
};
+
/*
- * L.Transformation is an utility class to perform simple point transformations through a 2d-matrix.
+ * @class Transformation
+ * @aka L.Transformation
+ *
+ * Represents an affine transformation: a set of coefficients `a`, `b`, `c`, `d`
+ * for transforming a point of a form `(x, y)` into `(a*x + b, c*y + d)` and doing
+ * the reverse. Used by Leaflet in its projections code.
+ *
+ * @example
+ *
+ * ```js
+ * var transformation = new L.Transformation(2, 5, -1, 10),
+ * p = L.point(1, 2),
+ * p2 = transformation.transform(p), // L.point(7, 8)
+ * p3 = transformation.untransform(p2); // L.point(1, 2)
+ * ```
*/
+
+// factory new L.Transformation(a: Number, b: Number, c: Number, d: Number)
+// Creates a `Transformation` object with the given coefficients.
L.Transformation = function (a, b, c, d) {
this._a = a;
this._b = b;
};
L.Transformation.prototype = {
+ // @method transform(point: Point, scale?: Number): Point
+ // Returns a transformed point, optionally multiplied by the given scale.
+ // Only accepts real `L.Point` instances, not arrays.
transform: function (point, scale) { // (Point, Number) -> Point
return this._transform(point.clone(), scale);
},
return point;
},
+ // @method untransform(point: Point, scale?: Number): Point
+ // Returns the reverse transformation of the given point, optionally divided
+ // by the given scale. Only accepts real `L.Point` instances, not arrays.
untransform: function (point, scale) {
scale = scale || 1;
return new L.Point(
};
+
/*
- * L.DomUtil contains various utility functions for working with DOM.
+ * @namespace DomUtil
+ *
+ * Utility functions to work with the [DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model)
+ * tree, used by Leaflet internally.
+ *
+ * Most functions expecting or returning a `HTMLElement` also work for
+ * SVG elements. The only difference is that classes refer to CSS classes
+ * in HTML and SVG classes in SVG.
*/
L.DomUtil = {
+
+ // @function get(id: String|HTMLElement): HTMLElement
+ // Returns an element given its DOM id, or returns the element itself
+ // if it was passed directly.
get: function (id) {
- return (typeof id === 'string' ? document.getElementById(id) : id);
+ return typeof id === 'string' ? document.getElementById(id) : id;
},
+ // @function getStyle(el: HTMLElement, styleAttrib: String): String
+ // Returns the value for a certain style attribute on an element,
+ // including computed values or values set through CSS.
getStyle: function (el, style) {
- var value = el.style[style];
-
- if (!value && el.currentStyle) {
- value = el.currentStyle[style];
- }
+ var value = el.style[style] || (el.currentStyle && el.currentStyle[style]);
if ((!value || value === 'auto') && document.defaultView) {
var css = document.defaultView.getComputedStyle(el, null);
return value === 'auto' ? null : value;
},
- getViewportOffset: function (element) {
-
- var top = 0,
- left = 0,
- el = element,
- docBody = document.body,
- docEl = document.documentElement,
- pos;
-
- do {
- top += el.offsetTop || 0;
- left += el.offsetLeft || 0;
-
- //add borders
- top += parseInt(L.DomUtil.getStyle(el, 'borderTopWidth'), 10) || 0;
- left += parseInt(L.DomUtil.getStyle(el, 'borderLeftWidth'), 10) || 0;
-
- pos = L.DomUtil.getStyle(el, 'position');
-
- if (el.offsetParent === docBody && pos === 'absolute') { break; }
-
- if (pos === 'fixed') {
- top += docBody.scrollTop || docEl.scrollTop || 0;
- left += docBody.scrollLeft || docEl.scrollLeft || 0;
- break;
- }
-
- if (pos === 'relative' && !el.offsetLeft) {
- var width = L.DomUtil.getStyle(el, 'width'),
- maxWidth = L.DomUtil.getStyle(el, 'max-width'),
- r = el.getBoundingClientRect();
-
- if (width !== 'none' || maxWidth !== 'none') {
- left += r.left + el.clientLeft;
- }
-
- //calculate full y offset since we're breaking out of the loop
- top += r.top + (docBody.scrollTop || docEl.scrollTop || 0);
-
- break;
- }
-
- el = el.offsetParent;
-
- } while (el);
-
- el = element;
-
- do {
- if (el === docBody) { break; }
+ // @function create(tagName: String, className?: String, container?: HTMLElement): HTMLElement
+ // Creates an HTML element with `tagName`, sets its class to `className`, and optionally appends it to `container` element.
+ create: function (tagName, className, container) {
- top -= el.scrollTop || 0;
- left -= el.scrollLeft || 0;
+ var el = document.createElement(tagName);
+ el.className = className || '';
- el = el.parentNode;
- } while (el);
+ if (container) {
+ container.appendChild(el);
+ }
- return new L.Point(left, top);
+ return el;
},
- documentIsLtr: function () {
- if (!L.DomUtil._docIsLtrCached) {
- L.DomUtil._docIsLtrCached = true;
- L.DomUtil._docIsLtr = L.DomUtil.getStyle(document.body, 'direction') === 'ltr';
+ // @function remove(el: HTMLElement)
+ // Removes `el` from its parent element
+ remove: function (el) {
+ var parent = el.parentNode;
+ if (parent) {
+ parent.removeChild(el);
}
- return L.DomUtil._docIsLtr;
},
- create: function (tagName, className, container) {
-
- var el = document.createElement(tagName);
- el.className = className;
-
- if (container) {
- container.appendChild(el);
+ // @function empty(el: HTMLElement)
+ // Removes all of `el`'s children elements from `el`
+ empty: function (el) {
+ while (el.firstChild) {
+ el.removeChild(el.firstChild);
}
+ },
- return el;
+ // @function toFront(el: HTMLElement)
+ // Makes `el` the last children of its parent, so it renders in front of the other children.
+ toFront: function (el) {
+ el.parentNode.appendChild(el);
},
+ // @function toBack(el: HTMLElement)
+ // Makes `el` the first children of its parent, so it renders back from the other children.
+ toBack: function (el) {
+ var parent = el.parentNode;
+ parent.insertBefore(el, parent.firstChild);
+ },
+
+ // @function hasClass(el: HTMLElement, name: String): Boolean
+ // Returns `true` if the element's class attribute contains `name`.
hasClass: function (el, name) {
if (el.classList !== undefined) {
return el.classList.contains(name);
}
- var className = L.DomUtil._getClass(el);
+ var className = L.DomUtil.getClass(el);
return className.length > 0 && new RegExp('(^|\\s)' + name + '(\\s|$)').test(className);
},
+ // @function addClass(el: HTMLElement, name: String)
+ // Adds `name` to the element's class attribute.
addClass: function (el, name) {
if (el.classList !== undefined) {
var classes = L.Util.splitWords(name);
el.classList.add(classes[i]);
}
} else if (!L.DomUtil.hasClass(el, name)) {
- var className = L.DomUtil._getClass(el);
- L.DomUtil._setClass(el, (className ? className + ' ' : '') + name);
+ var className = L.DomUtil.getClass(el);
+ L.DomUtil.setClass(el, (className ? className + ' ' : '') + name);
}
},
+ // @function removeClass(el: HTMLElement, name: String)
+ // Removes `name` from the element's class attribute.
removeClass: function (el, name) {
if (el.classList !== undefined) {
el.classList.remove(name);
} else {
- L.DomUtil._setClass(el, L.Util.trim((' ' + L.DomUtil._getClass(el) + ' ').replace(' ' + name + ' ', ' ')));
+ L.DomUtil.setClass(el, L.Util.trim((' ' + L.DomUtil.getClass(el) + ' ').replace(' ' + name + ' ', ' ')));
}
},
- _setClass: function (el, name) {
+ // @function setClass(el: HTMLElement, name: String)
+ // Sets the element's class.
+ setClass: function (el, name) {
if (el.className.baseVal === undefined) {
el.className = name;
} else {
}
},
- _getClass: function (el) {
+ // @function getClass(el: HTMLElement): String
+ // Returns the element's class.
+ getClass: function (el) {
return el.className.baseVal === undefined ? el.className : el.className.baseVal;
},
+ // @function setOpacity(el: HTMLElement, opacity: Number)
+ // Set the opacity of an element (including old IE support).
+ // `opacity` must be a number from `0` to `1`.
setOpacity: function (el, value) {
if ('opacity' in el.style) {
el.style.opacity = value;
} else if ('filter' in el.style) {
+ L.DomUtil._setOpacityIE(el, value);
+ }
+ },
- var filter = false,
- filterName = 'DXImageTransform.Microsoft.Alpha';
+ _setOpacityIE: function (el, value) {
+ var filter = false,
+ filterName = 'DXImageTransform.Microsoft.Alpha';
- // filters collection throws an error if we try to retrieve a filter that doesn't exist
- try {
- filter = el.filters.item(filterName);
- } catch (e) {
- // don't set opacity to 1 if we haven't already set an opacity,
- // it isn't needed and breaks transparent pngs.
- if (value === 1) { return; }
- }
+ // filters collection throws an error if we try to retrieve a filter that doesn't exist
+ try {
+ filter = el.filters.item(filterName);
+ } catch (e) {
+ // don't set opacity to 1 if we haven't already set an opacity,
+ // it isn't needed and breaks transparent pngs.
+ if (value === 1) { return; }
+ }
- value = Math.round(value * 100);
+ value = Math.round(value * 100);
- if (filter) {
- filter.Enabled = (value !== 100);
- filter.Opacity = value;
- } else {
- el.style.filter += ' progid:' + filterName + '(opacity=' + value + ')';
- }
+ if (filter) {
+ filter.Enabled = (value !== 100);
+ filter.Opacity = value;
+ } else {
+ el.style.filter += ' progid:' + filterName + '(opacity=' + value + ')';
}
},
+ // @function testProp(props: String[]): String|false
+ // Goes through the array of style names and returns the first name
+ // that is a valid style name for an element. If no such name is found,
+ // it returns false. Useful for vendor-prefixed styles like `transform`.
testProp: function (props) {
var style = document.documentElement.style;
return false;
},
- getTranslateString: function (point) {
- // on WebKit browsers (Chrome/Safari/iOS Safari/Android) using translate3d instead of translate
- // makes animation smoother as it ensures HW accel is used. Firefox 13 doesn't care
- // (same speed either way), Opera 12 doesn't support translate3d
-
- var is3d = L.Browser.webkit3d,
- open = 'translate' + (is3d ? '3d' : '') + '(',
- close = (is3d ? ',0' : '') + ')';
+ // @function setTransform(el: HTMLElement, offset: Point, scale?: Number)
+ // Resets the 3D CSS transform of `el` so it is translated by `offset` pixels
+ // and optionally scaled by `scale`. Does not have an effect if the
+ // browser doesn't support 3D CSS transforms.
+ setTransform: function (el, offset, scale) {
+ var pos = offset || new L.Point(0, 0);
- return open + point.x + 'px,' + point.y + 'px' + close;
+ el.style[L.DomUtil.TRANSFORM] =
+ (L.Browser.ie3d ?
+ 'translate(' + pos.x + 'px,' + pos.y + 'px)' :
+ 'translate3d(' + pos.x + 'px,' + pos.y + 'px,0)') +
+ (scale ? ' scale(' + scale + ')' : '');
},
- getScaleString: function (scale, origin) {
+ // @function setPosition(el: HTMLElement, position: Point)
+ // Sets the position of `el` to coordinates specified by `position`,
+ // using CSS translate or top/left positioning depending on the browser
+ // (used by Leaflet internally to position its layers).
+ setPosition: function (el, point) { // (HTMLElement, Point[, Boolean])
- var preTranslateStr = L.DomUtil.getTranslateString(origin.add(origin.multiplyBy(-1 * scale))),
- scaleStr = ' scale(' + scale + ') ';
-
- return preTranslateStr + scaleStr;
- },
-
- setPosition: function (el, point, disable3D) { // (HTMLElement, Point[, Boolean])
-
- // jshint camelcase: false
+ /*eslint-disable */
el._leaflet_pos = point;
+ /*eslint-enable */
- if (!disable3D && L.Browser.any3d) {
- el.style[L.DomUtil.TRANSFORM] = L.DomUtil.getTranslateString(point);
+ if (L.Browser.any3d) {
+ L.DomUtil.setTransform(el, point);
} else {
el.style.left = point.x + 'px';
el.style.top = point.y + 'px';
}
},
+ // @function getPosition(el: HTMLElement): Point
+ // Returns the coordinates of an element previously positioned with setPosition.
getPosition: function (el) {
// this method is only used for elements previously positioned using setPosition,
// so it's safe to cache the position for performance
- // jshint camelcase: false
- return el._leaflet_pos;
+ return el._leaflet_pos || new L.Point(0, 0);
}
};
-// prefix style property names
+(function () {
+ // prefix style property names
-L.DomUtil.TRANSFORM = L.DomUtil.testProp(
- ['transform', 'WebkitTransform', 'OTransform', 'MozTransform', 'msTransform']);
+ // @property TRANSFORM: String
+ // Vendor-prefixed fransform style name (e.g. `'webkitTransform'` for WebKit).
+ L.DomUtil.TRANSFORM = L.DomUtil.testProp(
+ ['transform', 'WebkitTransform', 'OTransform', 'MozTransform', 'msTransform']);
-// webkitTransition comes first because some browser versions that drop vendor prefix don't do
-// the same for the transitionend event, in particular the Android 4.1 stock browser
-L.DomUtil.TRANSITION = L.DomUtil.testProp(
- ['webkitTransition', 'transition', 'OTransition', 'MozTransition', 'msTransition']);
+ // webkitTransition comes first because some browser versions that drop vendor prefix don't do
+ // the same for the transitionend event, in particular the Android 4.1 stock browser
-L.DomUtil.TRANSITION_END =
- L.DomUtil.TRANSITION === 'webkitTransition' || L.DomUtil.TRANSITION === 'OTransition' ?
- L.DomUtil.TRANSITION + 'End' : 'transitionend';
+ // @property TRANSITION: String
+ // Vendor-prefixed transform style name.
+ var transition = L.DomUtil.TRANSITION = L.DomUtil.testProp(
+ ['webkitTransition', 'transition', 'OTransition', 'MozTransition', 'msTransition']);
-(function () {
- if ('onselectstart' in document) {
- L.extend(L.DomUtil, {
- disableTextSelection: function () {
- L.DomEvent.on(window, 'selectstart', L.DomEvent.preventDefault);
- },
-
- enableTextSelection: function () {
- L.DomEvent.off(window, 'selectstart', L.DomEvent.preventDefault);
- }
- });
- } else {
- var userSelectProperty = L.DomUtil.testProp(
- ['userSelect', 'WebkitUserSelect', 'OUserSelect', 'MozUserSelect', 'msUserSelect']);
-
- L.extend(L.DomUtil, {
- disableTextSelection: function () {
- if (userSelectProperty) {
- var style = document.documentElement.style;
- this._userSelect = style[userSelectProperty];
- style[userSelectProperty] = 'none';
- }
- },
-
- enableTextSelection: function () {
- if (userSelectProperty) {
- document.documentElement.style[userSelectProperty] = this._userSelect;
- delete this._userSelect;
- }
- }
- });
- }
-
- L.extend(L.DomUtil, {
- disableImageDrag: function () {
- L.DomEvent.on(window, 'dragstart', L.DomEvent.preventDefault);
- },
+ L.DomUtil.TRANSITION_END =
+ transition === 'webkitTransition' || transition === 'OTransition' ? transition + 'End' : 'transitionend';
- enableImageDrag: function () {
- L.DomEvent.off(window, 'dragstart', L.DomEvent.preventDefault);
- }
- });
+ // @function disableTextSelection()
+ // Prevents the user from generating `selectstart` DOM events, usually generated
+ // when the user drags the mouse through a page with text. Used internally
+ // by Leaflet to override the behaviour of any click-and-drag interaction on
+ // the map. Affects drag interactions on the whole document.
+
+ // @function enableTextSelection()
+ // Cancels the effects of a previous [`L.DomUtil.disableTextSelection`](#domutil-disabletextselection).
+ if ('onselectstart' in document) {
+ L.DomUtil.disableTextSelection = function () {
+ L.DomEvent.on(window, 'selectstart', L.DomEvent.preventDefault);
+ };
+ L.DomUtil.enableTextSelection = function () {
+ L.DomEvent.off(window, 'selectstart', L.DomEvent.preventDefault);
+ };
+
+ } else {
+ var userSelectProperty = L.DomUtil.testProp(
+ ['userSelect', 'WebkitUserSelect', 'OUserSelect', 'MozUserSelect', 'msUserSelect']);
+
+ L.DomUtil.disableTextSelection = function () {
+ if (userSelectProperty) {
+ var style = document.documentElement.style;
+ this._userSelect = style[userSelectProperty];
+ style[userSelectProperty] = 'none';
+ }
+ };
+ L.DomUtil.enableTextSelection = function () {
+ if (userSelectProperty) {
+ document.documentElement.style[userSelectProperty] = this._userSelect;
+ delete this._userSelect;
+ }
+ };
+ }
+
+ // @function disableImageDrag()
+ // As [`L.DomUtil.disableTextSelection`](#domutil-disabletextselection), but
+ // for `dragstart` DOM events, usually generated when the user drags an image.
+ L.DomUtil.disableImageDrag = function () {
+ L.DomEvent.on(window, 'dragstart', L.DomEvent.preventDefault);
+ };
+
+ // @function enableImageDrag()
+ // Cancels the effects of a previous [`L.DomUtil.disableImageDrag`](#domutil-disabletextselection).
+ L.DomUtil.enableImageDrag = function () {
+ L.DomEvent.off(window, 'dragstart', L.DomEvent.preventDefault);
+ };
+
+ // @function preventOutline(el: HTMLElement)
+ // Makes the [outline](https://developer.mozilla.org/docs/Web/CSS/outline)
+ // of the element `el` invisible. Used internally by Leaflet to prevent
+ // focusable elements from displaying an outline when the user performs a
+ // drag interaction on them.
+ L.DomUtil.preventOutline = function (element) {
+ while (element.tabIndex === -1) {
+ element = element.parentNode;
+ }
+ if (!element || !element.style) { return; }
+ L.DomUtil.restoreOutline();
+ this._outlineElement = element;
+ this._outlineStyle = element.style.outline;
+ element.style.outline = 'none';
+ L.DomEvent.on(window, 'keydown', L.DomUtil.restoreOutline, this);
+ };
+
+ // @function restoreOutline()
+ // Cancels the effects of a previous [`L.DomUtil.preventOutline`]().
+ L.DomUtil.restoreOutline = function () {
+ if (!this._outlineElement) { return; }
+ this._outlineElement.style.outline = this._outlineStyle;
+ delete this._outlineElement;
+ delete this._outlineStyle;
+ L.DomEvent.off(window, 'keydown', L.DomUtil.restoreOutline, this);
+ };
})();
-/*
- * L.LatLng represents a geographical point with latitude and longitude coordinates.
- */
-L.LatLng = function (lat, lng, alt) { // (Number, Number, Number)
- lat = parseFloat(lat);
- lng = parseFloat(lng);
+/* @class LatLng
+ * @aka L.LatLng
+ *
+ * Represents a geographical point with a certain latitude and longitude.
+ *
+ * @example
+ *
+ * ```
+ * var latlng = L.latLng(50.5, 30.5);
+ * ```
+ *
+ * All Leaflet methods that accept LatLng objects also accept them in a simple Array form and simple object form (unless noted otherwise), so these lines are equivalent:
+ *
+ * ```
+ * map.panTo([50, 30]);
+ * map.panTo({lon: 30, lat: 50});
+ * map.panTo({lat: 50, lng: 30});
+ * map.panTo(L.latLng(50, 30));
+ * ```
+ */
+L.LatLng = function (lat, lng, alt) {
if (isNaN(lat) || isNaN(lng)) {
throw new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')');
}
- this.lat = lat;
- this.lng = lng;
+ // @property lat: Number
+ // Latitude in degrees
+ this.lat = +lat;
+
+ // @property lng: Number
+ // Longitude in degrees
+ this.lng = +lng;
+ // @property alt: Number
+ // Altitude in meters (optional)
if (alt !== undefined) {
- this.alt = parseFloat(alt);
+ this.alt = +alt;
}
};
-L.extend(L.LatLng, {
- DEG_TO_RAD: Math.PI / 180,
- RAD_TO_DEG: 180 / Math.PI,
- MAX_MARGIN: 1.0E-9 // max margin of error for the "equals" check
-});
-
L.LatLng.prototype = {
- equals: function (obj) { // (LatLng) -> Boolean
+ // @method equals(otherLatLng: LatLng, maxMargin?: Number): Boolean
+ // Returns `true` if the given `LatLng` point is at the same position (within a small margin of error). The margin of error can be overriden by setting `maxMargin` to a small number.
+ equals: function (obj, maxMargin) {
if (!obj) { return false; }
obj = L.latLng(obj);
Math.abs(this.lat - obj.lat),
Math.abs(this.lng - obj.lng));
- return margin <= L.LatLng.MAX_MARGIN;
+ return margin <= (maxMargin === undefined ? 1.0E-9 : maxMargin);
},
- toString: function (precision) { // (Number) -> String
+ // @method toString(): String
+ // Returns a string representation of the point (for debugging purposes).
+ toString: function (precision) {
return 'LatLng(' +
L.Util.formatNum(this.lat, precision) + ', ' +
L.Util.formatNum(this.lng, precision) + ')';
},
- // Haversine distance formula, see http://en.wikipedia.org/wiki/Haversine_formula
- // TODO move to projection code, LatLng shouldn't know about Earth
- distanceTo: function (other) { // (LatLng) -> Number
- other = L.latLng(other);
+ // @method distanceTo(otherLatLng: LatLng): Number
+ // Returns the distance (in meters) to the given `LatLng` calculated using the [Haversine formula](http://en.wikipedia.org/wiki/Haversine_formula).
+ distanceTo: function (other) {
+ return L.CRS.Earth.distance(this, L.latLng(other));
+ },
- var R = 6378137, // earth radius in meters
- d2r = L.LatLng.DEG_TO_RAD,
- dLat = (other.lat - this.lat) * d2r,
- dLon = (other.lng - this.lng) * d2r,
- lat1 = this.lat * d2r,
- lat2 = other.lat * d2r,
- sin1 = Math.sin(dLat / 2),
- sin2 = Math.sin(dLon / 2);
+ // @method wrap(): LatLng
+ // Returns a new `LatLng` object with the longitude wrapped so it's always between -180 and +180 degrees.
+ wrap: function () {
+ return L.CRS.Earth.wrapLatLng(this);
+ },
- var a = sin1 * sin1 + sin2 * sin2 * Math.cos(lat1) * Math.cos(lat2);
+ // @method toBounds(sizeInMeters: Number): LatLngBounds
+ // Returns a new `LatLngBounds` object in which each boundary is `sizeInMeters` meters apart from the `LatLng`.
+ toBounds: function (sizeInMeters) {
+ var latAccuracy = 180 * sizeInMeters / 40075017,
+ lngAccuracy = latAccuracy / Math.cos((Math.PI / 180) * this.lat);
- return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
+ return L.latLngBounds(
+ [this.lat - latAccuracy, this.lng - lngAccuracy],
+ [this.lat + latAccuracy, this.lng + lngAccuracy]);
},
- wrap: function (a, b) { // (Number, Number) -> LatLng
- var lng = this.lng;
+ clone: function () {
+ return new L.LatLng(this.lat, this.lng, this.alt);
+ }
+};
- a = a || -180;
- b = b || 180;
- lng = (lng + b) % (b - a) + (lng < a || lng === b ? b : a);
- return new L.LatLng(this.lat, lng);
- }
-};
+// @factory L.latLng(latitude: Number, longitude: Number, altitude?: Number): LatLng
+// Creates an object representing a geographical point with the given latitude and longitude (and optionally altitude).
+
+// @alternative
+// @factory L.latLng(coords: Array): LatLng
+// Expects an array of the form `[Number, Number]` or `[Number, Number, Number]` instead.
-L.latLng = function (a, b) { // (LatLng) or ([Number, Number]) or (Number, Number)
+// @alternative
+// @factory L.latLng(coords: Object): LatLng
+// Expects an plain object of the form `{lat: Number, lng: Number}` or `{lat: Number, lng: Number, alt: Number}` instead.
+
+L.latLng = function (a, b, c) {
if (a instanceof L.LatLng) {
return a;
}
- if (L.Util.isArray(a)) {
- if (typeof a[0] === 'number' || typeof a[0] === 'string') {
+ if (L.Util.isArray(a) && typeof a[0] !== 'object') {
+ if (a.length === 3) {
return new L.LatLng(a[0], a[1], a[2]);
- } else {
- return null;
}
+ if (a.length === 2) {
+ return new L.LatLng(a[0], a[1]);
+ }
+ return null;
}
if (a === undefined || a === null) {
return a;
}
if (typeof a === 'object' && 'lat' in a) {
- return new L.LatLng(a.lat, 'lng' in a ? a.lng : a.lon);
+ return new L.LatLng(a.lat, 'lng' in a ? a.lng : a.lon, a.alt);
}
if (b === undefined) {
return null;
}
- return new L.LatLng(a, b);
+ return new L.LatLng(a, b, c);
};
/*
- * L.LatLngBounds represents a rectangular area on the map in geographical coordinates.
+ * @class LatLngBounds
+ * @aka L.LatLngBounds
+ *
+ * Represents a rectangular geographical area on a map.
+ *
+ * @example
+ *
+ * ```js
+ * var southWest = L.latLng(40.712, -74.227),
+ * northEast = L.latLng(40.774, -74.125),
+ * bounds = L.latLngBounds(southWest, northEast);
+ * ```
+ *
+ * All Leaflet methods that accept LatLngBounds objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:
+ *
+ * ```js
+ * map.fitBounds([
+ * [40.712, -74.227],
+ * [40.774, -74.125]
+ * ]);
+ * ```
*/
L.LatLngBounds = function (southWest, northEast) { // (LatLng, LatLng) or (LatLng[])
};
L.LatLngBounds.prototype = {
- // extend the bounds to contain the given point or bounds
- extend: function (obj) { // (LatLng) or (LatLngBounds)
- if (!obj) { return this; }
- var latLng = L.latLng(obj);
- if (latLng !== null) {
- obj = latLng;
- } else {
- obj = L.latLngBounds(obj);
- }
+ // @method extend(latlng: LatLng): this
+ // Extend the bounds to contain the given point
+
+ // @alternative
+ // @method extend(otherBounds: LatLngBounds): this
+ // Extend the bounds to contain the given bounds
+ extend: function (obj) {
+ var sw = this._southWest,
+ ne = this._northEast,
+ sw2, ne2;
if (obj instanceof L.LatLng) {
- if (!this._southWest && !this._northEast) {
- this._southWest = new L.LatLng(obj.lat, obj.lng);
- this._northEast = new L.LatLng(obj.lat, obj.lng);
- } else {
- this._southWest.lat = Math.min(obj.lat, this._southWest.lat);
- this._southWest.lng = Math.min(obj.lng, this._southWest.lng);
+ sw2 = obj;
+ ne2 = obj;
- this._northEast.lat = Math.max(obj.lat, this._northEast.lat);
- this._northEast.lng = Math.max(obj.lng, this._northEast.lng);
- }
} else if (obj instanceof L.LatLngBounds) {
- this.extend(obj._southWest);
- this.extend(obj._northEast);
+ sw2 = obj._southWest;
+ ne2 = obj._northEast;
+
+ if (!sw2 || !ne2) { return this; }
+
+ } else {
+ return obj ? this.extend(L.latLng(obj) || L.latLngBounds(obj)) : this;
+ }
+
+ if (!sw && !ne) {
+ this._southWest = new L.LatLng(sw2.lat, sw2.lng);
+ this._northEast = new L.LatLng(ne2.lat, ne2.lng);
+ } else {
+ sw.lat = Math.min(sw2.lat, sw.lat);
+ sw.lng = Math.min(sw2.lng, sw.lng);
+ ne.lat = Math.max(ne2.lat, ne.lat);
+ ne.lng = Math.max(ne2.lng, ne.lng);
}
+
return this;
},
- // extend the bounds by a percentage
- pad: function (bufferRatio) { // (Number) -> LatLngBounds
+ // @method pad(bufferRatio: Number): LatLngBounds
+ // Returns bigger bounds created by extending the current bounds by a given percentage in each direction.
+ pad: function (bufferRatio) {
var sw = this._southWest,
ne = this._northEast,
heightBuffer = Math.abs(sw.lat - ne.lat) * bufferRatio,
new L.LatLng(ne.lat + heightBuffer, ne.lng + widthBuffer));
},
- getCenter: function () { // -> LatLng
+ // @method getCenter(): LatLng
+ // Returns the center point of the bounds.
+ getCenter: function () {
return new L.LatLng(
(this._southWest.lat + this._northEast.lat) / 2,
(this._southWest.lng + this._northEast.lng) / 2);
},
+ // @method getSouthWest(): LatLng
+ // Returns the south-west point of the bounds.
getSouthWest: function () {
return this._southWest;
},
+ // @method getNorthEast(): LatLng
+ // Returns the north-east point of the bounds.
getNorthEast: function () {
return this._northEast;
},
+ // @method getNorthWest(): LatLng
+ // Returns the north-west point of the bounds.
getNorthWest: function () {
return new L.LatLng(this.getNorth(), this.getWest());
},
+ // @method getSouthEast(): LatLng
+ // Returns the south-east point of the bounds.
getSouthEast: function () {
return new L.LatLng(this.getSouth(), this.getEast());
},
+ // @method getWest(): Number
+ // Returns the west longitude of the bounds
getWest: function () {
return this._southWest.lng;
},
+ // @method getSouth(): Number
+ // Returns the south latitude of the bounds
getSouth: function () {
return this._southWest.lat;
},
+ // @method getEast(): Number
+ // Returns the east longitude of the bounds
getEast: function () {
return this._northEast.lng;
},
+ // @method getNorth(): Number
+ // Returns the north latitude of the bounds
getNorth: function () {
return this._northEast.lat;
},
+ // @method contains(otherBounds: LatLngBounds): Boolean
+ // Returns `true` if the rectangle contains the given one.
+
+ // @alternative
+ // @method contains (latlng: LatLng): Boolean
+ // Returns `true` if the rectangle contains the given point.
contains: function (obj) { // (LatLngBounds) or (LatLng) -> Boolean
if (typeof obj[0] === 'number' || obj instanceof L.LatLng) {
obj = L.latLng(obj);
(sw2.lng >= sw.lng) && (ne2.lng <= ne.lng);
},
- intersects: function (bounds) { // (LatLngBounds)
+ // @method intersects(otherBounds: LatLngBounds): Boolean
+ // Returns `true` if the rectangle intersects the given bounds. Two bounds intersect if they have at least one point in common.
+ intersects: function (bounds) {
bounds = L.latLngBounds(bounds);
var sw = this._southWest,
return latIntersects && lngIntersects;
},
+ // @method overlaps(otherBounds: Bounds): Boolean
+ // Returns `true` if the rectangle overlaps the given bounds. Two bounds overlap if their intersection is an area.
+ overlaps: function (bounds) {
+ bounds = L.latLngBounds(bounds);
+
+ var sw = this._southWest,
+ ne = this._northEast,
+ sw2 = bounds.getSouthWest(),
+ ne2 = bounds.getNorthEast(),
+
+ latOverlaps = (ne2.lat > sw.lat) && (sw2.lat < ne.lat),
+ lngOverlaps = (ne2.lng > sw.lng) && (sw2.lng < ne.lng);
+
+ return latOverlaps && lngOverlaps;
+ },
+
+ // @method toBBoxString(): String
+ // Returns a string with bounding box coordinates in a 'southwest_lng,southwest_lat,northeast_lng,northeast_lat' format. Useful for sending requests to web services that return geo data.
toBBoxString: function () {
return [this.getWest(), this.getSouth(), this.getEast(), this.getNorth()].join(',');
},
- equals: function (bounds) { // (LatLngBounds)
+ // @method equals(otherBounds: LatLngBounds): Boolean
+ // Returns `true` if the rectangle is equivalent (within a small margin of error) to the given bounds.
+ equals: function (bounds) {
if (!bounds) { return false; }
bounds = L.latLngBounds(bounds);
this._northEast.equals(bounds.getNorthEast());
},
+ // @method isValid(): Boolean
+ // Returns `true` if the bounds are properly initialized.
isValid: function () {
return !!(this._southWest && this._northEast);
}
};
-//TODO International date line?
+// TODO International date line?
-L.latLngBounds = function (a, b) { // (LatLngBounds) or (LatLng, LatLng)
- if (!a || a instanceof L.LatLngBounds) {
+// @factory L.latLngBounds(southWest: LatLng, northEast: LatLng)
+// Creates a `LatLngBounds` object by defining south-west and north-east corners of the rectangle.
+
+// @alternative
+// @factory L.latLngBounds(latlngs: LatLng[])
+// Creates a `LatLngBounds` object defined by the geographical points it contains. Very useful for zooming the map to fit a particular set of locations with [`fitBounds`](#map-fitbounds).
+L.latLngBounds = function (a, b) {
+ if (a instanceof L.LatLngBounds) {
return a;
}
return new L.LatLngBounds(a, b);
};
+
/*
- * L.Projection contains various geographical projections used by CRS classes.
+ * @namespace Projection
+ * @section
+ * Leaflet comes with a set of already defined Projections out of the box:
+ *
+ * @projection L.Projection.LonLat
+ *
+ * Equirectangular, or Plate Carree projection — the most simple projection,
+ * mostly used by GIS enthusiasts. Directly maps `x` as longitude, and `y` as
+ * latitude. Also suitable for flat worlds, e.g. game maps. Used by the
+ * `EPSG:3395` and `Simple` CRS.
*/
L.Projection = {};
+L.Projection.LonLat = {
+ project: function (latlng) {
+ return new L.Point(latlng.lng, latlng.lat);
+ },
+
+ unproject: function (point) {
+ return new L.LatLng(point.y, point.x);
+ },
+
+ bounds: L.bounds([-180, -90], [180, 90])
+};
+
+
/*
- * Spherical Mercator is the most popular map projection, used by EPSG:3857 CRS used by default.
+ * @namespace Projection
+ * @projection L.Projection.SphericalMercator
+ *
+ * Spherical Mercator projection — the most common projection for online maps,
+ * used by almost all free and commercial tile providers. Assumes that Earth is
+ * a sphere. Used by the `EPSG:3857` CRS.
*/
L.Projection.SphericalMercator = {
+
+ R: 6378137,
MAX_LATITUDE: 85.0511287798,
- project: function (latlng) { // (LatLng) -> Point
- var d = L.LatLng.DEG_TO_RAD,
+ project: function (latlng) {
+ var d = Math.PI / 180,
max = this.MAX_LATITUDE,
lat = Math.max(Math.min(max, latlng.lat), -max),
- x = latlng.lng * d,
- y = lat * d;
+ sin = Math.sin(lat * d);
- y = Math.log(Math.tan((Math.PI / 4) + (y / 2)));
-
- return new L.Point(x, y);
+ return new L.Point(
+ this.R * latlng.lng * d,
+ this.R * Math.log((1 + sin) / (1 - sin)) / 2);
},
- unproject: function (point) { // (Point, Boolean) -> LatLng
- var d = L.LatLng.RAD_TO_DEG,
- lng = point.x * d,
- lat = (2 * Math.atan(Math.exp(point.y)) - (Math.PI / 2)) * d;
-
- return new L.LatLng(lat, lng);
- }
-};
-
-
-/*
- * Simple equirectangular (Plate Carree) projection, used by CRS like EPSG:4326 and Simple.
- */
+ unproject: function (point) {
+ var d = 180 / Math.PI;
-L.Projection.LonLat = {
- project: function (latlng) {
- return new L.Point(latlng.lng, latlng.lat);
+ return new L.LatLng(
+ (2 * Math.atan(Math.exp(point.y / this.R)) - (Math.PI / 2)) * d,
+ point.x * d / this.R);
},
- unproject: function (point) {
- return new L.LatLng(point.y, point.x);
- }
+ bounds: (function () {
+ var d = 6378137 * Math.PI;
+ return L.bounds([-d, -d], [d, d]);
+ })()
};
+
/*
- * L.CRS is a base object for all defined CRS (Coordinate Reference Systems) in Leaflet.
+ * @class CRS
+ * @aka L.CRS
+ * Abstract class that defines coordinate reference systems for projecting
+ * geographical points into pixel (screen) coordinates and back (and to
+ * coordinates in other units for [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services). See
+ * [spatial reference system](http://en.wikipedia.org/wiki/Coordinate_reference_system).
+ *
+ * Leaflet defines the most usual CRSs by default. If you want to use a
+ * CRS not defined by default, take a look at the
+ * [Proj4Leaflet](https://github.com/kartena/Proj4Leaflet) plugin.
*/
L.CRS = {
- latLngToPoint: function (latlng, zoom) { // (LatLng, Number) -> Point
+ // @method latLngToPoint(latlng: LatLng, zoom: Number): Point
+ // Projects geographical coordinates into pixel coordinates for a given zoom.
+ latLngToPoint: function (latlng, zoom) {
var projectedPoint = this.projection.project(latlng),
scale = this.scale(zoom);
return this.transformation._transform(projectedPoint, scale);
},
- pointToLatLng: function (point, zoom) { // (Point, Number[, Boolean]) -> LatLng
+ // @method pointToLatLng(point: Point, zoom: Number): LatLng
+ // The inverse of `latLngToPoint`. Projects pixel coordinates on a given
+ // zoom into geographical coordinates.
+ pointToLatLng: function (point, zoom) {
var scale = this.scale(zoom),
untransformedPoint = this.transformation.untransform(point, scale);
return this.projection.unproject(untransformedPoint);
},
+ // @method project(latlng: LatLng): Point
+ // Projects geographical coordinates into coordinates in units accepted for
+ // this CRS (e.g. meters for EPSG:3857, for passing it to WMS services).
project: function (latlng) {
return this.projection.project(latlng);
},
+ // @method unproject(point: Point): LatLng
+ // Given a projected coordinate returns the corresponding LatLng.
+ // The inverse of `project`.
+ unproject: function (point) {
+ return this.projection.unproject(point);
+ },
+
+ // @method scale(zoom: Number): Number
+ // Returns the scale used when transforming projected coordinates into
+ // pixel coordinates for a particular zoom. For example, it returns
+ // `256 * 2^zoom` for Mercator-based CRS.
scale: function (zoom) {
return 256 * Math.pow(2, zoom);
},
- getSize: function (zoom) {
- var s = this.scale(zoom);
- return L.point(s, s);
+ // @method zoom(scale: Number): Number
+ // Inverse of `scale()`, returns the zoom level corresponding to a scale
+ // factor of `scale`.
+ zoom: function (scale) {
+ return Math.log(scale / 256) / Math.LN2;
+ },
+
+ // @method getProjectedBounds(zoom: Number): Bounds
+ // Returns the projection's bounds scaled and transformed for the provided `zoom`.
+ getProjectedBounds: function (zoom) {
+ if (this.infinite) { return null; }
+
+ var b = this.projection.bounds,
+ s = this.scale(zoom),
+ min = this.transformation.transform(b.min, s),
+ max = this.transformation.transform(b.max, s);
+
+ return L.bounds(min, max);
+ },
+
+ // @method distance(latlng1: LatLng, latlng2: LatLng): Number
+ // Returns the distance between two geographical coordinates.
+
+ // @property code: String
+ // Standard code name of the CRS passed into WMS services (e.g. `'EPSG:3857'`)
+ //
+ // @property wrapLng: Number[]
+ // An array of two numbers defining whether the longitude (horizontal) coordinate
+ // axis wraps around a given range and how. Defaults to `[-180, 180]` in most
+ // geographical CRSs. If `undefined`, the longitude axis does not wrap around.
+ //
+ // @property wrapLat: Number[]
+ // Like `wrapLng`, but for the latitude (vertical) axis.
+
+ // wrapLng: [min, max],
+ // wrapLat: [min, max],
+
+ // @property infinite: Boolean
+ // If true, the coordinate space will be unbounded (infinite in both axes)
+ infinite: false,
+
+ // @method wrapLatLng(latlng: LatLng): LatLng
+ // Returns a `LatLng` where lat and lng has been wrapped according to the
+ // CRS's `wrapLat` and `wrapLng` properties, if they are outside the CRS's bounds.
+ wrapLatLng: function (latlng) {
+ var lng = this.wrapLng ? L.Util.wrapNum(latlng.lng, this.wrapLng, true) : latlng.lng,
+ lat = this.wrapLat ? L.Util.wrapNum(latlng.lat, this.wrapLat, true) : latlng.lat,
+ alt = latlng.alt;
+
+ return L.latLng(lat, lng, alt);
}
};
+
/*
- * A simple CRS that can be used for flat non-Earth maps like panoramas or game maps.
+ * @namespace CRS
+ * @crs L.CRS.Simple
+ *
+ * A simple CRS that maps longitude and latitude into `x` and `y` directly.
+ * May be used for maps of flat surfaces (e.g. game maps). Note that the `y`
+ * axis should still be inverted (going from bottom to top). `distance()` returns
+ * simple euclidean distance.
*/
L.CRS.Simple = L.extend({}, L.CRS, {
scale: function (zoom) {
return Math.pow(2, zoom);
+ },
+
+ zoom: function (scale) {
+ return Math.log(scale) / Math.LN2;
+ },
+
+ distance: function (latlng1, latlng2) {
+ var dx = latlng2.lng - latlng1.lng,
+ dy = latlng2.lat - latlng1.lat;
+
+ return Math.sqrt(dx * dx + dy * dy);
+ },
+
+ infinite: true
+});
+
+
+
+/*
+ * @namespace CRS
+ * @crs L.CRS.Earth
+ *
+ * Serves as the base for CRS that are global such that they cover the earth.
+ * Can only be used as the base for other CRS and cannot be used directly,
+ * since it does not have a `code`, `projection` or `transformation`. `distance()` returns
+ * meters.
+ */
+
+L.CRS.Earth = L.extend({}, L.CRS, {
+ wrapLng: [-180, 180],
+
+ // Mean Earth Radius, as recommended for use by
+ // the International Union of Geodesy and Geophysics,
+ // see http://rosettacode.org/wiki/Haversine_formula
+ R: 6371000,
+
+ // distance between two geographical points using spherical law of cosines approximation
+ distance: function (latlng1, latlng2) {
+ var rad = Math.PI / 180,
+ lat1 = latlng1.lat * rad,
+ lat2 = latlng2.lat * rad,
+ a = Math.sin(lat1) * Math.sin(lat2) +
+ Math.cos(lat1) * Math.cos(lat2) * Math.cos((latlng2.lng - latlng1.lng) * rad);
+
+ return this.R * Math.acos(Math.min(a, 1));
}
});
+
/*
- * L.CRS.EPSG3857 (Spherical Mercator) is the most common CRS for web mapping
- * and is used by Leaflet by default.
+ * @namespace CRS
+ * @crs L.CRS.EPSG3857
+ *
+ * The most common CRS for online maps, used by almost all free and commercial
+ * tile providers. Uses Spherical Mercator projection. Set in by default in
+ * Map's `crs` option.
*/
-L.CRS.EPSG3857 = L.extend({}, L.CRS, {
+L.CRS.EPSG3857 = L.extend({}, L.CRS.Earth, {
code: 'EPSG:3857',
-
projection: L.Projection.SphericalMercator,
- transformation: new L.Transformation(0.5 / Math.PI, 0.5, -0.5 / Math.PI, 0.5),
- project: function (latlng) { // (LatLng) -> Point
- var projectedPoint = this.projection.project(latlng),
- earthRadius = 6378137;
- return projectedPoint.multiplyBy(earthRadius);
- }
+ transformation: (function () {
+ var scale = 0.5 / (Math.PI * L.Projection.SphericalMercator.R);
+ return new L.Transformation(scale, 0.5, -scale, 0.5);
+ }())
});
L.CRS.EPSG900913 = L.extend({}, L.CRS.EPSG3857, {
});
+
/*
- * L.CRS.EPSG4326 is a CRS popular among advanced GIS specialists.
+ * @namespace CRS
+ * @crs L.CRS.EPSG4326
+ *
+ * A common CRS among GIS enthusiasts. Uses simple Equirectangular projection.
*/
-L.CRS.EPSG4326 = L.extend({}, L.CRS, {
+L.CRS.EPSG4326 = L.extend({}, L.CRS.Earth, {
code: 'EPSG:4326',
-
projection: L.Projection.LonLat,
- transformation: new L.Transformation(1 / 360, 0.5, -1 / 360, 0.5)
+ transformation: new L.Transformation(1 / 180, 1, -1 / 180, 0.5)
});
+
/*
- * L.Map is the central class of the API - it is used to create a map.
+ * @class Map
+ * @aka L.Map
+ * @inherits Evented
+ *
+ * The central class of the API — it is used to create a map on a page and manipulate it.
+ *
+ * @example
+ *
+ * ```js
+ * // initialize the map on the "map" div with a given center and zoom
+ * var map = L.map('map', {
+ * center: [51.505, -0.09],
+ * zoom: 13
+ * });
+ * ```
+ *
*/
-L.Map = L.Class.extend({
-
- includes: L.Mixin.Events,
+L.Map = L.Evented.extend({
options: {
+ // @section Map State Options
+ // @option crs: CRS = L.CRS.EPSG3857
+ // The [Coordinate Reference System](#crs) to use. Don't change this if you're not
+ // sure what it means.
crs: L.CRS.EPSG3857,
- /*
- center: LatLng,
- zoom: Number,
- layers: Array,
- */
-
- fadeAnimation: L.DomUtil.TRANSITION && !L.Browser.android23,
- trackResize: true,
- markerZoomAnimation: L.DomUtil.TRANSITION && L.Browser.any3d
+ // @option center: LatLng = undefined
+ // Initial geographic center of the map
+ center: undefined,
+
+ // @option zoom: Number = undefined
+ // Initial map zoom level
+ zoom: undefined,
+
+ // @option minZoom: Number = undefined
+ // Minimum zoom level of the map. Overrides any `minZoom` option set on map layers.
+ minZoom: undefined,
+
+ // @option maxZoom: Number = undefined
+ // Maximum zoom level of the map. Overrides any `maxZoom` option set on map layers.
+ maxZoom: undefined,
+
+ // @option layers: Layer[] = []
+ // Array of layers that will be added to the map initially
+ layers: [],
+
+ // @option maxBounds: LatLngBounds = null
+ // When this option is set, the map restricts the view to the given
+ // geographical bounds, bouncing the user back when he tries to pan
+ // outside the view. To set the restriction dynamically, use
+ // [`setMaxBounds`](#map-setmaxbounds) method.
+ maxBounds: undefined,
+
+ // @option renderer: Renderer = *
+ // The default method for drawing vector layers on the map. `L.SVG`
+ // or `L.Canvas` by default depending on browser support.
+ renderer: undefined,
+
+
+ // @section Animation Options
+ // @option fadeAnimation: Boolean = true
+ // Whether the tile fade animation is enabled. By default it's enabled
+ // in all browsers that support CSS3 Transitions except Android.
+ fadeAnimation: true,
+
+ // @option markerZoomAnimation: Boolean = true
+ // Whether markers animate their zoom with the zoom animation, if disabled
+ // they will disappear for the length of the animation. By default it's
+ // enabled in all browsers that support CSS3 Transitions except Android.
+ markerZoomAnimation: true,
+
+ // @option transform3DLimit: Number = 2^23
+ // Defines the maximum size of a CSS translation transform. The default
+ // value should not be changed unless a web browser positions layers in
+ // the wrong place after doing a large `panBy`.
+ transform3DLimit: 8388608, // Precision limit of a 32-bit float
+
+ // @section Interaction Options
+ // @option zoomSnap: Number = 1
+ // Forces the map's zoom level to always be a multiple of this, particularly
+ // right after a [`fitBounds()`](#map-fitbounds) or a pinch-zoom.
+ // By default, the zoom level snaps to the nearest integer; lower values
+ // (e.g. `0.5` or `0.1`) allow for greater granularity. A value of `0`
+ // means the zoom level will not be snapped after `fitBounds` or a pinch-zoom.
+ zoomSnap: 1,
+
+ // @option zoomDelta: Number = 1
+ // Controls how much the map's zoom level will change after a
+ // [`zoomIn()`](#map-zoomin), [`zoomOut()`](#map-zoomout), pressing `+`
+ // or `-` on the keyboard, or using the [zoom controls](#control-zoom).
+ // Values smaller than `1` (e.g. `0.5`) allow for greater granularity.
+ zoomDelta: 1,
+
+ // @option trackResize: Boolean = true
+ // Whether the map automatically handles browser window resize to update itself.
+ trackResize: true
},
initialize: function (id, options) { // (HTMLElement or String, Object)
options = L.setOptions(this, options);
-
this._initContainer(id);
this._initLayout();
this.setMaxBounds(options.maxBounds);
}
+ if (options.zoom !== undefined) {
+ this._zoom = this._limitZoom(options.zoom);
+ }
+
if (options.center && options.zoom !== undefined) {
this.setView(L.latLng(options.center), options.zoom, {reset: true});
}
this._handlers = [];
-
this._layers = {};
this._zoomBoundLayers = {};
- this._tileLayersNum = 0;
+ this._sizeChanged = true;
this.callInitHooks();
- this._addLayers(options.layers);
+ this._addLayers(this.options.layers);
},
- // public methods that modify map state
+ // @section Methods for modifying map state
- // replaced by animation-powered implementation in Map.PanAnimation.js
+ // @method setView(center: LatLng, zoom: Number, options?: Zoom/pan options): this
+ // Sets the view of the map (geographical center and zoom) with the given
+ // animation options.
setView: function (center, zoom) {
+ // replaced by animation-powered implementation in Map.PanAnimation.js
zoom = zoom === undefined ? this.getZoom() : zoom;
- this._resetView(L.latLng(center), this._limitZoom(zoom));
+ this._resetView(L.latLng(center), zoom);
return this;
},
+ // @method setZoom(zoom: Number, options: Zoom/pan options): this
+ // Sets the zoom of the map.
setZoom: function (zoom, options) {
if (!this._loaded) {
- this._zoom = this._limitZoom(zoom);
+ this._zoom = zoom;
return this;
}
return this.setView(this.getCenter(), zoom, {zoom: options});
},
+ // @method zoomIn(delta?: Number, options?: Zoom options): this
+ // Increases the zoom of the map by `delta` ([`zoomDelta`](#map-zoomdelta) by default).
zoomIn: function (delta, options) {
- return this.setZoom(this._zoom + (delta || 1), options);
+ delta = delta || (L.Browser.any3d ? this.options.zoomDelta : 1);
+ return this.setZoom(this._zoom + delta, options);
},
+ // @method zoomOut(delta?: Number, options?: Zoom options): this
+ // Decreases the zoom of the map by `delta` ([`zoomDelta`](#map-zoomdelta) by default).
zoomOut: function (delta, options) {
- return this.setZoom(this._zoom - (delta || 1), options);
+ delta = delta || (L.Browser.any3d ? this.options.zoomDelta : 1);
+ return this.setZoom(this._zoom - delta, options);
},
+ // @method setZoomAround(latlng: LatLng, zoom: Number, options: Zoom options): this
+ // Zooms the map while keeping a specified geographical point on the map
+ // stationary (e.g. used internally for scroll zoom and double-click zoom).
+ // @alternative
+ // @method setZoomAround(offset: Point, zoom: Number, options: Zoom options): this
+ // Zooms the map while keeping a specified pixel on the map (relative to the top-left corner) stationary.
setZoomAround: function (latlng, zoom, options) {
var scale = this.getZoomScale(zoom),
viewHalf = this.getSize().divideBy(2),
return this.setView(newCenter, zoom, {zoom: options});
},
- fitBounds: function (bounds, options) {
+ _getBoundsCenterZoom: function (bounds, options) {
options = options || {};
bounds = bounds.getBounds ? bounds.getBounds() : L.latLngBounds(bounds);
zoom = this.getBoundsZoom(bounds, false, paddingTL.add(paddingBR));
- zoom = (options.maxZoom) ? Math.min(options.maxZoom, zoom) : zoom;
+ zoom = (typeof options.maxZoom === 'number') ? Math.min(options.maxZoom, zoom) : zoom;
var paddingOffset = paddingBR.subtract(paddingTL).divideBy(2),
nePoint = this.project(bounds.getNorthEast(), zoom),
center = this.unproject(swPoint.add(nePoint).divideBy(2).add(paddingOffset), zoom);
- return this.setView(center, zoom, options);
+ return {
+ center: center,
+ zoom: zoom
+ };
+ },
+
+ // @method fitBounds(bounds: LatLngBounds, options: fitBounds options): this
+ // Sets a map view that contains the given geographical bounds with the
+ // maximum zoom level possible.
+ fitBounds: function (bounds, options) {
+
+ bounds = L.latLngBounds(bounds);
+
+ if (!bounds.isValid()) {
+ throw new Error('Bounds are not valid.');
+ }
+
+ var target = this._getBoundsCenterZoom(bounds, options);
+ return this.setView(target.center, target.zoom, options);
},
+ // @method fitWorld(options?: fitBounds options): this
+ // Sets a map view that mostly contains the whole world with the maximum
+ // zoom level possible.
fitWorld: function (options) {
return this.fitBounds([[-90, -180], [90, 180]], options);
},
+ // @method panTo(latlng: LatLng, options?: Pan options): this
+ // Pans the map to a given center.
panTo: function (center, options) { // (LatLng)
return this.setView(center, this._zoom, {pan: options});
},
+ // @method panBy(offset: Point): this
+ // Pans the map by a given number of pixels (animated).
panBy: function (offset) { // (Point)
// replaced with animated panBy in Map.PanAnimation.js
this.fire('movestart');
return this.fire('moveend');
},
+ // @method setMaxBounds(bounds: Bounds): this
+ // Restricts the map view to the given bounds (see the [maxBounds](#map-maxbounds) option).
setMaxBounds: function (bounds) {
bounds = L.latLngBounds(bounds);
- this.options.maxBounds = bounds;
-
- if (!bounds) {
- return this.off('moveend', this._panInsideMaxBounds, this);
+ if (!bounds.isValid()) {
+ this.options.maxBounds = null;
+ return this.off('moveend', this._panInsideMaxBounds);
+ } else if (this.options.maxBounds) {
+ this.off('moveend', this._panInsideMaxBounds);
}
+ this.options.maxBounds = bounds;
+
if (this._loaded) {
this._panInsideMaxBounds();
}
- return this.on('moveend', this._panInsideMaxBounds, this);
- },
-
- panInsideBounds: function (bounds, options) {
- var center = this.getCenter(),
- newCenter = this._limitCenter(center, this._zoom, bounds);
-
- if (center.equals(newCenter)) { return this; }
-
- return this.panTo(newCenter, options);
+ return this.on('moveend', this._panInsideMaxBounds);
},
- addLayer: function (layer) {
- // TODO method is too big, refactor
-
- var id = L.stamp(layer);
-
- if (this._layers[id]) { return this; }
-
- this._layers[id] = layer;
-
- // TODO getMaxZoom, getMinZoom in ILayer (instead of options)
- if (layer.options && (!isNaN(layer.options.maxZoom) || !isNaN(layer.options.minZoom))) {
- this._zoomBoundLayers[id] = layer;
- this._updateZoomLevels();
- }
-
- // TODO looks ugly, refactor!!!
- if (this.options.zoomAnimation && L.TileLayer && (layer instanceof L.TileLayer)) {
- this._tileLayersNum++;
- this._tileLayersToLoad++;
- layer.on('load', this._onTileLayerLoad, this);
- }
+ // @method setMinZoom(zoom: Number): this
+ // Sets the lower limit for the available zoom levels (see the [minZoom](#map-minzoom) option).
+ setMinZoom: function (zoom) {
+ this.options.minZoom = zoom;
- if (this._loaded) {
- this._layerAdd(layer);
+ if (this._loaded && this.getZoom() < this.options.minZoom) {
+ return this.setZoom(zoom);
}
return this;
},
- removeLayer: function (layer) {
- var id = L.stamp(layer);
-
- if (!this._layers[id]) { return this; }
-
- if (this._loaded) {
- layer.onRemove(this);
- }
-
- delete this._layers[id];
-
- if (this._loaded) {
- this.fire('layerremove', {layer: layer});
- }
-
- if (this._zoomBoundLayers[id]) {
- delete this._zoomBoundLayers[id];
- this._updateZoomLevels();
- }
+ // @method setMaxZoom(zoom: Number): this
+ // Sets the upper limit for the available zoom levels (see the [maxZoom](#map-maxzoom) option).
+ setMaxZoom: function (zoom) {
+ this.options.maxZoom = zoom;
- // TODO looks ugly, refactor
- if (this.options.zoomAnimation && L.TileLayer && (layer instanceof L.TileLayer)) {
- this._tileLayersNum--;
- this._tileLayersToLoad--;
- layer.off('load', this._onTileLayerLoad, this);
+ if (this._loaded && (this.getZoom() > this.options.maxZoom)) {
+ return this.setZoom(zoom);
}
return this;
},
- hasLayer: function (layer) {
- if (!layer) { return false; }
-
- return (L.stamp(layer) in this._layers);
- },
+ // @method panInsideBounds(bounds: LatLngBounds, options?: Pan options): this
+ // Pans the map to the closest view that would lie inside the given bounds (if it's not already), controlling the animation using the options specific, if any.
+ panInsideBounds: function (bounds, options) {
+ this._enforcingBounds = true;
+ var center = this.getCenter(),
+ newCenter = this._limitCenter(center, this._zoom, L.latLngBounds(bounds));
- eachLayer: function (method, context) {
- for (var i in this._layers) {
- method.call(context, this._layers[i]);
+ if (!center.equals(newCenter)) {
+ this.panTo(newCenter, options);
}
+
+ this._enforcingBounds = false;
return this;
},
+ // @method invalidateSize(options: Zoom/Pan options): this
+ // Checks if the map container size changed and updates the map if so —
+ // call it after you've changed the map size dynamically, also animating
+ // pan by default. If `options.pan` is `false`, panning will not occur.
+ // If `options.debounceMoveend` is `true`, it will delay `moveend` event so
+ // that it doesn't happen often even if the method is called many
+ // times in a row.
+
+ // @alternative
+ // @method invalidateSize(animate: Boolean): this
+ // Checks if the map container size changed and updates the map if so —
+ // call it after you've changed the map size dynamically, also animating
+ // pan by default.
invalidateSize: function (options) {
if (!this._loaded) { return this; }
var oldSize = this.getSize();
this._sizeChanged = true;
- this._initialCenter = null;
+ this._lastCenter = null;
var newSize = this.getSize(),
oldCenter = oldSize.divideBy(2).round(),
}
}
+ // @section Map state change events
+ // @event resize: ResizeEvent
+ // Fired when the map is resized.
return this.fire('resize', {
oldSize: oldSize,
newSize: newSize
});
},
+ // @section Methods for modifying map state
+ // @method stop(): this
+ // Stops the currently running `panTo` or `flyTo` animation, if any.
+ stop: function () {
+ this.setZoom(this._limitZoom(this._zoom));
+ if (!this.options.zoomSnap) {
+ this.fire('viewreset');
+ }
+ return this._stop();
+ },
+
+
// TODO handler.addTo
+ // TODO Appropiate docs section?
+ // @section Other Methods
+ // @method addHandler(name: String, HandlerClass: Function): this
+ // Adds a new `Handler` to the map, given its name and constructor function.
addHandler: function (name, HandlerClass) {
if (!HandlerClass) { return this; }
return this;
},
+ // @method remove(): this
+ // Destroys the map and clears all related event listeners.
remove: function () {
- if (this._loaded) {
- this.fire('unload');
- }
- this._initEvents('off');
+ this._initEvents(true);
+
+ if (this._containerId !== this._container._leaflet_id) {
+ throw new Error('Map container is being reused by another instance');
+ }
try {
// throws error in IE6-8
- delete this._container._leaflet;
+ delete this._container._leaflet_id;
+ delete this._containerId;
} catch (e) {
- this._container._leaflet = undefined;
+ /*eslint-disable */
+ this._container._leaflet_id = undefined;
+ /*eslint-enable */
+ this._containerId = undefined;
}
- this._clearPanes();
+ L.DomUtil.remove(this._mapPane);
+
if (this._clearControlPos) {
this._clearControlPos();
}
this._clearHandlers();
+ if (this._loaded) {
+ // @section Map state change events
+ // @event unload: Event
+ // Fired when the map is destroyed with [remove](#map-remove) method.
+ this.fire('unload');
+ }
+
+ for (var i in this._layers) {
+ this._layers[i].remove();
+ }
+
return this;
},
+ // @section Other Methods
+ // @method createPane(name: String, container?: HTMLElement): HTMLElement
+ // Creates a new [map pane](#map-pane) with the given name if it doesn't exist already,
+ // then returns it. The pane is created as a children of `container`, or
+ // as a children of the main map pane if not set.
+ createPane: function (name, container) {
+ var className = 'leaflet-pane' + (name ? ' leaflet-' + name.replace('Pane', '') + '-pane' : ''),
+ pane = L.DomUtil.create('div', className, container || this._mapPane);
- // public methods for getting map state
+ if (name) {
+ this._panes[name] = pane;
+ }
+ return pane;
+ },
- getCenter: function () { // (Boolean) -> LatLng
+ // @section Methods for Getting Map State
+
+ // @method getCenter(): LatLng
+ // Returns the geographical center of the map view
+ getCenter: function () {
this._checkIfLoaded();
- if (this._initialCenter && !this._moved()) {
- return this._initialCenter;
+ if (this._lastCenter && !this._moved()) {
+ return this._lastCenter;
}
return this.layerPointToLatLng(this._getCenterLayerPoint());
},
+ // @method getZoom(): Number
+ // Returns the current zoom level of the map view
getZoom: function () {
return this._zoom;
},
+ // @method getBounds(): LatLngBounds
+ // Returns the geographical bounds visible in the current map view
getBounds: function () {
var bounds = this.getPixelBounds(),
sw = this.unproject(bounds.getBottomLeft()),
return new L.LatLngBounds(sw, ne);
},
+ // @method getMinZoom(): Number
+ // Returns the minimum zoom level of the map (if set in the `minZoom` option of the map or of any layers), or `0` by default.
getMinZoom: function () {
- return this.options.minZoom === undefined ?
- (this._layersMinZoom === undefined ? 0 : this._layersMinZoom) :
- this.options.minZoom;
+ return this.options.minZoom === undefined ? this._layersMinZoom || 0 : this.options.minZoom;
},
+ // @method getMaxZoom(): Number
+ // Returns the maximum zoom level of the map (if set in the `maxZoom` option of the map or of any layers).
getMaxZoom: function () {
return this.options.maxZoom === undefined ?
(this._layersMaxZoom === undefined ? Infinity : this._layersMaxZoom) :
this.options.maxZoom;
},
+ // @method getBoundsZoom(bounds: LatLngBounds, inside?: Boolean): Number
+ // Returns the maximum zoom level on which the given bounds fit to the map
+ // view in its entirety. If `inside` (optional) is set to `true`, the method
+ // instead returns the minimum zoom level on which the map view fits into
+ // the given bounds in its entirety.
getBoundsZoom: function (bounds, inside, padding) { // (LatLngBounds[, Boolean, Point]) -> Number
bounds = L.latLngBounds(bounds);
+ padding = L.point(padding || [0, 0]);
- var zoom = this.getMinZoom() - (inside ? 1 : 0),
- maxZoom = this.getMaxZoom(),
- size = this.getSize(),
-
+ var zoom = this.getZoom() || 0,
+ min = this.getMinZoom(),
+ max = this.getMaxZoom(),
nw = bounds.getNorthWest(),
se = bounds.getSouthEast(),
+ size = this.getSize().subtract(padding),
+ boundsSize = this.project(se, zoom).subtract(this.project(nw, zoom)),
+ snap = L.Browser.any3d ? this.options.zoomSnap : 1;
- zoomNotFound = true,
- boundsSize;
-
- padding = L.point(padding || [0, 0]);
-
- do {
- zoom++;
- boundsSize = this.project(se, zoom).subtract(this.project(nw, zoom)).add(padding);
- zoomNotFound = !inside ? size.contains(boundsSize) : boundsSize.x < size.x || boundsSize.y < size.y;
-
- } while (zoomNotFound && zoom <= maxZoom);
+ var scale = Math.min(size.x / boundsSize.x, size.y / boundsSize.y);
+ zoom = this.getScaleZoom(scale, zoom);
- if (zoomNotFound && inside) {
- return null;
+ if (snap) {
+ zoom = Math.round(zoom / (snap / 100)) * (snap / 100); // don't jump if within 1% of a snap level
+ zoom = inside ? Math.ceil(zoom / snap) * snap : Math.floor(zoom / snap) * snap;
}
- return inside ? zoom : zoom - 1;
+ return Math.max(min, Math.min(max, zoom));
},
+ // @method getSize(): Point
+ // Returns the current size of the map container (in pixels).
getSize: function () {
if (!this._size || this._sizeChanged) {
this._size = new L.Point(
return this._size.clone();
},
- getPixelBounds: function () {
- var topLeftPoint = this._getTopLeftPoint();
+ // @method getPixelBounds(): Bounds
+ // Returns the bounds of the current map view in projected pixel
+ // coordinates (sometimes useful in layer and overlay implementations).
+ getPixelBounds: function (center, zoom) {
+ var topLeftPoint = this._getTopLeftPoint(center, zoom);
return new L.Bounds(topLeftPoint, topLeftPoint.add(this.getSize()));
},
+ // TODO: Check semantics - isn't the pixel origin the 0,0 coord relative to
+ // the map pane? "left point of the map layer" can be confusing, specially
+ // since there can be negative offsets.
+ // @method getPixelOrigin(): Point
+ // Returns the projected pixel coordinates of the top left point of
+ // the map layer (useful in custom layer and overlay implementations).
getPixelOrigin: function () {
this._checkIfLoaded();
- return this._initialTopLeftPoint;
+ return this._pixelOrigin;
},
- getPanes: function () {
- return this._panes;
+ // @method getPixelWorldBounds(zoom?: Number): Bounds
+ // Returns the world's bounds in pixel coordinates for zoom level `zoom`.
+ // If `zoom` is omitted, the map's current zoom level is used.
+ getPixelWorldBounds: function (zoom) {
+ return this.options.crs.getProjectedBounds(zoom === undefined ? this.getZoom() : zoom);
},
- getContainer: function () {
- return this._container;
+ // @section Other Methods
+
+ // @method getPane(pane: String|HTMLElement): HTMLElement
+ // Returns a [map pane](#map-pane), given its name or its HTML element (its identity).
+ getPane: function (pane) {
+ return typeof pane === 'string' ? this._panes[pane] : pane;
+ },
+
+ // @method getPanes(): Object
+ // Returns a plain object containing the names of all [panes](#map-pane) as keys and
+ // the panes as values.
+ getPanes: function () {
+ return this._panes;
+ },
+
+ // @method getContainer: HTMLElement
+ // Returns the HTML element that contains the map.
+ getContainer: function () {
+ return this._container;
},
- // TODO replace with universal implementation after refactoring projections
+ // @section Conversion Methods
- getZoomScale: function (toZoom) {
+ // @method getZoomScale(toZoom: Number, fromZoom: Number): Number
+ // Returns the scale factor to be applied to a map transition from zoom level
+ // `fromZoom` to `toZoom`. Used internally to help with zoom animations.
+ getZoomScale: function (toZoom, fromZoom) {
+ // TODO replace with universal implementation after refactoring projections
var crs = this.options.crs;
- return crs.scale(toZoom) / crs.scale(this._zoom);
+ fromZoom = fromZoom === undefined ? this._zoom : fromZoom;
+ return crs.scale(toZoom) / crs.scale(fromZoom);
},
- getScaleZoom: function (scale) {
- return this._zoom + (Math.log(scale) / Math.LN2);
+ // @method getScaleZoom(scale: Number, fromZoom: Number): Number
+ // Returns the zoom level that the map would end up at, if it is at `fromZoom`
+ // level and everything is scaled by a factor of `scale`. Inverse of
+ // [`getZoomScale`](#map-getZoomScale).
+ getScaleZoom: function (scale, fromZoom) {
+ var crs = this.options.crs;
+ fromZoom = fromZoom === undefined ? this._zoom : fromZoom;
+ var zoom = crs.zoom(scale * crs.scale(fromZoom));
+ return isNaN(zoom) ? Infinity : zoom;
},
-
- // conversion methods
-
- project: function (latlng, zoom) { // (LatLng[, Number]) -> Point
+ // @method project(latlng: LatLng, zoom: Number): Point
+ // Projects a geographical coordinate `LatLng` according to the projection
+ // of the map's CRS, then scales it according to `zoom` and the CRS's
+ // `Transformation`. The result is pixel coordinate relative to
+ // the CRS origin.
+ project: function (latlng, zoom) {
zoom = zoom === undefined ? this._zoom : zoom;
return this.options.crs.latLngToPoint(L.latLng(latlng), zoom);
},
- unproject: function (point, zoom) { // (Point[, Number]) -> LatLng
+ // @method unproject(point: Point, zoom: Number): LatLng
+ // Inverse of [`project`](#map-project).
+ unproject: function (point, zoom) {
zoom = zoom === undefined ? this._zoom : zoom;
return this.options.crs.pointToLatLng(L.point(point), zoom);
},
- layerPointToLatLng: function (point) { // (Point)
+ // @method layerPointToLatLng(point: Point): LatLng
+ // Given a pixel coordinate relative to the [origin pixel](#map-getpixelorigin),
+ // returns the corresponding geographical coordinate (for the current zoom level).
+ layerPointToLatLng: function (point) {
var projectedPoint = L.point(point).add(this.getPixelOrigin());
return this.unproject(projectedPoint);
},
- latLngToLayerPoint: function (latlng) { // (LatLng)
+ // @method latLngToLayerPoint(latlng: LatLng): Point
+ // Given a geographical coordinate, returns the corresponding pixel coordinate
+ // relative to the [origin pixel](#map-getpixelorigin).
+ latLngToLayerPoint: function (latlng) {
var projectedPoint = this.project(L.latLng(latlng))._round();
return projectedPoint._subtract(this.getPixelOrigin());
},
+ // @method wrapLatLng(latlng: LatLng): LatLng
+ // Returns a `LatLng` where `lat` and `lng` has been wrapped according to the
+ // map's CRS's `wrapLat` and `wrapLng` properties, if they are outside the
+ // CRS's bounds.
+ // By default this means longitude is wrapped around the dateline so its
+ // value is between -180 and +180 degrees.
+ wrapLatLng: function (latlng) {
+ return this.options.crs.wrapLatLng(L.latLng(latlng));
+ },
+
+ // @method distance(latlng1: LatLng, latlng2: LatLng): Number
+ // Returns the distance between two geographical coordinates according to
+ // the map's CRS. By default this measures distance in meters.
+ distance: function (latlng1, latlng2) {
+ return this.options.crs.distance(L.latLng(latlng1), L.latLng(latlng2));
+ },
+
+ // @method containerPointToLayerPoint(point: Point): Point
+ // Given a pixel coordinate relative to the map container, returns the corresponding
+ // pixel coordinate relative to the [origin pixel](#map-getpixelorigin).
containerPointToLayerPoint: function (point) { // (Point)
return L.point(point).subtract(this._getMapPanePos());
},
+ // @method layerPointToContainerPoint(point: Point): Point
+ // Given a pixel coordinate relative to the [origin pixel](#map-getpixelorigin),
+ // returns the corresponding pixel coordinate relative to the map container.
layerPointToContainerPoint: function (point) { // (Point)
return L.point(point).add(this._getMapPanePos());
},
+ // @method containerPointToLatLng(point: Point): Point
+ // Given a pixel coordinate relative to the map container, returns
+ // the corresponding geographical coordinate (for the current zoom level).
containerPointToLatLng: function (point) {
var layerPoint = this.containerPointToLayerPoint(L.point(point));
return this.layerPointToLatLng(layerPoint);
},
+ // @method latLngToContainerPoint(latlng: LatLng): Point
+ // Given a geographical coordinate, returns the corresponding pixel coordinate
+ // relative to the map container.
latLngToContainerPoint: function (latlng) {
return this.layerPointToContainerPoint(this.latLngToLayerPoint(L.latLng(latlng)));
},
- mouseEventToContainerPoint: function (e) { // (MouseEvent)
+ // @method mouseEventToContainerPoint(ev: MouseEvent): Point
+ // Given a MouseEvent object, returns the pixel coordinate relative to the
+ // map container where the event took place.
+ mouseEventToContainerPoint: function (e) {
return L.DomEvent.getMousePosition(e, this._container);
},
- mouseEventToLayerPoint: function (e) { // (MouseEvent)
+ // @method mouseEventToLayerPoint(ev: MouseEvent): Point
+ // Given a MouseEvent object, returns the pixel coordinate relative to
+ // the [origin pixel](#map-getpixelorigin) where the event took place.
+ mouseEventToLayerPoint: function (e) {
return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(e));
},
+ // @method mouseEventToLatLng(ev: MouseEvent): LatLng
+ // Given a MouseEvent object, returns geographical coordinate where the
+ // event took place.
mouseEventToLatLng: function (e) { // (MouseEvent)
return this.layerPointToLatLng(this.mouseEventToLayerPoint(e));
},
if (!container) {
throw new Error('Map container not found.');
- } else if (container._leaflet) {
+ } else if (container._leaflet_id) {
throw new Error('Map container is already initialized.');
}
- container._leaflet = true;
+ L.DomEvent.addListener(container, 'scroll', this._onScroll, this);
+ this._containerId = L.Util.stamp(container);
},
_initLayout: function () {
var container = this._container;
+ this._fadeAnimated = this.options.fadeAnimation && L.Browser.any3d;
+
L.DomUtil.addClass(container, 'leaflet-container' +
(L.Browser.touch ? ' leaflet-touch' : '') +
(L.Browser.retina ? ' leaflet-retina' : '') +
(L.Browser.ielt9 ? ' leaflet-oldie' : '') +
- (this.options.fadeAnimation ? ' leaflet-fade-anim' : ''));
+ (L.Browser.safari ? ' leaflet-safari' : '') +
+ (this._fadeAnimated ? ' leaflet-fade-anim' : ''));
var position = L.DomUtil.getStyle(container, 'position');
_initPanes: function () {
var panes = this._panes = {};
-
- this._mapPane = panes.mapPane = this._createPane('leaflet-map-pane', this._container);
-
- this._tilePane = panes.tilePane = this._createPane('leaflet-tile-pane', this._mapPane);
- panes.objectsPane = this._createPane('leaflet-objects-pane', this._mapPane);
- panes.shadowPane = this._createPane('leaflet-shadow-pane');
- panes.overlayPane = this._createPane('leaflet-overlay-pane');
- panes.markerPane = this._createPane('leaflet-marker-pane');
- panes.popupPane = this._createPane('leaflet-popup-pane');
-
- var zoomHide = ' leaflet-zoom-hide';
+ this._paneRenderers = {};
+
+ // @section
+ //
+ // Panes are DOM elements used to control the ordering of layers on the map. You
+ // can access panes with [`map.getPane`](#map-getpane) or
+ // [`map.getPanes`](#map-getpanes) methods. New panes can be created with the
+ // [`map.createPane`](#map-createpane) method.
+ //
+ // Every map has the following default panes that differ only in zIndex.
+ //
+ // @pane mapPane: HTMLElement = 'auto'
+ // Pane that contains all other map panes
+
+ this._mapPane = this.createPane('mapPane', this._container);
+ L.DomUtil.setPosition(this._mapPane, new L.Point(0, 0));
+
+ // @pane tilePane: HTMLElement = 200
+ // Pane for `GridLayer`s and `TileLayer`s
+ this.createPane('tilePane');
+ // @pane overlayPane: HTMLElement = 400
+ // Pane for vector overlays (`Path`s), like `Polyline`s and `Polygon`s
+ this.createPane('shadowPane');
+ // @pane shadowPane: HTMLElement = 500
+ // Pane for overlay shadows (e.g. `Marker` shadows)
+ this.createPane('overlayPane');
+ // @pane markerPane: HTMLElement = 600
+ // Pane for `Icon`s of `Marker`s
+ this.createPane('markerPane');
+ // @pane tooltipPane: HTMLElement = 650
+ // Pane for tooltip.
+ this.createPane('tooltipPane');
+ // @pane popupPane: HTMLElement = 700
+ // Pane for `Popup`s.
+ this.createPane('popupPane');
if (!this.options.markerZoomAnimation) {
- L.DomUtil.addClass(panes.markerPane, zoomHide);
- L.DomUtil.addClass(panes.shadowPane, zoomHide);
- L.DomUtil.addClass(panes.popupPane, zoomHide);
- }
- },
-
- _createPane: function (className, container) {
- return L.DomUtil.create('div', className, container || this._panes.objectsPane);
- },
-
- _clearPanes: function () {
- this._container.removeChild(this._mapPane);
- },
-
- _addLayers: function (layers) {
- layers = layers ? (L.Util.isArray(layers) ? layers : [layers]) : [];
-
- for (var i = 0, len = layers.length; i < len; i++) {
- this.addLayer(layers[i]);
+ L.DomUtil.addClass(panes.markerPane, 'leaflet-zoom-hide');
+ L.DomUtil.addClass(panes.shadowPane, 'leaflet-zoom-hide');
}
},
// private methods that modify map state
- _resetView: function (center, zoom, preserveMapOffset, afterZoomAnim) {
+ // @section Map state change events
+ _resetView: function (center, zoom) {
+ L.DomUtil.setPosition(this._mapPane, new L.Point(0, 0));
- var zoomChanged = (this._zoom !== zoom);
+ var loading = !this._loaded;
+ this._loaded = true;
+ zoom = this._limitZoom(zoom);
- if (!afterZoomAnim) {
- this.fire('movestart');
+ this.fire('viewprereset');
- if (zoomChanged) {
- this.fire('zoomstart');
- }
+ var zoomChanged = this._zoom !== zoom;
+ this
+ ._moveStart(zoomChanged)
+ ._move(center, zoom)
+ ._moveEnd(zoomChanged);
+
+ // @event viewreset: Event
+ // Fired when the map needs to redraw its content (this usually happens
+ // on map zoom or load). Very useful for creating custom overlays.
+ this.fire('viewreset');
+
+ // @event load: Event
+ // Fired when the map is initialized (when its center and zoom are set
+ // for the first time).
+ if (loading) {
+ this.fire('load');
}
+ },
- this._zoom = zoom;
- this._initialCenter = center;
-
- this._initialTopLeftPoint = this._getNewTopLeftPoint(center);
-
- if (!preserveMapOffset) {
- L.DomUtil.setPosition(this._mapPane, new L.Point(0, 0));
- } else {
- this._initialTopLeftPoint._add(this._getMapPanePos());
+ _moveStart: function (zoomChanged) {
+ // @event zoomstart: Event
+ // Fired when the map zoom is about to change (e.g. before zoom animation).
+ // @event movestart: Event
+ // Fired when the view of the map starts changing (e.g. user starts dragging the map).
+ if (zoomChanged) {
+ this.fire('zoomstart');
}
+ return this.fire('movestart');
+ },
- this._tileLayersToLoad = this._tileLayersNum;
-
- var loading = !this._loaded;
- this._loaded = true;
+ _move: function (center, zoom, data) {
+ if (zoom === undefined) {
+ zoom = this._zoom;
+ }
+ var zoomChanged = this._zoom !== zoom;
- this.fire('viewreset', {hard: !preserveMapOffset});
+ this._zoom = zoom;
+ this._lastCenter = center;
+ this._pixelOrigin = this._getNewPixelOrigin(center);
- if (loading) {
- this.fire('load');
- this.eachLayer(this._layerAdd, this);
+ // @event zoom: Event
+ // Fired repeatedly during any change in zoom level, including zoom
+ // and fly animations.
+ if (zoomChanged || (data && data.pinch)) { // Always fire 'zoom' if pinching because #3530
+ this.fire('zoom', data);
}
- this.fire('move');
+ // @event move: Event
+ // Fired repeatedly during any movement of the map, including pan and
+ // fly animations.
+ return this.fire('move', data);
+ },
- if (zoomChanged || afterZoomAnim) {
+ _moveEnd: function (zoomChanged) {
+ // @event zoomend: Event
+ // Fired when the map has changed, after any animations.
+ if (zoomChanged) {
this.fire('zoomend');
}
- this.fire('moveend', {hard: !preserveMapOffset});
+ // @event moveend: Event
+ // Fired when the center of the map stops changing (e.g. user stopped
+ // dragging the map).
+ return this.fire('moveend');
+ },
+
+ _stop: function () {
+ L.Util.cancelAnimFrame(this._flyToFrame);
+ if (this._panAnim) {
+ this._panAnim.stop();
+ }
+ return this;
},
_rawPanBy: function (offset) {
return this.getMaxZoom() - this.getMinZoom();
},
- _updateZoomLevels: function () {
- var i,
- minZoom = Infinity,
- maxZoom = -Infinity,
- oldZoomSpan = this._getZoomSpan();
-
- for (i in this._zoomBoundLayers) {
- var layer = this._zoomBoundLayers[i];
- if (!isNaN(layer.options.minZoom)) {
- minZoom = Math.min(minZoom, layer.options.minZoom);
- }
- if (!isNaN(layer.options.maxZoom)) {
- maxZoom = Math.max(maxZoom, layer.options.maxZoom);
- }
- }
-
- if (i === undefined) { // we have no tilelayers
- this._layersMaxZoom = this._layersMinZoom = undefined;
- } else {
- this._layersMaxZoom = maxZoom;
- this._layersMinZoom = minZoom;
- }
-
- if (oldZoomSpan !== this._getZoomSpan()) {
- this.fire('zoomlevelschange');
- }
- },
-
_panInsideMaxBounds: function () {
- this.panInsideBounds(this.options.maxBounds);
+ if (!this._enforcingBounds) {
+ this.panInsideBounds(this.options.maxBounds);
+ }
},
_checkIfLoaded: function () {
}
},
- // map events
+ // DOM event handling
- _initEvents: function (onOff) {
+ // @section Interaction events
+ _initEvents: function (remove) {
if (!L.DomEvent) { return; }
- onOff = onOff || 'on';
-
- L.DomEvent[onOff](this._container, 'click', this._onMouseClick, this);
-
- var events = ['dblclick', 'mousedown', 'mouseup', 'mouseenter',
- 'mouseleave', 'mousemove', 'contextmenu'],
- i, len;
-
- for (i = 0, len = events.length; i < len; i++) {
- L.DomEvent[onOff](this._container, events[i], this._fireMouseEvent, this);
- }
+ this._targets = {};
+ this._targets[L.stamp(this._container)] = this;
+
+ var onOff = remove ? 'off' : 'on';
+
+ // @event click: MouseEvent
+ // Fired when the user clicks (or taps) the map.
+ // @event dblclick: MouseEvent
+ // Fired when the user double-clicks (or double-taps) the map.
+ // @event mousedown: MouseEvent
+ // Fired when the user pushes the mouse button on the map.
+ // @event mouseup: MouseEvent
+ // Fired when the user releases the mouse button on the map.
+ // @event mouseover: MouseEvent
+ // Fired when the mouse enters the map.
+ // @event mouseout: MouseEvent
+ // Fired when the mouse leaves the map.
+ // @event mousemove: MouseEvent
+ // Fired while the mouse moves over the map.
+ // @event contextmenu: MouseEvent
+ // Fired when the user pushes the right mouse button on the map, prevents
+ // default browser context menu from showing if there are listeners on
+ // this event. Also fired on mobile when the user holds a single touch
+ // for a second (also called long press).
+ // @event keypress: KeyboardEvent
+ // Fired when the user presses a key from the keyboard while the map is focused.
+ L.DomEvent[onOff](this._container, 'click dblclick mousedown mouseup ' +
+ 'mouseover mouseout mousemove contextmenu keypress', this._handleDOMEvent, this);
if (this.options.trackResize) {
L.DomEvent[onOff](window, 'resize', this._onResize, this);
}
+
+ if (L.Browser.any3d && this.options.transform3DLimit) {
+ this[onOff]('moveend', this._onMoveEnd);
+ }
},
_onResize: function () {
L.Util.cancelAnimFrame(this._resizeRequest);
this._resizeRequest = L.Util.requestAnimFrame(
- function () { this.invalidateSize({debounceMoveend: true}); }, this, false, this._container);
+ function () { this.invalidateSize({debounceMoveend: true}); }, this);
+ },
+
+ _onScroll: function () {
+ this._container.scrollTop = 0;
+ this._container.scrollLeft = 0;
+ },
+
+ _onMoveEnd: function () {
+ var pos = this._getMapPanePos();
+ if (Math.max(Math.abs(pos.x), Math.abs(pos.y)) >= this.options.transform3DLimit) {
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=1203873 but Webkit also have
+ // a pixel offset on very high values, see: http://jsfiddle.net/dg6r5hhb/
+ this._resetView(this.getCenter(), this.getZoom());
+ }
},
- _onMouseClick: function (e) {
- if (!this._loaded || (!e._simulated &&
- ((this.dragging && this.dragging.moved()) ||
- (this.boxZoom && this.boxZoom.moved()))) ||
- L.DomEvent._skipped(e)) { return; }
+ _findEventTargets: function (e, type) {
+ var targets = [],
+ target,
+ isHover = type === 'mouseout' || type === 'mouseover',
+ src = e.target || e.srcElement,
+ dragging = false;
- this.fire('preclick');
- this._fireMouseEvent(e);
+ while (src) {
+ target = this._targets[L.stamp(src)];
+ if (target && (type === 'click' || type === 'preclick') && !e._simulated && this._draggableMoved(target)) {
+ // Prevent firing click after you just dragged an object.
+ dragging = true;
+ break;
+ }
+ if (target && target.listens(type, true)) {
+ if (isHover && !L.DomEvent._isExternalTarget(src, e)) { break; }
+ targets.push(target);
+ if (isHover) { break; }
+ }
+ if (src === this._container) { break; }
+ src = src.parentNode;
+ }
+ if (!targets.length && !dragging && !isHover && L.DomEvent._isExternalTarget(src, e)) {
+ targets = [this];
+ }
+ return targets;
},
- _fireMouseEvent: function (e) {
+ _handleDOMEvent: function (e) {
if (!this._loaded || L.DomEvent._skipped(e)) { return; }
- var type = e.type;
+ var type = e.type === 'keypress' && e.keyCode === 13 ? 'click' : e.type;
+
+ if (type === 'mousedown') {
+ // prevents outline when clicking on keyboard-focusable element
+ L.DomUtil.preventOutline(e.target || e.srcElement);
+ }
- type = (type === 'mouseenter' ? 'mouseover' : (type === 'mouseleave' ? 'mouseout' : type));
+ this._fireDOMEvent(e, type);
+ },
- if (!this.hasEventListeners(type)) { return; }
+ _fireDOMEvent: function (e, type, targets) {
- if (type === 'contextmenu') {
- L.DomEvent.preventDefault(e);
+ if (e.type === 'click') {
+ // Fire a synthetic 'preclick' event which propagates up (mainly for closing popups).
+ // @event preclick: MouseEvent
+ // Fired before mouse click on the map (sometimes useful when you
+ // want something to happen on click before any existing click
+ // handlers start running).
+ var synth = L.Util.extend({}, e);
+ synth.type = 'preclick';
+ this._fireDOMEvent(synth, synth.type, targets);
}
- var containerPoint = this.mouseEventToContainerPoint(e),
- layerPoint = this.containerPointToLayerPoint(containerPoint),
- latlng = this.layerPointToLatLng(layerPoint);
+ if (e._stopped) { return; }
- this.fire(type, {
- latlng: latlng,
- layerPoint: layerPoint,
- containerPoint: containerPoint,
+ // Find the layer the event is propagating from and its parents.
+ targets = (targets || []).concat(this._findEventTargets(e, type));
+
+ if (!targets.length) { return; }
+
+ var target = targets[0];
+ if (type === 'contextmenu' && target.listens(type, true)) {
+ L.DomEvent.preventDefault(e);
+ }
+
+ var data = {
originalEvent: e
- });
- },
+ };
+
+ if (e.type !== 'keypress') {
+ var isMarker = target instanceof L.Marker;
+ data.containerPoint = isMarker ?
+ this.latLngToContainerPoint(target.getLatLng()) : this.mouseEventToContainerPoint(e);
+ data.layerPoint = this.containerPointToLayerPoint(data.containerPoint);
+ data.latlng = isMarker ? target.getLatLng() : this.layerPointToLatLng(data.layerPoint);
+ }
- _onTileLayerLoad: function () {
- this._tileLayersToLoad--;
- if (this._tileLayersNum && !this._tileLayersToLoad) {
- this.fire('tilelayersload');
+ for (var i = 0; i < targets.length; i++) {
+ targets[i].fire(type, data, true);
+ if (data.originalEvent._stopped ||
+ (targets[i].options.nonBubblingEvents && L.Util.indexOf(targets[i].options.nonBubblingEvents, type) !== -1)) { return; }
}
},
+ _draggableMoved: function (obj) {
+ obj = obj.dragging && obj.dragging.enabled() ? obj : this;
+ return (obj.dragging && obj.dragging.moved()) || (this.boxZoom && this.boxZoom.moved());
+ },
+
_clearHandlers: function () {
for (var i = 0, len = this._handlers.length; i < len; i++) {
this._handlers[i].disable();
}
},
+ // @section Other Methods
+
+ // @method whenReady(fn: Function, context?: Object): this
+ // Runs the given function `fn` when the map gets initialized with
+ // a view (center and zoom) and at least one layer, or immediately
+ // if it's already initialized, optionally passing a function context.
whenReady: function (callback, context) {
if (this._loaded) {
- callback.call(context || this, this);
+ callback.call(context || this, {target: this});
} else {
this.on('load', callback, context);
}
return this;
},
- _layerAdd: function (layer) {
- layer.onAdd(this);
- this.fire('layeradd', {layer: layer});
- },
-
// private methods for getting map state
_getMapPanePos: function () {
- return L.DomUtil.getPosition(this._mapPane);
+ return L.DomUtil.getPosition(this._mapPane) || new L.Point(0, 0);
},
_moved: function () {
return pos && !pos.equals([0, 0]);
},
- _getTopLeftPoint: function () {
- return this.getPixelOrigin().subtract(this._getMapPanePos());
+ _getTopLeftPoint: function (center, zoom) {
+ var pixelOrigin = center && zoom !== undefined ?
+ this._getNewPixelOrigin(center, zoom) :
+ this.getPixelOrigin();
+ return pixelOrigin.subtract(this._getMapPanePos());
},
- _getNewTopLeftPoint: function (center, zoom) {
+ _getNewPixelOrigin: function (center, zoom) {
var viewHalf = this.getSize()._divideBy(2);
- // TODO round on display, not calculation to increase precision?
- return this.project(center, zoom)._subtract(viewHalf)._round();
+ return this.project(center, zoom)._subtract(viewHalf)._add(this._getMapPanePos())._round();
},
- _latLngToNewLayerPoint: function (latlng, newZoom, newCenter) {
- var topLeft = this._getNewTopLeftPoint(newCenter, newZoom).add(this._getMapPanePos());
- return this.project(latlng, newZoom)._subtract(topLeft);
+ _latLngToNewLayerPoint: function (latlng, zoom, center) {
+ var topLeft = this._getNewPixelOrigin(center, zoom);
+ return this.project(latlng, zoom)._subtract(topLeft);
},
// layer point of the current center
viewBounds = new L.Bounds(centerPoint.subtract(viewHalf), centerPoint.add(viewHalf)),
offset = this._getBoundsOffset(viewBounds, bounds, zoom);
+ // If offset is less than a pixel, ignore.
+ // This prevents unstable projections from getting into
+ // an infinite loop of tiny offsets.
+ if (offset.round().equals([0, 0])) {
+ return center;
+ }
+
return this.unproject(centerPoint.add(offset), zoom);
},
// returns offset needed for pxBounds to get inside maxBounds at a specified zoom
_getBoundsOffset: function (pxBounds, maxBounds, zoom) {
- var nwOffset = this.project(maxBounds.getNorthWest(), zoom).subtract(pxBounds.min),
- seOffset = this.project(maxBounds.getSouthEast(), zoom).subtract(pxBounds.max),
+ var projectedMaxBounds = L.bounds(
+ this.project(maxBounds.getNorthEast(), zoom),
+ this.project(maxBounds.getSouthWest(), zoom)
+ ),
+ minOffset = projectedMaxBounds.min.subtract(pxBounds.min),
+ maxOffset = projectedMaxBounds.max.subtract(pxBounds.max),
- dx = this._rebound(nwOffset.x, -seOffset.x),
- dy = this._rebound(nwOffset.y, -seOffset.y);
+ dx = this._rebound(minOffset.x, -maxOffset.x),
+ dy = this._rebound(minOffset.y, -maxOffset.y);
return new L.Point(dx, dy);
},
_limitZoom: function (zoom) {
var min = this.getMinZoom(),
- max = this.getMaxZoom();
-
+ max = this.getMaxZoom(),
+ snap = L.Browser.any3d ? this.options.zoomSnap : 1;
+ if (snap) {
+ zoom = Math.round(zoom / snap) * snap;
+ }
return Math.max(min, Math.min(max, zoom));
}
});
+// @section
+
+// @factory L.map(id: String, options?: Map options)
+// Instantiates a map object given the DOM ID of a `<div>` element
+// and optionally an object literal with `Map options`.
+//
+// @alternative
+// @factory L.map(el: HTMLElement, options?: Map options)
+// Instantiates a map object given an instance of a `<div>` HTML element
+// and optionally an object literal with `Map options`.
L.map = function (id, options) {
return new L.Map(id, options);
};
-/*
- * Mercator projection that takes into account that the Earth is not a perfect sphere.
- * Less popular than spherical mercator; used by projections like EPSG:3395.
- */
-
-L.Projection.Mercator = {
- MAX_LATITUDE: 85.0840591556,
-
- R_MINOR: 6356752.314245179,
- R_MAJOR: 6378137,
-
- project: function (latlng) { // (LatLng) -> Point
- var d = L.LatLng.DEG_TO_RAD,
- max = this.MAX_LATITUDE,
- lat = Math.max(Math.min(max, latlng.lat), -max),
- r = this.R_MAJOR,
- r2 = this.R_MINOR,
- x = latlng.lng * d * r,
- y = lat * d,
- tmp = r2 / r,
- eccent = Math.sqrt(1.0 - tmp * tmp),
- con = eccent * Math.sin(y);
-
- con = Math.pow((1 - con) / (1 + con), eccent * 0.5);
-
- var ts = Math.tan(0.5 * ((Math.PI * 0.5) - y)) / con;
- y = -r * Math.log(ts);
-
- return new L.Point(x, y);
- },
-
- unproject: function (point) { // (Point, Boolean) -> LatLng
- var d = L.LatLng.RAD_TO_DEG,
- r = this.R_MAJOR,
- r2 = this.R_MINOR,
- lng = point.x * d / r,
- tmp = r2 / r,
- eccent = Math.sqrt(1 - (tmp * tmp)),
- ts = Math.exp(- point.y / r),
- phi = (Math.PI / 2) - 2 * Math.atan(ts),
- numIter = 15,
- tol = 1e-7,
- i = numIter,
- dphi = 0.1,
- con;
-
- while ((Math.abs(dphi) > tol) && (--i > 0)) {
- con = eccent * Math.sin(phi);
- dphi = (Math.PI / 2) - 2 * Math.atan(ts *
- Math.pow((1.0 - con) / (1.0 + con), 0.5 * eccent)) - phi;
- phi += dphi;
- }
-
- return new L.LatLng(phi * d, lng);
- }
-};
-
-L.CRS.EPSG3395 = L.extend({}, L.CRS, {
- code: 'EPSG:3395',
+/*
+ * @class Layer
+ * @inherits Evented
+ * @aka L.Layer
+ * @aka ILayer
+ *
+ * A set of methods from the Layer base class that all Leaflet layers use.
+ * Inherits all methods, options and events from `L.Evented`.
+ *
+ * @example
+ *
+ * ```js
+ * var layer = L.Marker(latlng).addTo(map);
+ * layer.addTo(map);
+ * layer.remove();
+ * ```
+ *
+ * @event add: Event
+ * Fired after the layer is added to a map
+ *
+ * @event remove: Event
+ * Fired after the layer is removed from a map
+ */
- projection: L.Projection.Mercator,
- transformation: (function () {
- var m = L.Projection.Mercator,
- r = m.R_MAJOR,
- scale = 0.5 / (Math.PI * r);
+L.Layer = L.Evented.extend({
- return new L.Transformation(scale, 0.5, -scale, 0.5);
- }())
-});
+ // Classes extending `L.Layer` will inherit the following options:
+ options: {
+ // @option pane: String = 'overlayPane'
+ // By default the layer will be added to the map's [overlay pane](#map-overlaypane). Overriding this option will cause the layer to be placed on another pane by default.
+ pane: 'overlayPane',
+ nonBubblingEvents: [] // Array of events that should not be bubbled to DOM parents (like the map)
+ },
+
+ /* @section
+ * Classes extending `L.Layer` will inherit the following methods:
+ *
+ * @method addTo(map: Map): this
+ * Adds the layer to the given map
+ */
+ addTo: function (map) {
+ map.addLayer(this);
+ return this;
+ },
+ // @method remove: this
+ // Removes the layer from the map it is currently active on.
+ remove: function () {
+ return this.removeFrom(this._map || this._mapToAdd);
+ },
-/*
- * L.TileLayer is used for standard xyz-numbered tile layers.
- */
+ // @method removeFrom(map: Map): this
+ // Removes the layer from the given map
+ removeFrom: function (obj) {
+ if (obj) {
+ obj.removeLayer(this);
+ }
+ return this;
+ },
-L.TileLayer = L.Class.extend({
- includes: L.Mixin.Events,
+ // @method getPane(name? : String): HTMLElement
+ // Returns the `HTMLElement` representing the named pane on the map. If `name` is omitted, returns the pane for this layer.
+ getPane: function (name) {
+ return this._map.getPane(name ? (this.options[name] || name) : this.options.pane);
+ },
- options: {
- minZoom: 0,
- maxZoom: 18,
- tileSize: 256,
- subdomains: 'abc',
- errorTileUrl: '',
- attribution: '',
- zoomOffset: 0,
- opacity: 1,
- /*
- maxNativeZoom: null,
- zIndex: null,
- tms: false,
- continuousWorld: false,
- noWrap: false,
- zoomReverse: false,
- detectRetina: false,
- reuseTiles: false,
- bounds: false,
- */
- unloadInvisibleTiles: L.Browser.mobile,
- updateWhenIdle: L.Browser.mobile
+ addInteractiveTarget: function (targetEl) {
+ this._map._targets[L.stamp(targetEl)] = this;
+ return this;
},
- initialize: function (url, options) {
- options = L.setOptions(this, options);
+ removeInteractiveTarget: function (targetEl) {
+ delete this._map._targets[L.stamp(targetEl)];
+ return this;
+ },
- // detecting retina displays, adjusting tileSize and zoom levels
- if (options.detectRetina && L.Browser.retina && options.maxZoom > 0) {
+ _layerAdd: function (e) {
+ var map = e.target;
- options.tileSize = Math.floor(options.tileSize / 2);
- options.zoomOffset++;
+ // check in case layer gets added and then removed before the map is ready
+ if (!map.hasLayer(this)) { return; }
- if (options.minZoom > 0) {
- options.minZoom--;
- }
- this.options.maxZoom--;
- }
+ this._map = map;
+ this._zoomAnimated = map._zoomAnimated;
- if (options.bounds) {
- options.bounds = L.latLngBounds(options.bounds);
+ if (this.getEvents) {
+ var events = this.getEvents();
+ map.on(events, this);
+ this.once('remove', function () {
+ map.off(events, this);
+ }, this);
}
- this._url = url;
-
- var subdomains = this.options.subdomains;
+ this.onAdd(map);
- if (typeof subdomains === 'string') {
- this.options.subdomains = subdomains.split('');
+ if (this.getAttribution && this._map.attributionControl) {
+ this._map.attributionControl.addAttribution(this.getAttribution());
}
- },
- onAdd: function (map) {
- this._map = map;
- this._animated = map._zoomAnimated;
+ this.fire('add');
+ map.fire('layeradd', {layer: this});
+ }
+});
- // create a container div for tiles
- this._initContainer();
+/* @section Extension methods
+ * @uninheritable
+ *
+ * Every layer should extend from `L.Layer` and (re-)implement the following methods.
+ *
+ * @method onAdd(map: Map): this
+ * Should contain code that creates DOM elements for the layer, adds them to `map panes` where they should belong and puts listeners on relevant map events. Called on [`map.addLayer(layer)`](#map-addlayer).
+ *
+ * @method onRemove(map: Map): this
+ * Should contain all clean up code that removes the layer's elements from the DOM and removes listeners previously added in [`onAdd`](#layer-onadd). Called on [`map.removeLayer(layer)`](#map-removelayer).
+ *
+ * @method getEvents(): Object
+ * This optional method should return an object like `{ viewreset: this._reset }` for [`addEventListener`](#evented-addeventlistener). The event handlers in this object will be automatically added and removed from the map with your layer.
+ *
+ * @method getAttribution(): String
+ * This optional method should return a string containing HTML to be shown on the `Attribution control` whenever the layer is visible.
+ *
+ * @method beforeAdd(map: Map): this
+ * Optional method. Called on [`map.addLayer(layer)`](#map-addlayer), before the layer is added to the map, before events are initialized, without waiting until the map is in a usable state. Use for early initialization only.
+ */
- // set up events
- map.on({
- 'viewreset': this._reset,
- 'moveend': this._update
- }, this);
- if (this._animated) {
- map.on({
- 'zoomanim': this._animateZoom,
- 'zoomend': this._endZoomAnim
- }, this);
- }
+/* @namespace Map
+ * @section Layer events
+ *
+ * @event layeradd: LayerEvent
+ * Fired when a new layer is added to the map.
+ *
+ * @event layerremove: LayerEvent
+ * Fired when some layer is removed from the map
+ *
+ * @section Methods for Layers and Controls
+ */
+L.Map.include({
+ // @method addLayer(layer: Layer): this
+ // Adds the given layer to the map
+ addLayer: function (layer) {
+ var id = L.stamp(layer);
+ if (this._layers[id]) { return this; }
+ this._layers[id] = layer;
- if (!this.options.updateWhenIdle) {
- this._limitedUpdate = L.Util.limitExecByInterval(this._update, 150, this);
- map.on('move', this._limitedUpdate, this);
+ layer._mapToAdd = this;
+
+ if (layer.beforeAdd) {
+ layer.beforeAdd(this);
}
- this._reset();
- this._update();
- },
+ this.whenReady(layer._layerAdd, layer);
- addTo: function (map) {
- map.addLayer(this);
return this;
},
- onRemove: function (map) {
- this._container.parentNode.removeChild(this._container);
+ // @method removeLayer(layer: Layer): this
+ // Removes the given layer from the map.
+ removeLayer: function (layer) {
+ var id = L.stamp(layer);
- map.off({
- 'viewreset': this._reset,
- 'moveend': this._update
- }, this);
+ if (!this._layers[id]) { return this; }
- if (this._animated) {
- map.off({
- 'zoomanim': this._animateZoom,
- 'zoomend': this._endZoomAnim
- }, this);
+ if (this._loaded) {
+ layer.onRemove(this);
}
- if (!this.options.updateWhenIdle) {
- map.off('move', this._limitedUpdate, this);
+ if (layer.getAttribution && this.attributionControl) {
+ this.attributionControl.removeAttribution(layer.getAttribution());
}
- this._container = null;
- this._map = null;
- },
-
- bringToFront: function () {
- var pane = this._map._panes.tilePane;
+ delete this._layers[id];
- if (this._container) {
- pane.appendChild(this._container);
- this._setAutoZIndex(pane, Math.max);
+ if (this._loaded) {
+ this.fire('layerremove', {layer: layer});
+ layer.fire('remove');
}
+ layer._map = layer._mapToAdd = null;
+
return this;
},
- bringToBack: function () {
- var pane = this._map._panes.tilePane;
+ // @method hasLayer(layer: Layer): Boolean
+ // Returns `true` if the given layer is currently added to the map
+ hasLayer: function (layer) {
+ return !!layer && (L.stamp(layer) in this._layers);
+ },
- if (this._container) {
- pane.insertBefore(this._container, pane.firstChild);
- this._setAutoZIndex(pane, Math.min);
+ /* @method eachLayer(fn: Function, context?: Object): this
+ * Iterates over the layers of the map, optionally specifying context of the iterator function.
+ * ```
+ * map.eachLayer(function(layer){
+ * layer.bindPopup('Hello');
+ * });
+ * ```
+ */
+ eachLayer: function (method, context) {
+ for (var i in this._layers) {
+ method.call(context, this._layers[i]);
}
-
return this;
},
- getAttribution: function () {
- return this.options.attribution;
- },
+ _addLayers: function (layers) {
+ layers = layers ? (L.Util.isArray(layers) ? layers : [layers]) : [];
- getContainer: function () {
- return this._container;
+ for (var i = 0, len = layers.length; i < len; i++) {
+ this.addLayer(layers[i]);
+ }
},
- setOpacity: function (opacity) {
- this.options.opacity = opacity;
-
- if (this._map) {
- this._updateOpacity();
+ _addZoomLimit: function (layer) {
+ if (isNaN(layer.options.maxZoom) || !isNaN(layer.options.minZoom)) {
+ this._zoomBoundLayers[L.stamp(layer)] = layer;
+ this._updateZoomLevels();
}
-
- return this;
},
- setZIndex: function (zIndex) {
- this.options.zIndex = zIndex;
- this._updateZIndex();
+ _removeZoomLimit: function (layer) {
+ var id = L.stamp(layer);
- return this;
+ if (this._zoomBoundLayers[id]) {
+ delete this._zoomBoundLayers[id];
+ this._updateZoomLevels();
+ }
},
- setUrl: function (url, noRedraw) {
- this._url = url;
+ _updateZoomLevels: function () {
+ var minZoom = Infinity,
+ maxZoom = -Infinity,
+ oldZoomSpan = this._getZoomSpan();
- if (!noRedraw) {
- this.redraw();
+ for (var i in this._zoomBoundLayers) {
+ var options = this._zoomBoundLayers[i].options;
+
+ minZoom = options.minZoom === undefined ? minZoom : Math.min(minZoom, options.minZoom);
+ maxZoom = options.maxZoom === undefined ? maxZoom : Math.max(maxZoom, options.maxZoom);
}
- return this;
- },
+ this._layersMaxZoom = maxZoom === -Infinity ? undefined : maxZoom;
+ this._layersMinZoom = minZoom === Infinity ? undefined : minZoom;
- redraw: function () {
- if (this._map) {
- this._reset({hard: true});
- this._update();
+ // @section Map state change events
+ // @event zoomlevelschange: Event
+ // Fired when the number of zoomlevels on the map is changed due
+ // to adding or removing a layer.
+ if (oldZoomSpan !== this._getZoomSpan()) {
+ this.fire('zoomlevelschange');
}
- return this;
- },
+ }
+});
+
- _updateZIndex: function () {
- if (this._container && this.options.zIndex !== undefined) {
- this._container.style.zIndex = this.options.zIndex;
- }
- },
- _setAutoZIndex: function (pane, compare) {
+/*
+ * @namespace Projection
+ * @projection L.Projection.Mercator
+ *
+ * Elliptical Mercator projection — more complex than Spherical Mercator. Takes into account that Earth is a geoid, not a perfect sphere. Used by the EPSG:3395 CRS.
+ */
- var layers = pane.children,
- edgeZIndex = -compare(Infinity, -Infinity), // -Infinity for max, Infinity for min
- zIndex, i, len;
+L.Projection.Mercator = {
+ R: 6378137,
+ R_MINOR: 6356752.314245179,
- for (i = 0, len = layers.length; i < len; i++) {
+ bounds: L.bounds([-20037508.34279, -15496570.73972], [20037508.34279, 18764656.23138]),
- if (layers[i] !== this._container) {
- zIndex = parseInt(layers[i].style.zIndex, 10);
+ project: function (latlng) {
+ var d = Math.PI / 180,
+ r = this.R,
+ y = latlng.lat * d,
+ tmp = this.R_MINOR / r,
+ e = Math.sqrt(1 - tmp * tmp),
+ con = e * Math.sin(y);
- if (!isNaN(zIndex)) {
- edgeZIndex = compare(edgeZIndex, zIndex);
- }
- }
- }
+ var ts = Math.tan(Math.PI / 4 - y / 2) / Math.pow((1 - con) / (1 + con), e / 2);
+ y = -r * Math.log(Math.max(ts, 1E-10));
- this.options.zIndex = this._container.style.zIndex =
- (isFinite(edgeZIndex) ? edgeZIndex : 0) + compare(1, -1);
+ return new L.Point(latlng.lng * d * r, y);
},
- _updateOpacity: function () {
- var i,
- tiles = this._tiles;
-
- if (L.Browser.ielt9) {
- for (i in tiles) {
- L.DomUtil.setOpacity(tiles[i], this.options.opacity);
- }
- } else {
- L.DomUtil.setOpacity(this._container, this.options.opacity);
+ unproject: function (point) {
+ var d = 180 / Math.PI,
+ r = this.R,
+ tmp = this.R_MINOR / r,
+ e = Math.sqrt(1 - tmp * tmp),
+ ts = Math.exp(-point.y / r),
+ phi = Math.PI / 2 - 2 * Math.atan(ts);
+
+ for (var i = 0, dphi = 0.1, con; i < 15 && Math.abs(dphi) > 1e-7; i++) {
+ con = e * Math.sin(phi);
+ con = Math.pow((1 - con) / (1 + con), e / 2);
+ dphi = Math.PI / 2 - 2 * Math.atan(ts * con) - phi;
+ phi += dphi;
}
- },
- _initContainer: function () {
- var tilePane = this._map._panes.tilePane;
+ return new L.LatLng(phi * d, point.x * d / r);
+ }
+};
- if (!this._container) {
- this._container = L.DomUtil.create('div', 'leaflet-layer');
- this._updateZIndex();
- if (this._animated) {
- var className = 'leaflet-tile-container';
+/*
+ * @namespace CRS
+ * @crs L.CRS.EPSG3395
+ *
+ * Rarely used by some commercial tile providers. Uses Elliptical Mercator projection.
+ */
- this._bgBuffer = L.DomUtil.create('div', className, this._container);
- this._tileContainer = L.DomUtil.create('div', className, this._container);
+L.CRS.EPSG3395 = L.extend({}, L.CRS.Earth, {
+ code: 'EPSG:3395',
+ projection: L.Projection.Mercator,
- } else {
- this._tileContainer = this._container;
- }
+ transformation: (function () {
+ var scale = 0.5 / (Math.PI * L.Projection.Mercator.R);
+ return new L.Transformation(scale, 0.5, -scale, 0.5);
+ }())
+});
- tilePane.appendChild(this._container);
- if (this.options.opacity < 1) {
- this._updateOpacity();
- }
- }
- },
- _reset: function (e) {
- for (var key in this._tiles) {
- this.fire('tileunload', {tile: this._tiles[key]});
- }
+/*
+ * @class GridLayer
+ * @inherits Layer
+ * @aka L.GridLayer
+ *
+ * Generic class for handling a tiled grid of HTML elements. This is the base class for all tile layers and replaces `TileLayer.Canvas`.
+ * GridLayer can be extended to create a tiled grid of HTML elements like `<canvas>`, `<img>` or `<div>`. GridLayer will handle creating and animating these DOM elements for you.
+ *
+ *
+ * @section Synchronous usage
+ * @example
+ *
+ * To create a custom layer, extend GridLayer and implement the `createTile()` method, which will be passed a `Point` object with the `x`, `y`, and `z` (zoom level) coordinates to draw your tile.
+ *
+ * ```js
+ * var CanvasLayer = L.GridLayer.extend({
+ * createTile: function(coords){
+ * // create a <canvas> element for drawing
+ * var tile = L.DomUtil.create('canvas', 'leaflet-tile');
+ *
+ * // setup tile width and height according to the options
+ * var size = this.getTileSize();
+ * tile.width = size.x;
+ * tile.height = size.y;
+ *
+ * // get a canvas context and draw something on it using coords.x, coords.y and coords.z
+ * var ctx = tile.getContext('2d');
+ *
+ * // return the tile so it can be rendered on screen
+ * return tile;
+ * }
+ * });
+ * ```
+ *
+ * @section Asynchronous usage
+ * @example
+ *
+ * Tile creation can also be asynchronous, this is useful when using a third-party drawing library. Once the tile is finished drawing it can be passed to the `done()` callback.
+ *
+ * ```js
+ * var CanvasLayer = L.GridLayer.extend({
+ * createTile: function(coords, done){
+ * var error;
+ *
+ * // create a <canvas> element for drawing
+ * var tile = L.DomUtil.create('canvas', 'leaflet-tile');
+ *
+ * // setup tile width and height according to the options
+ * var size = this.getTileSize();
+ * tile.width = size.x;
+ * tile.height = size.y;
+ *
+ * // draw something asynchronously and pass the tile to the done() callback
+ * setTimeout(function() {
+ * done(error, tile);
+ * }, 1000);
+ *
+ * return tile;
+ * }
+ * });
+ * ```
+ *
+ * @section
+ */
- this._tiles = {};
- this._tilesToLoad = 0;
- if (this.options.reuseTiles) {
- this._unusedTiles = [];
- }
+L.GridLayer = L.Layer.extend({
- this._tileContainer.innerHTML = '';
+ // @section
+ // @aka GridLayer options
+ options: {
+ // @option tileSize: Number|Point = 256
+ // Width and height of tiles in the grid. Use a number if width and height are equal, or `L.point(width, height)` otherwise.
+ tileSize: 256,
- if (this._animated && e && e.hard) {
- this._clearBgBuffer();
- }
+ // @option opacity: Number = 1.0
+ // Opacity of the tiles. Can be used in the `createTile()` function.
+ opacity: 1,
- this._initContainer();
- },
+ // @option updateWhenIdle: Boolean = depends
+ // If `false`, new tiles are loaded during panning, otherwise only after it (for better performance). `true` by default on mobile browsers, otherwise `false`.
+ updateWhenIdle: L.Browser.mobile,
- _getTileSize: function () {
- var map = this._map,
- zoom = map.getZoom() + this.options.zoomOffset,
- zoomN = this.options.maxNativeZoom,
- tileSize = this.options.tileSize;
+ // @option updateWhenZooming: Boolean = true
+ // By default, a smooth zoom animation (during a [touch zoom](#map-touchzoom) or a [`flyTo()`](#map-flyto)) will update grid layers every integer zoom level. Setting this option to `false` will update the grid layer only when the smooth animation ends.
+ updateWhenZooming: true,
- if (zoomN && zoom > zoomN) {
- tileSize = Math.round(map.getZoomScale(zoom) / map.getZoomScale(zoomN) * tileSize);
- }
+ // @option updateInterval: Number = 200
+ // Tiles will not update more than once every `updateInterval` milliseconds when panning.
+ updateInterval: 200,
- return tileSize;
- },
+ // @option attribution: String = null
+ // String to be shown in the attribution control, describes the layer data, e.g. "© Mapbox".
+ attribution: null,
- _update: function () {
+ // @option zIndex: Number = 1
+ // The explicit zIndex of the tile layer.
+ zIndex: 1,
- if (!this._map) { return; }
+ // @option bounds: LatLngBounds = undefined
+ // If set, tiles will only be loaded inside the set `LatLngBounds`.
+ bounds: null,
- var map = this._map,
- bounds = map.getPixelBounds(),
- zoom = map.getZoom(),
- tileSize = this._getTileSize();
+ // @option minZoom: Number = 0
+ // The minimum zoom level that tiles will be loaded at. By default the entire map.
+ minZoom: 0,
- if (zoom > this.options.maxZoom || zoom < this.options.minZoom) {
- return;
- }
+ // @option maxZoom: Number = undefined
+ // The maximum zoom level that tiles will be loaded at.
+ maxZoom: undefined,
- var tileBounds = L.bounds(
- bounds.min.divideBy(tileSize)._floor(),
- bounds.max.divideBy(tileSize)._floor());
+ // @option noWrap: Boolean = false
+ // Whether the layer is wrapped around the antimeridian. If `true`, the
+ // GridLayer will only be displayed once at low zoom levels. Has no
+ // effect when the [map CRS](#map-crs) doesn't wrap around.
+ noWrap: false,
- this._addTilesFromCenterOut(tileBounds);
+ // @option pane: String = 'tilePane'
+ // `Map pane` where the grid layer will be added.
+ pane: 'tilePane',
- if (this.options.unloadInvisibleTiles || this.options.reuseTiles) {
- this._removeOtherTiles(tileBounds);
- }
- },
+ // @option className: String = ''
+ // A custom class name to assign to the tile layer. Empty by default.
+ className: '',
- _addTilesFromCenterOut: function (bounds) {
- var queue = [],
- center = bounds.getCenter();
+ // @option keepBuffer: Number = 2
+ // When panning the map, keep this many rows and columns of tiles before unloading them.
+ keepBuffer: 2
+ },
- var j, i, point;
+ initialize: function (options) {
+ L.setOptions(this, options);
+ },
- for (j = bounds.min.y; j <= bounds.max.y; j++) {
- for (i = bounds.min.x; i <= bounds.max.x; i++) {
- point = new L.Point(i, j);
+ onAdd: function () {
+ this._initContainer();
- if (this._tileShouldBeLoaded(point)) {
- queue.push(point);
- }
- }
- }
+ this._levels = {};
+ this._tiles = {};
- var tilesToLoad = queue.length;
+ this._resetView();
+ this._update();
+ },
- if (tilesToLoad === 0) { return; }
+ beforeAdd: function (map) {
+ map._addZoomLimit(this);
+ },
- // load tiles in order of their distance to center
- queue.sort(function (a, b) {
- return a.distanceTo(center) - b.distanceTo(center);
- });
+ onRemove: function (map) {
+ this._removeAllTiles();
+ L.DomUtil.remove(this._container);
+ map._removeZoomLimit(this);
+ this._container = null;
+ this._tileZoom = null;
+ },
- var fragment = document.createDocumentFragment();
+ // @method bringToFront: this
+ // Brings the tile layer to the top of all tile layers.
+ bringToFront: function () {
+ if (this._map) {
+ L.DomUtil.toFront(this._container);
+ this._setAutoZIndex(Math.max);
+ }
+ return this;
+ },
- // if its the first batch of tiles to load
- if (!this._tilesToLoad) {
- this.fire('loading');
+ // @method bringToBack: this
+ // Brings the tile layer to the bottom of all tile layers.
+ bringToBack: function () {
+ if (this._map) {
+ L.DomUtil.toBack(this._container);
+ this._setAutoZIndex(Math.min);
}
+ return this;
+ },
- this._tilesToLoad += tilesToLoad;
+ // @method getAttribution: String
+ // Used by the `attribution control`, returns the [attribution option](#gridlayer-attribution).
+ getAttribution: function () {
+ return this.options.attribution;
+ },
- for (i = 0; i < tilesToLoad; i++) {
- this._addTile(queue[i], fragment);
- }
+ // @method getContainer: HTMLElement
+ // Returns the HTML element that contains the tiles for this layer.
+ getContainer: function () {
+ return this._container;
+ },
- this._tileContainer.appendChild(fragment);
+ // @method setOpacity(opacity: Number): this
+ // Changes the [opacity](#gridlayer-opacity) of the grid layer.
+ setOpacity: function (opacity) {
+ this.options.opacity = opacity;
+ this._updateOpacity();
+ return this;
},
- _tileShouldBeLoaded: function (tilePoint) {
- if ((tilePoint.x + ':' + tilePoint.y) in this._tiles) {
- return false; // already loaded
- }
+ // @method setZIndex(zIndex: Number): this
+ // Changes the [zIndex](#gridlayer-zindex) of the grid layer.
+ setZIndex: function (zIndex) {
+ this.options.zIndex = zIndex;
+ this._updateZIndex();
- var options = this.options;
+ return this;
+ },
- if (!options.continuousWorld) {
- var limit = this._getWrapTileNum();
+ // @method isLoading: Boolean
+ // Returns `true` if any tile in the grid layer has not finished loading.
+ isLoading: function () {
+ return this._loading;
+ },
- // don't load if exceeds world bounds
- if ((options.noWrap && (tilePoint.x < 0 || tilePoint.x >= limit.x)) ||
- tilePoint.y < 0 || tilePoint.y >= limit.y) { return false; }
+ // @method redraw: this
+ // Causes the layer to clear all the tiles and request them again.
+ redraw: function () {
+ if (this._map) {
+ this._removeAllTiles();
+ this._update();
}
+ return this;
+ },
- if (options.bounds) {
- var tileSize = this._getTileSize(),
- nwPoint = tilePoint.multiplyBy(tileSize),
- sePoint = nwPoint.add([tileSize, tileSize]),
- nw = this._map.unproject(nwPoint),
- se = this._map.unproject(sePoint);
+ getEvents: function () {
+ var events = {
+ viewprereset: this._invalidateAll,
+ viewreset: this._resetView,
+ zoom: this._resetView,
+ moveend: this._onMoveEnd
+ };
- // TODO temporary hack, will be removed after refactoring projections
- // https://github.com/Leaflet/Leaflet/issues/1618
- if (!options.continuousWorld && !options.noWrap) {
- nw = nw.wrap();
- se = se.wrap();
+ if (!this.options.updateWhenIdle) {
+ // update tiles on move, but not more often than once per given interval
+ if (!this._onMove) {
+ this._onMove = L.Util.throttle(this._onMoveEnd, this.options.updateInterval, this);
}
- if (!options.bounds.intersects([nw, se])) { return false; }
+ events.move = this._onMove;
}
- return true;
+ if (this._zoomAnimated) {
+ events.zoomanim = this._animateZoom;
+ }
+
+ return events;
},
- _removeOtherTiles: function (bounds) {
- var kArr, x, y, key;
+ // @section Extension methods
+ // Layers extending `GridLayer` shall reimplement the following method.
+ // @method createTile(coords: Object, done?: Function): HTMLElement
+ // Called only internally, must be overriden by classes extending `GridLayer`.
+ // Returns the `HTMLElement` corresponding to the given `coords`. If the `done` callback
+ // is specified, it must be called when the tile has finished loading and drawing.
+ createTile: function () {
+ return document.createElement('div');
+ },
- for (key in this._tiles) {
- kArr = key.split(':');
- x = parseInt(kArr[0], 10);
- y = parseInt(kArr[1], 10);
+ // @section
+ // @method getTileSize: Point
+ // Normalizes the [tileSize option](#gridlayer-tilesize) into a point. Used by the `createTile()` method.
+ getTileSize: function () {
+ var s = this.options.tileSize;
+ return s instanceof L.Point ? s : new L.Point(s, s);
+ },
- // remove tile if it's out of bounds
- if (x < bounds.min.x || x > bounds.max.x || y < bounds.min.y || y > bounds.max.y) {
- this._removeTile(key);
- }
+ _updateZIndex: function () {
+ if (this._container && this.options.zIndex !== undefined && this.options.zIndex !== null) {
+ this._container.style.zIndex = this.options.zIndex;
}
},
- _removeTile: function (key) {
- var tile = this._tiles[key];
+ _setAutoZIndex: function (compare) {
+ // go through all other layers of the same pane, set zIndex to max + 1 (front) or min - 1 (back)
- this.fire('tileunload', {tile: tile, url: tile.src});
+ var layers = this.getPane().children,
+ edgeZIndex = -compare(-Infinity, Infinity); // -Infinity for max, Infinity for min
- if (this.options.reuseTiles) {
- L.DomUtil.removeClass(tile, 'leaflet-tile-loaded');
- this._unusedTiles.push(tile);
+ for (var i = 0, len = layers.length, zIndex; i < len; i++) {
- } else if (tile.parentNode === this._tileContainer) {
- this._tileContainer.removeChild(tile);
- }
+ zIndex = layers[i].style.zIndex;
- // for https://github.com/CloudMade/Leaflet/issues/137
- if (!L.Browser.android) {
- tile.onload = null;
- tile.src = L.Util.emptyImageUrl;
+ if (layers[i] !== this._container && zIndex) {
+ edgeZIndex = compare(edgeZIndex, +zIndex);
+ }
}
- delete this._tiles[key];
+ if (isFinite(edgeZIndex)) {
+ this.options.zIndex = edgeZIndex + compare(-1, 1);
+ this._updateZIndex();
+ }
},
- _addTile: function (tilePoint, container) {
- var tilePos = this._getTilePos(tilePoint);
+ _updateOpacity: function () {
+ if (!this._map) { return; }
+
+ // IE doesn't inherit filter opacity properly, so we're forced to set it on tiles
+ if (L.Browser.ielt9) { return; }
- // get unused tile - or create a new tile
- var tile = this._getTile();
+ L.DomUtil.setOpacity(this._container, this.options.opacity);
- /*
- Chrome 20 layouts much faster with top/left (verify with timeline, frames)
- Android 4 browser has display issues with top/left and requires transform instead
- (other browsers don't currently care) - see debug/hacks/jitter.html for an example
- */
- L.DomUtil.setPosition(tile, tilePos, L.Browser.chrome);
+ var now = +new Date(),
+ nextFrame = false,
+ willPrune = false;
+
+ for (var key in this._tiles) {
+ var tile = this._tiles[key];
+ if (!tile.current || !tile.loaded) { continue; }
+
+ var fade = Math.min(1, (now - tile.loaded) / 200);
- this._tiles[tilePoint.x + ':' + tilePoint.y] = tile;
+ L.DomUtil.setOpacity(tile.el, fade);
+ if (fade < 1) {
+ nextFrame = true;
+ } else {
+ if (tile.active) { willPrune = true; }
+ tile.active = true;
+ }
+ }
- this._loadTile(tile, tilePoint);
+ if (willPrune && !this._noPrune) { this._pruneTiles(); }
- if (tile.parentNode !== this._tileContainer) {
- container.appendChild(tile);
+ if (nextFrame) {
+ L.Util.cancelAnimFrame(this._fadeFrame);
+ this._fadeFrame = L.Util.requestAnimFrame(this._updateOpacity, this);
}
},
- _getZoomForUrl: function () {
+ _initContainer: function () {
+ if (this._container) { return; }
- var options = this.options,
- zoom = this._map.getZoom();
+ this._container = L.DomUtil.create('div', 'leaflet-layer ' + (this.options.className || ''));
+ this._updateZIndex();
- if (options.zoomReverse) {
- zoom = options.maxZoom - zoom;
+ if (this.options.opacity < 1) {
+ this._updateOpacity();
}
- zoom += options.zoomOffset;
-
- return options.maxNativeZoom ? Math.min(zoom, options.maxNativeZoom) : zoom;
+ this.getPane().appendChild(this._container);
},
- _getTilePos: function (tilePoint) {
- var origin = this._map.getPixelOrigin(),
- tileSize = this._getTileSize();
+ _updateLevels: function () {
- return tilePoint.multiplyBy(tileSize).subtract(origin);
- },
+ var zoom = this._tileZoom,
+ maxZoom = this.options.maxZoom;
- // image-specific code (override to implement e.g. Canvas or SVG tile layer)
+ if (zoom === undefined) { return undefined; }
- getTileUrl: function (tilePoint) {
- return L.Util.template(this._url, L.extend({
- s: this._getSubdomain(tilePoint),
- z: tilePoint.z,
- x: tilePoint.x,
- y: tilePoint.y
- }, this.options));
- },
+ for (var z in this._levels) {
+ if (this._levels[z].el.children.length || z === zoom) {
+ this._levels[z].el.style.zIndex = maxZoom - Math.abs(zoom - z);
+ } else {
+ L.DomUtil.remove(this._levels[z].el);
+ this._removeTilesAtZoom(z);
+ delete this._levels[z];
+ }
+ }
- _getWrapTileNum: function () {
- var crs = this._map.options.crs,
- size = crs.getSize(this._map.getZoom());
- return size.divideBy(this._getTileSize())._floor();
+ var level = this._levels[zoom],
+ map = this._map;
+
+ if (!level) {
+ level = this._levels[zoom] = {};
+
+ level.el = L.DomUtil.create('div', 'leaflet-tile-container leaflet-zoom-animated', this._container);
+ level.el.style.zIndex = maxZoom;
+
+ level.origin = map.project(map.unproject(map.getPixelOrigin()), zoom).round();
+ level.zoom = zoom;
+
+ this._setZoomTransform(level, map.getCenter(), map.getZoom());
+
+ // force the browser to consider the newly added element for transition
+ L.Util.falseFn(level.el.offsetWidth);
+ }
+
+ this._level = level;
+
+ return level;
},
- _adjustTilePoint: function (tilePoint) {
+ _pruneTiles: function () {
+ if (!this._map) {
+ return;
+ }
+
+ var key, tile;
- var limit = this._getWrapTileNum();
+ var zoom = this._map.getZoom();
+ if (zoom > this.options.maxZoom ||
+ zoom < this.options.minZoom) {
+ this._removeAllTiles();
+ return;
+ }
- // wrap tile coordinates
- if (!this.options.continuousWorld && !this.options.noWrap) {
- tilePoint.x = ((tilePoint.x % limit.x) + limit.x) % limit.x;
+ for (key in this._tiles) {
+ tile = this._tiles[key];
+ tile.retain = tile.current;
}
- if (this.options.tms) {
- tilePoint.y = limit.y - tilePoint.y - 1;
+ for (key in this._tiles) {
+ tile = this._tiles[key];
+ if (tile.current && !tile.active) {
+ var coords = tile.coords;
+ if (!this._retainParent(coords.x, coords.y, coords.z, coords.z - 5)) {
+ this._retainChildren(coords.x, coords.y, coords.z, coords.z + 2);
+ }
+ }
}
- tilePoint.z = this._getZoomForUrl();
+ for (key in this._tiles) {
+ if (!this._tiles[key].retain) {
+ this._removeTile(key);
+ }
+ }
},
- _getSubdomain: function (tilePoint) {
- var index = Math.abs(tilePoint.x + tilePoint.y) % this.options.subdomains.length;
- return this.options.subdomains[index];
+ _removeTilesAtZoom: function (zoom) {
+ for (var key in this._tiles) {
+ if (this._tiles[key].coords.z !== zoom) {
+ continue;
+ }
+ this._removeTile(key);
+ }
+ },
+
+ _removeAllTiles: function () {
+ for (var key in this._tiles) {
+ this._removeTile(key);
+ }
},
- _getTile: function () {
- if (this.options.reuseTiles && this._unusedTiles.length > 0) {
- var tile = this._unusedTiles.pop();
- this._resetTile(tile);
- return tile;
+ _invalidateAll: function () {
+ for (var z in this._levels) {
+ L.DomUtil.remove(this._levels[z].el);
+ delete this._levels[z];
}
- return this._createTile();
+ this._removeAllTiles();
+
+ this._tileZoom = null;
},
- // Override if data stored on a tile needs to be cleaned up before reuse
- _resetTile: function (/*tile*/) {},
+ _retainParent: function (x, y, z, minZoom) {
+ var x2 = Math.floor(x / 2),
+ y2 = Math.floor(y / 2),
+ z2 = z - 1,
+ coords2 = new L.Point(+x2, +y2);
+ coords2.z = +z2;
- _createTile: function () {
- var tile = L.DomUtil.create('img', 'leaflet-tile');
- tile.style.width = tile.style.height = this._getTileSize() + 'px';
- tile.galleryimg = 'no';
+ var key = this._tileCoordsToKey(coords2),
+ tile = this._tiles[key];
- tile.onselectstart = tile.onmousemove = L.Util.falseFn;
+ if (tile && tile.active) {
+ tile.retain = true;
+ return true;
- if (L.Browser.ielt9 && this.options.opacity !== undefined) {
- L.DomUtil.setOpacity(tile, this.options.opacity);
+ } else if (tile && tile.loaded) {
+ tile.retain = true;
}
- // without this hack, tiles disappear after zoom on Chrome for Android
- // https://github.com/Leaflet/Leaflet/issues/2078
- if (L.Browser.mobileWebkit3d) {
- tile.style.WebkitBackfaceVisibility = 'hidden';
+
+ if (z2 > minZoom) {
+ return this._retainParent(x2, y2, z2, minZoom);
}
- return tile;
+
+ return false;
},
- _loadTile: function (tile, tilePoint) {
- tile._layer = this;
- tile.onload = this._tileOnLoad;
- tile.onerror = this._tileOnError;
+ _retainChildren: function (x, y, z, maxZoom) {
- this._adjustTilePoint(tilePoint);
- tile.src = this.getTileUrl(tilePoint);
+ for (var i = 2 * x; i < 2 * x + 2; i++) {
+ for (var j = 2 * y; j < 2 * y + 2; j++) {
- this.fire('tileloadstart', {
- tile: tile,
- url: tile.src
- });
- },
+ var coords = new L.Point(i, j);
+ coords.z = z + 1;
- _tileLoaded: function () {
- this._tilesToLoad--;
+ var key = this._tileCoordsToKey(coords),
+ tile = this._tiles[key];
- if (this._animated) {
- L.DomUtil.addClass(this._tileContainer, 'leaflet-zoom-animated');
- }
+ if (tile && tile.active) {
+ tile.retain = true;
+ continue;
- if (!this._tilesToLoad) {
- this.fire('load');
+ } else if (tile && tile.loaded) {
+ tile.retain = true;
+ }
- if (this._animated) {
- // clear scaled tiles after all new tiles are loaded (for performance)
- clearTimeout(this._clearBgBufferTimer);
- this._clearBgBufferTimer = setTimeout(L.bind(this._clearBgBuffer, this), 500);
+ if (z + 1 < maxZoom) {
+ this._retainChildren(i, j, z + 1, maxZoom);
+ }
}
}
},
- _tileOnLoad: function () {
- var layer = this._layer;
+ _resetView: function (e) {
+ var animating = e && (e.pinch || e.flyTo);
+ this._setView(this._map.getCenter(), this._map.getZoom(), animating, animating);
+ },
- //Only if we are loading an actual image
- if (this.src !== L.Util.emptyImageUrl) {
- L.DomUtil.addClass(this, 'leaflet-tile-loaded');
+ _animateZoom: function (e) {
+ this._setView(e.center, e.zoom, true, e.noUpdate);
+ },
- layer.fire('tileload', {
- tile: this,
- url: this.src
- });
+ _setView: function (center, zoom, noPrune, noUpdate) {
+ var tileZoom = Math.round(zoom);
+ if ((this.options.maxZoom !== undefined && tileZoom > this.options.maxZoom) ||
+ (this.options.minZoom !== undefined && tileZoom < this.options.minZoom)) {
+ tileZoom = undefined;
}
- layer._tileLoaded();
- },
+ var tileZoomChanged = this.options.updateWhenZooming && (tileZoom !== this._tileZoom);
- _tileOnError: function () {
- var layer = this._layer;
+ if (!noUpdate || tileZoomChanged) {
- layer.fire('tileerror', {
- tile: this,
- url: this.src
- });
+ this._tileZoom = tileZoom;
- var newUrl = layer.options.errorTileUrl;
- if (newUrl) {
- this.src = newUrl;
- }
+ if (this._abortLoading) {
+ this._abortLoading();
+ }
- layer._tileLoaded();
- }
-});
-
-L.tileLayer = function (url, options) {
- return new L.TileLayer(url, options);
-};
+ this._updateLevels();
+ this._resetGrid();
+ if (tileZoom !== undefined) {
+ this._update(center);
+ }
-/*
- * L.TileLayer.WMS is used for putting WMS tile layers on the map.
- */
+ if (!noPrune) {
+ this._pruneTiles();
+ }
-L.TileLayer.WMS = L.TileLayer.extend({
+ // Flag to prevent _updateOpacity from pruning tiles during
+ // a zoom anim or a pinch gesture
+ this._noPrune = !!noPrune;
+ }
- defaultWmsParams: {
- service: 'WMS',
- request: 'GetMap',
- version: '1.1.1',
- layers: '',
- styles: '',
- format: 'image/jpeg',
- transparent: false
+ this._setZoomTransforms(center, zoom);
},
- initialize: function (url, options) { // (String, Object)
-
- this._url = url;
+ _setZoomTransforms: function (center, zoom) {
+ for (var i in this._levels) {
+ this._setZoomTransform(this._levels[i], center, zoom);
+ }
+ },
- var wmsParams = L.extend({}, this.defaultWmsParams),
- tileSize = options.tileSize || this.options.tileSize;
+ _setZoomTransform: function (level, center, zoom) {
+ var scale = this._map.getZoomScale(zoom, level.zoom),
+ translate = level.origin.multiplyBy(scale)
+ .subtract(this._map._getNewPixelOrigin(center, zoom)).round();
- if (options.detectRetina && L.Browser.retina) {
- wmsParams.width = wmsParams.height = tileSize * 2;
+ if (L.Browser.any3d) {
+ L.DomUtil.setTransform(level.el, translate, scale);
} else {
- wmsParams.width = wmsParams.height = tileSize;
+ L.DomUtil.setPosition(level.el, translate);
}
+ },
- for (var i in options) {
- // all keys that are not TileLayer options go to WMS params
- if (!this.options.hasOwnProperty(i) && i !== 'crs') {
- wmsParams[i] = options[i];
- }
- }
+ _resetGrid: function () {
+ var map = this._map,
+ crs = map.options.crs,
+ tileSize = this._tileSize = this.getTileSize(),
+ tileZoom = this._tileZoom;
- this.wmsParams = wmsParams;
+ var bounds = this._map.getPixelWorldBounds(this._tileZoom);
+ if (bounds) {
+ this._globalTileRange = this._pxBoundsToTileRange(bounds);
+ }
- L.setOptions(this, options);
+ this._wrapX = crs.wrapLng && !this.options.noWrap && [
+ Math.floor(map.project([0, crs.wrapLng[0]], tileZoom).x / tileSize.x),
+ Math.ceil(map.project([0, crs.wrapLng[1]], tileZoom).x / tileSize.y)
+ ];
+ this._wrapY = crs.wrapLat && !this.options.noWrap && [
+ Math.floor(map.project([crs.wrapLat[0], 0], tileZoom).y / tileSize.x),
+ Math.ceil(map.project([crs.wrapLat[1], 0], tileZoom).y / tileSize.y)
+ ];
},
- onAdd: function (map) {
-
- this._crs = this.options.crs || map.options.crs;
+ _onMoveEnd: function () {
+ if (!this._map || this._map._animatingZoom) { return; }
- this._wmsVersion = parseFloat(this.wmsParams.version);
+ this._update();
+ },
- var projectionKey = this._wmsVersion >= 1.3 ? 'crs' : 'srs';
- this.wmsParams[projectionKey] = this._crs.code;
+ _getTiledPixelBounds: function (center) {
+ var map = this._map,
+ mapZoom = map._animatingZoom ? Math.max(map._animateToZoom, map.getZoom()) : map.getZoom(),
+ scale = map.getZoomScale(mapZoom, this._tileZoom),
+ pixelCenter = map.project(center, this._tileZoom).floor(),
+ halfSize = map.getSize().divideBy(scale * 2);
- L.TileLayer.prototype.onAdd.call(this, map);
+ return new L.Bounds(pixelCenter.subtract(halfSize), pixelCenter.add(halfSize));
},
- getTileUrl: function (tilePoint) { // (Point, Number) -> String
-
- var map = this._map,
- tileSize = this.options.tileSize,
+ // Private method to load tiles in the grid's active zoom level according to map bounds
+ _update: function (center) {
+ var map = this._map;
+ if (!map) { return; }
+ var zoom = map.getZoom();
- nwPoint = tilePoint.multiplyBy(tileSize),
- sePoint = nwPoint.add([tileSize, tileSize]),
+ if (center === undefined) { center = map.getCenter(); }
+ if (this._tileZoom === undefined) { return; } // if out of minzoom/maxzoom
- nw = this._crs.project(map.unproject(nwPoint, tilePoint.z)),
- se = this._crs.project(map.unproject(sePoint, tilePoint.z)),
- bbox = this._wmsVersion >= 1.3 && this._crs === L.CRS.EPSG4326 ?
- [se.y, nw.x, nw.y, se.x].join(',') :
- [nw.x, se.y, se.x, nw.y].join(','),
+ var pixelBounds = this._getTiledPixelBounds(center),
+ tileRange = this._pxBoundsToTileRange(pixelBounds),
+ tileCenter = tileRange.getCenter(),
+ queue = [],
+ margin = this.options.keepBuffer,
+ noPruneRange = new L.Bounds(tileRange.getBottomLeft().subtract([margin, -margin]),
+ tileRange.getTopRight().add([margin, -margin]));
- url = L.Util.template(this._url, {s: this._getSubdomain(tilePoint)});
+ for (var key in this._tiles) {
+ var c = this._tiles[key].coords;
+ if (c.z !== this._tileZoom || !noPruneRange.contains(L.point(c.x, c.y))) {
+ this._tiles[key].current = false;
+ }
+ }
- return url + L.Util.getParamString(this.wmsParams, url, true) + '&BBOX=' + bbox;
- },
+ // _update just loads more tiles. If the tile zoom level differs too much
+ // from the map's, let _setView reset levels and prune old tiles.
+ if (Math.abs(zoom - this._tileZoom) > 1) { this._setView(center, zoom); return; }
- setParams: function (params, noRedraw) {
+ // create a queue of coordinates to load tiles from
+ for (var j = tileRange.min.y; j <= tileRange.max.y; j++) {
+ for (var i = tileRange.min.x; i <= tileRange.max.x; i++) {
+ var coords = new L.Point(i, j);
+ coords.z = this._tileZoom;
- L.extend(this.wmsParams, params);
+ if (!this._isValidTile(coords)) { continue; }
- if (!noRedraw) {
- this.redraw();
+ var tile = this._tiles[this._tileCoordsToKey(coords)];
+ if (tile) {
+ tile.current = true;
+ } else {
+ queue.push(coords);
+ }
+ }
}
- return this;
- }
-});
+ // sort tile queue to load tiles in order of their distance to center
+ queue.sort(function (a, b) {
+ return a.distanceTo(tileCenter) - b.distanceTo(tileCenter);
+ });
-L.tileLayer.wms = function (url, options) {
- return new L.TileLayer.WMS(url, options);
-};
+ if (queue.length !== 0) {
+ // if it's the first batch of tiles to load
+ if (!this._loading) {
+ this._loading = true;
+ // @event loading: Event
+ // Fired when the grid layer starts loading tiles.
+ this.fire('loading');
+ }
+ // create DOM fragment to append tiles in one batch
+ var fragment = document.createDocumentFragment();
-/*
- * L.TileLayer.Canvas is a class that you can use as a base for creating
- * dynamically drawn Canvas-based tile layers.
- */
+ for (i = 0; i < queue.length; i++) {
+ this._addTile(queue[i], fragment);
+ }
-L.TileLayer.Canvas = L.TileLayer.extend({
- options: {
- async: false
+ this._level.el.appendChild(fragment);
+ }
},
- initialize: function (options) {
- L.setOptions(this, options);
- },
+ _isValidTile: function (coords) {
+ var crs = this._map.options.crs;
- redraw: function () {
- if (this._map) {
- this._reset({hard: true});
- this._update();
+ if (!crs.infinite) {
+ // don't load tile if it's out of bounds and not wrapped
+ var bounds = this._globalTileRange;
+ if ((!crs.wrapLng && (coords.x < bounds.min.x || coords.x > bounds.max.x)) ||
+ (!crs.wrapLat && (coords.y < bounds.min.y || coords.y > bounds.max.y))) { return false; }
}
- for (var i in this._tiles) {
- this._redrawTile(this._tiles[i]);
- }
- return this;
- },
+ if (!this.options.bounds) { return true; }
- _redrawTile: function (tile) {
- this.drawTile(tile, tile._tilePoint, this._map._zoom);
+ // don't load tile if it doesn't intersect the bounds in options
+ var tileBounds = this._tileCoordsToBounds(coords);
+ return L.latLngBounds(this.options.bounds).overlaps(tileBounds);
},
- _createTile: function () {
- var tile = L.DomUtil.create('canvas', 'leaflet-tile');
- tile.width = tile.height = this.options.tileSize;
- tile.onselectstart = tile.onmousemove = L.Util.falseFn;
- return tile;
+ _keyToBounds: function (key) {
+ return this._tileCoordsToBounds(this._keyToTileCoords(key));
},
- _loadTile: function (tile, tilePoint) {
- tile._layer = this;
- tile._tilePoint = tilePoint;
+ // converts tile coordinates to its geographical bounds
+ _tileCoordsToBounds: function (coords) {
+
+ var map = this._map,
+ tileSize = this.getTileSize(),
+
+ nwPoint = coords.scaleBy(tileSize),
+ sePoint = nwPoint.add(tileSize),
- this._redrawTile(tile);
+ nw = map.unproject(nwPoint, coords.z),
+ se = map.unproject(sePoint, coords.z);
- if (!this.options.async) {
- this.tileDrawn(tile);
+ if (!this.options.noWrap) {
+ nw = map.wrapLatLng(nw);
+ se = map.wrapLatLng(se);
}
- },
- drawTile: function (/*tile, tilePoint*/) {
- // override with rendering code
+ return new L.LatLngBounds(nw, se);
},
- tileDrawn: function (tile) {
- this._tileOnLoad.call(tile);
- }
-});
-
+ // converts tile coordinates to key for the tile cache
+ _tileCoordsToKey: function (coords) {
+ return coords.x + ':' + coords.y + ':' + coords.z;
+ },
-L.tileLayer.canvas = function (options) {
- return new L.TileLayer.Canvas(options);
-};
+ // converts tile cache key to coordinates
+ _keyToTileCoords: function (key) {
+ var k = key.split(':'),
+ coords = new L.Point(+k[0], +k[1]);
+ coords.z = +k[2];
+ return coords;
+ },
+ _removeTile: function (key) {
+ var tile = this._tiles[key];
+ if (!tile) { return; }
-/*
- * L.ImageOverlay is used to overlay images over the map (to specific geographical bounds).
- */
+ L.DomUtil.remove(tile.el);
-L.ImageOverlay = L.Class.extend({
- includes: L.Mixin.Events,
+ delete this._tiles[key];
- options: {
- opacity: 1
+ // @event tileunload: TileEvent
+ // Fired when a tile is removed (e.g. when a tile goes off the screen).
+ this.fire('tileunload', {
+ tile: tile.el,
+ coords: this._keyToTileCoords(key)
+ });
},
- initialize: function (url, bounds, options) { // (String, LatLngBounds, Object)
- this._url = url;
- this._bounds = L.latLngBounds(bounds);
+ _initTile: function (tile) {
+ L.DomUtil.addClass(tile, 'leaflet-tile');
- L.setOptions(this, options);
- },
+ var tileSize = this.getTileSize();
+ tile.style.width = tileSize.x + 'px';
+ tile.style.height = tileSize.y + 'px';
- onAdd: function (map) {
- this._map = map;
+ tile.onselectstart = L.Util.falseFn;
+ tile.onmousemove = L.Util.falseFn;
- if (!this._image) {
- this._initImage();
+ // update opacity on tiles in IE7-8 because of filter inheritance problems
+ if (L.Browser.ielt9 && this.options.opacity < 1) {
+ L.DomUtil.setOpacity(tile, this.options.opacity);
}
- map._panes.overlayPane.appendChild(this._image);
-
- map.on('viewreset', this._reset, this);
-
- if (map.options.zoomAnimation && L.Browser.any3d) {
- map.on('zoomanim', this._animateZoom, this);
+ // without this hack, tiles disappear after zoom on Chrome for Android
+ // https://github.com/Leaflet/Leaflet/issues/2078
+ if (L.Browser.android && !L.Browser.android23) {
+ tile.style.WebkitBackfaceVisibility = 'hidden';
}
-
- this._reset();
},
- onRemove: function (map) {
- map.getPanes().overlayPane.removeChild(this._image);
+ _addTile: function (coords, container) {
+ var tilePos = this._getTilePos(coords),
+ key = this._tileCoordsToKey(coords);
- map.off('viewreset', this._reset, this);
+ var tile = this.createTile(this._wrapCoords(coords), L.bind(this._tileReady, this, coords));
- if (map.options.zoomAnimation) {
- map.off('zoomanim', this._animateZoom, this);
+ this._initTile(tile);
+
+ // if createTile is defined with a second argument ("done" callback),
+ // we know that tile is async and will be ready later; otherwise
+ if (this.createTile.length < 2) {
+ // mark tile as ready, but delay one frame for opacity animation to happen
+ L.Util.requestAnimFrame(L.bind(this._tileReady, this, coords, null, tile));
}
- },
- addTo: function (map) {
- map.addLayer(this);
- return this;
- },
+ L.DomUtil.setPosition(tile, tilePos);
- setOpacity: function (opacity) {
- this.options.opacity = opacity;
- this._updateOpacity();
- return this;
- },
+ // save tile in cache
+ this._tiles[key] = {
+ el: tile,
+ coords: coords,
+ current: true
+ };
- // TODO remove bringToFront/bringToBack duplication from TileLayer/Path
- bringToFront: function () {
- if (this._image) {
- this._map._panes.overlayPane.appendChild(this._image);
- }
- return this;
+ container.appendChild(tile);
+ // @event tileloadstart: TileEvent
+ // Fired when a tile is requested and starts loading.
+ this.fire('tileloadstart', {
+ tile: tile,
+ coords: coords
+ });
},
- bringToBack: function () {
- var pane = this._map._panes.overlayPane;
- if (this._image) {
- pane.insertBefore(this._image, pane.firstChild);
- }
- return this;
- },
+ _tileReady: function (coords, err, tile) {
+ if (!this._map) { return; }
- setUrl: function (url) {
- this._url = url;
- this._image.src = this._url;
- },
+ if (err) {
+ // @event tileerror: TileErrorEvent
+ // Fired when there is an error loading a tile.
+ this.fire('tileerror', {
+ error: err,
+ tile: tile,
+ coords: coords
+ });
+ }
- getAttribution: function () {
- return this.options.attribution;
- },
+ var key = this._tileCoordsToKey(coords);
- _initImage: function () {
- this._image = L.DomUtil.create('img', 'leaflet-image-layer');
+ tile = this._tiles[key];
+ if (!tile) { return; }
- if (this._map.options.zoomAnimation && L.Browser.any3d) {
- L.DomUtil.addClass(this._image, 'leaflet-zoom-animated');
+ tile.loaded = +new Date();
+ if (this._map._fadeAnimated) {
+ L.DomUtil.setOpacity(tile.el, 0);
+ L.Util.cancelAnimFrame(this._fadeFrame);
+ this._fadeFrame = L.Util.requestAnimFrame(this._updateOpacity, this);
} else {
- L.DomUtil.addClass(this._image, 'leaflet-zoom-hide');
+ tile.active = true;
+ this._pruneTiles();
}
- this._updateOpacity();
-
- //TODO createImage util method to remove duplication
- L.extend(this._image, {
- galleryimg: 'no',
- onselectstart: L.Util.falseFn,
- onmousemove: L.Util.falseFn,
- onload: L.bind(this._onImageLoad, this),
- src: this._url
- });
- },
+ if (!err) {
+ L.DomUtil.addClass(tile.el, 'leaflet-tile-loaded');
- _animateZoom: function (e) {
- var map = this._map,
- image = this._image,
- scale = map.getZoomScale(e.zoom),
- nw = this._bounds.getNorthWest(),
- se = this._bounds.getSouthEast(),
+ // @event tileload: TileEvent
+ // Fired when a tile loads.
+ this.fire('tileload', {
+ tile: tile.el,
+ coords: coords
+ });
+ }
- topLeft = map._latLngToNewLayerPoint(nw, e.zoom, e.center),
- size = map._latLngToNewLayerPoint(se, e.zoom, e.center)._subtract(topLeft),
- origin = topLeft._add(size._multiplyBy((1 / 2) * (1 - 1 / scale)));
+ if (this._noTilesToLoad()) {
+ this._loading = false;
+ // @event load: Event
+ // Fired when the grid layer loaded all visible tiles.
+ this.fire('load');
- image.style[L.DomUtil.TRANSFORM] =
- L.DomUtil.getTranslateString(origin) + ' scale(' + scale + ') ';
+ if (L.Browser.ielt9 || !this._map._fadeAnimated) {
+ L.Util.requestAnimFrame(this._pruneTiles, this);
+ } else {
+ // Wait a bit more than 0.2 secs (the duration of the tile fade-in)
+ // to trigger a pruning.
+ setTimeout(L.bind(this._pruneTiles, this), 250);
+ }
+ }
},
- _reset: function () {
- var image = this._image,
- topLeft = this._map.latLngToLayerPoint(this._bounds.getNorthWest()),
- size = this._map.latLngToLayerPoint(this._bounds.getSouthEast())._subtract(topLeft);
-
- L.DomUtil.setPosition(image, topLeft);
+ _getTilePos: function (coords) {
+ return coords.scaleBy(this.getTileSize()).subtract(this._level.origin);
+ },
- image.style.width = size.x + 'px';
- image.style.height = size.y + 'px';
+ _wrapCoords: function (coords) {
+ var newCoords = new L.Point(
+ this._wrapX ? L.Util.wrapNum(coords.x, this._wrapX) : coords.x,
+ this._wrapY ? L.Util.wrapNum(coords.y, this._wrapY) : coords.y);
+ newCoords.z = coords.z;
+ return newCoords;
},
- _onImageLoad: function () {
- this.fire('load');
+ _pxBoundsToTileRange: function (bounds) {
+ var tileSize = this.getTileSize();
+ return new L.Bounds(
+ bounds.min.unscaleBy(tileSize).floor(),
+ bounds.max.unscaleBy(tileSize).ceil().subtract([1, 1]));
},
- _updateOpacity: function () {
- L.DomUtil.setOpacity(this._image, this.options.opacity);
+ _noTilesToLoad: function () {
+ for (var key in this._tiles) {
+ if (!this._tiles[key].loaded) { return false; }
+ }
+ return true;
}
});
-L.imageOverlay = function (url, bounds, options) {
- return new L.ImageOverlay(url, bounds, options);
+// @factory L.gridLayer(options?: GridLayer options)
+// Creates a new instance of GridLayer with the supplied options.
+L.gridLayer = function (options) {
+ return new L.GridLayer(options);
};
+
/*
- * L.Icon is an image-based icon class that you can use with L.Marker for custom markers.
+ * @class TileLayer
+ * @inherits GridLayer
+ * @aka L.TileLayer
+ * Used to load and display tile layers on the map. Extends `GridLayer`.
+ *
+ * @example
+ *
+ * ```js
+ * L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png?{foo}', {foo: 'bar'}).addTo(map);
+ * ```
+ *
+ * @section URL template
+ * @example
+ *
+ * A string of the following form:
+ *
+ * ```
+ * 'http://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png'
+ * ```
+ *
+ * `{s}` means one of the available subdomains (used sequentially to help with browser parallel requests per domain limitation; subdomain values are specified in options; `a`, `b` or `c` by default, can be omitted), `{z}` — zoom level, `{x}` and `{y}` — tile coordinates. `{r}` can be used to add @2x to the URL to load retina tiles.
+ *
+ * You can use custom keys in the template, which will be [evaluated](#util-template) from TileLayer options, like this:
+ *
+ * ```
+ * L.tileLayer('http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png', {foo: 'bar'});
+ * ```
*/
-L.Icon = L.Class.extend({
+
+L.TileLayer = L.GridLayer.extend({
+
+ // @section
+ // @aka TileLayer options
options: {
- /*
- iconUrl: (String) (required)
- iconRetinaUrl: (String) (optional, used for retina devices if detected)
- iconSize: (Point) (can be set through CSS)
- iconAnchor: (Point) (centered by default, can be set in CSS with negative margins)
- popupAnchor: (Point) (if not specified, popup opens in the anchor point)
- shadowUrl: (String) (no shadow by default)
- shadowRetinaUrl: (String) (optional, used for retina devices if detected)
- shadowSize: (Point)
- shadowAnchor: (Point)
- */
- className: ''
- },
+ // @option minZoom: Number = 0
+ // Minimum zoom number.
+ minZoom: 0,
- initialize: function (options) {
- L.setOptions(this, options);
- },
+ // @option maxZoom: Number = 18
+ // Maximum zoom number.
+ maxZoom: 18,
- createIcon: function (oldIcon) {
- return this._createIcon('icon', oldIcon);
- },
+ // @option maxNativeZoom: Number = null
+ // Maximum zoom number the tile source has available. If it is specified,
+ // the tiles on all zoom levels higher than `maxNativeZoom` will be loaded
+ // from `maxNativeZoom` level and auto-scaled.
+ maxNativeZoom: null,
- createShadow: function (oldIcon) {
- return this._createIcon('shadow', oldIcon);
+ // @option subdomains: String|String[] = 'abc'
+ // Subdomains of the tile service. Can be passed in the form of one string (where each letter is a subdomain name) or an array of strings.
+ subdomains: 'abc',
+
+ // @option errorTileUrl: String = ''
+ // URL to the tile image to show in place of the tile that failed to load.
+ errorTileUrl: '',
+
+ // @option zoomOffset: Number = 0
+ // The zoom number used in tile URLs will be offset with this value.
+ zoomOffset: 0,
+
+ // @option tms: Boolean = false
+ // If `true`, inverses Y axis numbering for tiles (turn this on for [TMS](https://en.wikipedia.org/wiki/Tile_Map_Service) services).
+ tms: false,
+
+ // @option zoomReverse: Boolean = false
+ // If set to true, the zoom number used in tile URLs will be reversed (`maxZoom - zoom` instead of `zoom`)
+ zoomReverse: false,
+
+ // @option detectRetina: Boolean = false
+ // If `true` and user is on a retina display, it will request four tiles of half the specified size and a bigger zoom level in place of one to utilize the high resolution.
+ detectRetina: false,
+
+ // @option crossOrigin: Boolean = false
+ // If true, all tiles will have their crossOrigin attribute set to ''. This is needed if you want to access tile pixel data.
+ crossOrigin: false
},
- _createIcon: function (name, oldIcon) {
- var src = this._getIconUrl(name);
+ initialize: function (url, options) {
- if (!src) {
- if (name === 'icon') {
- throw new Error('iconUrl not set in Icon options (see the docs).');
+ this._url = url;
+
+ options = L.setOptions(this, options);
+
+ // detecting retina displays, adjusting tileSize and zoom levels
+ if (options.detectRetina && L.Browser.retina && options.maxZoom > 0) {
+
+ options.tileSize = Math.floor(options.tileSize / 2);
+
+ if (!options.zoomReverse) {
+ options.zoomOffset++;
+ options.maxZoom--;
+ } else {
+ options.zoomOffset--;
+ options.minZoom++;
}
- return null;
+
+ options.minZoom = Math.max(0, options.minZoom);
}
- var img;
- if (!oldIcon || oldIcon.tagName !== 'IMG') {
- img = this._createImg(src);
- } else {
- img = this._createImg(src, oldIcon);
+ if (typeof options.subdomains === 'string') {
+ options.subdomains = options.subdomains.split('');
}
- this._setIconStyles(img, name);
- return img;
+ // for https://github.com/Leaflet/Leaflet/issues/137
+ if (!L.Browser.android) {
+ this.on('tileunload', this._onTileRemove);
+ }
},
- _setIconStyles: function (img, name) {
- var options = this.options,
- size = L.point(options[name + 'Size']),
- anchor;
+ // @method setUrl(url: String, noRedraw?: Boolean): this
+ // Updates the layer's URL template and redraws it (unless `noRedraw` is set to `true`).
+ setUrl: function (url, noRedraw) {
+ this._url = url;
- if (name === 'shadow') {
- anchor = L.point(options.shadowAnchor || options.iconAnchor);
- } else {
- anchor = L.point(options.iconAnchor);
+ if (!noRedraw) {
+ this.redraw();
}
+ return this;
+ },
- if (!anchor && size) {
- anchor = size.divideBy(2, true);
- }
+ // @method createTile(coords: Object, done?: Function): HTMLElement
+ // Called only internally, overrides GridLayer's [`createTile()`](#gridlayer-createtile)
+ // to return an `<img>` HTML element with the appropiate image URL given `coords`. The `done`
+ // callback is called when the tile has been loaded.
+ createTile: function (coords, done) {
+ var tile = document.createElement('img');
- img.className = 'leaflet-marker-' + name + ' ' + options.className;
+ L.DomEvent.on(tile, 'load', L.bind(this._tileOnLoad, this, done, tile));
+ L.DomEvent.on(tile, 'error', L.bind(this._tileOnError, this, done, tile));
- if (anchor) {
- img.style.marginLeft = (-anchor.x) + 'px';
- img.style.marginTop = (-anchor.y) + 'px';
+ if (this.options.crossOrigin) {
+ tile.crossOrigin = '';
}
- if (size) {
- img.style.width = size.x + 'px';
- img.style.height = size.y + 'px';
- }
- },
+ /*
+ Alt tag is set to empty string to keep screen readers from reading URL and for compliance reasons
+ http://www.w3.org/TR/WCAG20-TECHS/H67
+ */
+ tile.alt = '';
- _createImg: function (src, el) {
- el = el || document.createElement('img');
- el.src = src;
- return el;
- },
+ tile.src = this.getTileUrl(coords);
- _getIconUrl: function (name) {
- if (L.Browser.retina && this.options[name + 'RetinaUrl']) {
- return this.options[name + 'RetinaUrl'];
+ return tile;
+ },
+
+ // @section Extension methods
+ // @uninheritable
+ // Layers extending `TileLayer` might reimplement the following method.
+ // @method getTileUrl(coords: Object): String
+ // Called only internally, returns the URL for a tile given its coordinates.
+ // Classes extending `TileLayer` can override this function to provide custom tile URL naming schemes.
+ getTileUrl: function (coords) {
+ var data = {
+ r: L.Browser.retina ? '@2x' : '',
+ s: this._getSubdomain(coords),
+ x: coords.x,
+ y: coords.y,
+ z: this._getZoomForUrl()
+ };
+ if (this._map && !this._map.options.crs.infinite) {
+ var invertedY = this._globalTileRange.max.y - coords.y;
+ if (this.options.tms) {
+ data['y'] = invertedY;
+ }
+ data['-y'] = invertedY;
}
- return this.options[name + 'Url'];
- }
-});
-L.icon = function (options) {
- return new L.Icon(options);
-};
+ return L.Util.template(this._url, L.extend(data, this.options));
+ },
+ _tileOnLoad: function (done, tile) {
+ // For https://github.com/Leaflet/Leaflet/issues/3332
+ if (L.Browser.ielt9) {
+ setTimeout(L.bind(done, this, null, tile), 0);
+ } else {
+ done(null, tile);
+ }
+ },
-/*
- * L.Icon.Default is the blue marker icon used by default in Leaflet.
- */
+ _tileOnError: function (done, tile, e) {
+ var errorUrl = this.options.errorTileUrl;
+ if (errorUrl) {
+ tile.src = errorUrl;
+ }
+ done(e, tile);
+ },
-L.Icon.Default = L.Icon.extend({
+ getTileSize: function () {
+ var map = this._map,
+ tileSize = L.GridLayer.prototype.getTileSize.call(this),
+ zoom = this._tileZoom + this.options.zoomOffset,
+ zoomN = this.options.maxNativeZoom;
- options: {
- iconSize: [25, 41],
- iconAnchor: [12, 41],
- popupAnchor: [1, -34],
+ // increase tile size when overscaling
+ return zoomN !== null && zoom > zoomN ?
+ tileSize.divideBy(map.getZoomScale(zoomN, zoom)).round() :
+ tileSize;
+ },
- shadowSize: [41, 41]
+ _onTileRemove: function (e) {
+ e.tile.onload = null;
},
- _getIconUrl: function (name) {
- var key = name + 'Url';
+ _getZoomForUrl: function () {
- if (this.options[key]) {
- return this.options[key];
- }
+ var options = this.options,
+ zoom = this._tileZoom;
- if (L.Browser.retina && name === 'icon') {
- name += '-2x';
+ if (options.zoomReverse) {
+ zoom = options.maxZoom - zoom;
}
- var path = L.Icon.Default.imagePath;
+ zoom += options.zoomOffset;
- if (!path) {
- throw new Error('Couldn\'t autodetect L.Icon.Default.imagePath, set it manually.');
- }
+ return options.maxNativeZoom !== null ? Math.min(zoom, options.maxNativeZoom) : zoom;
+ },
+
+ _getSubdomain: function (tilePoint) {
+ var index = Math.abs(tilePoint.x + tilePoint.y) % this.options.subdomains.length;
+ return this.options.subdomains[index];
+ },
- return path + '/marker-' + name + '.png';
+ // stops loading all tiles in the background layer
+ _abortLoading: function () {
+ var i, tile;
+ for (i in this._tiles) {
+ if (this._tiles[i].coords.z !== this._tileZoom) {
+ tile = this._tiles[i].el;
+
+ tile.onload = L.Util.falseFn;
+ tile.onerror = L.Util.falseFn;
+
+ if (!tile.complete) {
+ tile.src = L.Util.emptyImageUrl;
+ L.DomUtil.remove(tile);
+ }
+ }
+ }
}
});
-L.Icon.Default.imagePath = (function () {
- var scripts = document.getElementsByTagName('script'),
- leafletRe = /[\/^]leaflet[\-\._]?([\w\-\._]*)\.js\??/;
- var i, len, src, matches, path;
+// @factory L.tilelayer(urlTemplate: String, options?: TileLayer options)
+// Instantiates a tile layer object given a `URL template` and optionally an options object.
- for (i = 0, len = scripts.length; i < len; i++) {
- src = scripts[i].src;
- matches = src.match(leafletRe);
+L.tileLayer = function (url, options) {
+ return new L.TileLayer(url, options);
+};
- if (matches) {
- path = src.split(leafletRe)[0];
- return (path ? path + '/' : '') + 'images';
- }
- }
-}());
/*
- * L.Marker is used to display clickable/draggable icons on the map.
+ * @class TileLayer.WMS
+ * @inherits TileLayer
+ * @aka L.TileLayer.WMS
+ * Used to display [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services as tile layers on the map. Extends `TileLayer`.
+ *
+ * @example
+ *
+ * ```js
+ * var nexrad = L.tileLayer.wms("http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi", {
+ * layers: 'nexrad-n0r-900913',
+ * format: 'image/png',
+ * transparent: true,
+ * attribution: "Weather data © 2012 IEM Nexrad"
+ * });
+ * ```
*/
-L.Marker = L.Class.extend({
+L.TileLayer.WMS = L.TileLayer.extend({
- includes: L.Mixin.Events,
+ // @section
+ // @aka TileLayer.WMS options
+ // If any custom options not documented here are used, they will be sent to the
+ // WMS server as extra parameters in each request URL. This can be useful for
+ // [non-standard vendor WMS parameters](http://docs.geoserver.org/stable/en/user/services/wms/vendor.html).
+ defaultWmsParams: {
+ service: 'WMS',
+ request: 'GetMap',
- options: {
- icon: new L.Icon.Default(),
- title: '',
- alt: '',
- clickable: true,
- draggable: false,
- keyboard: true,
- zIndexOffset: 0,
- opacity: 1,
- riseOnHover: false,
- riseOffset: 250
+ // @option layers: String = ''
+ // **(required)** Comma-separated list of WMS layers to show.
+ layers: '',
+
+ // @option styles: String = ''
+ // Comma-separated list of WMS styles.
+ styles: '',
+
+ // @option format: String = 'image/jpeg'
+ // WMS image format (use `'image/png'` for layers with transparency).
+ format: 'image/jpeg',
+
+ // @option transparent: Boolean = false
+ // If `true`, the WMS service will return images with transparency.
+ transparent: false,
+
+ // @option version: String = '1.1.1'
+ // Version of the WMS service to use
+ version: '1.1.1'
},
- initialize: function (latlng, options) {
- L.setOptions(this, options);
- this._latlng = L.latLng(latlng);
+ options: {
+ // @option crs: CRS = null
+ // Coordinate Reference System to use for the WMS requests, defaults to
+ // map CRS. Don't change this if you're not sure what it means.
+ crs: null,
+
+ // @option uppercase: Boolean = false
+ // If `true`, WMS request parameter keys will be uppercase.
+ uppercase: false
},
- onAdd: function (map) {
- this._map = map;
+ initialize: function (url, options) {
- map.on('viewreset', this.update, this);
+ this._url = url;
- this._initIcon();
- this.update();
- this.fire('add');
+ var wmsParams = L.extend({}, this.defaultWmsParams);
- if (map.options.zoomAnimation && map.options.markerZoomAnimation) {
- map.on('zoomanim', this._animateZoom, this);
+ // all keys that are not TileLayer options go to WMS params
+ for (var i in options) {
+ if (!(i in this.options)) {
+ wmsParams[i] = options[i];
+ }
}
- },
- addTo: function (map) {
- map.addLayer(this);
- return this;
- },
+ options = L.setOptions(this, options);
- onRemove: function (map) {
- if (this.dragging) {
- this.dragging.disable();
- }
+ wmsParams.width = wmsParams.height = options.tileSize * (options.detectRetina && L.Browser.retina ? 2 : 1);
- this._removeIcon();
- this._removeShadow();
+ this.wmsParams = wmsParams;
+ },
- this.fire('remove');
+ onAdd: function (map) {
- map.off({
- 'viewreset': this.update,
- 'zoomanim': this._animateZoom
- }, this);
+ this._crs = this.options.crs || map.options.crs;
+ this._wmsVersion = parseFloat(this.wmsParams.version);
- this._map = null;
- },
+ var projectionKey = this._wmsVersion >= 1.3 ? 'crs' : 'srs';
+ this.wmsParams[projectionKey] = this._crs.code;
- getLatLng: function () {
- return this._latlng;
+ L.TileLayer.prototype.onAdd.call(this, map);
},
- setLatLng: function (latlng) {
- this._latlng = L.latLng(latlng);
+ getTileUrl: function (coords) {
- this.update();
+ var tileBounds = this._tileCoordsToBounds(coords),
+ nw = this._crs.project(tileBounds.getNorthWest()),
+ se = this._crs.project(tileBounds.getSouthEast()),
- return this.fire('move', { latlng: this._latlng });
- },
+ bbox = (this._wmsVersion >= 1.3 && this._crs === L.CRS.EPSG4326 ?
+ [se.y, nw.x, nw.y, se.x] :
+ [nw.x, se.y, se.x, nw.y]).join(','),
- setZIndexOffset: function (offset) {
- this.options.zIndexOffset = offset;
- this.update();
+ url = L.TileLayer.prototype.getTileUrl.call(this, coords);
- return this;
+ return url +
+ L.Util.getParamString(this.wmsParams, url, this.options.uppercase) +
+ (this.options.uppercase ? '&BBOX=' : '&bbox=') + bbox;
},
- setIcon: function (icon) {
-
- this.options.icon = icon;
+ // @method setParams(params: Object, noRedraw?: Boolean): this
+ // Merges an object with the new parameters and re-requests tiles on the current screen (unless `noRedraw` was set to true).
+ setParams: function (params, noRedraw) {
- if (this._map) {
- this._initIcon();
- this.update();
- }
+ L.extend(this.wmsParams, params);
- if (this._popup) {
- this.bindPopup(this._popup);
+ if (!noRedraw) {
+ this.redraw();
}
return this;
- },
+ }
+});
- update: function () {
- if (this._icon) {
- this._setPos(this._map.latLngToLayerPoint(this._latlng).round());
- }
- return this;
- },
- _initIcon: function () {
- var options = this.options,
- map = this._map,
- animation = (map.options.zoomAnimation && map.options.markerZoomAnimation),
- classToAdd = animation ? 'leaflet-zoom-animated' : 'leaflet-zoom-hide';
+// @factory L.tileLayer.wms(baseUrl: String, options: TileLayer.WMS options)
+// Instantiates a WMS tile layer object given a base URL of the WMS service and a WMS parameters/options object.
+L.tileLayer.wms = function (url, options) {
+ return new L.TileLayer.WMS(url, options);
+};
- var icon = options.icon.createIcon(this._icon),
- addIcon = false;
- // if we're not reusing the icon, remove the old one and init new one
- if (icon !== this._icon) {
- if (this._icon) {
- this._removeIcon();
- }
- addIcon = true;
- if (options.title) {
- icon.title = options.title;
- }
+/*
+ * @class ImageOverlay
+ * @aka L.ImageOverlay
+ * @inherits Interactive layer
+ *
+ * Used to load and display a single image over specific bounds of the map. Extends `Layer`.
+ *
+ * @example
+ *
+ * ```js
+ * var imageUrl = 'http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg',
+ * imageBounds = [[40.712216, -74.22655], [40.773941, -74.12544]];
+ * L.imageOverlay(imageUrl, imageBounds).addTo(map);
+ * ```
+ */
- if (options.alt) {
- icon.alt = options.alt;
- }
- }
+L.ImageOverlay = L.Layer.extend({
- L.DomUtil.addClass(icon, classToAdd);
+ // @section
+ // @aka ImageOverlay options
+ options: {
+ // @option opacity: Number = 1.0
+ // The opacity of the image overlay.
+ opacity: 1,
- if (options.keyboard) {
- icon.tabIndex = '0';
- }
+ // @option alt: String = ''
+ // Text for the `alt` attribute of the image (useful for accessibility).
+ alt: '',
- this._icon = icon;
+ // @option interactive: Boolean = false
+ // If `true`, the image overlay will emit [mouse events](#interactive-layer) when clicked or hovered.
+ interactive: false,
- this._initInteraction();
+ // @option attribution: String = null
+ // An optional string containing HTML to be shown on the `Attribution control`
+ attribution: null,
- if (options.riseOnHover) {
- L.DomEvent
- .on(icon, 'mouseover', this._bringToFront, this)
- .on(icon, 'mouseout', this._resetZIndex, this);
- }
+ // @option crossOrigin: Boolean = false
+ // If true, the image will have its crossOrigin attribute set to ''. This is needed if you want to access image pixel data.
+ crossOrigin: false
+ },
- var newShadow = options.icon.createShadow(this._shadow),
- addShadow = false;
+ initialize: function (url, bounds, options) { // (String, LatLngBounds, Object)
+ this._url = url;
+ this._bounds = L.latLngBounds(bounds);
- if (newShadow !== this._shadow) {
- this._removeShadow();
- addShadow = true;
+ L.setOptions(this, options);
+ },
+
+ onAdd: function () {
+ if (!this._image) {
+ this._initImage();
+
+ if (this.options.opacity < 1) {
+ this._updateOpacity();
+ }
}
- if (newShadow) {
- L.DomUtil.addClass(newShadow, classToAdd);
+ if (this.options.interactive) {
+ L.DomUtil.addClass(this._image, 'leaflet-interactive');
+ this.addInteractiveTarget(this._image);
}
- this._shadow = newShadow;
+ this.getPane().appendChild(this._image);
+ this._reset();
+ },
- if (options.opacity < 1) {
- this._updateOpacity();
+ onRemove: function () {
+ L.DomUtil.remove(this._image);
+ if (this.options.interactive) {
+ this.removeInteractiveTarget(this._image);
}
+ },
+ // @method setOpacity(opacity: Number): this
+ // Sets the opacity of the overlay.
+ setOpacity: function (opacity) {
+ this.options.opacity = opacity;
- var panes = this._map._panes;
-
- if (addIcon) {
- panes.markerPane.appendChild(this._icon);
+ if (this._image) {
+ this._updateOpacity();
}
+ return this;
+ },
- if (newShadow && addShadow) {
- panes.shadowPane.appendChild(this._shadow);
+ setStyle: function (styleOpts) {
+ if (styleOpts.opacity) {
+ this.setOpacity(styleOpts.opacity);
}
+ return this;
},
- _removeIcon: function () {
- if (this.options.riseOnHover) {
- L.DomEvent
- .off(this._icon, 'mouseover', this._bringToFront)
- .off(this._icon, 'mouseout', this._resetZIndex);
+ // @method bringToFront(): this
+ // Brings the layer to the top of all overlays.
+ bringToFront: function () {
+ if (this._map) {
+ L.DomUtil.toFront(this._image);
}
-
- this._map._panes.markerPane.removeChild(this._icon);
-
- this._icon = null;
+ return this;
},
- _removeShadow: function () {
- if (this._shadow) {
- this._map._panes.shadowPane.removeChild(this._shadow);
+ // @method bringToBack(): this
+ // Brings the layer to the bottom of all overlays.
+ bringToBack: function () {
+ if (this._map) {
+ L.DomUtil.toBack(this._image);
}
- this._shadow = null;
+ return this;
},
- _setPos: function (pos) {
- L.DomUtil.setPosition(this._icon, pos);
+ // @method setUrl(url: String): this
+ // Changes the URL of the image.
+ setUrl: function (url) {
+ this._url = url;
- if (this._shadow) {
- L.DomUtil.setPosition(this._shadow, pos);
+ if (this._image) {
+ this._image.src = url;
}
+ return this;
+ },
- this._zIndex = pos.y + this.options.zIndexOffset;
+ setBounds: function (bounds) {
+ this._bounds = bounds;
- this._resetZIndex();
+ if (this._map) {
+ this._reset();
+ }
+ return this;
},
- _updateZIndex: function (offset) {
- this._icon.style.zIndex = this._zIndex + offset;
+ getAttribution: function () {
+ return this.options.attribution;
},
- _animateZoom: function (opt) {
- var pos = this._map._latLngToNewLayerPoint(this._latlng, opt.zoom, opt.center).round();
+ getEvents: function () {
+ var events = {
+ zoom: this._reset,
+ viewreset: this._reset
+ };
- this._setPos(pos);
+ if (this._zoomAnimated) {
+ events.zoomanim = this._animateZoom;
+ }
+
+ return events;
},
- _initInteraction: function () {
+ getBounds: function () {
+ return this._bounds;
+ },
- if (!this.options.clickable) { return; }
+ getElement: function () {
+ return this._image;
+ },
- // TODO refactor into something shared with Map/Path/etc. to DRY it up
+ _initImage: function () {
+ var img = this._image = L.DomUtil.create('img',
+ 'leaflet-image-layer ' + (this._zoomAnimated ? 'leaflet-zoom-animated' : ''));
- var icon = this._icon,
- events = ['dblclick', 'mousedown', 'mouseover', 'mouseout', 'contextmenu'];
+ img.onselectstart = L.Util.falseFn;
+ img.onmousemove = L.Util.falseFn;
- L.DomUtil.addClass(icon, 'leaflet-clickable');
- L.DomEvent.on(icon, 'click', this._onMouseClick, this);
- L.DomEvent.on(icon, 'keypress', this._onKeyPress, this);
+ img.onload = L.bind(this.fire, this, 'load');
- for (var i = 0; i < events.length; i++) {
- L.DomEvent.on(icon, events[i], this._fireMouseEvent, this);
+ if (this.options.crossOrigin) {
+ img.crossOrigin = '';
}
- if (L.Handler.MarkerDrag) {
- this.dragging = new L.Handler.MarkerDrag(this);
+ img.src = this._url;
+ img.alt = this.options.alt;
+ },
- if (this.options.draggable) {
- this.dragging.enable();
- }
- }
+ _animateZoom: function (e) {
+ var scale = this._map.getZoomScale(e.zoom),
+ offset = this._map._latLngToNewLayerPoint(this._bounds.getNorthWest(), e.zoom, e.center);
+
+ L.DomUtil.setTransform(this._image, offset, scale);
},
- _onMouseClick: function (e) {
- var wasDragged = this.dragging && this.dragging.moved();
+ _reset: function () {
+ var image = this._image,
+ bounds = new L.Bounds(
+ this._map.latLngToLayerPoint(this._bounds.getNorthWest()),
+ this._map.latLngToLayerPoint(this._bounds.getSouthEast())),
+ size = bounds.getSize();
+
+ L.DomUtil.setPosition(image, bounds.min);
- if (this.hasEventListeners(e.type) || wasDragged) {
- L.DomEvent.stopPropagation(e);
- }
+ image.style.width = size.x + 'px';
+ image.style.height = size.y + 'px';
+ },
+
+ _updateOpacity: function () {
+ L.DomUtil.setOpacity(this._image, this.options.opacity);
+ }
+});
- if (wasDragged) { return; }
+// @factory L.imageOverlay(imageUrl: String, bounds: LatLngBounds, options?: ImageOverlay options)
+// Instantiates an image overlay object given the URL of the image and the
+// geographical bounds it is tied to.
+L.imageOverlay = function (url, bounds, options) {
+ return new L.ImageOverlay(url, bounds, options);
+};
- if ((!this.dragging || !this.dragging._enabled) && this._map.dragging && this._map.dragging.moved()) { return; }
- this.fire(e.type, {
- originalEvent: e,
- latlng: this._latlng
- });
+
+/*
+ * @class Icon
+ * @aka L.Icon
+ * @inherits Layer
+ *
+ * Represents an icon to provide when creating a marker.
+ *
+ * @example
+ *
+ * ```js
+ * var myIcon = L.icon({
+ * iconUrl: 'my-icon.png',
+ * iconRetinaUrl: 'my-icon@2x.png',
+ * iconSize: [38, 95],
+ * iconAnchor: [22, 94],
+ * popupAnchor: [-3, -76],
+ * shadowUrl: 'my-icon-shadow.png',
+ * shadowRetinaUrl: 'my-icon-shadow@2x.png',
+ * shadowSize: [68, 95],
+ * shadowAnchor: [22, 94]
+ * });
+ *
+ * L.marker([50.505, 30.57], {icon: myIcon}).addTo(map);
+ * ```
+ *
+ * `L.Icon.Default` extends `L.Icon` and is the blue icon Leaflet uses for markers by default.
+ *
+ */
+
+L.Icon = L.Class.extend({
+
+ /* @section
+ * @aka Icon options
+ *
+ * @option iconUrl: String = null
+ * **(required)** The URL to the icon image (absolute or relative to your script path).
+ *
+ * @option iconRetinaUrl: String = null
+ * The URL to a retina sized version of the icon image (absolute or relative to your
+ * script path). Used for Retina screen devices.
+ *
+ * @option iconSize: Point = null
+ * Size of the icon image in pixels.
+ *
+ * @option iconAnchor: Point = null
+ * The coordinates of the "tip" of the icon (relative to its top left corner). The icon
+ * will be aligned so that this point is at the marker's geographical location. Centered
+ * by default if size is specified, also can be set in CSS with negative margins.
+ *
+ * @option popupAnchor: Point = null
+ * The coordinates of the point from which popups will "open", relative to the icon anchor.
+ *
+ * @option shadowUrl: String = null
+ * The URL to the icon shadow image. If not specified, no shadow image will be created.
+ *
+ * @option shadowRetinaUrl: String = null
+ *
+ * @option shadowSize: Point = null
+ * Size of the shadow image in pixels.
+ *
+ * @option shadowAnchor: Point = null
+ * The coordinates of the "tip" of the shadow (relative to its top left corner) (the same
+ * as iconAnchor if not specified).
+ *
+ * @option className: String = ''
+ * A custom class name to assign to both icon and shadow images. Empty by default.
+ */
+
+ initialize: function (options) {
+ L.setOptions(this, options);
},
- _onKeyPress: function (e) {
- if (e.keyCode === 13) {
- this.fire('click', {
- originalEvent: e,
- latlng: this._latlng
- });
- }
+ // @method createIcon(oldIcon?: HTMLElement): HTMLElement
+ // Called internally when the icon has to be shown, returns a `<img>` HTML element
+ // styled according to the options.
+ createIcon: function (oldIcon) {
+ return this._createIcon('icon', oldIcon);
},
- _fireMouseEvent: function (e) {
+ // @method createShadow(oldIcon?: HTMLElement): HTMLElement
+ // As `createIcon`, but for the shadow beneath it.
+ createShadow: function (oldIcon) {
+ return this._createIcon('shadow', oldIcon);
+ },
- this.fire(e.type, {
- originalEvent: e,
- latlng: this._latlng
- });
+ _createIcon: function (name, oldIcon) {
+ var src = this._getIconUrl(name);
- // TODO proper custom event propagation
- // this line will always be called if marker is in a FeatureGroup
- if (e.type === 'contextmenu' && this.hasEventListeners(e.type)) {
- L.DomEvent.preventDefault(e);
- }
- if (e.type !== 'mousedown') {
- L.DomEvent.stopPropagation(e);
- } else {
- L.DomEvent.preventDefault(e);
+ if (!src) {
+ if (name === 'icon') {
+ throw new Error('iconUrl not set in Icon options (see the docs).');
+ }
+ return null;
}
+
+ var img = this._createImg(src, oldIcon && oldIcon.tagName === 'IMG' ? oldIcon : null);
+ this._setIconStyles(img, name);
+
+ return img;
},
- setOpacity: function (opacity) {
- this.options.opacity = opacity;
- if (this._map) {
- this._updateOpacity();
+ _setIconStyles: function (img, name) {
+ var options = this.options;
+ var sizeOption = options[name + 'Size'];
+
+ if (typeof sizeOption === 'number') {
+ sizeOption = [sizeOption, sizeOption];
}
- return this;
- },
+ var size = L.point(sizeOption),
+ anchor = L.point(name === 'shadow' && options.shadowAnchor || options.iconAnchor ||
+ size && size.divideBy(2, true));
- _updateOpacity: function () {
- L.DomUtil.setOpacity(this._icon, this.options.opacity);
- if (this._shadow) {
- L.DomUtil.setOpacity(this._shadow, this.options.opacity);
+ img.className = 'leaflet-marker-' + name + ' ' + (options.className || '');
+
+ if (anchor) {
+ img.style.marginLeft = (-anchor.x) + 'px';
+ img.style.marginTop = (-anchor.y) + 'px';
+ }
+
+ if (size) {
+ img.style.width = size.x + 'px';
+ img.style.height = size.y + 'px';
}
},
- _bringToFront: function () {
- this._updateZIndex(this.options.riseOffset);
+ _createImg: function (src, el) {
+ el = el || document.createElement('img');
+ el.src = src;
+ return el;
},
- _resetZIndex: function () {
- this._updateZIndex(0);
+ _getIconUrl: function (name) {
+ return L.Browser.retina && this.options[name + 'RetinaUrl'] || this.options[name + 'Url'];
}
});
-L.marker = function (latlng, options) {
- return new L.Marker(latlng, options);
+
+// @factory L.icon(options: Icon options)
+// Creates an icon instance with the given options.
+L.icon = function (options) {
+ return new L.Icon(options);
};
+
/*
- * L.DivIcon is a lightweight HTML-based icon class (as opposed to the image-based L.Icon)
- * to use with L.Marker.
+ * @miniclass Icon.Default (Icon)
+ * @aka L.Icon.Default
+ * @section
+ *
+ * A trivial subclass of `Icon`, represents the icon to use in `Marker`s when
+ * no icon is specified. Points to the blue marker image distributed with Leaflet
+ * releases.
+ *
+ * In order to change the default icon, just change the properties of `L.Icon.Default.prototype.options`
+ * (which is a set of `Icon options`).
*/
-L.DivIcon = L.Icon.extend({
+L.Icon.Default = L.Icon.extend({
+
options: {
- iconSize: [12, 12], // also can be set through CSS
- /*
- iconAnchor: (Point)
- popupAnchor: (Point)
- html: (String)
- bgPos: (Point)
- */
- className: 'leaflet-div-icon',
- html: false
+ iconUrl: 'marker-icon.png',
+ iconRetinaUrl: 'marker-icon-2x.png',
+ shadowUrl: 'marker-shadow.png',
+ iconSize: [25, 41],
+ iconAnchor: [12, 41],
+ popupAnchor: [1, -34],
+ tooltipAnchor: [16, -28],
+ shadowSize: [41, 41]
},
- createIcon: function (oldIcon) {
- var div = (oldIcon && oldIcon.tagName === 'DIV') ? oldIcon : document.createElement('div'),
- options = this.options;
-
- if (options.html !== false) {
- div.innerHTML = options.html;
- } else {
- div.innerHTML = '';
- }
-
- if (options.bgPos) {
- div.style.backgroundPosition =
- (-options.bgPos.x) + 'px ' + (-options.bgPos.y) + 'px';
+ _getIconUrl: function (name) {
+ if (!L.Icon.Default.imagePath) { // Deprecated, backwards-compatibility only
+ L.Icon.Default.imagePath = this._detectIconPath();
}
- this._setIconStyles(div, 'icon');
- return div;
+ // @option imagePath: String
+ // `L.Icon.Default` will try to auto-detect the absolute location of the
+ // blue icon images. If you are placing these images in a non-standard
+ // way, set this option to point to the right absolute path.
+ return (this.options.imagePath || L.Icon.Default.imagePath) + L.Icon.prototype._getIconUrl.call(this, name);
},
- createShadow: function () {
- return null;
+ _detectIconPath: function () {
+ var el = L.DomUtil.create('div', 'leaflet-default-icon-path', document.body);
+ var path = L.DomUtil.getStyle(el, 'background-image') ||
+ L.DomUtil.getStyle(el, 'backgroundImage'); // IE8
+
+ document.body.removeChild(el);
+
+ return path.indexOf('url') === 0 ?
+ path.replace(/^url\([\"\']?/, '').replace(/marker-icon\.png[\"\']?\)$/, '') : '';
}
});
-L.divIcon = function (options) {
- return new L.DivIcon(options);
-};
/*
- * L.Popup is used for displaying popups on the map.
+ * @class Marker
+ * @inherits Interactive layer
+ * @aka L.Marker
+ * L.Marker is used to display clickable/draggable icons on the map. Extends `Layer`.
+ *
+ * @example
+ *
+ * ```js
+ * L.marker([50.5, 30.5]).addTo(map);
+ * ```
*/
-L.Map.mergeOptions({
- closePopupOnClick: true
-});
-
-L.Popup = L.Class.extend({
- includes: L.Mixin.Events,
+L.Marker = L.Layer.extend({
+ // @section
+ // @aka Marker options
options: {
- minWidth: 50,
- maxWidth: 300,
- // maxHeight: null,
- autoPan: true,
- closeButton: true,
- offset: [0, 7],
- autoPanPadding: [5, 5],
- // autoPanPaddingTopLeft: null,
- // autoPanPaddingBottomRight: null,
- keepInView: false,
- className: '',
- zoomAnimation: true
- },
-
- initialize: function (options, source) {
- L.setOptions(this, options);
+ // @option icon: Icon = *
+ // Icon class to use for rendering the marker. See [Icon documentation](#L.Icon) for details on how to customize the marker icon. If not specified, a new `L.Icon.Default` is used.
+ icon: new L.Icon.Default(),
- this._source = source;
- this._animated = L.Browser.any3d && this.options.zoomAnimation;
- this._isOpen = false;
- },
+ // Option inherited from "Interactive layer" abstract class
+ interactive: true,
- onAdd: function (map) {
- this._map = map;
+ // @option draggable: Boolean = false
+ // Whether the marker is draggable with mouse/touch or not.
+ draggable: false,
- if (!this._container) {
- this._initLayout();
- }
+ // @option keyboard: Boolean = true
+ // Whether the marker can be tabbed to with a keyboard and clicked by pressing enter.
+ keyboard: true,
- var animFade = map.options.fadeAnimation;
+ // @option title: String = ''
+ // Text for the browser tooltip that appear on marker hover (no tooltip by default).
+ title: '',
- if (animFade) {
- L.DomUtil.setOpacity(this._container, 0);
- }
- map._panes.popupPane.appendChild(this._container);
+ // @option alt: String = ''
+ // Text for the `alt` attribute of the icon image (useful for accessibility).
+ alt: '',
- map.on(this._getEvents(), this);
+ // @option zIndexOffset: Number = 0
+ // By default, marker images zIndex is set automatically based on its latitude. Use this option if you want to put the marker on top of all others (or below), specifying a high value like `1000` (or high negative value, respectively).
+ zIndexOffset: 0,
- this.update();
+ // @option opacity: Number = 1.0
+ // The opacity of the marker.
+ opacity: 1,
- if (animFade) {
- L.DomUtil.setOpacity(this._container, 1);
- }
+ // @option riseOnHover: Boolean = false
+ // If `true`, the marker will get on top of others when you hover the mouse over it.
+ riseOnHover: false,
- this.fire('open');
+ // @option riseOffset: Number = 250
+ // The z-index offset used for the `riseOnHover` feature.
+ riseOffset: 250,
- map.fire('popupopen', {popup: this});
+ // @option pane: String = 'markerPane'
+ // `Map pane` where the markers icon will be added.
+ pane: 'markerPane',
- if (this._source) {
- this._source.fire('popupopen', {popup: this});
- }
+ // FIXME: shadowPane is no longer a valid option
+ nonBubblingEvents: ['click', 'dblclick', 'mouseover', 'mouseout', 'contextmenu']
},
- addTo: function (map) {
- map.addLayer(this);
- return this;
- },
+ /* @section
+ *
+ * In addition to [shared layer methods](#Layer) like `addTo()` and `remove()` and [popup methods](#Popup) like bindPopup() you can also use the following methods:
+ */
- openOn: function (map) {
- map.openPopup(this);
- return this;
+ initialize: function (latlng, options) {
+ L.setOptions(this, options);
+ this._latlng = L.latLng(latlng);
},
- onRemove: function (map) {
- map._panes.popupPane.removeChild(this._container);
+ onAdd: function (map) {
+ this._zoomAnimated = this._zoomAnimated && map.options.markerZoomAnimation;
- L.Util.falseFn(this._container.offsetWidth); // force reflow
+ if (this._zoomAnimated) {
+ map.on('zoomanim', this._animateZoom, this);
+ }
- map.off(this._getEvents(), this);
+ this._initIcon();
+ this.update();
+ },
- if (map.options.fadeAnimation) {
- L.DomUtil.setOpacity(this._container, 0);
+ onRemove: function (map) {
+ if (this.dragging && this.dragging.enabled()) {
+ this.options.draggable = true;
+ this.dragging.removeHooks();
}
- this._map = null;
-
- this.fire('close');
+ if (this._zoomAnimated) {
+ map.off('zoomanim', this._animateZoom, this);
+ }
- map.fire('popupclose', {popup: this});
+ this._removeIcon();
+ this._removeShadow();
+ },
- if (this._source) {
- this._source.fire('popupclose', {popup: this});
- }
+ getEvents: function () {
+ return {
+ zoom: this.update,
+ viewreset: this.update
+ };
},
+ // @method getLatLng: LatLng
+ // Returns the current geographical position of the marker.
getLatLng: function () {
return this._latlng;
},
+ // @method setLatLng(latlng: LatLng): this
+ // Changes the marker position to the given point.
setLatLng: function (latlng) {
+ var oldLatLng = this._latlng;
this._latlng = L.latLng(latlng);
- if (this._map) {
- this._updatePosition();
- this._adjustPan();
- }
- return this;
- },
+ this.update();
- getContent: function () {
- return this._content;
+ // @event move: Event
+ // Fired when the marker is moved via [`setLatLng`](#marker-setlatlng) or by [dragging](#marker-dragging). Old and new coordinates are included in event arguments as `oldLatLng`, `latlng`.
+ return this.fire('move', {oldLatLng: oldLatLng, latlng: this._latlng});
},
- setContent: function (content) {
- this._content = content;
- this.update();
- return this;
+ // @method setZIndexOffset(offset: Number): this
+ // Changes the [zIndex offset](#marker-zindexoffset) of the marker.
+ setZIndexOffset: function (offset) {
+ this.options.zIndexOffset = offset;
+ return this.update();
},
- update: function () {
- if (!this._map) { return; }
-
- this._container.style.visibility = 'hidden';
-
- this._updateContent();
- this._updateLayout();
- this._updatePosition();
-
- this._container.style.visibility = '';
-
- this._adjustPan();
- },
+ // @method setIcon(icon: Icon): this
+ // Changes the marker icon.
+ setIcon: function (icon) {
- _getEvents: function () {
- var events = {
- viewreset: this._updatePosition
- };
+ this.options.icon = icon;
- if (this._animated) {
- events.zoomanim = this._zoomAnimation;
- }
- if ('closeOnClick' in this.options ? this.options.closeOnClick : this._map.options.closePopupOnClick) {
- events.preclick = this._close;
+ if (this._map) {
+ this._initIcon();
+ this.update();
}
- if (this.options.keepInView) {
- events.moveend = this._adjustPan;
+
+ if (this._popup) {
+ this.bindPopup(this._popup, this._popup.options);
}
- return events;
+ return this;
},
- _close: function () {
- if (this._map) {
- this._map.closePopup(this);
- }
+ getElement: function () {
+ return this._icon;
},
- _initLayout: function () {
- var prefix = 'leaflet-popup',
- containerClass = prefix + ' ' + this.options.className + ' leaflet-zoom-' +
- (this._animated ? 'animated' : 'hide'),
- container = this._container = L.DomUtil.create('div', containerClass),
- closeButton;
-
- if (this.options.closeButton) {
- closeButton = this._closeButton =
- L.DomUtil.create('a', prefix + '-close-button', container);
- closeButton.href = '#close';
- closeButton.innerHTML = '×';
- L.DomEvent.disableClickPropagation(closeButton);
+ update: function () {
- L.DomEvent.on(closeButton, 'click', this._onCloseButtonClick, this);
+ if (this._icon) {
+ var pos = this._map.latLngToLayerPoint(this._latlng).round();
+ this._setPos(pos);
}
- var wrapper = this._wrapper =
- L.DomUtil.create('div', prefix + '-content-wrapper', container);
- L.DomEvent.disableClickPropagation(wrapper);
-
- this._contentNode = L.DomUtil.create('div', prefix + '-content', wrapper);
+ return this;
+ },
- L.DomEvent.disableScrollPropagation(this._contentNode);
- L.DomEvent.on(wrapper, 'contextmenu', L.DomEvent.stopPropagation);
+ _initIcon: function () {
+ var options = this.options,
+ classToAdd = 'leaflet-zoom-' + (this._zoomAnimated ? 'animated' : 'hide');
- this._tipContainer = L.DomUtil.create('div', prefix + '-tip-container', container);
- this._tip = L.DomUtil.create('div', prefix + '-tip', this._tipContainer);
- },
+ var icon = options.icon.createIcon(this._icon),
+ addIcon = false;
+
+ // if we're not reusing the icon, remove the old one and init new one
+ if (icon !== this._icon) {
+ if (this._icon) {
+ this._removeIcon();
+ }
+ addIcon = true;
+
+ if (options.title) {
+ icon.title = options.title;
+ }
+ if (options.alt) {
+ icon.alt = options.alt;
+ }
+ }
+
+ L.DomUtil.addClass(icon, classToAdd);
+
+ if (options.keyboard) {
+ icon.tabIndex = '0';
+ }
+
+ this._icon = icon;
+
+ if (options.riseOnHover) {
+ this.on({
+ mouseover: this._bringToFront,
+ mouseout: this._resetZIndex
+ });
+ }
+
+ var newShadow = options.icon.createShadow(this._shadow),
+ addShadow = false;
+
+ if (newShadow !== this._shadow) {
+ this._removeShadow();
+ addShadow = true;
+ }
+
+ if (newShadow) {
+ L.DomUtil.addClass(newShadow, classToAdd);
+ }
+ this._shadow = newShadow;
+
+
+ if (options.opacity < 1) {
+ this._updateOpacity();
+ }
+
+
+ if (addIcon) {
+ this.getPane().appendChild(this._icon);
+ }
+ this._initInteraction();
+ if (newShadow && addShadow) {
+ this.getPane('shadowPane').appendChild(this._shadow);
+ }
+ },
+
+ _removeIcon: function () {
+ if (this.options.riseOnHover) {
+ this.off({
+ mouseover: this._bringToFront,
+ mouseout: this._resetZIndex
+ });
+ }
+
+ L.DomUtil.remove(this._icon);
+ this.removeInteractiveTarget(this._icon);
+
+ this._icon = null;
+ },
+
+ _removeShadow: function () {
+ if (this._shadow) {
+ L.DomUtil.remove(this._shadow);
+ }
+ this._shadow = null;
+ },
+
+ _setPos: function (pos) {
+ L.DomUtil.setPosition(this._icon, pos);
+
+ if (this._shadow) {
+ L.DomUtil.setPosition(this._shadow, pos);
+ }
+
+ this._zIndex = pos.y + this.options.zIndexOffset;
+
+ this._resetZIndex();
+ },
+
+ _updateZIndex: function (offset) {
+ this._icon.style.zIndex = this._zIndex + offset;
+ },
+
+ _animateZoom: function (opt) {
+ var pos = this._map._latLngToNewLayerPoint(this._latlng, opt.zoom, opt.center).round();
+
+ this._setPos(pos);
+ },
+
+ _initInteraction: function () {
+
+ if (!this.options.interactive) { return; }
+
+ L.DomUtil.addClass(this._icon, 'leaflet-interactive');
+
+ this.addInteractiveTarget(this._icon);
+
+ if (L.Handler.MarkerDrag) {
+ var draggable = this.options.draggable;
+ if (this.dragging) {
+ draggable = this.dragging.enabled();
+ this.dragging.disable();
+ }
+
+ this.dragging = new L.Handler.MarkerDrag(this);
+
+ if (draggable) {
+ this.dragging.enable();
+ }
+ }
+ },
+
+ // @method setOpacity(opacity: Number): this
+ // Changes the opacity of the marker.
+ setOpacity: function (opacity) {
+ this.options.opacity = opacity;
+ if (this._map) {
+ this._updateOpacity();
+ }
+
+ return this;
+ },
+
+ _updateOpacity: function () {
+ var opacity = this.options.opacity;
+
+ L.DomUtil.setOpacity(this._icon, opacity);
+
+ if (this._shadow) {
+ L.DomUtil.setOpacity(this._shadow, opacity);
+ }
+ },
+
+ _bringToFront: function () {
+ this._updateZIndex(this.options.riseOffset);
+ },
+
+ _resetZIndex: function () {
+ this._updateZIndex(0);
+ }
+});
+
+
+// factory L.marker(latlng: LatLng, options? : Marker options)
+
+// @factory L.marker(latlng: LatLng, options? : Marker options)
+// Instantiates a Marker object given a geographical point and optionally an options object.
+L.marker = function (latlng, options) {
+ return new L.Marker(latlng, options);
+};
+
+
+
+/*
+ * @class DivIcon
+ * @aka L.DivIcon
+ * @inherits Icon
+ *
+ * Represents a lightweight icon for markers that uses a simple `<div>`
+ * element instead of an image. Inherits from `Icon` but ignores the `iconUrl` and shadow options.
+ *
+ * @example
+ * ```js
+ * var myIcon = L.divIcon({className: 'my-div-icon'});
+ * // you can set .my-div-icon styles in CSS
+ *
+ * L.marker([50.505, 30.57], {icon: myIcon}).addTo(map);
+ * ```
+ *
+ * By default, it has a 'leaflet-div-icon' CSS class and is styled as a little white square with a shadow.
+ */
+
+L.DivIcon = L.Icon.extend({
+ options: {
+ // @section
+ // @aka DivIcon options
+ iconSize: [12, 12], // also can be set through CSS
+
+ // iconAnchor: (Point),
+ // popupAnchor: (Point),
+
+ // @option html: String = ''
+ // Custom HTML code to put inside the div element, empty by default.
+ html: false,
+
+ // @option bgPos: Point = [0, 0]
+ // Optional relative position of the background, in pixels
+ bgPos: null,
+
+ className: 'leaflet-div-icon'
+ },
+
+ createIcon: function (oldIcon) {
+ var div = (oldIcon && oldIcon.tagName === 'DIV') ? oldIcon : document.createElement('div'),
+ options = this.options;
+
+ div.innerHTML = options.html !== false ? options.html : '';
+
+ if (options.bgPos) {
+ var bgPos = L.point(options.bgPos);
+ div.style.backgroundPosition = (-bgPos.x) + 'px ' + (-bgPos.y) + 'px';
+ }
+ this._setIconStyles(div, 'icon');
+
+ return div;
+ },
+
+ createShadow: function () {
+ return null;
+ }
+});
+
+// @factory L.divIcon(options: DivIcon options)
+// Creates a `DivIcon` instance with the given options.
+L.divIcon = function (options) {
+ return new L.DivIcon(options);
+};
+
+
+
+/*
+ * @class DivOverlay
+ * @inherits Layer
+ * @aka L.DivOverlay
+ * Base model for L.Popup and L.Tooltip. Inherit from it for custom popup like plugins.
+ */
+
+// @namespace DivOverlay
+L.DivOverlay = L.Layer.extend({
+
+ // @section
+ // @aka DivOverlay options
+ options: {
+ // @option offset: Point = Point(0, 7)
+ // The offset of the popup position. Useful to control the anchor
+ // of the popup when opening it on some overlays.
+ offset: [0, 7],
+
+ // @option className: String = ''
+ // A custom CSS class name to assign to the popup.
+ className: '',
+
+ // @option pane: String = 'popupPane'
+ // `Map pane` where the popup will be added.
+ pane: 'popupPane'
+ },
+
+ initialize: function (options, source) {
+ L.setOptions(this, options);
+
+ this._source = source;
+ },
+
+ onAdd: function (map) {
+ this._zoomAnimated = map._zoomAnimated;
+
+ if (!this._container) {
+ this._initLayout();
+ }
+
+ if (map._fadeAnimated) {
+ L.DomUtil.setOpacity(this._container, 0);
+ }
+
+ clearTimeout(this._removeTimeout);
+ this.getPane().appendChild(this._container);
+ this.update();
+
+ if (map._fadeAnimated) {
+ L.DomUtil.setOpacity(this._container, 1);
+ }
+
+ this.bringToFront();
+ },
+
+ onRemove: function (map) {
+ if (map._fadeAnimated) {
+ L.DomUtil.setOpacity(this._container, 0);
+ this._removeTimeout = setTimeout(L.bind(L.DomUtil.remove, L.DomUtil, this._container), 200);
+ } else {
+ L.DomUtil.remove(this._container);
+ }
+ },
+
+ // @namespace Popup
+ // @method getLatLng: LatLng
+ // Returns the geographical point of popup.
+ getLatLng: function () {
+ return this._latlng;
+ },
+
+ // @method setLatLng(latlng: LatLng): this
+ // Sets the geographical point where the popup will open.
+ setLatLng: function (latlng) {
+ this._latlng = L.latLng(latlng);
+ if (this._map) {
+ this._updatePosition();
+ this._adjustPan();
+ }
+ return this;
+ },
+
+ // @method getContent: String|HTMLElement
+ // Returns the content of the popup.
+ getContent: function () {
+ return this._content;
+ },
+
+ // @method setContent(htmlContent: String|HTMLElement|Function): this
+ // Sets the HTML content of the popup. If a function is passed the source layer will be passed to the function. The function should return a `String` or `HTMLElement` to be used in the popup.
+ setContent: function (content) {
+ this._content = content;
+ this.update();
+ return this;
+ },
+
+ // @method getElement: String|HTMLElement
+ // Alias for [getContent()](#popup-getcontent)
+ getElement: function () {
+ return this._container;
+ },
+
+ // @method update: null
+ // Updates the popup content, layout and position. Useful for updating the popup after something inside changed, e.g. image loaded.
+ update: function () {
+ if (!this._map) { return; }
+
+ this._container.style.visibility = 'hidden';
+
+ this._updateContent();
+ this._updateLayout();
+ this._updatePosition();
+
+ this._container.style.visibility = '';
+
+ this._adjustPan();
+ },
+
+ getEvents: function () {
+ var events = {
+ zoom: this._updatePosition,
+ viewreset: this._updatePosition
+ };
+
+ if (this._zoomAnimated) {
+ events.zoomanim = this._animateZoom;
+ }
+ return events;
+ },
+
+ // @method isOpen: Boolean
+ // Returns `true` when the popup is visible on the map.
+ isOpen: function () {
+ return !!this._map && this._map.hasLayer(this);
+ },
+
+ // @method bringToFront: this
+ // Brings this popup in front of other popups (in the same map pane).
+ bringToFront: function () {
+ if (this._map) {
+ L.DomUtil.toFront(this._container);
+ }
+ return this;
+ },
+
+ // @method bringToBack: this
+ // Brings this popup to the back of other popups (in the same map pane).
+ bringToBack: function () {
+ if (this._map) {
+ L.DomUtil.toBack(this._container);
+ }
+ return this;
+ },
_updateContent: function () {
if (!this._content) { return; }
- if (typeof this._content === 'string') {
- this._contentNode.innerHTML = this._content;
- } else {
- while (this._contentNode.hasChildNodes()) {
- this._contentNode.removeChild(this._contentNode.firstChild);
- }
- this._contentNode.appendChild(this._content);
+ var node = this._contentNode;
+ var content = (typeof this._content === 'function') ? this._content(this._source || this) : this._content;
+
+ if (typeof content === 'string') {
+ node.innerHTML = content;
+ } else {
+ while (node.hasChildNodes()) {
+ node.removeChild(node.firstChild);
+ }
+ node.appendChild(content);
+ }
+ this.fire('contentupdate');
+ },
+
+ _updatePosition: function () {
+ if (!this._map) { return; }
+
+ var pos = this._map.latLngToLayerPoint(this._latlng),
+ offset = L.point(this.options.offset),
+ anchor = this._getAnchor();
+
+ if (this._zoomAnimated) {
+ L.DomUtil.setPosition(this._container, pos.add(anchor));
+ } else {
+ offset = offset.add(pos).add(anchor);
+ }
+
+ var bottom = this._containerBottom = -offset.y,
+ left = this._containerLeft = -Math.round(this._containerWidth / 2) + offset.x;
+
+ // bottom position the popup in case the height of the popup changes (images loading etc)
+ this._container.style.bottom = bottom + 'px';
+ this._container.style.left = left + 'px';
+ },
+
+ _getAnchor: function () {
+ return [0, 0];
+ }
+
+});
+
+
+
+/*
+ * @class Popup
+ * @inherits DivOverlay
+ * @aka L.Popup
+ * Used to open popups in certain places of the map. Use [Map.openPopup](#map-openpopup) to
+ * open popups while making sure that only one popup is open at one time
+ * (recommended for usability), or use [Map.addLayer](#map-addlayer) to open as many as you want.
+ *
+ * @example
+ *
+ * If you want to just bind a popup to marker click and then open it, it's really easy:
+ *
+ * ```js
+ * marker.bindPopup(popupContent).openPopup();
+ * ```
+ * Path overlays like polylines also have a `bindPopup` method.
+ * Here's a more complicated way to open a popup on a map:
+ *
+ * ```js
+ * var popup = L.popup()
+ * .setLatLng(latlng)
+ * .setContent('<p>Hello world!<br />This is a nice popup.</p>')
+ * .openOn(map);
+ * ```
+ */
+
+
+// @namespace Popup
+L.Popup = L.DivOverlay.extend({
+
+ // @section
+ // @aka Popup options
+ options: {
+ // @option maxWidth: Number = 300
+ // Max width of the popup, in pixels.
+ maxWidth: 300,
+
+ // @option minWidth: Number = 50
+ // Min width of the popup, in pixels.
+ minWidth: 50,
+
+ // @option maxHeight: Number = null
+ // If set, creates a scrollable container of the given height
+ // inside a popup if its content exceeds it.
+ maxHeight: null,
+
+ // @option autoPan: Boolean = true
+ // Set it to `false` if you don't want the map to do panning animation
+ // to fit the opened popup.
+ autoPan: true,
+
+ // @option autoPanPaddingTopLeft: Point = null
+ // The margin between the popup and the top left corner of the map
+ // view after autopanning was performed.
+ autoPanPaddingTopLeft: null,
+
+ // @option autoPanPaddingBottomRight: Point = null
+ // The margin between the popup and the bottom right corner of the map
+ // view after autopanning was performed.
+ autoPanPaddingBottomRight: null,
+
+ // @option autoPanPadding: Point = Point(5, 5)
+ // Equivalent of setting both top left and bottom right autopan padding to the same value.
+ autoPanPadding: [5, 5],
+
+ // @option keepInView: Boolean = false
+ // Set it to `true` if you want to prevent users from panning the popup
+ // off of the screen while it is open.
+ keepInView: false,
+
+ // @option closeButton: Boolean = true
+ // Controls the presence of a close button in the popup.
+ closeButton: true,
+
+ // @option autoClose: Boolean = true
+ // Set it to `false` if you want to override the default behavior of
+ // the popup closing when user clicks the map (set globally by
+ // the Map's [closePopupOnClick](#map-closepopuponclick) option).
+ autoClose: true,
+
+ // @option className: String = ''
+ // A custom CSS class name to assign to the popup.
+ className: ''
+ },
+
+ // @namespace Popup
+ // @method openOn(map: Map): this
+ // Adds the popup to the map and closes the previous one. The same as `map.openPopup(popup)`.
+ openOn: function (map) {
+ map.openPopup(this);
+ return this;
+ },
+
+ onAdd: function (map) {
+ L.DivOverlay.prototype.onAdd.call(this, map);
+
+ // @namespace Map
+ // @section Popup events
+ // @event popupopen: PopupEvent
+ // Fired when a popup is opened in the map
+ map.fire('popupopen', {popup: this});
+
+ if (this._source) {
+ // @namespace Layer
+ // @section Popup events
+ // @event popupopen: PopupEvent
+ // Fired when a popup bound to this layer is opened
+ this._source.fire('popupopen', {popup: this}, true);
+ // For non-path layers, we toggle the popup when clicking
+ // again the layer, so prevent the map to reopen it.
+ if (!(this._source instanceof L.Path)) {
+ this._source.on('preclick', L.DomEvent.stopPropagation);
+ }
+ }
+ },
+
+ onRemove: function (map) {
+ L.DivOverlay.prototype.onRemove.call(this, map);
+
+ // @namespace Map
+ // @section Popup events
+ // @event popupclose: PopupEvent
+ // Fired when a popup in the map is closed
+ map.fire('popupclose', {popup: this});
+
+ if (this._source) {
+ // @namespace Layer
+ // @section Popup events
+ // @event popupclose: PopupEvent
+ // Fired when a popup bound to this layer is closed
+ this._source.fire('popupclose', {popup: this}, true);
+ if (!(this._source instanceof L.Path)) {
+ this._source.off('preclick', L.DomEvent.stopPropagation);
+ }
+ }
+ },
+
+ getEvents: function () {
+ var events = L.DivOverlay.prototype.getEvents.call(this);
+
+ if ('closeOnClick' in this.options ? this.options.closeOnClick : this._map.options.closePopupOnClick) {
+ events.preclick = this._close;
+ }
+
+ if (this.options.keepInView) {
+ events.moveend = this._adjustPan;
+ }
+
+ return events;
+ },
+
+ _close: function () {
+ if (this._map) {
+ this._map.closePopup(this);
+ }
+ },
+
+ _initLayout: function () {
+ var prefix = 'leaflet-popup',
+ container = this._container = L.DomUtil.create('div',
+ prefix + ' ' + (this.options.className || '') +
+ ' leaflet-zoom-animated');
+
+ if (this.options.closeButton) {
+ var closeButton = this._closeButton = L.DomUtil.create('a', prefix + '-close-button', container);
+ closeButton.href = '#close';
+ closeButton.innerHTML = '×';
+
+ L.DomEvent.on(closeButton, 'click', this._onCloseButtonClick, this);
}
- this.fire('contentupdate');
+
+ var wrapper = this._wrapper = L.DomUtil.create('div', prefix + '-content-wrapper', container);
+ this._contentNode = L.DomUtil.create('div', prefix + '-content', wrapper);
+
+ L.DomEvent
+ .disableClickPropagation(wrapper)
+ .disableScrollPropagation(this._contentNode)
+ .on(wrapper, 'contextmenu', L.DomEvent.stopPropagation);
+
+ this._tipContainer = L.DomUtil.create('div', prefix + '-tip-container', container);
+ this._tip = L.DomUtil.create('div', prefix + '-tip', this._tipContainer);
},
_updateLayout: function () {
var container = this._contentNode,
style = container.style;
- style.width = '';
- style.whiteSpace = 'nowrap';
+ style.width = '';
+ style.whiteSpace = 'nowrap';
+
+ var width = container.offsetWidth;
+ width = Math.min(width, this.options.maxWidth);
+ width = Math.max(width, this.options.minWidth);
+
+ style.width = (width + 1) + 'px';
+ style.whiteSpace = '';
+
+ style.height = '';
+
+ var height = container.offsetHeight,
+ maxHeight = this.options.maxHeight,
+ scrolledClass = 'leaflet-popup-scrolled';
+
+ if (maxHeight && height > maxHeight) {
+ style.height = maxHeight + 'px';
+ L.DomUtil.addClass(container, scrolledClass);
+ } else {
+ L.DomUtil.removeClass(container, scrolledClass);
+ }
+
+ this._containerWidth = this._container.offsetWidth;
+ },
+
+ _animateZoom: function (e) {
+ var pos = this._map._latLngToNewLayerPoint(this._latlng, e.zoom, e.center),
+ anchor = this._getAnchor();
+ L.DomUtil.setPosition(this._container, pos.add(anchor));
+ },
+
+ _adjustPan: function () {
+ if (!this.options.autoPan || (this._map._panAnim && this._map._panAnim._inProgress)) { return; }
+
+ var map = this._map,
+ marginBottom = parseInt(L.DomUtil.getStyle(this._container, 'marginBottom'), 10) || 0,
+ containerHeight = this._container.offsetHeight + marginBottom,
+ containerWidth = this._containerWidth,
+ layerPos = new L.Point(this._containerLeft, -containerHeight - this._containerBottom);
+
+ layerPos._add(L.DomUtil.getPosition(this._container));
+
+ var containerPos = map.layerPointToContainerPoint(layerPos),
+ padding = L.point(this.options.autoPanPadding),
+ paddingTL = L.point(this.options.autoPanPaddingTopLeft || padding),
+ paddingBR = L.point(this.options.autoPanPaddingBottomRight || padding),
+ size = map.getSize(),
+ dx = 0,
+ dy = 0;
+
+ if (containerPos.x + containerWidth + paddingBR.x > size.x) { // right
+ dx = containerPos.x + containerWidth - size.x + paddingBR.x;
+ }
+ if (containerPos.x - dx - paddingTL.x < 0) { // left
+ dx = containerPos.x - paddingTL.x;
+ }
+ if (containerPos.y + containerHeight + paddingBR.y > size.y) { // bottom
+ dy = containerPos.y + containerHeight - size.y + paddingBR.y;
+ }
+ if (containerPos.y - dy - paddingTL.y < 0) { // top
+ dy = containerPos.y - paddingTL.y;
+ }
+
+ // @namespace Map
+ // @section Popup events
+ // @event autopanstart: Event
+ // Fired when the map starts autopanning when opening a popup.
+ if (dx || dy) {
+ map
+ .fire('autopanstart')
+ .panBy([dx, dy]);
+ }
+ },
+
+ _onCloseButtonClick: function (e) {
+ this._close();
+ L.DomEvent.stop(e);
+ },
+
+ _getAnchor: function () {
+ // Where should we anchor the popup on the source layer?
+ return L.point(this._source && this._source._getPopupAnchor ? this._source._getPopupAnchor() : [0, 0]);
+ }
+
+});
+
+// @namespace Popup
+// @factory L.popup(options?: Popup options, source?: Layer)
+// Instantiates a `Popup` object given an optional `options` object that describes its appearance and location and an optional `source` object that is used to tag the popup with a reference to the Layer to which it refers.
+L.popup = function (options, source) {
+ return new L.Popup(options, source);
+};
+
+
+/* @namespace Map
+ * @section Interaction Options
+ * @option closePopupOnClick: Boolean = true
+ * Set it to `false` if you don't want popups to close when user clicks the map.
+ */
+L.Map.mergeOptions({
+ closePopupOnClick: true
+});
+
+
+// @namespace Map
+// @section Methods for Layers and Controls
+L.Map.include({
+ // @method openPopup(popup: Popup): this
+ // Opens the specified popup while closing the previously opened (to make sure only one is opened at one time for usability).
+ // @alternative
+ // @method openPopup(content: String|HTMLElement, latlng: LatLng, options?: Popup options): this
+ // Creates a popup with the specified content and options and opens it in the given point on a map.
+ openPopup: function (popup, latlng, options) {
+ if (!(popup instanceof L.Popup)) {
+ popup = new L.Popup(options).setContent(popup);
+ }
+
+ if (latlng) {
+ popup.setLatLng(latlng);
+ }
+
+ if (this.hasLayer(popup)) {
+ return this;
+ }
+
+ if (this._popup && this._popup.options.autoClose) {
+ this.closePopup();
+ }
+
+ this._popup = popup;
+ return this.addLayer(popup);
+ },
+
+ // @method closePopup(popup?: Popup): this
+ // Closes the popup previously opened with [openPopup](#map-openpopup) (or the given one).
+ closePopup: function (popup) {
+ if (!popup || popup === this._popup) {
+ popup = this._popup;
+ this._popup = null;
+ }
+ if (popup) {
+ this.removeLayer(popup);
+ }
+ return this;
+ }
+});
+
+
+
+/*
+ * @namespace Layer
+ * @section Popup methods example
+ *
+ * All layers share a set of methods convenient for binding popups to it.
+ *
+ * ```js
+ * var layer = L.Polygon(latlngs).bindPopup('Hi There!').addTo(map);
+ * layer.openPopup();
+ * layer.closePopup();
+ * ```
+ *
+ * Popups will also be automatically opened when the layer is clicked on and closed when the layer is removed from the map or another popup is opened.
+ */
+
+// @section Popup methods
+L.Layer.include({
+
+ // @method bindPopup(content: String|HTMLElement|Function|Popup, options?: Popup options): this
+ // Binds a popup to the layer with the passed `content` and sets up the
+ // neccessary event listeners. If a `Function` is passed it will receive
+ // the layer as the first argument and should return a `String` or `HTMLElement`.
+ bindPopup: function (content, options) {
+
+ if (content instanceof L.Popup) {
+ L.setOptions(content, options);
+ this._popup = content;
+ content._source = this;
+ } else {
+ if (!this._popup || options) {
+ this._popup = new L.Popup(options, this);
+ }
+ this._popup.setContent(content);
+ }
+
+ if (!this._popupHandlersAdded) {
+ this.on({
+ click: this._openPopup,
+ remove: this.closePopup,
+ move: this._movePopup
+ });
+ this._popupHandlersAdded = true;
+ }
+
+ return this;
+ },
+
+ // @method unbindPopup(): this
+ // Removes the popup previously bound with `bindPopup`.
+ unbindPopup: function () {
+ if (this._popup) {
+ this.off({
+ click: this._openPopup,
+ remove: this.closePopup,
+ move: this._movePopup
+ });
+ this._popupHandlersAdded = false;
+ this._popup = null;
+ }
+ return this;
+ },
+
+ // @method openPopup(latlng?: LatLng): this
+ // Opens the bound popup at the specificed `latlng` or at the default popup anchor if no `latlng` is passed.
+ openPopup: function (layer, latlng) {
+ if (!(layer instanceof L.Layer)) {
+ latlng = layer;
+ layer = this;
+ }
+
+ if (layer instanceof L.FeatureGroup) {
+ for (var id in this._layers) {
+ layer = this._layers[id];
+ break;
+ }
+ }
+
+ if (!latlng) {
+ latlng = layer.getCenter ? layer.getCenter() : layer.getLatLng();
+ }
+
+ if (this._popup && this._map) {
+ // set popup source to this layer
+ this._popup._source = layer;
+
+ // update the popup (content, layout, ect...)
+ this._popup.update();
+
+ // open the popup on the map
+ this._map.openPopup(this._popup, latlng);
+ }
+
+ return this;
+ },
+
+ // @method closePopup(): this
+ // Closes the popup bound to this layer if it is open.
+ closePopup: function () {
+ if (this._popup) {
+ this._popup._close();
+ }
+ return this;
+ },
+
+ // @method togglePopup(): this
+ // Opens or closes the popup bound to this layer depending on its current state.
+ togglePopup: function (target) {
+ if (this._popup) {
+ if (this._popup._map) {
+ this.closePopup();
+ } else {
+ this.openPopup(target);
+ }
+ }
+ return this;
+ },
+
+ // @method isPopupOpen(): boolean
+ // Returns `true` if the popup bound to this layer is currently open.
+ isPopupOpen: function () {
+ return this._popup.isOpen();
+ },
+
+ // @method setPopupContent(content: String|HTMLElement|Popup): this
+ // Sets the content of the popup bound to this layer.
+ setPopupContent: function (content) {
+ if (this._popup) {
+ this._popup.setContent(content);
+ }
+ return this;
+ },
+
+ // @method getPopup(): Popup
+ // Returns the popup bound to this layer.
+ getPopup: function () {
+ return this._popup;
+ },
+
+ _openPopup: function (e) {
+ var layer = e.layer || e.target;
+
+ if (!this._popup) {
+ return;
+ }
+
+ if (!this._map) {
+ return;
+ }
+
+ // prevent map click
+ L.DomEvent.stop(e);
+
+ // if this inherits from Path its a vector and we can just
+ // open the popup at the new location
+ if (layer instanceof L.Path) {
+ this.openPopup(e.layer || e.target, e.latlng);
+ return;
+ }
+
+ // otherwise treat it like a marker and figure out
+ // if we should toggle it open/closed
+ if (this._map.hasLayer(this._popup) && this._popup._source === layer) {
+ this.closePopup();
+ } else {
+ this.openPopup(layer, e.latlng);
+ }
+ },
+
+ _movePopup: function (e) {
+ this._popup.setLatLng(e.latlng);
+ }
+});
+
+
+
+/*
+ * Popup extension to L.Marker, adding popup-related methods.
+ */
+
+L.Marker.include({
+ _getPopupAnchor: function () {
+ return this.options.icon.options.popupAnchor || [0, 0];
+ }
+});
+
+
+
+/*
+ * @class Tooltip
+ * @inherits DivOverlay
+ * @aka L.Tooltip
+ * Used to display small texts on top of map layers.
+ *
+ * @example
+ *
+ * ```js
+ * marker.bindTooltip("my tooltip text").openTooltip();
+ * ```
+ * Note about tooltip offset. Leaflet takes two options in consideration
+ * for computing tooltip offseting:
+ * - the `offset` Tooltip option: it defaults to [0, 0], and it's specific to one tooltip.
+ * Add a positive x offset to move the tooltip to the right, and a positive y offset to
+ * move it to the bottom. Negatives will move to the left and top.
+ * - the `tooltipAnchor` Icon option: this will only be considered for Marker. You
+ * should adapt this value if you use a custom icon.
+ */
+
+
+// @namespace Tooltip
+L.Tooltip = L.DivOverlay.extend({
+
+ // @section
+ // @aka Tooltip options
+ options: {
+ // @option pane: String = 'tooltipPane'
+ // `Map pane` where the tooltip will be added.
+ pane: 'tooltipPane',
+
+ // @option offset: Point = Point(0, 0)
+ // Optional offset of the tooltip position.
+ offset: [0, 0],
+
+ // @option direction: String = 'auto'
+ // Direction where to open the tooltip. Possible values are: `right`, `left`,
+ // `top`, `bottom`, `center`, `auto`.
+ // `auto` will dynamicaly switch between `right` and `left` according to the tooltip
+ // position on the map.
+ direction: 'auto',
- var width = container.offsetWidth;
- width = Math.min(width, this.options.maxWidth);
- width = Math.max(width, this.options.minWidth);
+ // @option permanent: Boolean = false
+ // Whether to open the tooltip permanently or only on mouseover.
+ permanent: false,
- style.width = (width + 1) + 'px';
- style.whiteSpace = '';
+ // @option sticky: Boolean = false
+ // If true, the tooltip will follow the mouse instead of being fixed at the feature center.
+ sticky: false,
- style.height = '';
+ // @option interactive: Boolean = false
+ // If true, the tooltip will listen to the feature events.
+ interactive: false,
- var height = container.offsetHeight,
- maxHeight = this.options.maxHeight,
- scrolledClass = 'leaflet-popup-scrolled';
+ // @option opacity: Number = 0.9
+ // Tooltip container opacity.
+ opacity: 0.9
+ },
- if (maxHeight && height > maxHeight) {
- style.height = maxHeight + 'px';
- L.DomUtil.addClass(container, scrolledClass);
- } else {
- L.DomUtil.removeClass(container, scrolledClass);
- }
+ onAdd: function (map) {
+ L.DivOverlay.prototype.onAdd.call(this, map);
+ this.setOpacity(this.options.opacity);
- this._containerWidth = this._container.offsetWidth;
+ // @namespace Map
+ // @section Tooltip events
+ // @event tooltipopen: TooltipEvent
+ // Fired when a tooltip is opened in the map.
+ map.fire('tooltipopen', {tooltip: this});
+
+ if (this._source) {
+ // @namespace Layer
+ // @section Tooltip events
+ // @event tooltipopen: TooltipEvent
+ // Fired when a tooltip bound to this layer is opened.
+ this._source.fire('tooltipopen', {tooltip: this}, true);
+ }
},
- _updatePosition: function () {
- if (!this._map) { return; }
+ onRemove: function (map) {
+ L.DivOverlay.prototype.onRemove.call(this, map);
- var pos = this._map.latLngToLayerPoint(this._latlng),
- animated = this._animated,
- offset = L.point(this.options.offset);
+ // @namespace Map
+ // @section Tooltip events
+ // @event tooltipclose: TooltipEvent
+ // Fired when a tooltip in the map is closed.
+ map.fire('tooltipclose', {tooltip: this});
- if (animated) {
- L.DomUtil.setPosition(this._container, pos);
+ if (this._source) {
+ // @namespace Layer
+ // @section Tooltip events
+ // @event tooltipclose: TooltipEvent
+ // Fired when a tooltip bound to this layer is closed.
+ this._source.fire('tooltipclose', {tooltip: this}, true);
}
+ },
- this._containerBottom = -offset.y - (animated ? 0 : pos.y);
- this._containerLeft = -Math.round(this._containerWidth / 2) + offset.x + (animated ? 0 : pos.x);
+ getEvents: function () {
+ var events = L.DivOverlay.prototype.getEvents.call(this);
- // bottom position the popup in case the height of the popup changes (images loading etc)
- this._container.style.bottom = this._containerBottom + 'px';
- this._container.style.left = this._containerLeft + 'px';
+ if (L.Browser.touch && !this.options.permanent) {
+ events.preclick = this._close;
+ }
+
+ return events;
+ },
+
+ _close: function () {
+ if (this._map) {
+ this._map.closeTooltip(this);
+ }
},
- _zoomAnimation: function (opt) {
- var pos = this._map._latLngToNewLayerPoint(this._latlng, opt.zoom, opt.center);
+ _initLayout: function () {
+ var prefix = 'leaflet-tooltip',
+ className = prefix + ' ' + (this.options.className || '') + ' leaflet-zoom-' + (this._zoomAnimated ? 'animated' : 'hide');
- L.DomUtil.setPosition(this._container, pos);
+ this._contentNode = this._container = L.DomUtil.create('div', className);
},
- _adjustPan: function () {
- if (!this.options.autoPan) { return; }
+ _updateLayout: function () {},
+
+ _adjustPan: function () {},
+ _setPosition: function (pos) {
var map = this._map,
- containerHeight = this._container.offsetHeight,
- containerWidth = this._containerWidth,
+ container = this._container,
+ centerPoint = map.latLngToContainerPoint(map.getCenter()),
+ tooltipPoint = map.layerPointToContainerPoint(pos),
+ direction = this.options.direction,
+ tooltipWidth = container.offsetWidth,
+ tooltipHeight = container.offsetHeight,
+ offset = L.point(this.options.offset),
+ anchor = this._getAnchor();
+
+ if (direction === 'top') {
+ pos = pos.add(L.point(-tooltipWidth / 2 + offset.x, -tooltipHeight + offset.y + anchor.y));
+ } else if (direction === 'bottom') {
+ pos = pos.subtract(L.point(tooltipWidth / 2 - offset.x, -offset.y));
+ } else if (direction === 'center') {
+ pos = pos.subtract(L.point(tooltipWidth / 2 + offset.x, tooltipHeight / 2 - anchor.y + offset.y));
+ } else if (direction === 'right' || direction === 'auto' && tooltipPoint.x < centerPoint.x) {
+ direction = 'right';
+ pos = pos.add([offset.x + anchor.x, anchor.y - tooltipHeight / 2 + offset.y]);
+ } else {
+ direction = 'left';
+ pos = pos.subtract(L.point(tooltipWidth + anchor.x - offset.x, tooltipHeight / 2 - anchor.y - offset.y));
+ }
- layerPos = new L.Point(this._containerLeft, -containerHeight - this._containerBottom);
+ L.DomUtil.removeClass(container, 'leaflet-tooltip-right');
+ L.DomUtil.removeClass(container, 'leaflet-tooltip-left');
+ L.DomUtil.removeClass(container, 'leaflet-tooltip-top');
+ L.DomUtil.removeClass(container, 'leaflet-tooltip-bottom');
+ L.DomUtil.addClass(container, 'leaflet-tooltip-' + direction);
+ L.DomUtil.setPosition(container, pos);
+ },
- if (this._animated) {
- layerPos._add(L.DomUtil.getPosition(this._container));
- }
+ _updatePosition: function () {
+ var pos = this._map.latLngToLayerPoint(this._latlng);
+ this._setPosition(pos);
+ },
- var containerPos = map.layerPointToContainerPoint(layerPos),
- padding = L.point(this.options.autoPanPadding),
- paddingTL = L.point(this.options.autoPanPaddingTopLeft || padding),
- paddingBR = L.point(this.options.autoPanPaddingBottomRight || padding),
- size = map.getSize(),
- dx = 0,
- dy = 0;
+ setOpacity: function (opacity) {
+ this.options.opacity = opacity;
- if (containerPos.x + containerWidth + paddingBR.x > size.x) { // right
- dx = containerPos.x + containerWidth - size.x + paddingBR.x;
- }
- if (containerPos.x - dx - paddingTL.x < 0) { // left
- dx = containerPos.x - paddingTL.x;
- }
- if (containerPos.y + containerHeight + paddingBR.y > size.y) { // bottom
- dy = containerPos.y + containerHeight - size.y + paddingBR.y;
- }
- if (containerPos.y - dy - paddingTL.y < 0) { // top
- dy = containerPos.y - paddingTL.y;
+ if (this._container) {
+ L.DomUtil.setOpacity(this._container, opacity);
}
+ },
- if (dx || dy) {
- map
- .fire('autopanstart')
- .panBy([dx, dy]);
- }
+ _animateZoom: function (e) {
+ var pos = this._map._latLngToNewLayerPoint(this._latlng, e.zoom, e.center);
+ this._setPosition(pos);
},
- _onCloseButtonClick: function (e) {
- this._close();
- L.DomEvent.stop(e);
+ _getAnchor: function () {
+ // Where should we anchor the tooltip on the source layer?
+ return L.point(this._source && this._source._getTooltipAnchor && !this.options.sticky ? this._source._getTooltipAnchor() : [0, 0]);
}
+
});
-L.popup = function (options, source) {
- return new L.Popup(options, source);
+// @namespace Tooltip
+// @factory L.tooltip(options?: Tooltip options, source?: Layer)
+// Instantiates a Tooltip object given an optional `options` object that describes its appearance and location and an optional `source` object that is used to tag the tooltip with a reference to the Layer to which it refers.
+L.tooltip = function (options, source) {
+ return new L.Tooltip(options, source);
};
-
+// @namespace Map
+// @section Methods for Layers and Controls
L.Map.include({
- openPopup: function (popup, latlng, options) { // (Popup) or (String || HTMLElement, LatLng[, Object])
- this.closePopup();
- if (!(popup instanceof L.Popup)) {
- var content = popup;
+ // @method openTooltip(tooltip: Tooltip): this
+ // Opens the specified tooltip.
+ // @alternative
+ // @method openTooltip(content: String|HTMLElement, latlng: LatLng, options?: Tooltip options): this
+ // Creates a tooltip with the specified content and options and open it.
+ openTooltip: function (tooltip, latlng, options) {
+ if (!(tooltip instanceof L.Tooltip)) {
+ tooltip = new L.Tooltip(options).setContent(tooltip);
+ }
- popup = new L.Popup(options)
- .setLatLng(latlng)
- .setContent(content);
+ if (latlng) {
+ tooltip.setLatLng(latlng);
}
- popup._isOpen = true;
- this._popup = popup;
- return this.addLayer(popup);
+ if (this.hasLayer(tooltip)) {
+ return this;
+ }
+
+ return this.addLayer(tooltip);
},
- closePopup: function (popup) {
- if (!popup || popup === this._popup) {
- popup = this._popup;
- this._popup = null;
- }
- if (popup) {
- this.removeLayer(popup);
- popup._isOpen = false;
+ // @method closeTooltip(tooltip?: Tooltip): this
+ // Closes the tooltip given as parameter.
+ closeTooltip: function (tooltip) {
+ if (tooltip) {
+ this.removeLayer(tooltip);
}
return this;
}
+
});
+
/*
- * Popup extension to L.Marker, adding popup-related methods.
+ * @namespace Layer
+ * @section Tooltip methods example
+ *
+ * All layers share a set of methods convenient for binding tooltips to it.
+ *
+ * ```js
+ * var layer = L.Polygon(latlngs).bindTooltip('Hi There!').addTo(map);
+ * layer.openTooltip();
+ * layer.closeTooltip();
+ * ```
*/
-L.Marker.include({
- openPopup: function () {
- if (this._popup && this._map && !this._map.hasLayer(this._popup)) {
- this._popup.setLatLng(this._latlng);
- this._map.openPopup(this._popup);
+// @section Tooltip methods
+L.Layer.include({
+
+ // @method bindTooltip(content: String|HTMLElement|Function|Tooltip, options?: Tooltip options): this
+ // Binds a tooltip to the layer with the passed `content` and sets up the
+ // neccessary event listeners. If a `Function` is passed it will receive
+ // the layer as the first argument and should return a `String` or `HTMLElement`.
+ bindTooltip: function (content, options) {
+
+ if (content instanceof L.Tooltip) {
+ L.setOptions(content, options);
+ this._tooltip = content;
+ content._source = this;
+ } else {
+ if (!this._tooltip || options) {
+ this._tooltip = L.tooltip(options, this);
+ }
+ this._tooltip.setContent(content);
+
+ }
+
+ this._initTooltipInteractions();
+
+ if (this._tooltip.options.permanent && this._map && this._map.hasLayer(this)) {
+ this.openTooltip();
}
return this;
},
- closePopup: function () {
- if (this._popup) {
- this._popup._close();
+ // @method unbindTooltip(): this
+ // Removes the tooltip previously bound with `bindTooltip`.
+ unbindTooltip: function () {
+ if (this._tooltip) {
+ this._initTooltipInteractions(true);
+ this.closeTooltip();
+ this._tooltip = null;
}
return this;
},
- togglePopup: function () {
- if (this._popup) {
- if (this._popup._isOpen) {
- this.closePopup();
- } else {
- this.openPopup();
+ _initTooltipInteractions: function (remove) {
+ if (!remove && this._tooltipHandlersAdded) { return; }
+ var onOff = remove ? 'off' : 'on',
+ events = {
+ remove: this.closeTooltip,
+ move: this._moveTooltip
+ };
+ if (!this._tooltip.options.permanent) {
+ events.mouseover = this._openTooltip;
+ events.mouseout = this.closeTooltip;
+ if (this._tooltip.options.sticky) {
+ events.mousemove = this._moveTooltip;
+ }
+ if (L.Browser.touch) {
+ events.click = this._openTooltip;
}
+ } else {
+ events.add = this._openTooltip;
}
- return this;
+ this[onOff](events);
+ this._tooltipHandlersAdded = !remove;
},
- bindPopup: function (content, options) {
- var anchor = L.point(this.options.icon.options.popupAnchor || [0, 0]);
+ // @method openTooltip(latlng?: LatLng): this
+ // Opens the bound tooltip at the specificed `latlng` or at the default tooltip anchor if no `latlng` is passed.
+ openTooltip: function (layer, latlng) {
+ if (!(layer instanceof L.Layer)) {
+ latlng = layer;
+ layer = this;
+ }
- anchor = anchor.add(L.Popup.prototype.options.offset);
+ if (layer instanceof L.FeatureGroup) {
+ for (var id in this._layers) {
+ layer = this._layers[id];
+ break;
+ }
+ }
- if (options && options.offset) {
- anchor = anchor.add(options.offset);
+ if (!latlng) {
+ latlng = layer.getCenter ? layer.getCenter() : layer.getLatLng();
}
- options = L.extend({offset: anchor}, options);
+ if (this._tooltip && this._map) {
- if (!this._popupHandlersAdded) {
- this
- .on('click', this.togglePopup, this)
- .on('remove', this.closePopup, this)
- .on('move', this._movePopup, this);
- this._popupHandlersAdded = true;
- }
+ // set tooltip source to this layer
+ this._tooltip._source = layer;
- if (content instanceof L.Popup) {
- L.setOptions(content, options);
- this._popup = content;
- content._source = this;
- } else {
- this._popup = new L.Popup(options, this)
- .setContent(content);
+ // update the tooltip (content, layout, ect...)
+ this._tooltip.update();
+
+ // open the tooltip on the map
+ this._map.openTooltip(this._tooltip, latlng);
+
+ // Tooltip container may not be defined if not permanent and never
+ // opened.
+ if (this._tooltip.options.interactive && this._tooltip._container) {
+ L.DomUtil.addClass(this._tooltip._container, 'leaflet-clickable');
+ this.addInteractiveTarget(this._tooltip._container);
+ }
}
return this;
},
- setPopupContent: function (content) {
- if (this._popup) {
- this._popup.setContent(content);
+ // @method closeTooltip(): this
+ // Closes the tooltip bound to this layer if it is open.
+ closeTooltip: function () {
+ if (this._tooltip) {
+ this._tooltip._close();
+ if (this._tooltip.options.interactive && this._tooltip._container) {
+ L.DomUtil.removeClass(this._tooltip._container, 'leaflet-clickable');
+ this.removeInteractiveTarget(this._tooltip._container);
+ }
}
return this;
},
- unbindPopup: function () {
- if (this._popup) {
- this._popup = null;
- this
- .off('click', this.togglePopup, this)
- .off('remove', this.closePopup, this)
- .off('move', this._movePopup, this);
- this._popupHandlersAdded = false;
+ // @method toggleTooltip(): this
+ // Opens or closes the tooltip bound to this layer depending on its current state.
+ toggleTooltip: function (target) {
+ if (this._tooltip) {
+ if (this._tooltip._map) {
+ this.closeTooltip();
+ } else {
+ this.openTooltip(target);
+ }
}
return this;
},
- getPopup: function () {
- return this._popup;
+ // @method isTooltipOpen(): boolean
+ // Returns `true` if the tooltip bound to this layer is currently open.
+ isTooltipOpen: function () {
+ return this._tooltip.isOpen();
},
- _movePopup: function (e) {
- this._popup.setLatLng(e.latlng);
+ // @method setTooltipContent(content: String|HTMLElement|Tooltip): this
+ // Sets the content of the tooltip bound to this layer.
+ setTooltipContent: function (content) {
+ if (this._tooltip) {
+ this._tooltip.setContent(content);
+ }
+ return this;
+ },
+
+ // @method getTooltip(): Tooltip
+ // Returns the tooltip bound to this layer.
+ getTooltip: function () {
+ return this._tooltip;
+ },
+
+ _openTooltip: function (e) {
+ var layer = e.layer || e.target;
+
+ if (!this._tooltip || !this._map) {
+ return;
+ }
+ this.openTooltip(layer, this._tooltip.options.sticky ? e.latlng : undefined);
+ },
+
+ _moveTooltip: function (e) {
+ var latlng = e.latlng, containerPoint, layerPoint;
+ if (this._tooltip.options.sticky && e.originalEvent) {
+ containerPoint = this._map.mouseEventToContainerPoint(e.originalEvent);
+ layerPoint = this._map.containerPointToLayerPoint(containerPoint);
+ latlng = this._map.layerPointToLatLng(layerPoint);
+ }
+ this._tooltip.setLatLng(latlng);
+ }
+});
+
+
+
+/*
+ * Tooltip extension to L.Marker, adding tooltip-related methods.
+ */
+
+L.Marker.include({
+ _getTooltipAnchor: function () {
+ return this.options.icon.options.tooltipAnchor || [0, 0];
}
});
+
/*
- * L.LayerGroup is a class to combine several layers into one so that
- * you can manipulate the group (e.g. add/remove it) as one layer.
+ * @class LayerGroup
+ * @aka L.LayerGroup
+ * @inherits Layer
+ *
+ * Used to group several layers and handle them as one. If you add it to the map,
+ * any layers added or removed from the group will be added/removed on the map as
+ * well. Extends `Layer`.
+ *
+ * @example
+ *
+ * ```js
+ * L.layerGroup([marker1, marker2])
+ * .addLayer(polyline)
+ * .addTo(map);
+ * ```
*/
-L.LayerGroup = L.Class.extend({
+L.LayerGroup = L.Layer.extend({
+
initialize: function (layers) {
this._layers = {};
}
},
+ // @method addLayer(layer: Layer): this
+ // Adds the given layer to the group.
addLayer: function (layer) {
var id = this.getLayerId(layer);
return this;
},
+ // @method removeLayer(layer: Layer): this
+ // Removes the given layer from the group.
+ // @alternative
+ // @method removeLayer(id: Number): this
+ // Removes the layer with the given internal ID from the group.
removeLayer: function (layer) {
var id = layer in this._layers ? layer : this.getLayerId(layer);
return this;
},
+ // @method hasLayer(layer: Layer): Boolean
+ // Returns `true` if the given layer is currently added to the group.
hasLayer: function (layer) {
- if (!layer) { return false; }
-
- return (layer in this._layers || this.getLayerId(layer) in this._layers);
+ return !!layer && (layer in this._layers || this.getLayerId(layer) in this._layers);
},
+ // @method clearLayers(): this
+ // Removes all the layers from the group.
clearLayers: function () {
- this.eachLayer(this.removeLayer, this);
+ for (var i in this._layers) {
+ this.removeLayer(this._layers[i]);
+ }
return this;
},
+ // @method invoke(methodName: String, …): this
+ // Calls `methodName` on every layer contained in this group, passing any
+ // additional parameters. Has no effect if the layers contained do not
+ // implement `methodName`.
invoke: function (methodName) {
var args = Array.prototype.slice.call(arguments, 1),
i, layer;
},
onAdd: function (map) {
- this._map = map;
- this.eachLayer(map.addLayer, map);
+ for (var i in this._layers) {
+ map.addLayer(this._layers[i]);
+ }
},
onRemove: function (map) {
- this.eachLayer(map.removeLayer, map);
- this._map = null;
- },
-
- addTo: function (map) {
- map.addLayer(this);
- return this;
+ for (var i in this._layers) {
+ map.removeLayer(this._layers[i]);
+ }
},
+ // @method eachLayer(fn: Function, context?: Object): this
+ // Iterates over the layers of the group, optionally specifying context of the iterator function.
+ // ```js
+ // group.eachLayer(function (layer) {
+ // layer.bindPopup('Hello');
+ // });
+ // ```
eachLayer: function (method, context) {
for (var i in this._layers) {
method.call(context, this._layers[i]);
return this;
},
+ // @method getLayer(id: Number): Layer
+ // Returns the layer with the given internal ID.
getLayer: function (id) {
return this._layers[id];
},
+ // @method getLayers(): Layer[]
+ // Returns an array of all the layers added to the group.
getLayers: function () {
var layers = [];
return layers;
},
+ // @method setZIndex(zIndex: Number): this
+ // Calls `setZIndex` on every layer contained in this group, passing the z-index.
setZIndex: function (zIndex) {
return this.invoke('setZIndex', zIndex);
},
+ // @method getLayerId(layer: Layer): Number
+ // Returns the internal ID for a layer
getLayerId: function (layer) {
return L.stamp(layer);
}
});
+
+// @factory L.layerGroup(layers: Layer[])
+// Create a layer group, optionally given an initial set of layers.
L.layerGroup = function (layers) {
return new L.LayerGroup(layers);
};
+
/*
- * L.FeatureGroup extends L.LayerGroup by introducing mouse events and additional methods
- * shared between a group of interactive layers (like vectors or markers).
+ * @class FeatureGroup
+ * @aka L.FeatureGroup
+ * @inherits LayerGroup
+ *
+ * Extended `LayerGroup` that makes it easier to do the same thing to all its member layers:
+ * * [`bindPopup`](#layer-bindpopup) binds a popup to all of the layers at once (likewise with [`bindTooltip`](#layer-bindtooltip))
+ * * Events are propagated to the `FeatureGroup`, so if the group has an event
+ * handler, it will handle events from any of the layers. This includes mouse events
+ * and custom events.
+ * * Has `layeradd` and `layerremove` events
+ *
+ * @example
+ *
+ * ```js
+ * L.featureGroup([marker1, marker2, polyline])
+ * .bindPopup('Hello world!')
+ * .on('click', function() { alert('Clicked on a member of the group!'); })
+ * .addTo(map);
+ * ```
*/
L.FeatureGroup = L.LayerGroup.extend({
- includes: L.Mixin.Events,
-
- statics: {
- EVENTS: 'click dblclick mouseover mouseout mousemove contextmenu popupopen popupclose'
- },
addLayer: function (layer) {
if (this.hasLayer(layer)) {
return this;
}
- if ('on' in layer) {
- layer.on(L.FeatureGroup.EVENTS, this._propagateEvent, this);
- }
+ layer.addEventParent(this);
L.LayerGroup.prototype.addLayer.call(this, layer);
- if (this._popupContent && layer.bindPopup) {
- layer.bindPopup(this._popupContent, this._popupOptions);
- }
-
+ // @event layeradd: LayerEvent
+ // Fired when a layer is added to this `FeatureGroup`
return this.fire('layeradd', {layer: layer});
},
layer = this._layers[layer];
}
- if ('off' in layer) {
- layer.off(L.FeatureGroup.EVENTS, this._propagateEvent, this);
- }
+ layer.removeEventParent(this);
L.LayerGroup.prototype.removeLayer.call(this, layer);
- if (this._popupContent) {
- this.invoke('unbindPopup');
+ // @event layerremove: LayerEvent
+ // Fired when a layer is removed from this `FeatureGroup`
+ return this.fire('layerremove', {layer: layer});
+ },
+
+ // @method setStyle(style: Path options): this
+ // Sets the given path options to each layer of the group that has a `setStyle` method.
+ setStyle: function (style) {
+ return this.invoke('setStyle', style);
+ },
+
+ // @method bringToFront(): this
+ // Brings the layer group to the top of all other layers
+ bringToFront: function () {
+ return this.invoke('bringToFront');
+ },
+
+ // @method bringToBack(): this
+ // Brings the layer group to the top of all other layers
+ bringToBack: function () {
+ return this.invoke('bringToBack');
+ },
+
+ // @method getBounds(): LatLngBounds
+ // Returns the LatLngBounds of the Feature Group (created from bounds and coordinates of its children).
+ getBounds: function () {
+ var bounds = new L.LatLngBounds();
+
+ for (var id in this._layers) {
+ var layer = this._layers[id];
+ bounds.extend(layer.getBounds ? layer.getBounds() : layer.getLatLng());
+ }
+ return bounds;
+ }
+});
+
+// @factory L.featureGroup(layers: Layer[])
+// Create a feature group, optionally given an initial set of layers.
+L.featureGroup = function (layers) {
+ return new L.FeatureGroup(layers);
+};
+
+
+
+/*
+ * @class Renderer
+ * @inherits Layer
+ * @aka L.Renderer
+ *
+ * Base class for vector renderer implementations (`SVG`, `Canvas`). Handles the
+ * DOM container of the renderer, its bounds, and its zoom animation.
+ *
+ * A `Renderer` works as an implicit layer group for all `Path`s - the renderer
+ * itself can be added or removed to the map. All paths use a renderer, which can
+ * be implicit (the map will decide the type of renderer and use it automatically)
+ * or explicit (using the [`renderer`](#path-renderer) option of the path).
+ *
+ * Do not use this class directly, use `SVG` and `Canvas` instead.
+ *
+ * @event update: Event
+ * Fired when the renderer updates its bounds, center and zoom, for example when
+ * its map has moved
+ */
+
+L.Renderer = L.Layer.extend({
+
+ // @section
+ // @aka Renderer options
+ options: {
+ // @option padding: Number = 0.1
+ // How much to extend the clip area around the map view (relative to its size)
+ // e.g. 0.1 would be 10% of map view in each direction
+ padding: 0.1
+ },
+
+ initialize: function (options) {
+ L.setOptions(this, options);
+ L.stamp(this);
+ },
+
+ onAdd: function () {
+ if (!this._container) {
+ this._initContainer(); // defined by renderer implementations
+
+ if (this._zoomAnimated) {
+ L.DomUtil.addClass(this._container, 'leaflet-zoom-animated');
+ }
+ }
+
+ this.getPane().appendChild(this._container);
+ this._update();
+ },
+
+ onRemove: function () {
+ L.DomUtil.remove(this._container);
+ },
+
+ getEvents: function () {
+ var events = {
+ viewreset: this._reset,
+ zoom: this._onZoom,
+ moveend: this._update
+ };
+ if (this._zoomAnimated) {
+ events.zoomanim = this._onAnimZoom;
}
+ return events;
+ },
- return this.fire('layerremove', {layer: layer});
+ _onAnimZoom: function (ev) {
+ this._updateTransform(ev.center, ev.zoom);
},
- bindPopup: function (content, options) {
- this._popupContent = content;
- this._popupOptions = options;
- return this.invoke('bindPopup', content, options);
+ _onZoom: function () {
+ this._updateTransform(this._map.getCenter(), this._map.getZoom());
},
- openPopup: function (latlng) {
- // open popup on the first layer
- for (var id in this._layers) {
- this._layers[id].openPopup(latlng);
- break;
+ _updateTransform: function (center, zoom) {
+ var scale = this._map.getZoomScale(zoom, this._zoom),
+ position = L.DomUtil.getPosition(this._container),
+ viewHalf = this._map.getSize().multiplyBy(0.5 + this.options.padding),
+ currentCenterPoint = this._map.project(this._center, zoom),
+ destCenterPoint = this._map.project(center, zoom),
+ centerOffset = destCenterPoint.subtract(currentCenterPoint),
+
+ topLeftOffset = viewHalf.multiplyBy(-scale).add(position).add(viewHalf).subtract(centerOffset);
+
+ if (L.Browser.any3d) {
+ L.DomUtil.setTransform(this._container, topLeftOffset, scale);
+ } else {
+ L.DomUtil.setPosition(this._container, topLeftOffset);
}
- return this;
},
- setStyle: function (style) {
- return this.invoke('setStyle', style);
+ _reset: function () {
+ this._update();
+ this._updateTransform(this._center, this._zoom);
},
- bringToFront: function () {
- return this.invoke('bringToFront');
- },
+ _update: function () {
+ // Update pixel bounds of renderer container (for positioning/sizing/clipping later)
+ // Subclasses are responsible of firing the 'update' event.
+ var p = this.options.padding,
+ size = this._map.getSize(),
+ min = this._map.containerPointToLayerPoint(size.multiplyBy(-p)).round();
- bringToBack: function () {
- return this.invoke('bringToBack');
- },
+ this._bounds = new L.Bounds(min, min.add(size.multiplyBy(1 + p * 2)).round());
- getBounds: function () {
- var bounds = new L.LatLngBounds();
+ this._center = this._map.getCenter();
+ this._zoom = this._map.getZoom();
+ }
+});
- this.eachLayer(function (layer) {
- bounds.extend(layer instanceof L.Marker ? layer.getLatLng() : layer.getBounds());
- });
- return bounds;
+L.Map.include({
+ // @namespace Map; @method getRenderer(layer: Path): Renderer
+ // Returns the instance of `Renderer` that should be used to render the given
+ // `Path`. It will ensure that the `renderer` options of the map and paths
+ // are respected, and that the renderers do exist on the map.
+ getRenderer: function (layer) {
+ // @namespace Path; @option renderer: Renderer
+ // Use this specific instance of `Renderer` for this path. Takes
+ // precedence over the map's [default renderer](#map-renderer).
+ var renderer = layer.options.renderer || this._getPaneRenderer(layer.options.pane) || this.options.renderer || this._renderer;
+
+ if (!renderer) {
+ // @namespace Map; @option preferCanvas: Boolean = false
+ // Whether `Path`s should be rendered on a `Canvas` renderer.
+ // By default, all `Path`s are rendered in a `SVG` renderer.
+ renderer = this._renderer = (this.options.preferCanvas && L.canvas()) || L.svg();
+ }
+
+ if (!this.hasLayer(renderer)) {
+ this.addLayer(renderer);
+ }
+ return renderer;
},
- _propagateEvent: function (e) {
- e = L.extend({
- layer: e.target,
- target: this
- }, e);
- this.fire(e.type, e);
+ _getPaneRenderer: function (name) {
+ if (name === 'overlayPane' || name === undefined) {
+ return false;
+ }
+
+ var renderer = this._paneRenderers[name];
+ if (renderer === undefined) {
+ renderer = (L.SVG && L.svg({pane: name})) || (L.Canvas && L.canvas({pane: name}));
+ this._paneRenderers[name] = renderer;
+ }
+ return renderer;
}
});
-L.featureGroup = function (layers) {
- return new L.FeatureGroup(layers);
-};
/*
- * L.Path is a base class for rendering vector paths on a map. Inherited by Polyline, Circle, etc.
+ * @class Path
+ * @aka L.Path
+ * @inherits Interactive layer
+ *
+ * An abstract class that contains options and constants shared between vector
+ * overlays (Polygon, Polyline, Circle). Do not use it directly. Extends `Layer`.
*/
-L.Path = L.Class.extend({
- includes: [L.Mixin.Events],
-
- statics: {
- // how much to extend the clip area around the map view
- // (relative to its size, e.g. 0.5 is half the screen in each direction)
- // set it so that SVG element doesn't exceed 1280px (vectors flicker on dragend if it is)
- CLIP_PADDING: (function () {
- var max = L.Browser.mobile ? 1280 : 2000,
- target = (max / Math.max(window.outerWidth, window.outerHeight) - 1) / 2;
- return Math.max(0, Math.min(0.5, target));
- })()
- },
+L.Path = L.Layer.extend({
+ // @section
+ // @aka Path options
options: {
+ // @option stroke: Boolean = true
+ // Whether to draw stroke along the path. Set it to `false` to disable borders on polygons or circles.
stroke: true,
- color: '#0033ff',
- dashArray: null,
- lineCap: null,
- lineJoin: null,
- weight: 5,
- opacity: 0.5,
- fill: false,
- fillColor: null, //same as color by default
- fillOpacity: 0.2,
+ // @option color: String = '#3388ff'
+ // Stroke color
+ color: '#3388ff',
- clickable: true
- },
+ // @option weight: Number = 3
+ // Stroke width in pixels
+ weight: 3,
- initialize: function (options) {
- L.setOptions(this, options);
- },
+ // @option opacity: Number = 1.0
+ // Stroke opacity
+ opacity: 1,
- onAdd: function (map) {
- this._map = map;
+ // @option lineCap: String= 'round'
+ // A string that defines [shape to be used at the end](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-linecap) of the stroke.
+ lineCap: 'round',
- if (!this._container) {
- this._initElements();
- this._initEvents();
- }
+ // @option lineJoin: String = 'round'
+ // A string that defines [shape to be used at the corners](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-linejoin) of the stroke.
+ lineJoin: 'round',
- this.projectLatlngs();
- this._updatePath();
+ // @option dashArray: String = null
+ // A string that defines the stroke [dash pattern](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-dasharray). Doesn't work on `Canvas`-powered layers in [some old browsers](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility).
+ dashArray: null,
- if (this._container) {
- this._map._pathRoot.appendChild(this._container);
- }
+ // @option dashOffset: String = null
+ // A string that defines the [distance into the dash pattern to start the dash](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-dashoffset). Doesn't work on `Canvas`-powered layers in [some old browsers](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility).
+ dashOffset: null,
- this.fire('add');
+ // @option fill: Boolean = depends
+ // Whether to fill the path with color. Set it to `false` to disable filling on polygons or circles.
+ fill: false,
- map.on({
- 'viewreset': this.projectLatlngs,
- 'moveend': this._updatePath
- }, this);
- },
+ // @option fillColor: String = *
+ // Fill color. Defaults to the value of the [`color`](#path-color) option
+ fillColor: null,
- addTo: function (map) {
- map.addLayer(this);
- return this;
+ // @option fillOpacity: Number = 0.2
+ // Fill opacity.
+ fillOpacity: 0.2,
+
+ // @option fillRule: String = 'evenodd'
+ // A string that defines [how the inside of a shape](https://developer.mozilla.org/docs/Web/SVG/Attribute/fill-rule) is determined.
+ fillRule: 'evenodd',
+
+ // className: '',
+
+ // Option inherited from "Interactive layer" abstract class
+ interactive: true
},
- onRemove: function (map) {
- map._pathRoot.removeChild(this._container);
+ beforeAdd: function (map) {
+ // Renderer is set here because we need to call renderer.getEvents
+ // before this.getEvents.
+ this._renderer = map.getRenderer(this);
+ },
- // Need to fire remove event before we set _map to null as the event hooks might need the object
- this.fire('remove');
- this._map = null;
+ onAdd: function () {
+ this._renderer._initPath(this);
+ this._reset();
+ this._renderer._addPath(this);
+ this._renderer.on('update', this._update, this);
+ },
- if (L.Browser.vml) {
- this._container = null;
- this._stroke = null;
- this._fill = null;
- }
+ onRemove: function () {
+ this._renderer._removePath(this);
+ this._renderer.off('update', this._update, this);
+ },
- map.off({
- 'viewreset': this.projectLatlngs,
- 'moveend': this._updatePath
- }, this);
+ getEvents: function () {
+ return {
+ zoomend: this._project,
+ viewreset: this._reset
+ };
},
- projectLatlngs: function () {
- // do all projection stuff here
+ // @method redraw(): this
+ // Redraws the layer. Sometimes useful after you changed the coordinates that the path uses.
+ redraw: function () {
+ if (this._map) {
+ this._renderer._updatePath(this);
+ }
+ return this;
},
+ // @method setStyle(style: Path options): this
+ // Changes the appearance of a Path based on the options in the `Path options` object.
setStyle: function (style) {
L.setOptions(this, style);
-
- if (this._container) {
- this._updateStyle();
+ if (this._renderer) {
+ this._renderer._updateStyle(this);
}
+ return this;
+ },
+ // @method bringToFront(): this
+ // Brings the layer to the top of all path layers.
+ bringToFront: function () {
+ if (this._renderer) {
+ this._renderer._bringToFront(this);
+ }
return this;
},
- redraw: function () {
- if (this._map) {
- this.projectLatlngs();
- this._updatePath();
+ // @method bringToBack(): this
+ // Brings the layer to the bottom of all path layers.
+ bringToBack: function () {
+ if (this._renderer) {
+ this._renderer._bringToBack(this);
}
return this;
- }
-});
+ },
-L.Map.include({
- _updatePathViewport: function () {
- var p = L.Path.CLIP_PADDING,
- size = this.getSize(),
- panePos = L.DomUtil.getPosition(this._mapPane),
- min = panePos.multiplyBy(-1)._subtract(size.multiplyBy(p)._round()),
- max = min.add(size.multiplyBy(1 + p * 2)._round());
+ getElement: function () {
+ return this._path;
+ },
+
+ _reset: function () {
+ // defined in children classes
+ this._project();
+ this._update();
+ },
- this._pathViewport = new L.Bounds(min, max);
+ _clickTolerance: function () {
+ // used when doing hit detection for Canvas layers
+ return (this.options.stroke ? this.options.weight / 2 : 0) + (L.Browser.touch ? 10 : 0);
}
});
+
/*
- * Extends L.Path with SVG-specific rendering code.
+ * @namespace LineUtil
+ *
+ * Various utility functions for polyine points processing, used by Leaflet internally to make polylines lightning-fast.
*/
-L.Path.SVG_NS = 'http://www.w3.org/2000/svg';
+L.LineUtil = {
-L.Browser.svg = !!(document.createElementNS && document.createElementNS(L.Path.SVG_NS, 'svg').createSVGRect);
+ // Simplify polyline with vertex reduction and Douglas-Peucker simplification.
+ // Improves rendering performance dramatically by lessening the number of points to draw.
-L.Path = L.Path.extend({
- statics: {
- SVG: L.Browser.svg
- },
+ // @function simplify(points: Point[], tolerance: Number): Point[]
+ // Dramatically reduces the number of points in a polyline while retaining
+ // its shape and returns a new array of simplified points, using the
+ // [Douglas-Peucker algorithm](http://en.wikipedia.org/wiki/Douglas-Peucker_algorithm).
+ // Used for a huge performance boost when processing/displaying Leaflet polylines for
+ // each zoom level and also reducing visual noise. tolerance affects the amount of
+ // simplification (lesser value means higher quality but slower and with more points).
+ // Also released as a separated micro-library [Simplify.js](http://mourner.github.com/simplify-js/).
+ simplify: function (points, tolerance) {
+ if (!tolerance || !points.length) {
+ return points.slice();
+ }
- bringToFront: function () {
- var root = this._map._pathRoot,
- path = this._container;
+ var sqTolerance = tolerance * tolerance;
- if (path && root.lastChild !== path) {
- root.appendChild(path);
- }
- return this;
- },
+ // stage 1: vertex reduction
+ points = this._reducePoints(points, sqTolerance);
- bringToBack: function () {
- var root = this._map._pathRoot,
- path = this._container,
- first = root.firstChild;
+ // stage 2: Douglas-Peucker simplification
+ points = this._simplifyDP(points, sqTolerance);
- if (path && first !== path) {
- root.insertBefore(path, first);
- }
- return this;
+ return points;
},
- getPathString: function () {
- // form path string here
+ // @function pointToSegmentDistance(p: Point, p1: Point, p2: Point): Number
+ // Returns the distance between point `p` and segment `p1` to `p2`.
+ pointToSegmentDistance: function (p, p1, p2) {
+ return Math.sqrt(this._sqClosestPointOnSegment(p, p1, p2, true));
},
- _createElement: function (name) {
- return document.createElementNS(L.Path.SVG_NS, name);
+ // @function closestPointOnSegment(p: Point, p1: Point, p2: Point): Number
+ // Returns the closest point from a point `p` on a segment `p1` to `p2`.
+ closestPointOnSegment: function (p, p1, p2) {
+ return this._sqClosestPointOnSegment(p, p1, p2);
},
- _initElements: function () {
- this._map._initPathRoot();
- this._initPath();
- this._initStyle();
- },
+ // Douglas-Peucker simplification, see http://en.wikipedia.org/wiki/Douglas-Peucker_algorithm
+ _simplifyDP: function (points, sqTolerance) {
+
+ var len = points.length,
+ ArrayConstructor = typeof Uint8Array !== undefined + '' ? Uint8Array : Array,
+ markers = new ArrayConstructor(len);
- _initPath: function () {
- this._container = this._createElement('g');
+ markers[0] = markers[len - 1] = 1;
+
+ this._simplifyDPStep(points, markers, sqTolerance, 0, len - 1);
- this._path = this._createElement('path');
+ var i,
+ newPoints = [];
- if (this.options.className) {
- L.DomUtil.addClass(this._path, this.options.className);
+ for (i = 0; i < len; i++) {
+ if (markers[i]) {
+ newPoints.push(points[i]);
+ }
}
- this._container.appendChild(this._path);
+ return newPoints;
},
- _initStyle: function () {
- if (this.options.stroke) {
- this._path.setAttribute('stroke-linejoin', 'round');
- this._path.setAttribute('stroke-linecap', 'round');
+ _simplifyDPStep: function (points, markers, sqTolerance, first, last) {
+
+ var maxSqDist = 0,
+ index, i, sqDist;
+
+ for (i = first + 1; i <= last - 1; i++) {
+ sqDist = this._sqClosestPointOnSegment(points[i], points[first], points[last], true);
+
+ if (sqDist > maxSqDist) {
+ index = i;
+ maxSqDist = sqDist;
+ }
}
- if (this.options.fill) {
- this._path.setAttribute('fill-rule', 'evenodd');
+
+ if (maxSqDist > sqTolerance) {
+ markers[index] = 1;
+
+ this._simplifyDPStep(points, markers, sqTolerance, first, index);
+ this._simplifyDPStep(points, markers, sqTolerance, index, last);
}
- if (this.options.pointerEvents) {
- this._path.setAttribute('pointer-events', this.options.pointerEvents);
+ },
+
+ // reduce points that are too close to each other to a single point
+ _reducePoints: function (points, sqTolerance) {
+ var reducedPoints = [points[0]];
+
+ for (var i = 1, prev = 0, len = points.length; i < len; i++) {
+ if (this._sqDist(points[i], points[prev]) > sqTolerance) {
+ reducedPoints.push(points[i]);
+ prev = i;
+ }
}
- if (!this.options.clickable && !this.options.pointerEvents) {
- this._path.setAttribute('pointer-events', 'none');
+ if (prev < len - 1) {
+ reducedPoints.push(points[len - 1]);
}
- this._updateStyle();
+ return reducedPoints;
},
- _updateStyle: function () {
- if (this.options.stroke) {
- this._path.setAttribute('stroke', this.options.color);
- this._path.setAttribute('stroke-opacity', this.options.opacity);
- this._path.setAttribute('stroke-width', this.options.weight);
- if (this.options.dashArray) {
- this._path.setAttribute('stroke-dasharray', this.options.dashArray);
- } else {
- this._path.removeAttribute('stroke-dasharray');
+
+ // @function clipSegment(a: Point, b: Point, bounds: Bounds, useLastCode?: Boolean, round?: Boolean): Point[]|Boolean
+ // Clips the segment a to b by rectangular bounds with the
+ // [Cohen-Sutherland algorithm](https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm)
+ // (modifying the segment points directly!). Used by Leaflet to only show polyline
+ // points that are on the screen or near, increasing performance.
+ clipSegment: function (a, b, bounds, useLastCode, round) {
+ var codeA = useLastCode ? this._lastCode : this._getBitCode(a, bounds),
+ codeB = this._getBitCode(b, bounds),
+
+ codeOut, p, newCode;
+
+ // save 2nd code to avoid calculating it on the next segment
+ this._lastCode = codeB;
+
+ while (true) {
+ // if a,b is inside the clip window (trivial accept)
+ if (!(codeA | codeB)) {
+ return [a, b];
}
- if (this.options.lineCap) {
- this._path.setAttribute('stroke-linecap', this.options.lineCap);
+
+ // if a,b is outside the clip window (trivial reject)
+ if (codeA & codeB) {
+ return false;
}
- if (this.options.lineJoin) {
- this._path.setAttribute('stroke-linejoin', this.options.lineJoin);
+
+ // other cases
+ codeOut = codeA || codeB;
+ p = this._getEdgeIntersection(a, b, codeOut, bounds, round);
+ newCode = this._getBitCode(p, bounds);
+
+ if (codeOut === codeA) {
+ a = p;
+ codeA = newCode;
+ } else {
+ b = p;
+ codeB = newCode;
}
- } else {
- this._path.setAttribute('stroke', 'none');
- }
- if (this.options.fill) {
- this._path.setAttribute('fill', this.options.fillColor || this.options.color);
- this._path.setAttribute('fill-opacity', this.options.fillOpacity);
- } else {
- this._path.setAttribute('fill', 'none');
}
},
- _updatePath: function () {
- var str = this.getPathString();
- if (!str) {
- // fix webkit empty string parsing bug
- str = 'M0 0';
+ _getEdgeIntersection: function (a, b, code, bounds, round) {
+ var dx = b.x - a.x,
+ dy = b.y - a.y,
+ min = bounds.min,
+ max = bounds.max,
+ x, y;
+
+ if (code & 8) { // top
+ x = a.x + dx * (max.y - a.y) / dy;
+ y = max.y;
+
+ } else if (code & 4) { // bottom
+ x = a.x + dx * (min.y - a.y) / dy;
+ y = min.y;
+
+ } else if (code & 2) { // right
+ x = max.x;
+ y = a.y + dy * (max.x - a.x) / dx;
+
+ } else if (code & 1) { // left
+ x = min.x;
+ y = a.y + dy * (min.x - a.x) / dx;
}
- this._path.setAttribute('d', str);
+
+ return new L.Point(x, y, round);
},
- // TODO remove duplication with L.Map
- _initEvents: function () {
- if (this.options.clickable) {
- if (L.Browser.svg || !L.Browser.vml) {
- L.DomUtil.addClass(this._path, 'leaflet-clickable');
- }
+ _getBitCode: function (p, bounds) {
+ var code = 0;
- L.DomEvent.on(this._container, 'click', this._onMouseClick, this);
+ if (p.x < bounds.min.x) { // left
+ code |= 1;
+ } else if (p.x > bounds.max.x) { // right
+ code |= 2;
+ }
- var events = ['dblclick', 'mousedown', 'mouseover',
- 'mouseout', 'mousemove', 'contextmenu'];
- for (var i = 0; i < events.length; i++) {
- L.DomEvent.on(this._container, events[i], this._fireMouseEvent, this);
- }
+ if (p.y < bounds.min.y) { // bottom
+ code |= 4;
+ } else if (p.y > bounds.max.y) { // top
+ code |= 8;
}
- },
- _onMouseClick: function (e) {
- if (this._map.dragging && this._map.dragging.moved()) { return; }
+ return code;
+ },
- this._fireMouseEvent(e);
+ // square distance (to avoid unnecessary Math.sqrt calls)
+ _sqDist: function (p1, p2) {
+ var dx = p2.x - p1.x,
+ dy = p2.y - p1.y;
+ return dx * dx + dy * dy;
},
- _fireMouseEvent: function (e) {
- if (!this._map || !this.hasEventListeners(e.type)) { return; }
+ // return closest point on segment or distance to that point
+ _sqClosestPointOnSegment: function (p, p1, p2, sqDist) {
+ var x = p1.x,
+ y = p1.y,
+ dx = p2.x - x,
+ dy = p2.y - y,
+ dot = dx * dx + dy * dy,
+ t;
+
+ if (dot > 0) {
+ t = ((p.x - x) * dx + (p.y - y) * dy) / dot;
+
+ if (t > 1) {
+ x = p2.x;
+ y = p2.y;
+ } else if (t > 0) {
+ x += dx * t;
+ y += dy * t;
+ }
+ }
+
+ dx = p.x - x;
+ dy = p.y - y;
- var map = this._map,
- containerPoint = map.mouseEventToContainerPoint(e),
- layerPoint = map.containerPointToLayerPoint(containerPoint),
- latlng = map.layerPointToLatLng(layerPoint);
+ return sqDist ? dx * dx + dy * dy : new L.Point(x, y);
+ }
+};
- this.fire(e.type, {
- latlng: latlng,
- layerPoint: layerPoint,
- containerPoint: containerPoint,
- originalEvent: e
- });
- if (e.type === 'contextmenu') {
- L.DomEvent.preventDefault(e);
- }
- if (e.type !== 'mousemove') {
- L.DomEvent.stopPropagation(e);
- }
- }
-});
-L.Map.include({
- _initPathRoot: function () {
- if (!this._pathRoot) {
- this._pathRoot = L.Path.prototype._createElement('svg');
- this._panes.overlayPane.appendChild(this._pathRoot);
+/*
+ * @class Polyline
+ * @aka L.Polyline
+ * @inherits Path
+ *
+ * A class for drawing polyline overlays on a map. Extends `Path`.
+ *
+ * @example
+ *
+ * ```js
+ * // create a red polyline from an array of LatLng points
+ * var latlngs = [
+ * [-122.68, 45.51],
+ * [-122.43, 37.77],
+ * [-118.2, 34.04]
+ * ];
+ *
+ * var polyline = L.polyline(latlngs, {color: 'red'}).addTo(map);
+ *
+ * // zoom the map to the polyline
+ * map.fitBounds(polyline.getBounds());
+ * ```
+ *
+ * You can also pass a multi-dimensional array to represent a `MultiPolyline` shape:
+ *
+ * ```js
+ * // create a red polyline from an array of arrays of LatLng points
+ * var latlngs = [
+ * [[-122.68, 45.51],
+ * [-122.43, 37.77],
+ * [-118.2, 34.04]],
+ * [[-73.91, 40.78],
+ * [-87.62, 41.83],
+ * [-96.72, 32.76]]
+ * ];
+ * ```
+ */
- if (this.options.zoomAnimation && L.Browser.any3d) {
- L.DomUtil.addClass(this._pathRoot, 'leaflet-zoom-animated');
+L.Polyline = L.Path.extend({
- this.on({
- 'zoomanim': this._animatePathZoom,
- 'zoomend': this._endPathZoom
- });
- } else {
- L.DomUtil.addClass(this._pathRoot, 'leaflet-zoom-hide');
- }
+ // @section
+ // @aka Polyline options
+ options: {
+ // @option smoothFactor: Number = 1.0
+ // How much to simplify the polyline on each zoom level. More means
+ // better performance and smoother look, and less means more accurate representation.
+ smoothFactor: 1.0,
- this.on('moveend', this._updateSvgViewport);
- this._updateSvgViewport();
- }
+ // @option noClip: Boolean = false
+ // Disable polyline clipping.
+ noClip: false
},
- _animatePathZoom: function (e) {
- var scale = this.getZoomScale(e.zoom),
- offset = this._getCenterOffset(e.center)._multiplyBy(-scale)._add(this._pathViewport.min);
+ initialize: function (latlngs, options) {
+ L.setOptions(this, options);
+ this._setLatLngs(latlngs);
+ },
- this._pathRoot.style[L.DomUtil.TRANSFORM] =
- L.DomUtil.getTranslateString(offset) + ' scale(' + scale + ') ';
+ // @method getLatLngs(): LatLng[]
+ // Returns an array of the points in the path, or nested arrays of points in case of multi-polyline.
+ getLatLngs: function () {
+ return this._latlngs;
+ },
- this._pathZooming = true;
+ // @method setLatLngs(latlngs: LatLng[]): this
+ // Replaces all the points in the polyline with the given array of geographical points.
+ setLatLngs: function (latlngs) {
+ this._setLatLngs(latlngs);
+ return this.redraw();
},
- _endPathZoom: function () {
- this._pathZooming = false;
+ // @method isEmpty(): Boolean
+ // Returns `true` if the Polyline has no LatLngs.
+ isEmpty: function () {
+ return !this._latlngs.length;
},
- _updateSvgViewport: function () {
+ closestLayerPoint: function (p) {
+ var minDistance = Infinity,
+ minPoint = null,
+ closest = L.LineUtil._sqClosestPointOnSegment,
+ p1, p2;
- if (this._pathZooming) {
- // Do not update SVGs while a zoom animation is going on otherwise the animation will break.
- // When the zoom animation ends we will be updated again anyway
- // This fixes the case where you do a momentum move and zoom while the move is still ongoing.
- return;
- }
+ for (var j = 0, jLen = this._parts.length; j < jLen; j++) {
+ var points = this._parts[j];
- this._updatePathViewport();
+ for (var i = 1, len = points.length; i < len; i++) {
+ p1 = points[i - 1];
+ p2 = points[i];
- var vp = this._pathViewport,
- min = vp.min,
- max = vp.max,
- width = max.x - min.x,
- height = max.y - min.y,
- root = this._pathRoot,
- pane = this._panes.overlayPane;
+ var sqDist = closest(p, p1, p2, true);
- // Hack to make flicker on drag end on mobile webkit less irritating
- if (L.Browser.mobileWebkit) {
- pane.removeChild(root);
+ if (sqDist < minDistance) {
+ minDistance = sqDist;
+ minPoint = closest(p, p1, p2);
+ }
+ }
}
+ if (minPoint) {
+ minPoint.distance = Math.sqrt(minDistance);
+ }
+ return minPoint;
+ },
- L.DomUtil.setPosition(root, min);
- root.setAttribute('width', width);
- root.setAttribute('height', height);
- root.setAttribute('viewBox', [min.x, min.y, width, height].join(' '));
-
- if (L.Browser.mobileWebkit) {
- pane.appendChild(root);
+ // @method getCenter(): LatLng
+ // Returns the center ([centroid](http://en.wikipedia.org/wiki/Centroid)) of the polyline.
+ getCenter: function () {
+ // throws error when not yet added to map as this center calculation requires projected coordinates
+ if (!this._map) {
+ throw new Error('Must add layer to map before using getCenter()');
}
- }
-});
+ var i, halfDist, segDist, dist, p1, p2, ratio,
+ points = this._rings[0],
+ len = points.length;
-/*
- * Popup extension to L.Path (polylines, polygons, circles), adding popup-related methods.
- */
+ if (!len) { return null; }
-L.Path.include({
+ // polyline centroid algorithm; only uses the first ring if there are multiple
- bindPopup: function (content, options) {
+ for (i = 0, halfDist = 0; i < len - 1; i++) {
+ halfDist += points[i].distanceTo(points[i + 1]) / 2;
+ }
- if (content instanceof L.Popup) {
- this._popup = content;
- } else {
- if (!this._popup || options) {
- this._popup = new L.Popup(options, this);
- }
- this._popup.setContent(content);
+ // The line is so small in the current view that all points are on the same pixel.
+ if (halfDist === 0) {
+ return this._map.layerPointToLatLng(points[0]);
}
- if (!this._popupHandlersAdded) {
- this
- .on('click', this._openPopup, this)
- .on('remove', this.closePopup, this);
+ for (i = 0, dist = 0; i < len - 1; i++) {
+ p1 = points[i];
+ p2 = points[i + 1];
+ segDist = p1.distanceTo(p2);
+ dist += segDist;
- this._popupHandlersAdded = true;
+ if (dist > halfDist) {
+ ratio = (dist - halfDist) / segDist;
+ return this._map.layerPointToLatLng([
+ p2.x - ratio * (p2.x - p1.x),
+ p2.y - ratio * (p2.y - p1.y)
+ ]);
+ }
}
-
- return this;
},
- unbindPopup: function () {
- if (this._popup) {
- this._popup = null;
- this
- .off('click', this._openPopup)
- .off('remove', this.closePopup);
+ // @method getBounds(): LatLngBounds
+ // Returns the `LatLngBounds` of the path.
+ getBounds: function () {
+ return this._bounds;
+ },
+
+ // @method addLatLng(latlng: LatLng, latlngs? LatLng[]): this
+ // Adds a given point to the polyline. By default, adds to the first ring of
+ // the polyline in case of a multi-polyline, but can be overridden by passing
+ // a specific ring as a LatLng array (that you can earlier access with [`getLatLngs`](#polyline-getlatlngs)).
+ addLatLng: function (latlng, latlngs) {
+ latlngs = latlngs || this._defaultShape();
+ latlng = L.latLng(latlng);
+ latlngs.push(latlng);
+ this._bounds.extend(latlng);
+ return this.redraw();
+ },
- this._popupHandlersAdded = false;
- }
- return this;
+ _setLatLngs: function (latlngs) {
+ this._bounds = new L.LatLngBounds();
+ this._latlngs = this._convertLatLngs(latlngs);
},
- openPopup: function (latlng) {
+ _defaultShape: function () {
+ return L.Polyline._flat(this._latlngs) ? this._latlngs : this._latlngs[0];
+ },
- if (this._popup) {
- // open the popup from one of the path's points if not specified
- latlng = latlng || this._latlng ||
- this._latlngs[Math.floor(this._latlngs.length / 2)];
+ // recursively convert latlngs input into actual LatLng instances; calculate bounds along the way
+ _convertLatLngs: function (latlngs) {
+ var result = [],
+ flat = L.Polyline._flat(latlngs);
- this._openPopup({latlng: latlng});
+ for (var i = 0, len = latlngs.length; i < len; i++) {
+ if (flat) {
+ result[i] = L.latLng(latlngs[i]);
+ this._bounds.extend(result[i]);
+ } else {
+ result[i] = this._convertLatLngs(latlngs[i]);
+ }
}
- return this;
+ return result;
},
- closePopup: function () {
- if (this._popup) {
- this._popup._close();
+ _project: function () {
+ var pxBounds = new L.Bounds();
+ this._rings = [];
+ this._projectLatlngs(this._latlngs, this._rings, pxBounds);
+
+ var w = this._clickTolerance(),
+ p = new L.Point(w, w);
+
+ if (this._bounds.isValid() && pxBounds.isValid()) {
+ pxBounds.min._subtract(p);
+ pxBounds.max._add(p);
+ this._pxBounds = pxBounds;
}
- return this;
},
- _openPopup: function (e) {
- this._popup.setLatLng(e.latlng);
- this._map.openPopup(this._popup);
- }
-});
-
+ // recursively turns latlngs into a set of rings with projected coordinates
+ _projectLatlngs: function (latlngs, result, projectedBounds) {
+ var flat = latlngs[0] instanceof L.LatLng,
+ len = latlngs.length,
+ i, ring;
-/*
- * Vector rendering for IE6-8 through VML.
- * Thanks to Dmitry Baranovsky and his Raphael library for inspiration!
- */
+ if (flat) {
+ ring = [];
+ for (i = 0; i < len; i++) {
+ ring[i] = this._map.latLngToLayerPoint(latlngs[i]);
+ projectedBounds.extend(ring[i]);
+ }
+ result.push(ring);
+ } else {
+ for (i = 0; i < len; i++) {
+ this._projectLatlngs(latlngs[i], result, projectedBounds);
+ }
+ }
+ },
-L.Browser.vml = !L.Browser.svg && (function () {
- try {
- var div = document.createElement('div');
- div.innerHTML = '<v:shape adj="1"/>';
+ // clip polyline by renderer bounds so that we have less to render for performance
+ _clipPoints: function () {
+ var bounds = this._renderer._bounds;
- var shape = div.firstChild;
- shape.style.behavior = 'url(#default#VML)';
+ this._parts = [];
+ if (!this._pxBounds || !this._pxBounds.intersects(bounds)) {
+ return;
+ }
- return shape && (typeof shape.adj === 'object');
+ if (this.options.noClip) {
+ this._parts = this._rings;
+ return;
+ }
- } catch (e) {
- return false;
- }
-}());
+ var parts = this._parts,
+ i, j, k, len, len2, segment, points;
-L.Path = L.Browser.svg || !L.Browser.vml ? L.Path : L.Path.extend({
- statics: {
- VML: true,
- CLIP_PADDING: 0.02
- },
+ for (i = 0, k = 0, len = this._rings.length; i < len; i++) {
+ points = this._rings[i];
- _createElement: (function () {
- try {
- document.namespaces.add('lvml', 'urn:schemas-microsoft-com:vml');
- return function (name) {
- return document.createElement('<lvml:' + name + ' class="lvml">');
- };
- } catch (e) {
- return function (name) {
- return document.createElement(
- '<' + name + ' xmlns="urn:schemas-microsoft.com:vml" class="lvml">');
- };
- }
- }()),
+ for (j = 0, len2 = points.length; j < len2 - 1; j++) {
+ segment = L.LineUtil.clipSegment(points[j], points[j + 1], bounds, j, true);
- _initPath: function () {
- var container = this._container = this._createElement('shape');
+ if (!segment) { continue; }
- L.DomUtil.addClass(container, 'leaflet-vml-shape' +
- (this.options.className ? ' ' + this.options.className : ''));
+ parts[k] = parts[k] || [];
+ parts[k].push(segment[0]);
- if (this.options.clickable) {
- L.DomUtil.addClass(container, 'leaflet-clickable');
+ // if segment goes out of screen, or it's the last one, it's the end of the line part
+ if ((segment[1] !== points[j + 1]) || (j === len2 - 2)) {
+ parts[k].push(segment[1]);
+ k++;
+ }
+ }
}
+ },
- container.coordsize = '1 1';
-
- this._path = this._createElement('path');
- container.appendChild(this._path);
+ // simplify each clipped part of the polyline for performance
+ _simplifyPoints: function () {
+ var parts = this._parts,
+ tolerance = this.options.smoothFactor;
- this._map._pathRoot.appendChild(container);
+ for (var i = 0, len = parts.length; i < len; i++) {
+ parts[i] = L.LineUtil.simplify(parts[i], tolerance);
+ }
},
- _initStyle: function () {
- this._updateStyle();
+ _update: function () {
+ if (!this._map) { return; }
+
+ this._clipPoints();
+ this._simplifyPoints();
+ this._updatePath();
},
- _updateStyle: function () {
- var stroke = this._stroke,
- fill = this._fill,
- options = this.options,
- container = this._container;
+ _updatePath: function () {
+ this._renderer._updatePoly(this);
+ }
+});
- container.stroked = options.stroke;
- container.filled = options.fill;
+// @factory L.polyline(latlngs: LatLng[], options?: Polyline options)
+// Instantiates a polyline object given an array of geographical points and
+// optionally an options object. You can create a `Polyline` object with
+// multiple separate lines (`MultiPolyline`) by passing an array of arrays
+// of geographic points.
+L.polyline = function (latlngs, options) {
+ return new L.Polyline(latlngs, options);
+};
- if (options.stroke) {
- if (!stroke) {
- stroke = this._stroke = this._createElement('stroke');
- stroke.endcap = 'round';
- container.appendChild(stroke);
- }
- stroke.weight = options.weight + 'px';
- stroke.color = options.color;
- stroke.opacity = options.opacity;
+L.Polyline._flat = function (latlngs) {
+ // true if it's a flat array of latlngs; false if nested
+ return !L.Util.isArray(latlngs[0]) || (typeof latlngs[0][0] !== 'object' && typeof latlngs[0][0] !== 'undefined');
+};
- if (options.dashArray) {
- stroke.dashStyle = L.Util.isArray(options.dashArray) ?
- options.dashArray.join(' ') :
- options.dashArray.replace(/( *, *)/g, ' ');
- } else {
- stroke.dashStyle = '';
- }
- if (options.lineCap) {
- stroke.endcap = options.lineCap.replace('butt', 'flat');
- }
- if (options.lineJoin) {
- stroke.joinstyle = options.lineJoin;
- }
- } else if (stroke) {
- container.removeChild(stroke);
- this._stroke = null;
- }
- if (options.fill) {
- if (!fill) {
- fill = this._fill = this._createElement('fill');
- container.appendChild(fill);
- }
- fill.color = options.fillColor || options.color;
- fill.opacity = options.fillOpacity;
+/*
+ * @namespace PolyUtil
+ * Various utility functions for polygon geometries.
+ */
- } else if (fill) {
- container.removeChild(fill);
- this._fill = null;
- }
- },
+L.PolyUtil = {};
- _updatePath: function () {
- var style = this._container.style;
+/* @function clipPolygon(points: Point[], bounds: Bounds, round?: Boolean): Point[]
+ * Clips the polygon geometry defined by the given `points` by the given bounds (using the [Sutherland-Hodgeman algorithm](https://en.wikipedia.org/wiki/Sutherland%E2%80%93Hodgman_algorithm)).
+ * Used by Leaflet to only show polygon points that are on the screen or near, increasing
+ * performance. Note that polygon points needs different algorithm for clipping
+ * than polyline, so there's a seperate method for it.
+ */
+L.PolyUtil.clipPolygon = function (points, bounds, round) {
+ var clippedPoints,
+ edges = [1, 4, 2, 8],
+ i, j, k,
+ a, b,
+ len, edge, p,
+ lu = L.LineUtil;
- style.display = 'none';
- this._path.v = this.getPathString() + ' '; // the space fixes IE empty path string bug
- style.display = '';
+ for (i = 0, len = points.length; i < len; i++) {
+ points[i]._code = lu._getBitCode(points[i], bounds);
}
-});
-L.Map.include(L.Browser.svg || !L.Browser.vml ? {} : {
- _initPathRoot: function () {
- if (this._pathRoot) { return; }
+ // for each edge (left, bottom, right, top)
+ for (k = 0; k < 4; k++) {
+ edge = edges[k];
+ clippedPoints = [];
+
+ for (i = 0, len = points.length, j = len - 1; i < len; j = i++) {
+ a = points[i];
+ b = points[j];
- var root = this._pathRoot = document.createElement('div');
- root.className = 'leaflet-vml-container';
- this._panes.overlayPane.appendChild(root);
+ // if a is inside the clip window
+ if (!(a._code & edge)) {
+ // if b is outside the clip window (a->b goes out of screen)
+ if (b._code & edge) {
+ p = lu._getEdgeIntersection(b, a, edge, bounds, round);
+ p._code = lu._getBitCode(p, bounds);
+ clippedPoints.push(p);
+ }
+ clippedPoints.push(a);
- this.on('moveend', this._updatePathViewport);
- this._updatePathViewport();
+ // else if b is inside the clip window (a->b enters the screen)
+ } else if (!(b._code & edge)) {
+ p = lu._getEdgeIntersection(b, a, edge, bounds, round);
+ p._code = lu._getBitCode(p, bounds);
+ clippedPoints.push(p);
+ }
+ }
+ points = clippedPoints;
}
-});
+
+ return points;
+};
+
/*
- * Vector rendering for all browsers that support canvas.
+ * @class Polygon
+ * @aka L.Polygon
+ * @inherits Polyline
+ *
+ * A class for drawing polygon overlays on a map. Extends `Polyline`.
+ *
+ * Note that points you pass when creating a polygon shouldn't have an additional last point equal to the first one — it's better to filter out such points.
+ *
+ *
+ * @example
+ *
+ * ```js
+ * // create a red polygon from an array of LatLng points
+ * var latlngs = [[-111.03, 41],[-111.04, 45],[-104.05, 45],[-104.05, 41]];
+ *
+ * var polygon = L.polygon(latlngs, {color: 'red'}).addTo(map);
+ *
+ * // zoom the map to the polygon
+ * map.fitBounds(polygon.getBounds());
+ * ```
+ *
+ * You can also pass an array of arrays of latlngs, with the first array representing the outer shape and the other arrays representing holes in the outer shape:
+ *
+ * ```js
+ * var latlngs = [
+ * [[-111.03, 41],[-111.04, 45],[-104.05, 45],[-104.05, 41]], // outer ring
+ * [[-108.58,37.29],[-108.58,40.71],[-102.50,40.71],[-102.50,37.29]] // hole
+ * ];
+ * ```
+ *
+ * Additionally, you can pass a multi-dimensional array to represent a MultiPolygon shape.
+ *
+ * ```js
+ * var latlngs = [
+ * [ // first polygon
+ * [[-111.03, 41],[-111.04, 45],[-104.05, 45],[-104.05, 41]], // outer ring
+ * [[-108.58,37.29],[-108.58,40.71],[-102.50,40.71],[-102.50,37.29]] // hole
+ * ],
+ * [ // second polygon
+ * [[-109.05, 37],[-109.03, 41],[-102.05, 41],[-102.04, 37],[-109.05, 38]]
+ * ]
+ * ];
+ * ```
*/
-L.Browser.canvas = (function () {
- return !!document.createElement('canvas').getContext;
-}());
-
-L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path : L.Path.extend({
- statics: {
- //CLIP_PADDING: 0.02, // not sure if there's a need to set it to a small value
- CANVAS: true,
- SVG: false
- },
+L.Polygon = L.Polyline.extend({
- redraw: function () {
- if (this._map) {
- this.projectLatlngs();
- this._requestUpdate();
- }
- return this;
+ options: {
+ fill: true
},
- setStyle: function (style) {
- L.setOptions(this, style);
-
- if (this._map) {
- this._updateStyle();
- this._requestUpdate();
- }
- return this;
+ isEmpty: function () {
+ return !this._latlngs.length || !this._latlngs[0].length;
},
- onRemove: function (map) {
- map
- .off('viewreset', this.projectLatlngs, this)
- .off('moveend', this._updatePath, this);
-
- if (this.options.clickable) {
- this._map.off('click', this._onClick, this);
- this._map.off('mousemove', this._onMouseMove, this);
+ getCenter: function () {
+ // throws error when not yet added to map as this center calculation requires projected coordinates
+ if (!this._map) {
+ throw new Error('Must add layer to map before using getCenter()');
}
- this._requestUpdate();
-
- this.fire('remove');
- this._map = null;
- },
+ var i, j, p1, p2, f, area, x, y, center,
+ points = this._rings[0],
+ len = points.length;
- _requestUpdate: function () {
- if (this._map && !L.Path._updateRequest) {
- L.Path._updateRequest = L.Util.requestAnimFrame(this._fireMapMoveEnd, this._map);
- }
- },
+ if (!len) { return null; }
- _fireMapMoveEnd: function () {
- L.Path._updateRequest = null;
- this.fire('moveend');
- },
+ // polygon centroid algorithm; only uses the first ring if there are multiple
- _initElements: function () {
- this._map._initPathRoot();
- this._ctx = this._map._canvasCtx;
- },
+ area = x = y = 0;
- _updateStyle: function () {
- var options = this.options;
+ for (i = 0, j = len - 1; i < len; j = i++) {
+ p1 = points[i];
+ p2 = points[j];
- if (options.stroke) {
- this._ctx.lineWidth = options.weight;
- this._ctx.strokeStyle = options.color;
- }
- if (options.fill) {
- this._ctx.fillStyle = options.fillColor || options.color;
+ f = p1.y * p2.x - p2.y * p1.x;
+ x += (p1.x + p2.x) * f;
+ y += (p1.y + p2.y) * f;
+ area += f * 3;
}
- if (options.lineCap) {
- this._ctx.lineCap = options.lineCap;
- }
- if (options.lineJoin) {
- this._ctx.lineJoin = options.lineJoin;
+ if (area === 0) {
+ // Polygon is so small that all points are on same pixel.
+ center = points[0];
+ } else {
+ center = [x / area, y / area];
}
+ return this._map.layerPointToLatLng(center);
},
- _drawPath: function () {
- var i, j, len, len2, point, drawMethod;
+ _convertLatLngs: function (latlngs) {
+ var result = L.Polyline.prototype._convertLatLngs.call(this, latlngs),
+ len = result.length;
- this._ctx.beginPath();
-
- for (i = 0, len = this._parts.length; i < len; i++) {
- for (j = 0, len2 = this._parts[i].length; j < len2; j++) {
- point = this._parts[i][j];
- drawMethod = (j === 0 ? 'move' : 'line') + 'To';
+ // remove last point if it equals first one
+ if (len >= 2 && result[0] instanceof L.LatLng && result[0].equals(result[len - 1])) {
+ result.pop();
+ }
+ return result;
+ },
- this._ctx[drawMethod](point.x, point.y);
- }
- // TODO refactor ugly hack
- if (this instanceof L.Polygon) {
- this._ctx.closePath();
- }
+ _setLatLngs: function (latlngs) {
+ L.Polyline.prototype._setLatLngs.call(this, latlngs);
+ if (L.Polyline._flat(this._latlngs)) {
+ this._latlngs = [this._latlngs];
}
},
- _checkIfEmpty: function () {
- return !this._parts.length;
+ _defaultShape: function () {
+ return L.Polyline._flat(this._latlngs[0]) ? this._latlngs[0] : this._latlngs[0][0];
},
- _updatePath: function () {
- if (this._checkIfEmpty()) { return; }
+ _clipPoints: function () {
+ // polygons need a different clipping algorithm so we redefine that
- var ctx = this._ctx,
- options = this.options;
+ var bounds = this._renderer._bounds,
+ w = this.options.weight,
+ p = new L.Point(w, w);
- this._drawPath();
- ctx.save();
- this._updateStyle();
+ // increase clip padding by stroke width to avoid stroke on clip edges
+ bounds = new L.Bounds(bounds.min.subtract(p), bounds.max.add(p));
- if (options.fill) {
- ctx.globalAlpha = options.fillOpacity;
- ctx.fill(options.fillRule || 'evenodd');
+ this._parts = [];
+ if (!this._pxBounds || !this._pxBounds.intersects(bounds)) {
+ return;
}
- if (options.stroke) {
- ctx.globalAlpha = options.opacity;
- ctx.stroke();
+ if (this.options.noClip) {
+ this._parts = this._rings;
+ return;
}
- ctx.restore();
-
- // TODO optimization: 1 fill/stroke for all features with equal style instead of 1 for each feature
- },
-
- _initEvents: function () {
- if (this.options.clickable) {
- this._map.on('mousemove', this._onMouseMove, this);
- this._map.on('click dblclick contextmenu', this._fireMouseEvent, this);
+ for (var i = 0, len = this._rings.length, clipped; i < len; i++) {
+ clipped = L.PolyUtil.clipPolygon(this._rings[i], bounds, true);
+ if (clipped.length) {
+ this._parts.push(clipped);
+ }
}
},
- _fireMouseEvent: function (e) {
- if (this._containsPoint(e.layerPoint)) {
- this.fire(e.type, e);
- }
- },
+ _updatePath: function () {
+ this._renderer._updatePoly(this, true);
+ }
+});
- _onMouseMove: function (e) {
- if (!this._map || this._map._animatingZoom) { return; }
- // TODO don't do on each move
- if (this._containsPoint(e.layerPoint)) {
- this._ctx.canvas.style.cursor = 'pointer';
- this._mouseInside = true;
- this.fire('mouseover', e);
+// @factory L.polygon(latlngs: LatLng[], options?: Polyline options)
+L.polygon = function (latlngs, options) {
+ return new L.Polygon(latlngs, options);
+};
- } else if (this._mouseInside) {
- this._ctx.canvas.style.cursor = '';
- this._mouseInside = false;
- this.fire('mouseout', e);
- }
- }
-});
-L.Map.include((L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? {} : {
- _initPathRoot: function () {
- var root = this._pathRoot,
- ctx;
- if (!root) {
- root = this._pathRoot = document.createElement('canvas');
- root.style.position = 'absolute';
- ctx = this._canvasCtx = root.getContext('2d');
+/*
+ * L.Rectangle extends Polygon and creates a rectangle when passed a LatLngBounds object.
+ */
- ctx.lineCap = 'round';
- ctx.lineJoin = 'round';
+/*
+ * @class Rectangle
+ * @aka L.Retangle
+ * @inherits Polygon
+ *
+ * A class for drawing rectangle overlays on a map. Extends `Polygon`.
+ *
+ * @example
+ *
+ * ```js
+ * // define rectangle geographical bounds
+ * var bounds = [[54.559322, -5.767822], [56.1210604, -3.021240]];
+ *
+ * // create an orange rectangle
+ * L.rectangle(bounds, {color: "#ff7800", weight: 1}).addTo(map);
+ *
+ * // zoom the map to the rectangle bounds
+ * map.fitBounds(bounds);
+ * ```
+ *
+ */
- this._panes.overlayPane.appendChild(root);
- if (this.options.zoomAnimation) {
- this._pathRoot.className = 'leaflet-zoom-animated';
- this.on('zoomanim', this._animatePathZoom);
- this.on('zoomend', this._endPathZoom);
- }
- this.on('moveend', this._updateCanvasViewport);
- this._updateCanvasViewport();
- }
+L.Rectangle = L.Polygon.extend({
+ initialize: function (latLngBounds, options) {
+ L.Polygon.prototype.initialize.call(this, this._boundsToLatLngs(latLngBounds), options);
},
- _updateCanvasViewport: function () {
- // don't redraw while zooming. See _updateSvgViewport for more details
- if (this._pathZooming) { return; }
- this._updatePathViewport();
-
- var vp = this._pathViewport,
- min = vp.min,
- size = vp.max.subtract(min),
- root = this._pathRoot;
+ // @method setBounds(latLngBounds: LatLngBounds): this
+ // Redraws the rectangle with the passed bounds.
+ setBounds: function (latLngBounds) {
+ return this.setLatLngs(this._boundsToLatLngs(latLngBounds));
+ },
- //TODO check if this works properly on mobile webkit
- L.DomUtil.setPosition(root, min);
- root.width = size.x;
- root.height = size.y;
- root.getContext('2d').translate(-min.x, -min.y);
+ _boundsToLatLngs: function (latLngBounds) {
+ latLngBounds = L.latLngBounds(latLngBounds);
+ return [
+ latLngBounds.getSouthWest(),
+ latLngBounds.getNorthWest(),
+ latLngBounds.getNorthEast(),
+ latLngBounds.getSouthEast()
+ ];
}
});
+// @factory L.rectangle(latLngBounds: LatLngBounds, options?: Polyline options)
+L.rectangle = function (latLngBounds, options) {
+ return new L.Rectangle(latLngBounds, options);
+};
+
+
+
/*
- * L.LineUtil contains different utility functions for line segments
- * and polylines (clipping, simplification, distances, etc.)
+ * @class CircleMarker
+ * @aka L.CircleMarker
+ * @inherits Path
+ *
+ * A circle of a fixed size with radius specified in pixels. Extends `Path`.
*/
-/*jshint bitwise:false */ // allow bitwise operations for this file
+L.CircleMarker = L.Path.extend({
-L.LineUtil = {
+ // @section
+ // @aka CircleMarker options
+ options: {
+ fill: true,
- // Simplify polyline with vertex reduction and Douglas-Peucker simplification.
- // Improves rendering performance dramatically by lessening the number of points to draw.
+ // @option radius: Number = 10
+ // Radius of the circle marker, in pixels
+ radius: 10
+ },
- simplify: function (/*Point[]*/ points, /*Number*/ tolerance) {
- if (!tolerance || !points.length) {
- return points.slice();
- }
+ initialize: function (latlng, options) {
+ L.setOptions(this, options);
+ this._latlng = L.latLng(latlng);
+ this._radius = this.options.radius;
+ },
- var sqTolerance = tolerance * tolerance;
+ // @method setLatLng(latLng: LatLng): this
+ // Sets the position of a circle marker to a new location.
+ setLatLng: function (latlng) {
+ this._latlng = L.latLng(latlng);
+ this.redraw();
+ return this.fire('move', {latlng: this._latlng});
+ },
- // stage 1: vertex reduction
- points = this._reducePoints(points, sqTolerance);
+ // @method getLatLng(): LatLng
+ // Returns the current geographical position of the circle marker
+ getLatLng: function () {
+ return this._latlng;
+ },
- // stage 2: Douglas-Peucker simplification
- points = this._simplifyDP(points, sqTolerance);
+ // @method setRadius(radius: Number): this
+ // Sets the radius of a circle marker. Units are in pixels.
+ setRadius: function (radius) {
+ this.options.radius = this._radius = radius;
+ return this.redraw();
+ },
- return points;
+ // @method getRadius(): Number
+ // Returns the current radius of the circle
+ getRadius: function () {
+ return this._radius;
},
- // distance from a point to a segment between two points
- pointToSegmentDistance: function (/*Point*/ p, /*Point*/ p1, /*Point*/ p2) {
- return Math.sqrt(this._sqClosestPointOnSegment(p, p1, p2, true));
+ setStyle : function (options) {
+ var radius = options && options.radius || this._radius;
+ L.Path.prototype.setStyle.call(this, options);
+ this.setRadius(radius);
+ return this;
},
- closestPointOnSegment: function (/*Point*/ p, /*Point*/ p1, /*Point*/ p2) {
- return this._sqClosestPointOnSegment(p, p1, p2);
+ _project: function () {
+ this._point = this._map.latLngToLayerPoint(this._latlng);
+ this._updateBounds();
},
- // Douglas-Peucker simplification, see http://en.wikipedia.org/wiki/Douglas-Peucker_algorithm
- _simplifyDP: function (points, sqTolerance) {
+ _updateBounds: function () {
+ var r = this._radius,
+ r2 = this._radiusY || r,
+ w = this._clickTolerance(),
+ p = [r + w, r2 + w];
+ this._pxBounds = new L.Bounds(this._point.subtract(p), this._point.add(p));
+ },
- var len = points.length,
- ArrayConstructor = typeof Uint8Array !== undefined + '' ? Uint8Array : Array,
- markers = new ArrayConstructor(len);
+ _update: function () {
+ if (this._map) {
+ this._updatePath();
+ }
+ },
- markers[0] = markers[len - 1] = 1;
+ _updatePath: function () {
+ this._renderer._updateCircle(this);
+ },
- this._simplifyDPStep(points, markers, sqTolerance, 0, len - 1);
+ _empty: function () {
+ return this._radius && !this._renderer._bounds.intersects(this._pxBounds);
+ }
+});
- var i,
- newPoints = [];
- for (i = 0; i < len; i++) {
- if (markers[i]) {
- newPoints.push(points[i]);
- }
- }
+// @factory L.circleMarker(latlng: LatLng, options?: CircleMarker options)
+// Instantiates a circle marker object given a geographical point, and an optional options object.
+L.circleMarker = function (latlng, options) {
+ return new L.CircleMarker(latlng, options);
+};
- return newPoints;
- },
- _simplifyDPStep: function (points, markers, sqTolerance, first, last) {
- var maxSqDist = 0,
- index, i, sqDist;
+/*
+ * @class Circle
+ * @aka L.Circle
+ * @inherits CircleMarker
+ *
+ * A class for drawing circle overlays on a map. Extends `CircleMarker`.
+ *
+ * It's an approximation and starts to diverge from a real circle closer to poles (due to projection distortion).
+ *
+ * @example
+ *
+ * ```js
+ * L.circle([50.5, 30.5], {radius: 200}).addTo(map);
+ * ```
+ */
- for (i = first + 1; i <= last - 1; i++) {
- sqDist = this._sqClosestPointOnSegment(points[i], points[first], points[last], true);
+L.Circle = L.CircleMarker.extend({
- if (sqDist > maxSqDist) {
- index = i;
- maxSqDist = sqDist;
- }
+ initialize: function (latlng, options, legacyOptions) {
+ if (typeof options === 'number') {
+ // Backwards compatibility with 0.7.x factory (latlng, radius, options?)
+ options = L.extend({}, legacyOptions, {radius: options});
}
+ L.setOptions(this, options);
+ this._latlng = L.latLng(latlng);
- if (maxSqDist > sqTolerance) {
- markers[index] = 1;
+ if (isNaN(this.options.radius)) { throw new Error('Circle radius cannot be NaN'); }
- this._simplifyDPStep(points, markers, sqTolerance, first, index);
- this._simplifyDPStep(points, markers, sqTolerance, index, last);
- }
+ // @section
+ // @aka Circle options
+ // @option radius: Number; Radius of the circle, in meters.
+ this._mRadius = this.options.radius;
},
- // reduce points that are too close to each other to a single point
- _reducePoints: function (points, sqTolerance) {
- var reducedPoints = [points[0]];
-
- for (var i = 1, prev = 0, len = points.length; i < len; i++) {
- if (this._sqDist(points[i], points[prev]) > sqTolerance) {
- reducedPoints.push(points[i]);
- prev = i;
- }
- }
- if (prev < len - 1) {
- reducedPoints.push(points[len - 1]);
- }
- return reducedPoints;
+ // @method setRadius(radius: Number): this
+ // Sets the radius of a circle. Units are in meters.
+ setRadius: function (radius) {
+ this._mRadius = radius;
+ return this.redraw();
},
- // Cohen-Sutherland line clipping algorithm.
- // Used to avoid rendering parts of a polyline that are not currently visible.
+ // @method getRadius(): Number
+ // Returns the current radius of a circle. Units are in meters.
+ getRadius: function () {
+ return this._mRadius;
+ },
- clipSegment: function (a, b, bounds, useLastCode) {
- var codeA = useLastCode ? this._lastCode : this._getBitCode(a, bounds),
- codeB = this._getBitCode(b, bounds),
+ // @method getBounds(): LatLngBounds
+ // Returns the `LatLngBounds` of the path.
+ getBounds: function () {
+ var half = [this._radius, this._radiusY || this._radius];
- codeOut, p, newCode;
+ return new L.LatLngBounds(
+ this._map.layerPointToLatLng(this._point.subtract(half)),
+ this._map.layerPointToLatLng(this._point.add(half)));
+ },
- // save 2nd code to avoid calculating it on the next segment
- this._lastCode = codeB;
+ setStyle: L.Path.prototype.setStyle,
- while (true) {
- // if a,b is inside the clip window (trivial accept)
- if (!(codeA | codeB)) {
- return [a, b];
- // if a,b is outside the clip window (trivial reject)
- } else if (codeA & codeB) {
- return false;
- // other cases
- } else {
- codeOut = codeA || codeB;
- p = this._getEdgeIntersection(a, b, codeOut, bounds);
- newCode = this._getBitCode(p, bounds);
+ _project: function () {
- if (codeOut === codeA) {
- a = p;
- codeA = newCode;
- } else {
- b = p;
- codeB = newCode;
- }
+ var lng = this._latlng.lng,
+ lat = this._latlng.lat,
+ map = this._map,
+ crs = map.options.crs;
+
+ if (crs.distance === L.CRS.Earth.distance) {
+ var d = Math.PI / 180,
+ latR = (this._mRadius / L.CRS.Earth.R) / d,
+ top = map.project([lat + latR, lng]),
+ bottom = map.project([lat - latR, lng]),
+ p = top.add(bottom).divideBy(2),
+ lat2 = map.unproject(p).lat,
+ lngR = Math.acos((Math.cos(latR * d) - Math.sin(lat * d) * Math.sin(lat2 * d)) /
+ (Math.cos(lat * d) * Math.cos(lat2 * d))) / d;
+
+ if (isNaN(lngR) || lngR === 0) {
+ lngR = latR / Math.cos(Math.PI / 180 * lat); // Fallback for edge case, #2425
}
- }
- },
- _getEdgeIntersection: function (a, b, code, bounds) {
- var dx = b.x - a.x,
- dy = b.y - a.y,
- min = bounds.min,
- max = bounds.max;
+ this._point = p.subtract(map.getPixelOrigin());
+ this._radius = isNaN(lngR) ? 0 : Math.max(Math.round(p.x - map.project([lat2, lng - lngR]).x), 1);
+ this._radiusY = Math.max(Math.round(p.y - top.y), 1);
- if (code & 8) { // top
- return new L.Point(a.x + dx * (max.y - a.y) / dy, max.y);
- } else if (code & 4) { // bottom
- return new L.Point(a.x + dx * (min.y - a.y) / dy, min.y);
- } else if (code & 2) { // right
- return new L.Point(max.x, a.y + dy * (max.x - a.x) / dx);
- } else if (code & 1) { // left
- return new L.Point(min.x, a.y + dy * (min.x - a.x) / dx);
+ } else {
+ var latlng2 = crs.unproject(crs.project(this._latlng).subtract([this._mRadius, 0]));
+
+ this._point = map.latLngToLayerPoint(this._latlng);
+ this._radius = this._point.x - map.latLngToLayerPoint(latlng2).x;
}
- },
- _getBitCode: function (/*Point*/ p, bounds) {
- var code = 0;
+ this._updateBounds();
+ }
+});
- if (p.x < bounds.min.x) { // left
- code |= 1;
- } else if (p.x > bounds.max.x) { // right
- code |= 2;
- }
- if (p.y < bounds.min.y) { // bottom
- code |= 4;
- } else if (p.y > bounds.max.y) { // top
- code |= 8;
- }
+// @factory L.circle(latlng: LatLng, options?: Circle options)
+// Instantiates a circle object given a geographical point, and an options object
+// which contains the circle radius.
+// @alternative
+// @factory L.circle(latlng: LatLng, radius: Number, options?: Circle options)
+// Obsolete way of instantiating a circle, for compatibility with 0.7.x code.
+// Do not use in new applications or plugins.
+L.circle = function (latlng, options, legacyOptions) {
+ return new L.Circle(latlng, options, legacyOptions);
+};
- return code;
- },
- // square distance (to avoid unnecessary Math.sqrt calls)
- _sqDist: function (p1, p2) {
- var dx = p2.x - p1.x,
- dy = p2.y - p1.y;
- return dx * dx + dy * dy;
+
+/*
+ * @class SVG
+ * @inherits Renderer
+ * @aka L.SVG
+ *
+ * Allows vector layers to be displayed with [SVG](https://developer.mozilla.org/docs/Web/SVG).
+ * Inherits `Renderer`.
+ *
+ * Due to [technical limitations](http://caniuse.com/#search=svg), SVG is not
+ * available in all web browsers, notably Android 2.x and 3.x.
+ *
+ * Although SVG is not available on IE7 and IE8, these browsers support
+ * [VML](https://en.wikipedia.org/wiki/Vector_Markup_Language)
+ * (a now deprecated technology), and the SVG renderer will fall back to VML in
+ * this case.
+ *
+ * @example
+ *
+ * Use SVG by default for all paths in the map:
+ *
+ * ```js
+ * var map = L.map('map', {
+ * renderer: L.svg()
+ * });
+ * ```
+ *
+ * Use a SVG renderer with extra padding for specific vector geometries:
+ *
+ * ```js
+ * var map = L.map('map');
+ * var myRenderer = L.svg({ padding: 0.5 });
+ * var line = L.polyline( coordinates, { renderer: myRenderer } );
+ * var circle = L.circle( center, { renderer: myRenderer } );
+ * ```
+ */
+
+L.SVG = L.Renderer.extend({
+
+ getEvents: function () {
+ var events = L.Renderer.prototype.getEvents.call(this);
+ events.zoomstart = this._onZoomStart;
+ return events;
},
- // return closest point on segment or distance to that point
- _sqClosestPointOnSegment: function (p, p1, p2, sqDist) {
- var x = p1.x,
- y = p1.y,
- dx = p2.x - x,
- dy = p2.y - y,
- dot = dx * dx + dy * dy,
- t;
+ _initContainer: function () {
+ this._container = L.SVG.create('svg');
- if (dot > 0) {
- t = ((p.x - x) * dx + (p.y - y) * dy) / dot;
+ // makes it possible to click through svg root; we'll reset it back in individual paths
+ this._container.setAttribute('pointer-events', 'none');
- if (t > 1) {
- x = p2.x;
- y = p2.y;
- } else if (t > 0) {
- x += dx * t;
- y += dy * t;
- }
- }
+ this._rootGroup = L.SVG.create('g');
+ this._container.appendChild(this._rootGroup);
+ },
- dx = p.x - x;
- dy = p.y - y;
+ _onZoomStart: function () {
+ // Drag-then-pinch interactions might mess up the center and zoom.
+ // In this case, the easiest way to prevent this is re-do the renderer
+ // bounds and padding when the zooming starts.
+ this._update();
+ },
- return sqDist ? dx * dx + dy * dy : new L.Point(x, y);
- }
-};
+ _update: function () {
+ if (this._map._animatingZoom && this._bounds) { return; }
+ L.Renderer.prototype._update.call(this);
-/*
- * L.Polyline is used to display polylines on a map.
- */
+ var b = this._bounds,
+ size = b.getSize(),
+ container = this._container;
-L.Polyline = L.Path.extend({
- initialize: function (latlngs, options) {
- L.Path.prototype.initialize.call(this, options);
+ // set size of svg-container if changed
+ if (!this._svgSize || !this._svgSize.equals(size)) {
+ this._svgSize = size;
+ container.setAttribute('width', size.x);
+ container.setAttribute('height', size.y);
+ }
- this._latlngs = this._convertLatLngs(latlngs);
- },
+ // movement: update container viewBox so that we don't have to change coordinates of individual layers
+ L.DomUtil.setPosition(container, b.min);
+ container.setAttribute('viewBox', [b.min.x, b.min.y, size.x, size.y].join(' '));
- options: {
- // how much to simplify the polyline on each zoom level
- // more = better performance and smoother look, less = more accurate
- smoothFactor: 1.0,
- noClip: false
+ this.fire('update');
},
- projectLatlngs: function () {
- this._originalPoints = [];
+ // methods below are called by vector layers implementations
- for (var i = 0, len = this._latlngs.length; i < len; i++) {
- this._originalPoints[i] = this._map.latLngToLayerPoint(this._latlngs[i]);
+ _initPath: function (layer) {
+ var path = layer._path = L.SVG.create('path');
+
+ // @namespace Path
+ // @option className: String = null
+ // Custom class name set on an element. Only for SVG renderer.
+ if (layer.options.className) {
+ L.DomUtil.addClass(path, layer.options.className);
}
- },
- getPathString: function () {
- for (var i = 0, len = this._parts.length, str = ''; i < len; i++) {
- str += this._getPathPartStr(this._parts[i]);
+ if (layer.options.interactive) {
+ L.DomUtil.addClass(path, 'leaflet-interactive');
}
- return str;
- },
- getLatLngs: function () {
- return this._latlngs;
+ this._updateStyle(layer);
},
- setLatLngs: function (latlngs) {
- this._latlngs = this._convertLatLngs(latlngs);
- return this.redraw();
+ _addPath: function (layer) {
+ this._rootGroup.appendChild(layer._path);
+ layer.addInteractiveTarget(layer._path);
},
- addLatLng: function (latlng) {
- this._latlngs.push(L.latLng(latlng));
- return this.redraw();
+ _removePath: function (layer) {
+ L.DomUtil.remove(layer._path);
+ layer.removeInteractiveTarget(layer._path);
},
- spliceLatLngs: function () { // (Number index, Number howMany)
- var removed = [].splice.apply(this._latlngs, arguments);
- this._convertLatLngs(this._latlngs, true);
- this.redraw();
- return removed;
+ _updatePath: function (layer) {
+ layer._project();
+ layer._update();
},
- closestLayerPoint: function (p) {
- var minDistance = Infinity, parts = this._parts, p1, p2, minPoint = null;
+ _updateStyle: function (layer) {
+ var path = layer._path,
+ options = layer.options;
- for (var j = 0, jLen = parts.length; j < jLen; j++) {
- var points = parts[j];
- for (var i = 1, len = points.length; i < len; i++) {
- p1 = points[i - 1];
- p2 = points[i];
- var sqDist = L.LineUtil._sqClosestPointOnSegment(p, p1, p2, true);
- if (sqDist < minDistance) {
- minDistance = sqDist;
- minPoint = L.LineUtil._sqClosestPointOnSegment(p, p1, p2);
- }
+ if (!path) { return; }
+
+ if (options.stroke) {
+ path.setAttribute('stroke', options.color);
+ path.setAttribute('stroke-opacity', options.opacity);
+ path.setAttribute('stroke-width', options.weight);
+ path.setAttribute('stroke-linecap', options.lineCap);
+ path.setAttribute('stroke-linejoin', options.lineJoin);
+
+ if (options.dashArray) {
+ path.setAttribute('stroke-dasharray', options.dashArray);
+ } else {
+ path.removeAttribute('stroke-dasharray');
+ }
+
+ if (options.dashOffset) {
+ path.setAttribute('stroke-dashoffset', options.dashOffset);
+ } else {
+ path.removeAttribute('stroke-dashoffset');
}
+ } else {
+ path.setAttribute('stroke', 'none');
}
- if (minPoint) {
- minPoint.distance = Math.sqrt(minDistance);
+
+ if (options.fill) {
+ path.setAttribute('fill', options.fillColor || options.color);
+ path.setAttribute('fill-opacity', options.fillOpacity);
+ path.setAttribute('fill-rule', options.fillRule || 'evenodd');
+ } else {
+ path.setAttribute('fill', 'none');
}
- return minPoint;
},
- getBounds: function () {
- return new L.LatLngBounds(this.getLatLngs());
+ _updatePoly: function (layer, closed) {
+ this._setPath(layer, L.SVG.pointsToPath(layer._parts, closed));
},
- _convertLatLngs: function (latlngs, overwrite) {
- var i, len, target = overwrite ? latlngs : [];
+ _updateCircle: function (layer) {
+ var p = layer._point,
+ r = layer._radius,
+ r2 = layer._radiusY || r,
+ arc = 'a' + r + ',' + r2 + ' 0 1,0 ';
- for (i = 0, len = latlngs.length; i < len; i++) {
- if (L.Util.isArray(latlngs[i]) && typeof latlngs[i][0] !== 'number') {
- return;
- }
- target[i] = L.latLng(latlngs[i]);
- }
- return target;
- },
+ // drawing a circle with two half-arcs
+ var d = layer._empty() ? 'M0 0' :
+ 'M' + (p.x - r) + ',' + p.y +
+ arc + (r * 2) + ',0 ' +
+ arc + (-r * 2) + ',0 ';
- _initEvents: function () {
- L.Path.prototype._initEvents.call(this);
+ this._setPath(layer, d);
},
- _getPathPartStr: function (points) {
- var round = L.Path.VML;
-
- for (var j = 0, len2 = points.length, str = '', p; j < len2; j++) {
- p = points[j];
- if (round) {
- p._round();
- }
- str += (j ? 'L' : 'M') + p.x + ' ' + p.y;
- }
- return str;
+ _setPath: function (layer, path) {
+ layer._path.setAttribute('d', path);
},
- _clipPoints: function () {
- var points = this._originalPoints,
- len = points.length,
- i, k, segment;
+ // SVG does not have the concept of zIndex so we resort to changing the DOM order of elements
+ _bringToFront: function (layer) {
+ L.DomUtil.toFront(layer._path);
+ },
- if (this.options.noClip) {
- this._parts = [points];
- return;
- }
+ _bringToBack: function (layer) {
+ L.DomUtil.toBack(layer._path);
+ }
+});
- this._parts = [];
- var parts = this._parts,
- vp = this._map._pathViewport,
- lu = L.LineUtil;
+// @namespace SVG; @section
+// There are several static functions which can be called without instantiating L.SVG:
+L.extend(L.SVG, {
+ // @function create(name: String): SVGElement
+ // Returns a instance of [SVGElement](https://developer.mozilla.org/docs/Web/API/SVGElement),
+ // corresponding to the class name passed. For example, using 'line' will return
+ // an instance of [SVGLineElement](https://developer.mozilla.org/docs/Web/API/SVGLineElement).
+ create: function (name) {
+ return document.createElementNS('http://www.w3.org/2000/svg', name);
+ },
- for (i = 0, k = 0; i < len - 1; i++) {
- segment = lu.clipSegment(points[i], points[i + 1], vp, i);
- if (!segment) {
- continue;
- }
+ // @function pointsToPath(rings: Point[], closed: Boolean): String
+ // Generates a SVG path string for multiple rings, with each ring turning
+ // into "M..L..L.." instructions
+ pointsToPath: function (rings, closed) {
+ var str = '',
+ i, j, len, len2, points, p;
- parts[k] = parts[k] || [];
- parts[k].push(segment[0]);
+ for (i = 0, len = rings.length; i < len; i++) {
+ points = rings[i];
- // if segment goes out of screen, or it's the last one, it's the end of the line part
- if ((segment[1] !== points[i + 1]) || (i === len - 2)) {
- parts[k].push(segment[1]);
- k++;
+ for (j = 0, len2 = points.length; j < len2; j++) {
+ p = points[j];
+ str += (j ? 'L' : 'M') + p.x + ' ' + p.y;
}
- }
- },
-
- // simplify each clipped part of the polyline
- _simplifyPoints: function () {
- var parts = this._parts,
- lu = L.LineUtil;
- for (var i = 0, len = parts.length; i < len; i++) {
- parts[i] = lu.simplify(parts[i], this.options.smoothFactor);
+ // closes the ring for polygons; "x" is VML syntax
+ str += closed ? (L.Browser.svg ? 'z' : 'x') : '';
}
- },
-
- _updatePath: function () {
- if (!this._map) { return; }
-
- this._clipPoints();
- this._simplifyPoints();
- L.Path.prototype._updatePath.call(this);
+ // SVG complains about empty path strings
+ return str || 'M0 0';
}
});
-L.polyline = function (latlngs, options) {
- return new L.Polyline(latlngs, options);
-};
+// @namespace Browser; @property svg: Boolean
+// `true` when the browser supports [SVG](https://developer.mozilla.org/docs/Web/SVG).
+L.Browser.svg = !!(document.createElementNS && L.SVG.create('svg').createSVGRect);
-/*
- * L.PolyUtil contains utility functions for polygons (clipping, etc.).
- */
+// @namespace SVG
+// @factory L.svg(options?: Renderer options)
+// Creates a SVG renderer with the given options.
+L.svg = function (options) {
+ return L.Browser.svg || L.Browser.vml ? new L.SVG(options) : null;
+};
-/*jshint bitwise:false */ // allow bitwise operations here
-L.PolyUtil = {};
/*
- * Sutherland-Hodgeman polygon clipping algorithm.
- * Used to avoid rendering parts of a polygon that are not currently visible.
+ * Thanks to Dmitry Baranovsky and his Raphael library for inspiration!
*/
-L.PolyUtil.clipPolygon = function (points, bounds) {
- var clippedPoints,
- edges = [1, 4, 2, 8],
- i, j, k,
- a, b,
- len, edge, p,
- lu = L.LineUtil;
- for (i = 0, len = points.length; i < len; i++) {
- points[i]._code = lu._getBitCode(points[i], bounds);
- }
+/*
+ * @class SVG
+ *
+ * Although SVG is not available on IE7 and IE8, these browsers support [VML](https://en.wikipedia.org/wiki/Vector_Markup_Language), and the SVG renderer will fall back to VML in this case.
+ *
+ * VML was deprecated in 2012, which means VML functionality exists only for backwards compatibility
+ * with old versions of Internet Explorer.
+ */
- // for each edge (left, bottom, right, top)
- for (k = 0; k < 4; k++) {
- edge = edges[k];
- clippedPoints = [];
+// @namespace Browser; @property vml: Boolean
+// `true` if the browser supports [VML](https://en.wikipedia.org/wiki/Vector_Markup_Language).
+L.Browser.vml = !L.Browser.svg && (function () {
+ try {
+ var div = document.createElement('div');
+ div.innerHTML = '<v:shape adj="1"/>';
- for (i = 0, len = points.length, j = len - 1; i < len; j = i++) {
- a = points[i];
- b = points[j];
+ var shape = div.firstChild;
+ shape.style.behavior = 'url(#default#VML)';
- // if a is inside the clip window
- if (!(a._code & edge)) {
- // if b is outside the clip window (a->b goes out of screen)
- if (b._code & edge) {
- p = lu._getEdgeIntersection(b, a, edge, bounds);
- p._code = lu._getBitCode(p, bounds);
- clippedPoints.push(p);
- }
- clippedPoints.push(a);
+ return shape && (typeof shape.adj === 'object');
- // else if b is inside the clip window (a->b enters the screen)
- } else if (!(b._code & edge)) {
- p = lu._getEdgeIntersection(b, a, edge, bounds);
- p._code = lu._getBitCode(p, bounds);
- clippedPoints.push(p);
- }
- }
- points = clippedPoints;
+ } catch (e) {
+ return false;
}
+}());
- return points;
-};
-
-
-/*
- * L.Polygon is used to display polygons on a map.
- */
+// redefine some SVG methods to handle VML syntax which is similar but with some differences
+L.SVG.include(!L.Browser.vml ? {} : {
-L.Polygon = L.Polyline.extend({
- options: {
- fill: true
+ _initContainer: function () {
+ this._container = L.DomUtil.create('div', 'leaflet-vml-container');
},
- initialize: function (latlngs, options) {
- L.Polyline.prototype.initialize.call(this, latlngs, options);
- this._initWithHoles(latlngs);
+ _update: function () {
+ if (this._map._animatingZoom) { return; }
+ L.Renderer.prototype._update.call(this);
+ this.fire('update');
},
- _initWithHoles: function (latlngs) {
- var i, len, hole;
- if (latlngs && L.Util.isArray(latlngs[0]) && (typeof latlngs[0][0] !== 'number')) {
- this._latlngs = this._convertLatLngs(latlngs[0]);
- this._holes = latlngs.slice(1);
+ _initPath: function (layer) {
+ var container = layer._container = L.SVG.create('shape');
- for (i = 0, len = this._holes.length; i < len; i++) {
- hole = this._holes[i] = this._convertLatLngs(this._holes[i]);
- if (hole[0].equals(hole[hole.length - 1])) {
- hole.pop();
- }
- }
- }
+ L.DomUtil.addClass(container, 'leaflet-vml-shape ' + (this.options.className || ''));
+
+ container.coordsize = '1 1';
- // filter out last point if its equal to the first one
- latlngs = this._latlngs;
+ layer._path = L.SVG.create('path');
+ container.appendChild(layer._path);
- if (latlngs.length >= 2 && latlngs[0].equals(latlngs[latlngs.length - 1])) {
- latlngs.pop();
- }
+ this._updateStyle(layer);
},
- projectLatlngs: function () {
- L.Polyline.prototype.projectLatlngs.call(this);
+ _addPath: function (layer) {
+ var container = layer._container;
+ this._container.appendChild(container);
+
+ if (layer.options.interactive) {
+ layer.addInteractiveTarget(container);
+ }
+ },
- // project polygon holes points
- // TODO move this logic to Polyline to get rid of duplication
- this._holePoints = [];
+ _removePath: function (layer) {
+ var container = layer._container;
+ L.DomUtil.remove(container);
+ layer.removeInteractiveTarget(container);
+ },
- if (!this._holes) { return; }
+ _updateStyle: function (layer) {
+ var stroke = layer._stroke,
+ fill = layer._fill,
+ options = layer.options,
+ container = layer._container;
- var i, j, len, len2;
+ container.stroked = !!options.stroke;
+ container.filled = !!options.fill;
- for (i = 0, len = this._holes.length; i < len; i++) {
- this._holePoints[i] = [];
+ if (options.stroke) {
+ if (!stroke) {
+ stroke = layer._stroke = L.SVG.create('stroke');
+ }
+ container.appendChild(stroke);
+ stroke.weight = options.weight + 'px';
+ stroke.color = options.color;
+ stroke.opacity = options.opacity;
- for (j = 0, len2 = this._holes[i].length; j < len2; j++) {
- this._holePoints[i][j] = this._map.latLngToLayerPoint(this._holes[i][j]);
+ if (options.dashArray) {
+ stroke.dashStyle = L.Util.isArray(options.dashArray) ?
+ options.dashArray.join(' ') :
+ options.dashArray.replace(/( *, *)/g, ' ');
+ } else {
+ stroke.dashStyle = '';
}
+ stroke.endcap = options.lineCap.replace('butt', 'flat');
+ stroke.joinstyle = options.lineJoin;
+
+ } else if (stroke) {
+ container.removeChild(stroke);
+ layer._stroke = null;
}
- },
- setLatLngs: function (latlngs) {
- if (latlngs && L.Util.isArray(latlngs[0]) && (typeof latlngs[0][0] !== 'number')) {
- this._initWithHoles(latlngs);
- return this.redraw();
- } else {
- return L.Polyline.prototype.setLatLngs.call(this, latlngs);
+ if (options.fill) {
+ if (!fill) {
+ fill = layer._fill = L.SVG.create('fill');
+ }
+ container.appendChild(fill);
+ fill.color = options.fillColor || options.color;
+ fill.opacity = options.fillOpacity;
+
+ } else if (fill) {
+ container.removeChild(fill);
+ layer._fill = null;
}
},
- _clipPoints: function () {
- var points = this._originalPoints,
- newParts = [];
-
- this._parts = [points].concat(this._holePoints);
+ _updateCircle: function (layer) {
+ var p = layer._point.round(),
+ r = Math.round(layer._radius),
+ r2 = Math.round(layer._radiusY || r);
- if (this.options.noClip) { return; }
+ this._setPath(layer, layer._empty() ? 'M0 0' :
+ 'AL ' + p.x + ',' + p.y + ' ' + r + ',' + r2 + ' 0,' + (65535 * 360));
+ },
- for (var i = 0, len = this._parts.length; i < len; i++) {
- var clipped = L.PolyUtil.clipPolygon(this._parts[i], this._map._pathViewport);
- if (clipped.length) {
- newParts.push(clipped);
- }
- }
+ _setPath: function (layer, path) {
+ layer._path.v = path;
+ },
- this._parts = newParts;
+ _bringToFront: function (layer) {
+ L.DomUtil.toFront(layer._container);
},
- _getPathPartStr: function (points) {
- var str = L.Polyline.prototype._getPathPartStr.call(this, points);
- return str + (L.Browser.svg ? 'z' : 'x');
+ _bringToBack: function (layer) {
+ L.DomUtil.toBack(layer._container);
}
});
-L.polygon = function (latlngs, options) {
- return new L.Polygon(latlngs, options);
-};
+if (L.Browser.vml) {
+ L.SVG.create = (function () {
+ try {
+ document.namespaces.add('lvml', 'urn:schemas-microsoft-com:vml');
+ return function (name) {
+ return document.createElement('<lvml:' + name + ' class="lvml">');
+ };
+ } catch (e) {
+ return function (name) {
+ return document.createElement('<' + name + ' xmlns="urn:schemas-microsoft.com:vml" class="lvml">');
+ };
+ }
+ })();
+}
+
/*
- * Contains L.MultiPolyline and L.MultiPolygon layers.
+ * @class Canvas
+ * @inherits Renderer
+ * @aka L.Canvas
+ *
+ * Allows vector layers to be displayed with [`<canvas>`](https://developer.mozilla.org/docs/Web/API/Canvas_API).
+ * Inherits `Renderer`.
+ *
+ * Due to [technical limitations](http://caniuse.com/#search=canvas), Canvas is not
+ * available in all web browsers, notably IE8, and overlapping geometries might
+ * not display properly in some edge cases.
+ *
+ * @example
+ *
+ * Use Canvas by default for all paths in the map:
+ *
+ * ```js
+ * var map = L.map('map', {
+ * renderer: L.canvas()
+ * });
+ * ```
+ *
+ * Use a Canvas renderer with extra padding for specific vector geometries:
+ *
+ * ```js
+ * var map = L.map('map');
+ * var myRenderer = L.canvas({ padding: 0.5 });
+ * var line = L.polyline( coordinates, { renderer: myRenderer } );
+ * var circle = L.circle( center, { renderer: myRenderer } );
+ * ```
*/
-(function () {
- function createMulti(Klass) {
+L.Canvas = L.Renderer.extend({
- return L.FeatureGroup.extend({
+ onAdd: function () {
+ L.Renderer.prototype.onAdd.call(this);
- initialize: function (latlngs, options) {
- this._layers = {};
- this._options = options;
- this.setLatLngs(latlngs);
- },
+ this._layers = this._layers || {};
- setLatLngs: function (latlngs) {
- var i = 0,
- len = latlngs.length;
+ // Redraw vectors since canvas is cleared upon removal,
+ // in case of removing the renderer itself from the map.
+ this._draw();
+ },
- this.eachLayer(function (layer) {
- if (i < len) {
- layer.setLatLngs(latlngs[i++]);
- } else {
- this.removeLayer(layer);
- }
- }, this);
+ _initContainer: function () {
+ var container = this._container = document.createElement('canvas');
- while (i < len) {
- this.addLayer(new Klass(latlngs[i++], this._options));
- }
+ L.DomEvent
+ .on(container, 'mousemove', L.Util.throttle(this._onMouseMove, 32, this), this)
+ .on(container, 'click dblclick mousedown mouseup contextmenu', this._onClick, this)
+ .on(container, 'mouseout', this._handleMouseOut, this);
- return this;
- },
+ this._ctx = container.getContext('2d');
+ },
- getLatLngs: function () {
- var latlngs = [];
+ _update: function () {
+ if (this._map._animatingZoom && this._bounds) { return; }
- this.eachLayer(function (layer) {
- latlngs.push(layer.getLatLngs());
- });
+ this._drawnLayers = {};
- return latlngs;
- }
- });
- }
+ L.Renderer.prototype._update.call(this);
- L.MultiPolyline = createMulti(L.Polyline);
- L.MultiPolygon = createMulti(L.Polygon);
+ var b = this._bounds,
+ container = this._container,
+ size = b.getSize(),
+ m = L.Browser.retina ? 2 : 1;
- L.multiPolyline = function (latlngs, options) {
- return new L.MultiPolyline(latlngs, options);
- };
+ L.DomUtil.setPosition(container, b.min);
- L.multiPolygon = function (latlngs, options) {
- return new L.MultiPolygon(latlngs, options);
- };
-}());
+ // set canvas size (also clearing it); use double size on retina
+ container.width = m * size.x;
+ container.height = m * size.y;
+ container.style.width = size.x + 'px';
+ container.style.height = size.y + 'px';
+ if (L.Browser.retina) {
+ this._ctx.scale(2, 2);
+ }
-/*
- * L.Rectangle extends Polygon and creates a rectangle when passed a LatLngBounds object.
- */
+ // translate so we use the same path coordinates after canvas element moves
+ this._ctx.translate(-b.min.x, -b.min.y);
-L.Rectangle = L.Polygon.extend({
- initialize: function (latLngBounds, options) {
- L.Polygon.prototype.initialize.call(this, this._boundsToLatLngs(latLngBounds), options);
+ // Tell paths to redraw themselves
+ this.fire('update');
},
- setBounds: function (latLngBounds) {
- this.setLatLngs(this._boundsToLatLngs(latLngBounds));
+ _initPath: function (layer) {
+ this._updateDashArray(layer);
+ this._layers[L.stamp(layer)] = layer;
},
- _boundsToLatLngs: function (latLngBounds) {
- latLngBounds = L.latLngBounds(latLngBounds);
- return [
- latLngBounds.getSouthWest(),
- latLngBounds.getNorthWest(),
- latLngBounds.getNorthEast(),
- latLngBounds.getSouthEast()
- ];
- }
-});
-
-L.rectangle = function (latLngBounds, options) {
- return new L.Rectangle(latLngBounds, options);
-};
-
-
-/*
- * L.Circle is a circle overlay (with a certain radius in meters).
- */
+ _addPath: L.Util.falseFn,
-L.Circle = L.Path.extend({
- initialize: function (latlng, radius, options) {
- L.Path.prototype.initialize.call(this, options);
+ _removePath: function (layer) {
+ layer._removed = true;
+ this._requestRedraw(layer);
+ },
- this._latlng = L.latLng(latlng);
- this._mRadius = radius;
+ _updatePath: function (layer) {
+ this._redrawBounds = layer._pxBounds;
+ this._draw(true);
+ layer._project();
+ layer._update();
+ this._draw();
+ this._redrawBounds = null;
},
- options: {
- fill: true
+ _updateStyle: function (layer) {
+ this._updateDashArray(layer);
+ this._requestRedraw(layer);
},
- setLatLng: function (latlng) {
- this._latlng = L.latLng(latlng);
- return this.redraw();
+ _updateDashArray: function (layer) {
+ if (layer.options.dashArray) {
+ var parts = layer.options.dashArray.split(','),
+ dashArray = [],
+ i;
+ for (i = 0; i < parts.length; i++) {
+ dashArray.push(Number(parts[i]));
+ }
+ layer.options._dashArray = dashArray;
+ }
},
- setRadius: function (radius) {
- this._mRadius = radius;
- return this.redraw();
+ _requestRedraw: function (layer) {
+ if (!this._map) { return; }
+
+ var padding = (layer.options.weight || 0) + 1;
+ this._redrawBounds = this._redrawBounds || new L.Bounds();
+ this._redrawBounds.extend(layer._pxBounds.min.subtract([padding, padding]));
+ this._redrawBounds.extend(layer._pxBounds.max.add([padding, padding]));
+
+ this._redrawRequest = this._redrawRequest || L.Util.requestAnimFrame(this._redraw, this);
},
- projectLatlngs: function () {
- var lngRadius = this._getLngRadius(),
- latlng = this._latlng,
- pointLeft = this._map.latLngToLayerPoint([latlng.lat, latlng.lng - lngRadius]);
+ _redraw: function () {
+ this._redrawRequest = null;
- this._point = this._map.latLngToLayerPoint(latlng);
- this._radius = Math.max(this._point.x - pointLeft.x, 1);
+ this._draw(true); // clear layers in redraw bounds
+ this._draw(); // draw layers
+
+ this._redrawBounds = null;
},
- getBounds: function () {
- var lngRadius = this._getLngRadius(),
- latRadius = (this._mRadius / 40075017) * 360,
- latlng = this._latlng;
+ _draw: function (clear) {
+ this._clear = clear;
+ var layer, bounds = this._redrawBounds;
+ this._ctx.save();
+ if (bounds) {
+ this._ctx.beginPath();
+ this._ctx.rect(bounds.min.x, bounds.min.y, bounds.max.x - bounds.min.x, bounds.max.y - bounds.min.y);
+ this._ctx.clip();
+ }
- return new L.LatLngBounds(
- [latlng.lat - latRadius, latlng.lng - lngRadius],
- [latlng.lat + latRadius, latlng.lng + lngRadius]);
+ for (var id in this._layers) {
+ layer = this._layers[id];
+ if (!bounds || (layer._pxBounds && layer._pxBounds.intersects(bounds))) {
+ layer._updatePath();
+ }
+ if (clear && layer._removed) {
+ delete layer._removed;
+ delete this._layers[id];
+ }
+ }
+ this._ctx.restore(); // Restore state before clipping.
},
- getLatLng: function () {
- return this._latlng;
- },
+ _updatePoly: function (layer, closed) {
+
+ var i, j, len2, p,
+ parts = layer._parts,
+ len = parts.length,
+ ctx = this._ctx;
- getPathString: function () {
- var p = this._point,
- r = this._radius;
+ if (!len) { return; }
- if (this._checkIfEmpty()) {
- return '';
+ this._drawnLayers[layer._leaflet_id] = layer;
+
+ ctx.beginPath();
+
+ if (ctx.setLineDash) {
+ ctx.setLineDash(layer.options && layer.options._dashArray || []);
}
- if (L.Browser.svg) {
- return 'M' + p.x + ',' + (p.y - r) +
- 'A' + r + ',' + r + ',0,1,1,' +
- (p.x - 0.1) + ',' + (p.y - r) + ' z';
- } else {
- p._round();
- r = Math.round(r);
- return 'AL ' + p.x + ',' + p.y + ' ' + r + ',' + r + ' 0,' + (65535 * 360);
+ for (i = 0; i < len; i++) {
+ for (j = 0, len2 = parts[i].length; j < len2; j++) {
+ p = parts[i][j];
+ ctx[j ? 'lineTo' : 'moveTo'](p.x, p.y);
+ }
+ if (closed) {
+ ctx.closePath();
+ }
}
- },
- getRadius: function () {
- return this._mRadius;
+ this._fillStroke(ctx, layer);
+
+ // TODO optimization: 1 fill/stroke for all features with equal style instead of 1 for each feature
},
- // TODO Earth hardcoded, move into projection code!
+ _updateCircle: function (layer) {
- _getLatRadius: function () {
- return (this._mRadius / 40075017) * 360;
- },
+ if (layer._empty()) { return; }
- _getLngRadius: function () {
- return this._getLatRadius() / Math.cos(L.LatLng.DEG_TO_RAD * this._latlng.lat);
- },
+ var p = layer._point,
+ ctx = this._ctx,
+ r = layer._radius,
+ s = (layer._radiusY || r) / r;
- _checkIfEmpty: function () {
- if (!this._map) {
- return false;
+ this._drawnLayers[layer._leaflet_id] = layer;
+
+ if (s !== 1) {
+ ctx.save();
+ ctx.scale(1, s);
}
- var vp = this._map._pathViewport,
- r = this._radius,
- p = this._point;
- return p.x - r > vp.max.x || p.y - r > vp.max.y ||
- p.x + r < vp.min.x || p.y + r < vp.min.y;
- }
-});
+ ctx.beginPath();
+ ctx.arc(p.x, p.y / s, r, 0, Math.PI * 2, false);
-L.circle = function (latlng, radius, options) {
- return new L.Circle(latlng, radius, options);
-};
+ if (s !== 1) {
+ ctx.restore();
+ }
+ this._fillStroke(ctx, layer);
+ },
-/*
- * L.CircleMarker is a circle overlay with a permanent pixel radius.
- */
+ _fillStroke: function (ctx, layer) {
+ var clear = this._clear,
+ options = layer.options;
-L.CircleMarker = L.Circle.extend({
- options: {
- radius: 10,
- weight: 2
- },
+ ctx.globalCompositeOperation = clear ? 'destination-out' : 'source-over';
- initialize: function (latlng, options) {
- L.Circle.prototype.initialize.call(this, latlng, null, options);
- this._radius = this.options.radius;
- },
+ if (options.fill) {
+ ctx.globalAlpha = clear ? 1 : options.fillOpacity;
+ ctx.fillStyle = options.fillColor || options.color;
+ ctx.fill(options.fillRule || 'evenodd');
+ }
- projectLatlngs: function () {
- this._point = this._map.latLngToLayerPoint(this._latlng);
- },
+ if (options.stroke && options.weight !== 0) {
+ ctx.globalAlpha = clear ? 1 : options.opacity;
- _updateStyle : function () {
- L.Circle.prototype._updateStyle.call(this);
- this.setRadius(this.options.radius);
- },
+ // if clearing shape, do it with the previously drawn line width
+ layer._prevWeight = ctx.lineWidth = clear ? layer._prevWeight + 1 : options.weight;
- setLatLng: function (latlng) {
- L.Circle.prototype.setLatLng.call(this, latlng);
- if (this._popup && this._popup._isOpen) {
- this._popup.setLatLng(latlng);
+ ctx.strokeStyle = options.color;
+ ctx.lineCap = options.lineCap;
+ ctx.lineJoin = options.lineJoin;
+ ctx.stroke();
}
- return this;
},
- setRadius: function (radius) {
- this.options.radius = this._radius = radius;
- return this.redraw();
- },
+ // Canvas obviously doesn't have mouse events for individual drawn objects,
+ // so we emulate that by calculating what's under the mouse on mousemove/click manually
- getRadius: function () {
- return this._radius;
- }
-});
+ _onClick: function (e) {
+ var point = this._map.mouseEventToLayerPoint(e), layers = [], layer;
-L.circleMarker = function (latlng, options) {
- return new L.CircleMarker(latlng, options);
-};
+ for (var id in this._layers) {
+ layer = this._layers[id];
+ if (layer.options.interactive && layer._containsPoint(point) && !this._map._draggableMoved(layer)) {
+ L.DomEvent._fakeStop(e);
+ layers.push(layer);
+ }
+ }
+ if (layers.length) {
+ this._fireEvent(layers, e);
+ }
+ },
+ _onMouseMove: function (e) {
+ if (!this._map || this._map.dragging.moving() || this._map._animatingZoom) { return; }
-/*
- * Extends L.Polyline to be able to manually detect clicks on Canvas-rendered polylines.
- */
+ var point = this._map.mouseEventToLayerPoint(e);
+ this._handleMouseOut(e, point);
+ this._handleMouseHover(e, point);
+ },
-L.Polyline.include(!L.Path.CANVAS ? {} : {
- _containsPoint: function (p, closed) {
- var i, j, k, len, len2, dist, part,
- w = this.options.weight / 2;
- if (L.Browser.touch) {
- w += 10; // polyline click tolerance on touch devices
+ _handleMouseOut: function (e, point) {
+ var layer = this._hoveredLayer;
+ if (layer && (e.type === 'mouseout' || !layer._containsPoint(point))) {
+ // if we're leaving the layer, fire mouseout
+ L.DomUtil.removeClass(this._container, 'leaflet-interactive');
+ this._fireEvent([layer], e, 'mouseout');
+ this._hoveredLayer = null;
}
+ },
- for (i = 0, len = this._parts.length; i < len; i++) {
- part = this._parts[i];
- for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) {
- if (!closed && (j === 0)) {
- continue;
- }
-
- dist = L.LineUtil.pointToSegmentDistance(p, part[k], part[j]);
+ _handleMouseHover: function (e, point) {
+ var id, layer;
- if (dist <= w) {
- return true;
- }
+ for (id in this._drawnLayers) {
+ layer = this._drawnLayers[id];
+ if (layer.options.interactive && layer._containsPoint(point)) {
+ L.DomUtil.addClass(this._container, 'leaflet-interactive'); // change cursor
+ this._fireEvent([layer], e, 'mouseover');
+ this._hoveredLayer = layer;
}
}
- return false;
- }
-});
+ if (this._hoveredLayer) {
+ this._fireEvent([this._hoveredLayer], e);
+ }
+ },
-/*
- * Extends L.Polygon to be able to manually detect clicks on Canvas-rendered polygons.
- */
+ _fireEvent: function (layers, e, type) {
+ this._map._fireDOMEvent(e, type || e.type, layers);
+ },
-L.Polygon.include(!L.Path.CANVAS ? {} : {
- _containsPoint: function (p) {
- var inside = false,
- part, p1, p2,
- i, j, k,
- len, len2;
+ // TODO _bringToFront & _bringToBack, pretty tricky
- // TODO optimization: check if within bounds first
+ _bringToFront: L.Util.falseFn,
+ _bringToBack: L.Util.falseFn
+});
- if (L.Polyline.prototype._containsPoint.call(this, p, true)) {
- // click on polygon border
- return true;
- }
+// @namespace Browser; @property canvas: Boolean
+// `true` when the browser supports [`<canvas>`](https://developer.mozilla.org/docs/Web/API/Canvas_API).
+L.Browser.canvas = (function () {
+ return !!document.createElement('canvas').getContext;
+}());
- // ray casting algorithm for detecting if point is in polygon
+// @namespace Canvas
+// @factory L.canvas(options?: Renderer options)
+// Creates a Canvas renderer with the given options.
+L.canvas = function (options) {
+ return L.Browser.canvas ? new L.Canvas(options) : null;
+};
- for (i = 0, len = this._parts.length; i < len; i++) {
- part = this._parts[i];
+L.Polyline.prototype._containsPoint = function (p, closed) {
+ var i, j, k, len, len2, part,
+ w = this._clickTolerance();
- for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) {
- p1 = part[j];
- p2 = part[k];
+ if (!this._pxBounds.contains(p)) { return false; }
- if (((p1.y > p.y) !== (p2.y > p.y)) &&
- (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x)) {
- inside = !inside;
- }
+ // hit detection for polylines
+ for (i = 0, len = this._parts.length; i < len; i++) {
+ part = this._parts[i];
+
+ for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) {
+ if (!closed && (j === 0)) { continue; }
+
+ if (L.LineUtil.pointToSegmentDistance(p, part[k], part[j]) <= w) {
+ return true;
}
}
-
- return inside;
}
-});
+ return false;
+};
+L.Polygon.prototype._containsPoint = function (p) {
+ var inside = false,
+ part, p1, p2, i, j, k, len, len2;
-/*
- * Extends L.Circle with Canvas-specific code.
- */
+ if (!this._pxBounds.contains(p)) { return false; }
-L.Circle.include(!L.Path.CANVAS ? {} : {
- _drawPath: function () {
- var p = this._point;
- this._ctx.beginPath();
- this._ctx.arc(p.x, p.y, this._radius, 0, Math.PI * 2, false);
- },
+ // ray casting algorithm for detecting if point is in polygon
+ for (i = 0, len = this._parts.length; i < len; i++) {
+ part = this._parts[i];
- _containsPoint: function (p) {
- var center = this._point,
- w2 = this.options.stroke ? this.options.weight / 2 : 0;
+ for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) {
+ p1 = part[j];
+ p2 = part[k];
- return (p.distanceTo(center) <= this._radius + w2);
+ if (((p1.y > p.y) !== (p2.y > p.y)) && (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x)) {
+ inside = !inside;
+ }
+ }
}
-});
+ // also check if it's on polygon stroke
+ return inside || L.Polyline.prototype._containsPoint.call(this, p, true);
+};
-/*
- * CircleMarker canvas specific drawing parts.
- */
+L.CircleMarker.prototype._containsPoint = function (p) {
+ return p.distanceTo(this._point) <= this._radius + this._clickTolerance();
+};
-L.CircleMarker.include(!L.Path.CANVAS ? {} : {
- _updateStyle: function () {
- L.Path.prototype._updateStyle.call(this);
- }
-});
/*
- * L.GeoJSON turns any GeoJSON data into a Leaflet layer.
+ * @class GeoJSON
+ * @aka L.GeoJSON
+ * @inherits FeatureGroup
+ *
+ * Represents a GeoJSON object or an array of GeoJSON objects. Allows you to parse
+ * GeoJSON data and display it on the map. Extends `FeatureGroup`.
+ *
+ * @example
+ *
+ * ```js
+ * L.geoJSON(data, {
+ * style: function (feature) {
+ * return {color: feature.properties.color};
+ * }
+ * }).bindPopup(function (layer) {
+ * return layer.feature.properties.description;
+ * }).addTo(map);
+ * ```
*/
L.GeoJSON = L.FeatureGroup.extend({
+ /* @section
+ * @aka GeoJSON options
+ *
+ * @option pointToLayer: Function = *
+ * A `Function` defining how GeoJSON points spawn Leaflet layers. It is internally
+ * called when data is added, passing the GeoJSON point feature and its `LatLng`.
+ * The default is to spawn a default `Marker`:
+ * ```js
+ * function(geoJsonPoint, latlng) {
+ * return L.marker(latlng);
+ * }
+ * ```
+ *
+ * @option style: Function = *
+ * A `Function` defining the `Path options` for styling GeoJSON lines and polygons,
+ * called internally when data is added.
+ * The default value is to not override any defaults:
+ * ```js
+ * function (geoJsonFeature) {
+ * return {}
+ * }
+ * ```
+ *
+ * @option onEachFeature: Function = *
+ * A `Function` that will be called once for each created `Feature`, after it has
+ * been created and styled. Useful for attaching events and popups to features.
+ * The default is to do nothing with the newly created layers:
+ * ```js
+ * function (feature, layer) {}
+ * ```
+ *
+ * @option filter: Function = *
+ * A `Function` that will be used to decide whether to include a feature or not.
+ * The default is to include all features:
+ * ```js
+ * function (geoJsonFeature) {
+ * return true;
+ * }
+ * ```
+ * Note: dynamically changing the `filter` option will have effect only on newly
+ * added data. It will _not_ re-evaluate already included features.
+ *
+ * @option coordsToLatLng: Function = *
+ * A `Function` that will be used for converting GeoJSON coordinates to `LatLng`s.
+ * The default is the `coordsToLatLng` static method.
+ */
+
initialize: function (geojson, options) {
L.setOptions(this, options);
}
},
+ // @method addData( <GeoJSON> data ): Layer
+ // Adds a GeoJSON object to the layer.
addData: function (geojson) {
var features = L.Util.isArray(geojson) ? geojson : geojson.features,
i, len, feature;
if (features) {
for (i = 0, len = features.length; i < len; i++) {
- // Only add this if geometry or geometries are set and not null
+ // only add this if geometry or geometries are set and not null
feature = features[i];
if (feature.geometries || feature.geometry || feature.features || feature.coordinates) {
- this.addData(features[i]);
+ this.addData(feature);
}
}
return this;
var options = this.options;
- if (options.filter && !options.filter(geojson)) { return; }
+ if (options.filter && !options.filter(geojson)) { return this; }
- var layer = L.GeoJSON.geometryToLayer(geojson, options.pointToLayer, options.coordsToLatLng, options);
+ var layer = L.GeoJSON.geometryToLayer(geojson, options);
+ if (!layer) {
+ return this;
+ }
layer.feature = L.GeoJSON.asFeature(geojson);
layer.defaultOptions = layer.options;
return this.addLayer(layer);
},
+ // @method resetStyle( <Path> layer ): Layer
+ // Resets the given vector layer's style to the original GeoJSON style, useful for resetting style after hover events.
resetStyle: function (layer) {
- var style = this.options.style;
- if (style) {
- // reset any custom styles
- L.Util.extend(layer.options, layer.defaultOptions);
-
- this._setLayerStyle(layer, style);
- }
+ // reset any custom styles
+ layer.options = L.Util.extend({}, layer.defaultOptions);
+ this._setLayerStyle(layer, this.options.style);
+ return this;
},
+ // @method setStyle( <Function> style ): Layer
+ // Changes styles of GeoJSON vector layers with the given style function.
setStyle: function (style) {
- this.eachLayer(function (layer) {
+ return this.eachLayer(function (layer) {
this._setLayerStyle(layer, style);
}, this);
},
}
});
+// @section
+// There are several static functions which can be called without instantiating L.GeoJSON:
L.extend(L.GeoJSON, {
- geometryToLayer: function (geojson, pointToLayer, coordsToLatLng, vectorOptions) {
+ // @function geometryToLayer(featureData: Object, options?: GeoJSON options): Layer
+ // Creates a `Layer` from a given GeoJSON feature. Can use a custom
+ // [`pointToLayer`](#geojson-pointtolayer) and/or [`coordsToLatLng`](#geojson-coordstolatlng)
+ // functions if provided as options.
+ geometryToLayer: function (geojson, options) {
+
var geometry = geojson.type === 'Feature' ? geojson.geometry : geojson,
- coords = geometry.coordinates,
+ coords = geometry ? geometry.coordinates : null,
layers = [],
+ pointToLayer = options && options.pointToLayer,
+ coordsToLatLng = options && options.coordsToLatLng || this.coordsToLatLng,
latlng, latlngs, i, len;
- coordsToLatLng = coordsToLatLng || this.coordsToLatLng;
+ if (!coords && !geometry) {
+ return null;
+ }
switch (geometry.type) {
case 'Point':
return new L.FeatureGroup(layers);
case 'LineString':
- latlngs = this.coordsToLatLngs(coords, 0, coordsToLatLng);
- return new L.Polyline(latlngs, vectorOptions);
-
- case 'Polygon':
- if (coords.length === 2 && !coords[1].length) {
- throw new Error('Invalid GeoJSON object.');
- }
- latlngs = this.coordsToLatLngs(coords, 1, coordsToLatLng);
- return new L.Polygon(latlngs, vectorOptions);
-
case 'MultiLineString':
- latlngs = this.coordsToLatLngs(coords, 1, coordsToLatLng);
- return new L.MultiPolyline(latlngs, vectorOptions);
+ latlngs = this.coordsToLatLngs(coords, geometry.type === 'LineString' ? 0 : 1, coordsToLatLng);
+ return new L.Polyline(latlngs, options);
+ case 'Polygon':
case 'MultiPolygon':
- latlngs = this.coordsToLatLngs(coords, 2, coordsToLatLng);
- return new L.MultiPolygon(latlngs, vectorOptions);
+ latlngs = this.coordsToLatLngs(coords, geometry.type === 'Polygon' ? 1 : 2, coordsToLatLng);
+ return new L.Polygon(latlngs, options);
case 'GeometryCollection':
for (i = 0, len = geometry.geometries.length; i < len; i++) {
-
- layers.push(this.geometryToLayer({
+ var layer = this.geometryToLayer({
geometry: geometry.geometries[i],
type: 'Feature',
properties: geojson.properties
- }, pointToLayer, coordsToLatLng, vectorOptions));
+ }, options);
+
+ if (layer) {
+ layers.push(layer);
+ }
}
return new L.FeatureGroup(layers);
}
},
- coordsToLatLng: function (coords) { // (Array[, Boolean]) -> LatLng
+ // @function coordsToLatLng(coords: Array): LatLng
+ // Creates a `LatLng` object from an array of 2 numbers (longitude, latitude)
+ // or 3 numbers (longitude, latitude, altitude) used in GeoJSON for points.
+ coordsToLatLng: function (coords) {
return new L.LatLng(coords[1], coords[0], coords[2]);
},
- coordsToLatLngs: function (coords, levelsDeep, coordsToLatLng) { // (Array[, Number, Function]) -> Array
- var latlng, i, len,
- latlngs = [];
+ // @function coordsToLatLngs(coords: Array, levelsDeep?: Number, coordsToLatLng?: Function): Array
+ // Creates a multidimensional array of `LatLng`s from a GeoJSON coordinates array.
+ // `levelsDeep` specifies the nesting level (0 is for an array of points, 1 for an array of arrays of points, etc., 0 by default).
+ // Can use a custom [`coordsToLatLng`](#geojson-coordstolatlng) function.
+ coordsToLatLngs: function (coords, levelsDeep, coordsToLatLng) {
+ var latlngs = [];
- for (i = 0, len = coords.length; i < len; i++) {
+ for (var i = 0, len = coords.length, latlng; i < len; i++) {
latlng = levelsDeep ?
this.coordsToLatLngs(coords[i], levelsDeep - 1, coordsToLatLng) :
(coordsToLatLng || this.coordsToLatLng)(coords[i]);
return latlngs;
},
+ // @function latLngToCoords(latlng: LatLng): Array
+ // Reverse of [`coordsToLatLng`](#geojson-coordstolatlng)
latLngToCoords: function (latlng) {
- var coords = [latlng.lng, latlng.lat];
-
- if (latlng.alt !== undefined) {
- coords.push(latlng.alt);
- }
- return coords;
+ return latlng.alt !== undefined ?
+ [latlng.lng, latlng.lat, latlng.alt] :
+ [latlng.lng, latlng.lat];
},
- latLngsToCoords: function (latLngs) {
+ // @function latLngsToCoords(latlngs: Array, levelsDeep?: Number, closed?: Boolean): Array
+ // Reverse of [`coordsToLatLngs`](#geojson-coordstolatlngs)
+ // `closed` determines whether the first point should be appended to the end of the array to close the feature, only used when `levelsDeep` is 0. False by default.
+ latLngsToCoords: function (latlngs, levelsDeep, closed) {
var coords = [];
- for (var i = 0, len = latLngs.length; i < len; i++) {
- coords.push(L.GeoJSON.latLngToCoords(latLngs[i]));
+ for (var i = 0, len = latlngs.length; i < len; i++) {
+ coords.push(levelsDeep ?
+ L.GeoJSON.latLngsToCoords(latlngs[i], levelsDeep - 1, closed) :
+ L.GeoJSON.latLngToCoords(latlngs[i]));
+ }
+
+ if (!levelsDeep && closed) {
+ coords.push(coords[0]);
}
return coords;
},
getFeature: function (layer, newGeometry) {
- return layer.feature ? L.extend({}, layer.feature, {geometry: newGeometry}) : L.GeoJSON.asFeature(newGeometry);
+ return layer.feature ?
+ L.extend({}, layer.feature, {geometry: newGeometry}) :
+ L.GeoJSON.asFeature(newGeometry);
},
- asFeature: function (geoJSON) {
- if (geoJSON.type === 'Feature') {
- return geoJSON;
+ // @function asFeature(geojson: Object): Object
+ // Normalize GeoJSON geometries/features into GeoJSON features.
+ asFeature: function (geojson) {
+ if (geojson.type === 'Feature') {
+ return geojson;
}
return {
type: 'Feature',
properties: {},
- geometry: geoJSON
+ geometry: geojson
};
}
});
};
L.Marker.include(PointToGeoJSON);
+
+// @namespace CircleMarker
+// @method toGeoJSON(): Object
+// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the circle marker (as a GeoJSON `Point` Feature).
L.Circle.include(PointToGeoJSON);
L.CircleMarker.include(PointToGeoJSON);
-L.Polyline.include({
- toGeoJSON: function () {
- return L.GeoJSON.getFeature(this, {
- type: 'LineString',
- coordinates: L.GeoJSON.latLngsToCoords(this.getLatLngs())
- });
+
+// @namespace Polyline
+// @method toGeoJSON(): Object
+// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polyline (as a GeoJSON `LineString` or `MultiLineString` Feature).
+L.Polyline.prototype.toGeoJSON = function () {
+ var multi = !L.Polyline._flat(this._latlngs);
+
+ var coords = L.GeoJSON.latLngsToCoords(this._latlngs, multi ? 1 : 0);
+
+ return L.GeoJSON.getFeature(this, {
+ type: (multi ? 'Multi' : '') + 'LineString',
+ coordinates: coords
+ });
+};
+
+// @namespace Polygon
+// @method toGeoJSON(): Object
+// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polygon (as a GeoJSON `Polygon` or `MultiPolygon` Feature).
+L.Polygon.prototype.toGeoJSON = function () {
+ var holes = !L.Polyline._flat(this._latlngs),
+ multi = holes && !L.Polyline._flat(this._latlngs[0]);
+
+ var coords = L.GeoJSON.latLngsToCoords(this._latlngs, multi ? 2 : holes ? 1 : 0, true);
+
+ if (!holes) {
+ coords = [coords];
}
-});
-L.Polygon.include({
- toGeoJSON: function () {
- var coords = [L.GeoJSON.latLngsToCoords(this.getLatLngs())],
- i, len, hole;
+ return L.GeoJSON.getFeature(this, {
+ type: (multi ? 'Multi' : '') + 'Polygon',
+ coordinates: coords
+ });
+};
- coords[0].push(coords[0][0]);
- if (this._holes) {
- for (i = 0, len = this._holes.length; i < len; i++) {
- hole = L.GeoJSON.latLngsToCoords(this._holes[i]);
- hole.push(hole[0]);
- coords.push(hole);
- }
- }
+// @namespace LayerGroup
+L.LayerGroup.include({
+ toMultiPoint: function () {
+ var coords = [];
+
+ this.eachLayer(function (layer) {
+ coords.push(layer.toGeoJSON().geometry.coordinates);
+ });
return L.GeoJSON.getFeature(this, {
- type: 'Polygon',
+ type: 'MultiPoint',
coordinates: coords
});
- }
-});
+ },
-(function () {
- function multiToGeoJSON(type) {
- return function () {
- var coords = [];
+ // @method toGeoJSON(): Object
+ // Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the layer group (as a GeoJSON `GeometryCollection`).
+ toGeoJSON: function () {
- this.eachLayer(function (layer) {
- coords.push(layer.toGeoJSON().geometry.coordinates);
- });
+ var type = this.feature && this.feature.geometry && this.feature.geometry.type;
+ if (type === 'MultiPoint') {
+ return this.toMultiPoint();
+ }
+
+ var isGeometryCollection = type === 'GeometryCollection',
+ jsons = [];
+
+ this.eachLayer(function (layer) {
+ if (layer.toGeoJSON) {
+ var json = layer.toGeoJSON();
+ jsons.push(isGeometryCollection ? json.geometry : L.GeoJSON.asFeature(json));
+ }
+ });
+
+ if (isGeometryCollection) {
return L.GeoJSON.getFeature(this, {
- type: type,
- coordinates: coords
+ geometries: jsons,
+ type: 'GeometryCollection'
});
+ }
+
+ return {
+ type: 'FeatureCollection',
+ features: jsons
};
}
+});
- L.MultiPolyline.include({toGeoJSON: multiToGeoJSON('MultiLineString')});
- L.MultiPolygon.include({toGeoJSON: multiToGeoJSON('MultiPolygon')});
+// @namespace GeoJSON
+// @factory L.geoJSON(geojson?: Object, options?: GeoJSON options)
+// Creates a GeoJSON layer. Optionally accepts an object in
+// [GeoJSON format](http://geojson.org/geojson-spec.html) to display on the map
+// (you can alternatively add it later with `addData` method) and an `options` object.
+L.geoJSON = function (geojson, options) {
+ return new L.GeoJSON(geojson, options);
+};
+// Backward compatibility.
+L.geoJson = L.geoJSON;
- L.LayerGroup.include({
- toGeoJSON: function () {
- var geometry = this.feature && this.feature.geometry,
- jsons = [],
- json;
- if (geometry && geometry.type === 'MultiPoint') {
- return multiToGeoJSON('MultiPoint').call(this);
- }
+/*
+ * @namespace DomEvent
+ * Utility functions to work with the [DOM events](https://developer.mozilla.org/docs/Web/API/Event), used by Leaflet internally.
+ */
- var isGeometryCollection = geometry && geometry.type === 'GeometryCollection';
+// Inspired by John Resig, Dean Edwards and YUI addEvent implementations.
- this.eachLayer(function (layer) {
- if (layer.toGeoJSON) {
- json = layer.toGeoJSON();
- jsons.push(isGeometryCollection ? json.geometry : L.GeoJSON.asFeature(json));
- }
- });
- if (isGeometryCollection) {
- return L.GeoJSON.getFeature(this, {
- geometries: jsons,
- type: 'GeometryCollection'
- });
+
+var eventsKey = '_leaflet_events';
+
+L.DomEvent = {
+
+ // @function on(el: HTMLElement, types: String, fn: Function, context?: Object): this
+ // Adds a listener function (`fn`) to a particular DOM event type of the
+ // element `el`. You can optionally specify the context of the listener
+ // (object the `this` keyword will point to). You can also pass several
+ // space-separated types (e.g. `'click dblclick'`).
+
+ // @alternative
+ // @function on(el: HTMLElement, eventMap: Object, context?: Object): this
+ // Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`
+ on: function (obj, types, fn, context) {
+
+ if (typeof types === 'object') {
+ for (var type in types) {
+ this._on(obj, type, types[type], fn);
}
+ } else {
+ types = L.Util.splitWords(types);
- return {
- type: 'FeatureCollection',
- features: jsons
- };
+ for (var i = 0, len = types.length; i < len; i++) {
+ this._on(obj, types[i], fn, context);
+ }
}
- });
-}());
-L.geoJson = function (geojson, options) {
- return new L.GeoJSON(geojson, options);
-};
+ return this;
+ },
+ // @function off(el: HTMLElement, types: String, fn: Function, context?: Object): this
+ // Removes a previously added listener function. If no function is specified,
+ // it will remove all the listeners of that particular DOM event from the element.
+ // Note that if you passed a custom context to on, you must pass the same
+ // context to `off` in order to remove the listener.
-/*
- * L.DomEvent contains functions for working with DOM events.
- */
+ // @alternative
+ // @function off(el: HTMLElement, eventMap: Object, context?: Object): this
+ // Removes a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`
+ off: function (obj, types, fn, context) {
-L.DomEvent = {
- /* inspired by John Resig, Dean Edwards and YUI addEvent implementations */
- addListener: function (obj, type, fn, context) { // (HTMLElement, String, Function[, Object])
+ if (typeof types === 'object') {
+ for (var type in types) {
+ this._off(obj, type, types[type], fn);
+ }
+ } else {
+ types = L.Util.splitWords(types);
- var id = L.stamp(fn),
- key = '_leaflet_' + type + id,
- handler, originalHandler, newType;
+ for (var i = 0, len = types.length; i < len; i++) {
+ this._off(obj, types[i], fn, context);
+ }
+ }
+
+ return this;
+ },
+
+ _on: function (obj, type, fn, context) {
+ var id = type + L.stamp(fn) + (context ? '_' + L.stamp(context) : '');
- if (obj[key]) { return this; }
+ if (obj[eventsKey] && obj[eventsKey][id]) { return this; }
- handler = function (e) {
- return fn.call(context || obj, e || L.DomEvent._getEvent());
+ var handler = function (e) {
+ return fn.call(context || obj, e || window.event);
};
+ var originalHandler = handler;
+
if (L.Browser.pointer && type.indexOf('touch') === 0) {
- return this.addPointerListener(obj, type, handler, id);
- }
- if (L.Browser.touch && (type === 'dblclick') && this.addDoubleTapListener) {
+ this.addPointerListener(obj, type, handler, id);
+
+ } else if (L.Browser.touch && (type === 'dblclick') && this.addDoubleTapListener) {
this.addDoubleTapListener(obj, handler, id);
- }
- if ('addEventListener' in obj) {
+ } else if ('addEventListener' in obj) {
if (type === 'mousewheel') {
- obj.addEventListener('DOMMouseScroll', handler, false);
- obj.addEventListener(type, handler, false);
+ obj.addEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, false);
} else if ((type === 'mouseenter') || (type === 'mouseleave')) {
-
- originalHandler = handler;
- newType = (type === 'mouseenter' ? 'mouseover' : 'mouseout');
-
- handler = function (e) {
- if (!L.DomEvent._checkMouse(obj, e)) { return; }
- return originalHandler(e);
- };
-
- obj.addEventListener(newType, handler, false);
-
- } else if (type === 'click' && L.Browser.android) {
- originalHandler = handler;
handler = function (e) {
- return L.DomEvent._filterClick(e, originalHandler);
+ e = e || window.event;
+ if (L.DomEvent._isExternalTarget(obj, e)) {
+ originalHandler(e);
+ }
};
+ obj.addEventListener(type === 'mouseenter' ? 'mouseover' : 'mouseout', handler, false);
- obj.addEventListener(type, handler, false);
} else {
+ if (type === 'click' && L.Browser.android) {
+ handler = function (e) {
+ return L.DomEvent._filterClick(e, originalHandler);
+ };
+ }
obj.addEventListener(type, handler, false);
}
obj.attachEvent('on' + type, handler);
}
- obj[key] = handler;
+ obj[eventsKey] = obj[eventsKey] || {};
+ obj[eventsKey][id] = handler;
return this;
},
- removeListener: function (obj, type, fn) { // (HTMLElement, String, Function)
+ _off: function (obj, type, fn, context) {
- var id = L.stamp(fn),
- key = '_leaflet_' + type + id,
- handler = obj[key];
+ var id = type + L.stamp(fn) + (context ? '_' + L.stamp(context) : ''),
+ handler = obj[eventsKey] && obj[eventsKey][id];
if (!handler) { return this; }
if (L.Browser.pointer && type.indexOf('touch') === 0) {
this.removePointerListener(obj, type, id);
+
} else if (L.Browser.touch && (type === 'dblclick') && this.removeDoubleTapListener) {
this.removeDoubleTapListener(obj, id);
} else if ('removeEventListener' in obj) {
if (type === 'mousewheel') {
- obj.removeEventListener('DOMMouseScroll', handler, false);
- obj.removeEventListener(type, handler, false);
+ obj.removeEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, false);
- } else if ((type === 'mouseenter') || (type === 'mouseleave')) {
- obj.removeEventListener((type === 'mouseenter' ? 'mouseover' : 'mouseout'), handler, false);
} else {
- obj.removeEventListener(type, handler, false);
+ obj.removeEventListener(
+ type === 'mouseenter' ? 'mouseover' :
+ type === 'mouseleave' ? 'mouseout' : type, handler, false);
}
+
} else if ('detachEvent' in obj) {
obj.detachEvent('on' + type, handler);
}
- obj[key] = null;
+ obj[eventsKey][id] = null;
return this;
},
+ // @function stopPropagation(ev: DOMEvent): this
+ // Stop the given event from propagation to parent elements. Used inside the listener functions:
+ // ```js
+ // L.DomEvent.on(div, 'click', function (ev) {
+ // L.DomEvent.stopPropagation(ev);
+ // });
+ // ```
stopPropagation: function (e) {
if (e.stopPropagation) {
e.stopPropagation();
+ } else if (e.originalEvent) { // In case of Leaflet event.
+ e.originalEvent._stopped = true;
} else {
e.cancelBubble = true;
}
return this;
},
+ // @function disableScrollPropagation(el: HTMLElement): this
+ // Adds `stopPropagation` to the element's `'mousewheel'` events (plus browser variants).
disableScrollPropagation: function (el) {
- var stop = L.DomEvent.stopPropagation;
-
- return L.DomEvent
- .on(el, 'mousewheel', stop)
- .on(el, 'MozMousePixelScroll', stop);
+ return L.DomEvent.on(el, 'mousewheel', L.DomEvent.stopPropagation);
},
+ // @function disableClickPropagation(el: HTMLElement): this
+ // Adds `stopPropagation` to the element's `'click'`, `'doubleclick'`,
+ // `'mousedown'` and `'touchstart'` events (plus browser variants).
disableClickPropagation: function (el) {
var stop = L.DomEvent.stopPropagation;
- for (var i = L.Draggable.START.length - 1; i >= 0; i--) {
- L.DomEvent.on(el, L.Draggable.START[i], stop);
- }
+ L.DomEvent.on(el, L.Draggable.START.join(' '), stop);
- return L.DomEvent
- .on(el, 'click', L.DomEvent._fakeStop)
- .on(el, 'dblclick', stop);
+ return L.DomEvent.on(el, {
+ click: L.DomEvent._fakeStop,
+ dblclick: stop
+ });
},
+ // @function preventDefault(ev: DOMEvent): this
+ // Prevents the default action of the DOM Event `ev` from happening (such as
+ // following a link in the href of the a element, or doing a POST request
+ // with page reload when a `<form>` is submitted).
+ // Use it inside listener functions.
preventDefault: function (e) {
if (e.preventDefault) {
return this;
},
+ // @function stop(ev): this
+ // Does `stopPropagation` and `preventDefault` at the same time.
stop: function (e) {
return L.DomEvent
.preventDefault(e)
.stopPropagation(e);
},
+ // @function getMousePosition(ev: DOMEvent, container?: HTMLElement): Point
+ // Gets normalized mouse position from a DOM event relative to the
+ // `container` or to the whole page if not specified.
getMousePosition: function (e, container) {
if (!container) {
return new L.Point(e.clientX, e.clientY);
e.clientY - rect.top - container.clientTop);
},
- getWheelDelta: function (e) {
-
- var delta = 0;
+ // Chrome on Win scrolls double the pixels as in other platforms (see #4538),
+ // and Firefox scrolls device pixels, not CSS pixels
+ _wheelPxFactor: (L.Browser.win && L.Browser.chrome) ? 2 :
+ L.Browser.gecko ? window.devicePixelRatio :
+ 1,
- if (e.wheelDelta) {
- delta = e.wheelDelta / 120;
- }
- if (e.detail) {
- delta = -e.detail / 3;
- }
- return delta;
+ // @function getWheelDelta(ev: DOMEvent): Number
+ // Gets normalized wheel delta from a mousewheel DOM event, in vertical
+ // pixels scrolled (negative if scrolling down).
+ // Events from pointing devices without precise scrolling are mapped to
+ // a best guess of 60 pixels.
+ getWheelDelta: function (e) {
+ return (L.Browser.edge) ? e.wheelDeltaY / 2 : // Don't trust window-geometry-based delta
+ (e.deltaY && e.deltaMode === 0) ? -e.deltaY / L.DomEvent._wheelPxFactor : // Pixels
+ (e.deltaY && e.deltaMode === 1) ? -e.deltaY * 20 : // Lines
+ (e.deltaY && e.deltaMode === 2) ? -e.deltaY * 60 : // Pages
+ (e.deltaX || e.deltaZ) ? 0 : // Skip horizontal/depth wheel events
+ e.wheelDelta ? (e.wheelDeltaY || e.wheelDelta) / 2 : // Legacy IE pixels
+ (e.detail && Math.abs(e.detail) < 32765) ? -e.detail * 20 : // Legacy Moz lines
+ e.detail ? e.detail / -32765 * 60 : // Legacy Moz pages
+ 0;
},
_skipEvents: {},
},
// check if element really left/entered the event target (for mouseenter/mouseleave)
- _checkMouse: function (el, e) {
+ _isExternalTarget: function (el, e) {
var related = e.relatedTarget;
return (related !== el);
},
- _getEvent: function () { // evil magic for IE
- /*jshint noarg:false */
- var e = window.event;
- if (!e) {
- var caller = arguments.callee.caller;
- while (caller) {
- e = caller['arguments'][0];
- if (e && window.Event === e.constructor) {
- break;
- }
- caller = caller.caller;
- }
- }
- return e;
- },
-
// this is a horrible workaround for a bug in Android where a single touch triggers two click events
_filterClick: function (e, handler) {
- var timeStamp = (e.timeStamp || e.originalEvent.timeStamp),
- elapsed = L.DomEvent._lastClick && (timeStamp - L.DomEvent._lastClick);
+ var timeStamp = (e.timeStamp || (e.originalEvent && e.originalEvent.timeStamp)),
+ elapsed = L.DomEvent._lastClick && (timeStamp - L.DomEvent._lastClick);
// are they closer together than 500ms yet more than 100ms?
// Android typically triggers them ~300ms apart while multiple listeners
}
L.DomEvent._lastClick = timeStamp;
- return handler(e);
+ handler(e);
}
};
-L.DomEvent.on = L.DomEvent.addListener;
-L.DomEvent.off = L.DomEvent.removeListener;
+// @function addListener(…): this
+// Alias to [`L.DomEvent.on`](#domevent-on)
+L.DomEvent.addListener = L.DomEvent.on;
+
+// @function removeListener(…): this
+// Alias to [`L.DomEvent.off`](#domevent-off)
+L.DomEvent.removeListener = L.DomEvent.off;
+
/*
- * L.Draggable allows you to add dragging capabilities to any element. Supports mobile devices too.
+ * @class Draggable
+ * @aka L.Draggable
+ * @inherits Evented
+ *
+ * A class for making DOM elements draggable (including touch support).
+ * Used internally for map and marker dragging. Only works for elements
+ * that were positioned with [`L.DomUtil.setPosition`](#domutil-setposition).
+ *
+ * @example
+ * ```js
+ * var draggable = new L.Draggable(elementToDrag);
+ * draggable.enable();
+ * ```
*/
-L.Draggable = L.Class.extend({
- includes: L.Mixin.Events,
+L.Draggable = L.Evented.extend({
+
+ options: {
+ // @option clickTolerance: Number = 3
+ // The max number of pixels a user can shift the mouse pointer during a click
+ // for it to be considered a valid click (as opposed to a mouse drag).
+ clickTolerance: 3
+ },
statics: {
START: L.Browser.touch ? ['touchstart', 'mousedown'] : ['mousedown'],
}
},
- initialize: function (element, dragStartTarget) {
+ // @constructor L.Draggable(el: HTMLElement, dragHandle?: HTMLElement, preventOutline: Boolean)
+ // Creates a `Draggable` object for moving `el` when you start dragging the `dragHandle` element (equals `el` itself by default).
+ initialize: function (element, dragStartTarget, preventOutline) {
this._element = element;
this._dragStartTarget = dragStartTarget || element;
+ this._preventOutline = preventOutline;
},
+ // @method enable()
+ // Enables the dragging ability
enable: function () {
if (this._enabled) { return; }
- for (var i = L.Draggable.START.length - 1; i >= 0; i--) {
- L.DomEvent.on(this._dragStartTarget, L.Draggable.START[i], this._onDown, this);
- }
+ L.DomEvent.on(this._dragStartTarget, L.Draggable.START.join(' '), this._onDown, this);
this._enabled = true;
},
+ // @method disable()
+ // Disables the dragging ability
disable: function () {
if (!this._enabled) { return; }
- for (var i = L.Draggable.START.length - 1; i >= 0; i--) {
- L.DomEvent.off(this._dragStartTarget, L.Draggable.START[i], this._onDown, this);
- }
+ L.DomEvent.off(this._dragStartTarget, L.Draggable.START.join(' '), this._onDown, this);
this._enabled = false;
this._moved = false;
},
_onDown: function (e) {
+ // Ignore simulated events, since we handle both touch and
+ // mouse explicitly; otherwise we risk getting duplicates of
+ // touch events, see #4315.
+ // Also ignore the event if disabled; this happens in IE11
+ // under some circumstances, see #3666.
+ if (e._simulated || !this._enabled) { return; }
+
this._moved = false;
- if (e.shiftKey || ((e.which !== 1) && (e.button !== 1) && !e.touches)) { return; }
+ if (L.DomUtil.hasClass(this._element, 'leaflet-zoom-anim')) { return; }
- L.DomEvent.stopPropagation(e);
+ if (L.Draggable._dragging || e.shiftKey || ((e.which !== 1) && (e.button !== 1) && !e.touches) || !this._enabled) { return; }
+ L.Draggable._dragging = true; // Prevent dragging multiple objects at once.
- if (L.Draggable._disabled) { return; }
+ if (this._preventOutline) {
+ L.DomUtil.preventOutline(this._element);
+ }
L.DomUtil.disableImageDrag();
L.DomUtil.disableTextSelection();
if (this._moving) { return; }
+ // @event down: Event
+ // Fired when a drag is about to start.
+ this.fire('down');
+
var first = e.touches ? e.touches[0] : e;
this._startPoint = new L.Point(first.clientX, first.clientY);
- this._startPos = this._newPos = L.DomUtil.getPosition(this._element);
L.DomEvent
- .on(document, L.Draggable.MOVE[e.type], this._onMove, this)
- .on(document, L.Draggable.END[e.type], this._onUp, this);
+ .on(document, L.Draggable.MOVE[e.type], this._onMove, this)
+ .on(document, L.Draggable.END[e.type], this._onUp, this);
},
_onMove: function (e) {
+ // Ignore simulated events, since we handle both touch and
+ // mouse explicitly; otherwise we risk getting duplicates of
+ // touch events, see #4315.
+ // Also ignore the event if disabled; this happens in IE11
+ // under some circumstances, see #3666.
+ if (e._simulated || !this._enabled) { return; }
+
if (e.touches && e.touches.length > 1) {
this._moved = true;
return;
offset = newPoint.subtract(this._startPoint);
if (!offset.x && !offset.y) { return; }
- if (L.Browser.touch && Math.abs(offset.x) + Math.abs(offset.y) < 3) { return; }
+ if (Math.abs(offset.x) + Math.abs(offset.y) < this.options.clickTolerance) { return; }
L.DomEvent.preventDefault(e);
if (!this._moved) {
+ // @event dragstart: Event
+ // Fired when a drag starts
this.fire('dragstart');
this._moved = true;
this._startPos = L.DomUtil.getPosition(this._element).subtract(offset);
L.DomUtil.addClass(document.body, 'leaflet-dragging');
+
this._lastTarget = e.target || e.srcElement;
+ // IE and Edge do not give the <use> element, so fetch it
+ // if necessary
+ if ((window.SVGElementInstance) && (this._lastTarget instanceof SVGElementInstance)) {
+ this._lastTarget = this._lastTarget.correspondingUseElement;
+ }
L.DomUtil.addClass(this._lastTarget, 'leaflet-drag-target');
}
this._moving = true;
L.Util.cancelAnimFrame(this._animRequest);
- this._animRequest = L.Util.requestAnimFrame(this._updatePosition, this, true, this._dragStartTarget);
+ this._lastEvent = e;
+ this._animRequest = L.Util.requestAnimFrame(this._updatePosition, this, true);
},
_updatePosition: function () {
- this.fire('predrag');
+ var e = {originalEvent: this._lastEvent};
+
+ // @event predrag: Event
+ // Fired continuously during dragging *before* each corresponding
+ // update of the element's position.
+ this.fire('predrag', e);
L.DomUtil.setPosition(this._element, this._newPos);
- this.fire('drag');
+
+ // @event drag: Event
+ // Fired continuously during dragging.
+ this.fire('drag', e);
},
- _onUp: function () {
+ _onUp: function (e) {
+ // Ignore simulated events, since we handle both touch and
+ // mouse explicitly; otherwise we risk getting duplicates of
+ // touch events, see #4315.
+ // Also ignore the event if disabled; this happens in IE11
+ // under some circumstances, see #3666.
+ if (e._simulated || !this._enabled) { return; }
+
L.DomUtil.removeClass(document.body, 'leaflet-dragging');
if (this._lastTarget) {
for (var i in L.Draggable.MOVE) {
L.DomEvent
- .off(document, L.Draggable.MOVE[i], this._onMove)
- .off(document, L.Draggable.END[i], this._onUp);
+ .off(document, L.Draggable.MOVE[i], this._onMove, this)
+ .off(document, L.Draggable.END[i], this._onUp, this);
}
L.DomUtil.enableImageDrag();
// ensure drag is not fired after dragend
L.Util.cancelAnimFrame(this._animRequest);
+ // @event dragend: DragEndEvent
+ // Fired when the drag ends.
this.fire('dragend', {
distance: this._newPos.distanceTo(this._startPos)
});
}
this._moving = false;
+ L.Draggable._dragging = false;
}
});
+
/*
L.Handler is a base class for handler classes that are used internally to inject
interaction features like dragging to classes like Map and Marker.
*/
+// @class Handler
+// @aka L.Handler
+// Abstract class for map interaction handlers
+
L.Handler = L.Class.extend({
initialize: function (map) {
this._map = map;
},
+ // @method enable(): this
+ // Enables the handler
enable: function () {
- if (this._enabled) { return; }
+ if (this._enabled) { return this; }
this._enabled = true;
this.addHooks();
+ return this;
},
+ // @method disable(): this
+ // Disables the handler
disable: function () {
- if (!this._enabled) { return; }
+ if (!this._enabled) { return this; }
this._enabled = false;
this.removeHooks();
+ return this;
},
+ // @method enabled(): Boolean
+ // Returns `true` if the handler is enabled
enabled: function () {
return !!this._enabled;
}
+
+ // @section Extension methods
+ // Classes inheriting from `Handler` must implement the two following methods:
+ // @method addHooks()
+ // Called when the handler is enabled, should add event hooks.
+ // @method removeHooks()
+ // Called when the handler is disabled, should remove the event hooks added previously.
});
+
/*
* L.Handler.MapDrag is used to make the map draggable (with panning inertia), enabled by default.
*/
+// @namespace Map
+// @section Interaction Options
L.Map.mergeOptions({
+ // @option dragging: Boolean = true
+ // Whether the map be draggable with mouse/touch or not.
dragging: true,
+ // @section Panning Inertia Options
+ // @option inertia: Boolean = *
+ // If enabled, panning of the map will have an inertia effect where
+ // the map builds momentum while dragging and continues moving in
+ // the same direction for some time. Feels especially nice on touch
+ // devices. Enabled by default unless running on old Android devices.
inertia: !L.Browser.android23,
+
+ // @option inertiaDeceleration: Number = 3000
+ // The rate with which the inertial movement slows down, in pixels/second².
inertiaDeceleration: 3400, // px/s^2
+
+ // @option inertiaMaxSpeed: Number = Infinity
+ // Max speed of the inertial movement, in pixels/second.
inertiaMaxSpeed: Infinity, // px/s
- inertiaThreshold: L.Browser.touch ? 32 : 18, // ms
- easeLinearity: 0.25,
+
+ // @option easeLinearity: Number = 0.2
+ easeLinearity: 0.2,
// TODO refactor, move to CRS
- worldCopyJump: false
+ // @option worldCopyJump: Boolean = false
+ // With this option enabled, the map tracks when you pan to another "copy"
+ // of the world and seamlessly jumps to the original one so that all overlays
+ // like markers and vector layers are still visible.
+ worldCopyJump: false,
+
+ // @option maxBoundsViscosity: Number = 0.0
+ // If `maxBounds` is set, this option will control how solid the bounds
+ // are when dragging the map around. The default value of `0.0` allows the
+ // user to drag outside the bounds at normal speed, higher values will
+ // slow down map dragging outside bounds, and `1.0` makes the bounds fully
+ // solid, preventing the user from dragging outside the bounds.
+ maxBoundsViscosity: 0.0
});
L.Map.Drag = L.Handler.extend({
this._draggable = new L.Draggable(map._mapPane, map._container);
this._draggable.on({
- 'dragstart': this._onDragStart,
- 'drag': this._onDrag,
- 'dragend': this._onDragEnd
+ down: this._onDown,
+ dragstart: this._onDragStart,
+ drag: this._onDrag,
+ dragend: this._onDragEnd
}, this);
+ this._draggable.on('predrag', this._onPreDragLimit, this);
if (map.options.worldCopyJump) {
- this._draggable.on('predrag', this._onPreDrag, this);
- map.on('viewreset', this._onViewReset, this);
+ this._draggable.on('predrag', this._onPreDragWrap, this);
+ map.on('zoomend', this._onZoomEnd, this);
- map.whenReady(this._onViewReset, this);
+ map.whenReady(this._onZoomEnd, this);
}
}
+ L.DomUtil.addClass(this._map._container, 'leaflet-grab leaflet-touch-drag');
this._draggable.enable();
+ this._positions = [];
+ this._times = [];
},
removeHooks: function () {
+ L.DomUtil.removeClass(this._map._container, 'leaflet-grab');
+ L.DomUtil.removeClass(this._map._container, 'leaflet-touch-drag');
this._draggable.disable();
},
return this._draggable && this._draggable._moved;
},
+ moving: function () {
+ return this._draggable && this._draggable._moving;
+ },
+
+ _onDown: function () {
+ this._map._stop();
+ },
+
_onDragStart: function () {
var map = this._map;
- if (map._panAnim) {
- map._panAnim.stop();
+ if (this._map.options.maxBounds && this._map.options.maxBoundsViscosity) {
+ var bounds = L.latLngBounds(this._map.options.maxBounds);
+
+ this._offsetLimit = L.bounds(
+ this._map.latLngToContainerPoint(bounds.getNorthWest()).multiplyBy(-1),
+ this._map.latLngToContainerPoint(bounds.getSouthEast()).multiplyBy(-1)
+ .add(this._map.getSize()));
+
+ this._viscosity = Math.min(1.0, Math.max(0.0, this._map.options.maxBoundsViscosity));
+ } else {
+ this._offsetLimit = null;
}
map
}
},
- _onDrag: function () {
+ _onDrag: function (e) {
if (this._map.options.inertia) {
var time = this._lastTime = +new Date(),
- pos = this._lastPos = this._draggable._newPos;
+ pos = this._lastPos = this._draggable._absPos || this._draggable._newPos;
this._positions.push(pos);
this._times.push(time);
- if (time - this._times[0] > 200) {
+ if (time - this._times[0] > 50) {
this._positions.shift();
this._times.shift();
}
}
this._map
- .fire('move')
- .fire('drag');
+ .fire('move', e)
+ .fire('drag', e);
},
- _onViewReset: function () {
- // TODO fix hardcoded Earth values
- var pxCenter = this._map.getSize()._divideBy(2),
+ _onZoomEnd: function () {
+ var pxCenter = this._map.getSize().divideBy(2),
pxWorldCenter = this._map.latLngToLayerPoint([0, 0]);
this._initialWorldOffset = pxWorldCenter.subtract(pxCenter).x;
- this._worldWidth = this._map.project([0, 180]).x;
+ this._worldWidth = this._map.getPixelWorldBounds().getSize().x;
+ },
+
+ _viscousLimit: function (value, threshold) {
+ return value - (value - threshold) * this._viscosity;
+ },
+
+ _onPreDragLimit: function () {
+ if (!this._viscosity || !this._offsetLimit) { return; }
+
+ var offset = this._draggable._newPos.subtract(this._draggable._startPos);
+
+ var limit = this._offsetLimit;
+ if (offset.x < limit.min.x) { offset.x = this._viscousLimit(offset.x, limit.min.x); }
+ if (offset.y < limit.min.y) { offset.y = this._viscousLimit(offset.y, limit.min.y); }
+ if (offset.x > limit.max.x) { offset.x = this._viscousLimit(offset.x, limit.max.x); }
+ if (offset.y > limit.max.y) { offset.y = this._viscousLimit(offset.y, limit.max.y); }
+
+ this._draggable._newPos = this._draggable._startPos.add(offset);
},
- _onPreDrag: function () {
+ _onPreDragWrap: function () {
// TODO refactor to be able to adjust map pane position after zoom
var worldWidth = this._worldWidth,
halfWidth = Math.round(worldWidth / 2),
newX2 = (x + halfWidth + dx) % worldWidth - halfWidth - dx,
newX = Math.abs(newX1 + dx) < Math.abs(newX2 + dx) ? newX1 : newX2;
+ this._draggable._absPos = this._draggable._newPos.clone();
this._draggable._newPos.x = newX;
},
_onDragEnd: function (e) {
var map = this._map,
options = map.options,
- delay = +new Date() - this._lastTime,
- noInertia = !options.inertia || delay > options.inertiaThreshold || !this._positions[0];
+ noInertia = !options.inertia || this._times.length < 2;
map.fire('dragend', e);
} else {
var direction = this._lastPos.subtract(this._positions[0]),
- duration = (this._lastTime + delay - this._times[0]) / 1000,
+ duration = (this._lastTime - this._times[0]) / 1000,
ease = options.easeLinearity,
speedVector = direction.multiplyBy(ease / duration),
decelerationDuration = limitedSpeed / (options.inertiaDeceleration * ease),
offset = limitedSpeedVector.multiplyBy(-decelerationDuration / 2).round();
- if (!offset.x || !offset.y) {
+ if (!offset.x && !offset.y) {
map.fire('moveend');
} else {
map.panBy(offset, {
duration: decelerationDuration,
easeLinearity: ease,
- noMoveStart: true
+ noMoveStart: true,
+ animate: true
});
});
}
}
});
+// @section Handlers
+// @property dragging: Handler
+// Map dragging handler (by both mouse and touch).
L.Map.addInitHook('addHandler', 'dragging', L.Map.Drag);
+
/*
* L.Handler.DoubleClickZoom is used to handle double-click zoom on the map, enabled by default.
*/
+// @namespace Map
+// @section Interaction Options
+
L.Map.mergeOptions({
+ // @option doubleClickZoom: Boolean|String = true
+ // Whether the map can be zoomed in by double clicking on it and
+ // zoomed out by double clicking while holding shift. If passed
+ // `'center'`, double-click zoom will zoom to the center of the
+ // view regardless of where the mouse was.
doubleClickZoom: true
});
_onDoubleClick: function (e) {
var map = this._map,
- zoom = map.getZoom() + (e.originalEvent.shiftKey ? -1 : 1);
+ oldZoom = map.getZoom(),
+ delta = map.options.zoomDelta,
+ zoom = e.originalEvent.shiftKey ? oldZoom - delta : oldZoom + delta;
if (map.options.doubleClickZoom === 'center') {
map.setZoom(zoom);
}
});
+// @section Handlers
+//
+// Map properties include interaction handlers that allow you to control
+// interaction behavior in runtime, enabling or disabling certain features such
+// as dragging or touch zoom (see `Handler` methods). For example:
+//
+// ```js
+// map.doubleClickZoom.disable();
+// ```
+//
+// @property doubleClickZoom: Handler
+// Double click zoom handler.
L.Map.addInitHook('addHandler', 'doubleClickZoom', L.Map.DoubleClickZoom);
+
/*
* L.Handler.ScrollWheelZoom is used by L.Map to enable mouse scroll wheel zoom on the map.
*/
+// @namespace Map
+// @section Interaction Options
L.Map.mergeOptions({
- scrollWheelZoom: true
+ // @section Mousewheel options
+ // @option scrollWheelZoom: Boolean|String = true
+ // Whether the map can be zoomed by using the mouse wheel. If passed `'center'`,
+ // it will zoom to the center of the view regardless of where the mouse was.
+ scrollWheelZoom: true,
+
+ // @option wheelDebounceTime: Number = 40
+ // Limits the rate at which a wheel can fire (in milliseconds). By default
+ // user can't zoom via wheel more often than once per 40 ms.
+ wheelDebounceTime: 40,
+
+ // @option wheelPxPerZoomLevel: Number = 60
+ // How many scroll pixels (as reported by [L.DomEvent.getWheelDelta](#domevent-getwheeldelta))
+ // mean a change of one full zoom level. Smaller values will make wheel-zooming
+ // faster (and vice versa).
+ wheelPxPerZoomLevel: 60
});
L.Map.ScrollWheelZoom = L.Handler.extend({
addHooks: function () {
L.DomEvent.on(this._map._container, 'mousewheel', this._onWheelScroll, this);
- L.DomEvent.on(this._map._container, 'MozMousePixelScroll', L.DomEvent.preventDefault);
+
this._delta = 0;
},
removeHooks: function () {
- L.DomEvent.off(this._map._container, 'mousewheel', this._onWheelScroll);
- L.DomEvent.off(this._map._container, 'MozMousePixelScroll', L.DomEvent.preventDefault);
+ L.DomEvent.off(this._map._container, 'mousewheel', this._onWheelScroll, this);
},
_onWheelScroll: function (e) {
var delta = L.DomEvent.getWheelDelta(e);
+ var debounce = this._map.options.wheelDebounceTime;
+
this._delta += delta;
this._lastMousePos = this._map.mouseEventToContainerPoint(e);
this._startTime = +new Date();
}
- var left = Math.max(40 - (+new Date() - this._startTime), 0);
+ var left = Math.max(debounce - (+new Date() - this._startTime), 0);
clearTimeout(this._timer);
this._timer = setTimeout(L.bind(this._performZoom, this), left);
- L.DomEvent.preventDefault(e);
- L.DomEvent.stopPropagation(e);
+ L.DomEvent.stop(e);
},
_performZoom: function () {
var map = this._map,
- delta = this._delta,
- zoom = map.getZoom();
+ zoom = map.getZoom(),
+ snap = this._map.options.zoomSnap || 0;
- delta = delta > 0 ? Math.ceil(delta) : Math.floor(delta);
- delta = Math.max(Math.min(delta, 4), -4);
- delta = map._limitZoom(zoom + delta) - zoom;
+ map._stop(); // stop panning and fly animations if any
+
+ // map the delta with a sigmoid function to -4..4 range leaning on -1..1
+ var d2 = this._delta / (this._map.options.wheelPxPerZoomLevel * 4),
+ d3 = 4 * Math.log(2 / (1 + Math.exp(-Math.abs(d2)))) / Math.LN2,
+ d4 = snap ? Math.ceil(d3 / snap) * snap : d3,
+ delta = map._limitZoom(zoom + (this._delta > 0 ? d4 : -d4)) - zoom;
this._delta = 0;
this._startTime = null;
}
});
+// @section Handlers
+// @property scrollWheelZoom: Handler
+// Scroll wheel zoom handler.
L.Map.addInitHook('addHandler', 'scrollWheelZoom', L.Map.ScrollWheelZoom);
+
/*
* Extends the event handling code with double tap support for mobile browsers.
*/
// inspired by Zepto touch code by Thomas Fuchs
addDoubleTapListener: function (obj, handler, id) {
- var last,
+ var last, touch,
doubleTap = false,
- delay = 250,
- touch,
- pre = '_leaflet_',
- touchstart = this._touchstart,
- touchend = this._touchend,
- trackedTouches = [];
+ delay = 250;
function onTouchStart(e) {
var count;
if (L.Browser.pointer) {
- trackedTouches.push(e.pointerId);
- count = trackedTouches.length;
+ count = L.DomEvent._pointersCount;
} else {
count = e.touches.length;
}
- if (count > 1) {
- return;
- }
+
+ if (count > 1) { return; }
var now = Date.now(),
- delta = now - (last || now);
+ delta = now - (last || now);
touch = e.touches ? e.touches[0] : e;
doubleTap = (delta > 0 && delta <= delay);
last = now;
}
- function onTouchEnd(e) {
- if (L.Browser.pointer) {
- var idx = trackedTouches.indexOf(e.pointerId);
- if (idx === -1) {
- return;
- }
- trackedTouches.splice(idx, 1);
- }
-
- if (doubleTap) {
+ function onTouchEnd() {
+ if (doubleTap && !touch.cancelBubble) {
if (L.Browser.pointer) {
// work around .type being readonly with MSPointer* events
- var newTouch = { },
- prop;
+ var newTouch = {},
+ prop, i;
- // jshint forin:false
- for (var i in touch) {
+ for (i in touch) {
prop = touch[i];
- if (typeof prop === 'function') {
- newTouch[i] = prop.bind(touch);
- } else {
- newTouch[i] = prop;
- }
+ newTouch[i] = prop && prop.bind ? prop.bind(touch) : prop;
}
touch = newTouch;
}
last = null;
}
}
+
+ var pre = '_leaflet_',
+ touchstart = this._touchstart,
+ touchend = this._touchend;
+
obj[pre + touchstart + id] = onTouchStart;
obj[pre + touchend + id] = onTouchEnd;
-
- // on pointer we need to listen on the document, otherwise a drag starting on the map and moving off screen
- // will not come through to us, so we will lose track of how many touches are ongoing
- var endElement = L.Browser.pointer ? document.documentElement : obj;
+ obj[pre + 'dblclick' + id] = handler;
obj.addEventListener(touchstart, onTouchStart, false);
- endElement.addEventListener(touchend, onTouchEnd, false);
+ obj.addEventListener(touchend, onTouchEnd, false);
- if (L.Browser.pointer) {
- endElement.addEventListener(L.DomEvent.POINTER_CANCEL, onTouchEnd, false);
+ // On some platforms (notably, chrome on win10 + touchscreen + mouse),
+ // the browser doesn't fire touchend/pointerup events but does fire
+ // native dblclicks. See #4127.
+ if (!L.Browser.edge) {
+ obj.addEventListener('dblclick', handler, false);
}
return this;
},
removeDoubleTapListener: function (obj, id) {
- var pre = '_leaflet_';
-
- obj.removeEventListener(this._touchstart, obj[pre + this._touchstart + id], false);
- (L.Browser.pointer ? document.documentElement : obj).removeEventListener(
- this._touchend, obj[pre + this._touchend + id], false);
+ var pre = '_leaflet_',
+ touchstart = obj[pre + this._touchstart + id],
+ touchend = obj[pre + this._touchend + id],
+ dblclick = obj[pre + 'dblclick' + id];
- if (L.Browser.pointer) {
- document.documentElement.removeEventListener(L.DomEvent.POINTER_CANCEL, obj[pre + this._touchend + id],
- false);
+ obj.removeEventListener(this._touchstart, touchstart, false);
+ obj.removeEventListener(this._touchend, touchend, false);
+ if (!L.Browser.edge) {
+ obj.removeEventListener('dblclick', dblclick, false);
}
return this;
});
+
/*
* Extends L.DomEvent to provide touch support for Internet Explorer and Windows-based devices.
*/
L.extend(L.DomEvent, {
- //static
- POINTER_DOWN: L.Browser.msPointer ? 'MSPointerDown' : 'pointerdown',
- POINTER_MOVE: L.Browser.msPointer ? 'MSPointerMove' : 'pointermove',
- POINTER_UP: L.Browser.msPointer ? 'MSPointerUp' : 'pointerup',
+ POINTER_DOWN: L.Browser.msPointer ? 'MSPointerDown' : 'pointerdown',
+ POINTER_MOVE: L.Browser.msPointer ? 'MSPointerMove' : 'pointermove',
+ POINTER_UP: L.Browser.msPointer ? 'MSPointerUp' : 'pointerup',
POINTER_CANCEL: L.Browser.msPointer ? 'MSPointerCancel' : 'pointercancel',
+ TAG_WHITE_LIST: ['INPUT', 'SELECT', 'OPTION'],
- _pointers: [],
- _pointerDocumentListener: false,
+ _pointers: {},
+ _pointersCount: 0,
// Provides a touch events wrapper for (ms)pointer events.
- // Based on changes by veproza https://github.com/CloudMade/Leaflet/pull/1019
- //ref http://www.w3.org/TR/pointerevents/ https://www.w3.org/Bugs/Public/show_bug.cgi?id=22890
+ // ref http://www.w3.org/TR/pointerevents/ https://www.w3.org/Bugs/Public/show_bug.cgi?id=22890
addPointerListener: function (obj, type, handler, id) {
- switch (type) {
- case 'touchstart':
- return this.addPointerListenerStart(obj, type, handler, id);
- case 'touchend':
- return this.addPointerListenerEnd(obj, type, handler, id);
- case 'touchmove':
- return this.addPointerListenerMove(obj, type, handler, id);
- default:
- throw 'Unknown touch event type';
- }
- },
+ if (type === 'touchstart') {
+ this._addPointerStart(obj, handler, id);
- addPointerListenerStart: function (obj, type, handler, id) {
- var pre = '_leaflet_',
- pointers = this._pointers;
+ } else if (type === 'touchmove') {
+ this._addPointerMove(obj, handler, id);
- var cb = function (e) {
- if (e.pointerType !== 'mouse' && e.pointerType !== e.MSPOINTER_TYPE_MOUSE) {
- L.DomEvent.preventDefault(e);
- }
+ } else if (type === 'touchend') {
+ this._addPointerEnd(obj, handler, id);
+ }
- var alreadyInArray = false;
- for (var i = 0; i < pointers.length; i++) {
- if (pointers[i].pointerId === e.pointerId) {
- alreadyInArray = true;
- break;
- }
- }
- if (!alreadyInArray) {
- pointers.push(e);
- }
+ return this;
+ },
- e.touches = pointers.slice();
- e.changedTouches = [e];
+ removePointerListener: function (obj, type, id) {
+ var handler = obj['_leaflet_' + type + id];
- handler(e);
- };
+ if (type === 'touchstart') {
+ obj.removeEventListener(this.POINTER_DOWN, handler, false);
- obj[pre + 'touchstart' + id] = cb;
- obj.addEventListener(this.POINTER_DOWN, cb, false);
-
- // need to also listen for end events to keep the _pointers list accurate
- // this needs to be on the body and never go away
- if (!this._pointerDocumentListener) {
- var internalCb = function (e) {
- for (var i = 0; i < pointers.length; i++) {
- if (pointers[i].pointerId === e.pointerId) {
- pointers.splice(i, 1);
- break;
- }
- }
- };
- //We listen on the documentElement as any drags that end by moving the touch off the screen get fired there
- document.documentElement.addEventListener(this.POINTER_UP, internalCb, false);
- document.documentElement.addEventListener(this.POINTER_CANCEL, internalCb, false);
+ } else if (type === 'touchmove') {
+ obj.removeEventListener(this.POINTER_MOVE, handler, false);
- this._pointerDocumentListener = true;
+ } else if (type === 'touchend') {
+ obj.removeEventListener(this.POINTER_UP, handler, false);
+ obj.removeEventListener(this.POINTER_CANCEL, handler, false);
}
return this;
},
- addPointerListenerMove: function (obj, type, handler, id) {
- var pre = '_leaflet_',
- touches = this._pointers;
+ _addPointerStart: function (obj, handler, id) {
+ var onDown = L.bind(function (e) {
+ if (e.pointerType !== 'mouse' && e.pointerType !== e.MSPOINTER_TYPE_MOUSE) {
+ // In IE11, some touch events needs to fire for form controls, or
+ // the controls will stop working. We keep a whitelist of tag names that
+ // need these events. For other target tags, we prevent default on the event.
+ if (this.TAG_WHITE_LIST.indexOf(e.target.tagName) < 0) {
+ L.DomEvent.preventDefault(e);
+ } else {
+ return;
+ }
+ }
- function cb(e) {
+ this._handlePointer(e, handler);
+ }, this);
- // don't fire touch moves when mouse isn't down
- if ((e.pointerType === e.MSPOINTER_TYPE_MOUSE || e.pointerType === 'mouse') && e.buttons === 0) { return; }
+ obj['_leaflet_touchstart' + id] = onDown;
+ obj.addEventListener(this.POINTER_DOWN, onDown, false);
- for (var i = 0; i < touches.length; i++) {
- if (touches[i].pointerId === e.pointerId) {
- touches[i] = e;
- break;
- }
- }
+ // need to keep track of what pointers and how many are active to provide e.touches emulation
+ if (!this._pointerDocListener) {
+ var pointerUp = L.bind(this._globalPointerUp, this);
- e.touches = touches.slice();
- e.changedTouches = [e];
+ // we listen documentElement as any drags that end by moving the touch off the screen get fired there
+ document.documentElement.addEventListener(this.POINTER_DOWN, L.bind(this._globalPointerDown, this), true);
+ document.documentElement.addEventListener(this.POINTER_MOVE, L.bind(this._globalPointerMove, this), true);
+ document.documentElement.addEventListener(this.POINTER_UP, pointerUp, true);
+ document.documentElement.addEventListener(this.POINTER_CANCEL, pointerUp, true);
- handler(e);
+ this._pointerDocListener = true;
}
+ },
- obj[pre + 'touchmove' + id] = cb;
- obj.addEventListener(this.POINTER_MOVE, cb, false);
+ _globalPointerDown: function (e) {
+ this._pointers[e.pointerId] = e;
+ this._pointersCount++;
+ },
- return this;
+ _globalPointerMove: function (e) {
+ if (this._pointers[e.pointerId]) {
+ this._pointers[e.pointerId] = e;
+ }
},
- addPointerListenerEnd: function (obj, type, handler, id) {
- var pre = '_leaflet_',
- touches = this._pointers;
+ _globalPointerUp: function (e) {
+ delete this._pointers[e.pointerId];
+ this._pointersCount--;
+ },
- var cb = function (e) {
- for (var i = 0; i < touches.length; i++) {
- if (touches[i].pointerId === e.pointerId) {
- touches.splice(i, 1);
- break;
- }
- }
+ _handlePointer: function (e, handler) {
+ e.touches = [];
+ for (var i in this._pointers) {
+ e.touches.push(this._pointers[i]);
+ }
+ e.changedTouches = [e];
- e.touches = touches.slice();
- e.changedTouches = [e];
+ handler(e);
+ },
- handler(e);
- };
+ _addPointerMove: function (obj, handler, id) {
+ var onMove = L.bind(function (e) {
+ // don't fire touch moves when mouse isn't down
+ if ((e.pointerType === e.MSPOINTER_TYPE_MOUSE || e.pointerType === 'mouse') && e.buttons === 0) { return; }
- obj[pre + 'touchend' + id] = cb;
- obj.addEventListener(this.POINTER_UP, cb, false);
- obj.addEventListener(this.POINTER_CANCEL, cb, false);
+ this._handlePointer(e, handler);
+ }, this);
- return this;
+ obj['_leaflet_touchmove' + id] = onMove;
+ obj.addEventListener(this.POINTER_MOVE, onMove, false);
},
- removePointerListener: function (obj, type, id) {
- var pre = '_leaflet_',
- cb = obj[pre + type + id];
-
- switch (type) {
- case 'touchstart':
- obj.removeEventListener(this.POINTER_DOWN, cb, false);
- break;
- case 'touchmove':
- obj.removeEventListener(this.POINTER_MOVE, cb, false);
- break;
- case 'touchend':
- obj.removeEventListener(this.POINTER_UP, cb, false);
- obj.removeEventListener(this.POINTER_CANCEL, cb, false);
- break;
- }
+ _addPointerEnd: function (obj, handler, id) {
+ var onUp = L.bind(function (e) {
+ this._handlePointer(e, handler);
+ }, this);
- return this;
+ obj['_leaflet_touchend' + id] = onUp;
+ obj.addEventListener(this.POINTER_UP, onUp, false);
+ obj.addEventListener(this.POINTER_CANCEL, onUp, false);
}
});
+
/*
* L.Handler.TouchZoom is used by L.Map to add pinch zoom on supported mobile browsers.
*/
+// @namespace Map
+// @section Interaction Options
L.Map.mergeOptions({
+ // @section Touch interaction options
+ // @option touchZoom: Boolean|String = *
+ // Whether the map can be zoomed by touch-dragging with two fingers. If
+ // passed `'center'`, it will zoom to the center of the view regardless of
+ // where the touch events (fingers) were. Enabled for touch-capable web
+ // browsers except for old Androids.
touchZoom: L.Browser.touch && !L.Browser.android23,
+
+ // @option bounceAtZoomLimits: Boolean = true
+ // Set it to false if you don't want the map to zoom beyond min/max zoom
+ // and then bounce back when pinch-zooming.
bounceAtZoomLimits: true
});
L.Map.TouchZoom = L.Handler.extend({
addHooks: function () {
+ L.DomUtil.addClass(this._map._container, 'leaflet-touch-zoom');
L.DomEvent.on(this._map._container, 'touchstart', this._onTouchStart, this);
},
removeHooks: function () {
+ L.DomUtil.removeClass(this._map._container, 'leaflet-touch-zoom');
L.DomEvent.off(this._map._container, 'touchstart', this._onTouchStart, this);
},
_onTouchStart: function (e) {
var map = this._map;
-
if (!e.touches || e.touches.length !== 2 || map._animatingZoom || this._zooming) { return; }
- var p1 = map.mouseEventToLayerPoint(e.touches[0]),
- p2 = map.mouseEventToLayerPoint(e.touches[1]),
- viewCenter = map._getCenterLayerPoint();
+ var p1 = map.mouseEventToContainerPoint(e.touches[0]),
+ p2 = map.mouseEventToContainerPoint(e.touches[1]);
+
+ this._centerPoint = map.getSize()._divideBy(2);
+ this._startLatLng = map.containerPointToLatLng(this._centerPoint);
+ if (map.options.touchZoom !== 'center') {
+ this._pinchStartLatLng = map.containerPointToLatLng(p1.add(p2)._divideBy(2));
+ }
- this._startCenter = p1.add(p2)._divideBy(2);
this._startDist = p1.distanceTo(p2);
+ this._startZoom = map.getZoom();
this._moved = false;
this._zooming = true;
- this._centerOffset = viewCenter.subtract(this._startCenter);
-
- if (map._panAnim) {
- map._panAnim.stop();
- }
+ map._stop();
L.DomEvent
.on(document, 'touchmove', this._onTouchMove, this)
},
_onTouchMove: function (e) {
- var map = this._map;
-
if (!e.touches || e.touches.length !== 2 || !this._zooming) { return; }
- var p1 = map.mouseEventToLayerPoint(e.touches[0]),
- p2 = map.mouseEventToLayerPoint(e.touches[1]);
+ var map = this._map,
+ p1 = map.mouseEventToContainerPoint(e.touches[0]),
+ p2 = map.mouseEventToContainerPoint(e.touches[1]),
+ scale = p1.distanceTo(p2) / this._startDist;
+
- this._scale = p1.distanceTo(p2) / this._startDist;
- this._delta = p1._add(p2)._divideBy(2)._subtract(this._startCenter);
+ this._zoom = map.getScaleZoom(scale, this._startZoom);
- if (this._scale === 1) { return; }
+ if (!map.options.bounceAtZoomLimits && (
+ (this._zoom < map.getMinZoom() && scale < 1) ||
+ (this._zoom > map.getMaxZoom() && scale > 1))) {
+ this._zoom = map._limitZoom(this._zoom);
+ }
- if (!map.options.bounceAtZoomLimits) {
- if ((map.getZoom() === map.getMinZoom() && this._scale < 1) ||
- (map.getZoom() === map.getMaxZoom() && this._scale > 1)) { return; }
+ if (map.options.touchZoom === 'center') {
+ this._center = this._startLatLng;
+ if (scale === 1) { return; }
+ } else {
+ // Get delta from pinch to center, so centerLatLng is delta applied to initial pinchLatLng
+ var delta = p1._add(p2)._divideBy(2)._subtract(this._centerPoint);
+ if (scale === 1 && delta.x === 0 && delta.y === 0) { return; }
+ this._center = map.unproject(map.project(this._pinchStartLatLng, this._zoom).subtract(delta), this._zoom);
}
if (!this._moved) {
- L.DomUtil.addClass(map._mapPane, 'leaflet-touching');
-
- map
- .fire('movestart')
- .fire('zoomstart');
-
+ map._moveStart(true);
this._moved = true;
}
L.Util.cancelAnimFrame(this._animRequest);
- this._animRequest = L.Util.requestAnimFrame(
- this._updateOnMove, this, true, this._map._container);
-
- L.DomEvent.preventDefault(e);
- },
- _updateOnMove: function () {
- var map = this._map,
- origin = this._getScaleOrigin(),
- center = map.layerPointToLatLng(origin),
- zoom = map.getScaleZoom(this._scale);
+ var moveFn = L.bind(map._move, map, this._center, this._zoom, {pinch: true, round: false});
+ this._animRequest = L.Util.requestAnimFrame(moveFn, this, true);
- map._animateZoom(center, zoom, this._startCenter, this._scale, this._delta, false, true);
+ L.DomEvent.preventDefault(e);
},
_onTouchEnd: function () {
return;
}
- var map = this._map;
-
this._zooming = false;
- L.DomUtil.removeClass(map._mapPane, 'leaflet-touching');
L.Util.cancelAnimFrame(this._animRequest);
L.DomEvent
.off(document, 'touchmove', this._onTouchMove)
.off(document, 'touchend', this._onTouchEnd);
- var origin = this._getScaleOrigin(),
- center = map.layerPointToLatLng(origin),
-
- oldZoom = map.getZoom(),
- floatZoomDelta = map.getScaleZoom(this._scale) - oldZoom,
- roundZoomDelta = (floatZoomDelta > 0 ?
- Math.ceil(floatZoomDelta) : Math.floor(floatZoomDelta)),
-
- zoom = map._limitZoom(oldZoom + roundZoomDelta),
- scale = map.getZoomScale(zoom) / this._scale;
-
- map._animateZoom(center, zoom, origin, scale);
- },
-
- _getScaleOrigin: function () {
- var centerOffset = this._centerOffset.subtract(this._delta).divideBy(this._scale);
- return this._startCenter.add(centerOffset);
+ // Pinch updates GridLayers' levels only when zoomSnap is off, so zoomSnap becomes noUpdate.
+ if (this._map.options.zoomAnimation) {
+ this._map._animateZoom(this._center, this._map._limitZoom(this._zoom), true, this._map.options.zoomSnap);
+ } else {
+ this._map._resetView(this._center, this._map._limitZoom(this._zoom));
+ }
}
});
+// @section Handlers
+// @property touchZoom: Handler
+// Touch zoom handler.
L.Map.addInitHook('addHandler', 'touchZoom', L.Map.TouchZoom);
+
/*
* L.Map.Tap is used to enable mobile hacks like quick taps and long hold.
*/
+// @namespace Map
+// @section Interaction Options
L.Map.mergeOptions({
+ // @section Touch interaction options
+ // @option tap: Boolean = true
+ // Enables mobile hacks for supporting instant taps (fixing 200ms click
+ // delay on iOS/Android) and touch holds (fired as `contextmenu` events).
tap: true,
+
+ // @option tapTolerance: Number = 15
+ // The max number of pixels a user can shift his finger during touch
+ // for it to be considered a valid tap.
tapTolerance: 15
});
}
}, this), 1000);
- L.DomEvent
- .on(document, 'touchmove', this._onMove, this)
- .on(document, 'touchend', this._onUp, this);
+ this._simulateEvent('mousedown', first);
+
+ L.DomEvent.on(document, {
+ touchmove: this._onMove,
+ touchend: this._onUp
+ }, this);
},
_onUp: function (e) {
clearTimeout(this._holdTimeout);
- L.DomEvent
- .off(document, 'touchmove', this._onMove, this)
- .off(document, 'touchend', this._onUp, this);
+ L.DomEvent.off(document, {
+ touchmove: this._onMove,
+ touchend: this._onUp
+ }, this);
if (this._fireClick && e && e.changedTouches) {
L.DomUtil.removeClass(el, 'leaflet-active');
}
+ this._simulateEvent('mouseup', first);
+
// simulate click if the touch didn't move too much
if (this._isTapValid()) {
this._simulateEvent('click', first);
_onMove: function (e) {
var first = e.touches[0];
this._newPos = new L.Point(first.clientX, first.clientY);
+ this._simulateEvent('mousemove', first);
},
_simulateEvent: function (type, e) {
}
});
+// @section Handlers
+// @property tap: Handler
+// Mobile touch hacks (quick tap and touch hold) handler.
if (L.Browser.touch && !L.Browser.pointer) {
L.Map.addInitHook('addHandler', 'tap', L.Map.Tap);
}
+
/*
- * L.Handler.ShiftDragZoom is used to add shift-drag zoom interaction to the map
- * (zoom to a selected bounding box), enabled by default.
+ * L.Handler.BoxZoom is used to add shift-drag zoom interaction to the map
+ * (zoom to a selected bounding box), enabled by default.
*/
+// @namespace Map
+// @section Interaction Options
L.Map.mergeOptions({
+ // @option boxZoom: Boolean = true
+ // Whether the map can be zoomed to a rectangular area specified by
+ // dragging the mouse while pressing the shift key.
boxZoom: true
});
this._map = map;
this._container = map._container;
this._pane = map._panes.overlayPane;
- this._moved = false;
},
addHooks: function () {
},
removeHooks: function () {
- L.DomEvent.off(this._container, 'mousedown', this._onMouseDown);
- this._moved = false;
+ L.DomEvent.off(this._container, 'mousedown', this._onMouseDown, this);
},
moved: function () {
return this._moved;
},
- _onMouseDown: function (e) {
+ _resetState: function () {
this._moved = false;
+ },
+ _onMouseDown: function (e) {
if (!e.shiftKey || ((e.which !== 1) && (e.button !== 1))) { return false; }
+ this._resetState();
+
L.DomUtil.disableTextSelection();
L.DomUtil.disableImageDrag();
- this._startLayerPoint = this._map.mouseEventToLayerPoint(e);
+ this._startPoint = this._map.mouseEventToContainerPoint(e);
- L.DomEvent
- .on(document, 'mousemove', this._onMouseMove, this)
- .on(document, 'mouseup', this._onMouseUp, this)
- .on(document, 'keydown', this._onKeyDown, this);
+ L.DomEvent.on(document, {
+ contextmenu: L.DomEvent.stop,
+ mousemove: this._onMouseMove,
+ mouseup: this._onMouseUp,
+ keydown: this._onKeyDown
+ }, this);
},
_onMouseMove: function (e) {
if (!this._moved) {
- this._box = L.DomUtil.create('div', 'leaflet-zoom-box', this._pane);
- L.DomUtil.setPosition(this._box, this._startLayerPoint);
+ this._moved = true;
+
+ this._box = L.DomUtil.create('div', 'leaflet-zoom-box', this._container);
+ L.DomUtil.addClass(this._container, 'leaflet-crosshair');
- //TODO refactor: move cursor to styles
- this._container.style.cursor = 'crosshair';
this._map.fire('boxzoomstart');
}
- var startPoint = this._startLayerPoint,
- box = this._box,
+ this._point = this._map.mouseEventToContainerPoint(e);
- layerPoint = this._map.mouseEventToLayerPoint(e),
- offset = layerPoint.subtract(startPoint),
+ var bounds = new L.Bounds(this._point, this._startPoint),
+ size = bounds.getSize();
- newPos = new L.Point(
- Math.min(layerPoint.x, startPoint.x),
- Math.min(layerPoint.y, startPoint.y));
+ L.DomUtil.setPosition(this._box, bounds.min);
- L.DomUtil.setPosition(box, newPos);
-
- this._moved = true;
-
- // TODO refactor: remove hardcoded 4 pixels
- box.style.width = (Math.max(0, Math.abs(offset.x) - 4)) + 'px';
- box.style.height = (Math.max(0, Math.abs(offset.y) - 4)) + 'px';
+ this._box.style.width = size.x + 'px';
+ this._box.style.height = size.y + 'px';
},
_finish: function () {
if (this._moved) {
- this._pane.removeChild(this._box);
- this._container.style.cursor = '';
+ L.DomUtil.remove(this._box);
+ L.DomUtil.removeClass(this._container, 'leaflet-crosshair');
}
L.DomUtil.enableTextSelection();
L.DomUtil.enableImageDrag();
- L.DomEvent
- .off(document, 'mousemove', this._onMouseMove)
- .off(document, 'mouseup', this._onMouseUp)
- .off(document, 'keydown', this._onKeyDown);
+ L.DomEvent.off(document, {
+ contextmenu: L.DomEvent.stop,
+ mousemove: this._onMouseMove,
+ mouseup: this._onMouseUp,
+ keydown: this._onKeyDown
+ }, this);
},
_onMouseUp: function (e) {
+ if ((e.which !== 1) && (e.button !== 1)) { return; }
this._finish();
- var map = this._map,
- layerPoint = map.mouseEventToLayerPoint(e);
-
- if (this._startLayerPoint.equals(layerPoint)) { return; }
+ if (!this._moved) { return; }
+ // Postpone to next JS tick so internal click event handling
+ // still see it as "moved".
+ setTimeout(L.bind(this._resetState, this), 0);
var bounds = new L.LatLngBounds(
- map.layerPointToLatLng(this._startLayerPoint),
- map.layerPointToLatLng(layerPoint));
+ this._map.containerPointToLatLng(this._startPoint),
+ this._map.containerPointToLatLng(this._point));
- map.fitBounds(bounds);
-
- map.fire('boxzoomend', {
- boxZoomBounds: bounds
- });
+ this._map
+ .fitBounds(bounds)
+ .fire('boxzoomend', {boxZoomBounds: bounds});
},
_onKeyDown: function (e) {
}
});
+// @section Handlers
+// @property boxZoom: Handler
+// Box (shift-drag with mouse) zoom handler.
L.Map.addInitHook('addHandler', 'boxZoom', L.Map.BoxZoom);
+
/*
* L.Map.Keyboard is handling keyboard interaction with the map, enabled by default.
*/
+// @namespace Map
+// @section Keyboard Navigation Options
L.Map.mergeOptions({
+ // @option keyboard: Boolean = true
+ // Makes the map focusable and allows users to navigate the map with keyboard
+ // arrows and `+`/`-` keys.
keyboard: true,
- keyboardPanOffset: 80,
- keyboardZoomOffset: 1
+
+ // @option keyboardPanDelta: Number = 80
+ // Amount of pixels to pan when pressing an arrow key.
+ keyboardPanDelta: 80
});
L.Map.Keyboard = L.Handler.extend({
down: [40],
up: [38],
zoomIn: [187, 107, 61, 171],
- zoomOut: [189, 109, 173]
+ zoomOut: [189, 109, 54, 173]
},
initialize: function (map) {
this._map = map;
- this._setPanOffset(map.options.keyboardPanOffset);
- this._setZoomOffset(map.options.keyboardZoomOffset);
+ this._setPanDelta(map.options.keyboardPanDelta);
+ this._setZoomDelta(map.options.zoomDelta);
},
addHooks: function () {
var container = this._map._container;
// make the container focusable by tabbing
- if (container.tabIndex === -1) {
+ if (container.tabIndex <= 0) {
container.tabIndex = '0';
}
- L.DomEvent
- .on(container, 'focus', this._onFocus, this)
- .on(container, 'blur', this._onBlur, this)
- .on(container, 'mousedown', this._onMouseDown, this);
+ L.DomEvent.on(container, {
+ focus: this._onFocus,
+ blur: this._onBlur,
+ mousedown: this._onMouseDown
+ }, this);
- this._map
- .on('focus', this._addHooks, this)
- .on('blur', this._removeHooks, this);
+ this._map.on({
+ focus: this._addHooks,
+ blur: this._removeHooks
+ }, this);
},
removeHooks: function () {
this._removeHooks();
- var container = this._map._container;
-
- L.DomEvent
- .off(container, 'focus', this._onFocus, this)
- .off(container, 'blur', this._onBlur, this)
- .off(container, 'mousedown', this._onMouseDown, this);
+ L.DomEvent.off(this._map._container, {
+ focus: this._onFocus,
+ blur: this._onBlur,
+ mousedown: this._onMouseDown
+ }, this);
- this._map
- .off('focus', this._addHooks, this)
- .off('blur', this._removeHooks, this);
+ this._map.off({
+ focus: this._addHooks,
+ blur: this._removeHooks
+ }, this);
},
_onMouseDown: function () {
this._map.fire('blur');
},
- _setPanOffset: function (pan) {
+ _setPanDelta: function (panDelta) {
var keys = this._panKeys = {},
codes = this.keyCodes,
i, len;
for (i = 0, len = codes.left.length; i < len; i++) {
- keys[codes.left[i]] = [-1 * pan, 0];
+ keys[codes.left[i]] = [-1 * panDelta, 0];
}
for (i = 0, len = codes.right.length; i < len; i++) {
- keys[codes.right[i]] = [pan, 0];
+ keys[codes.right[i]] = [panDelta, 0];
}
for (i = 0, len = codes.down.length; i < len; i++) {
- keys[codes.down[i]] = [0, pan];
+ keys[codes.down[i]] = [0, panDelta];
}
for (i = 0, len = codes.up.length; i < len; i++) {
- keys[codes.up[i]] = [0, -1 * pan];
+ keys[codes.up[i]] = [0, -1 * panDelta];
}
},
- _setZoomOffset: function (zoom) {
+ _setZoomDelta: function (zoomDelta) {
var keys = this._zoomKeys = {},
codes = this.keyCodes,
i, len;
for (i = 0, len = codes.zoomIn.length; i < len; i++) {
- keys[codes.zoomIn[i]] = zoom;
+ keys[codes.zoomIn[i]] = zoomDelta;
}
for (i = 0, len = codes.zoomOut.length; i < len; i++) {
- keys[codes.zoomOut[i]] = -zoom;
+ keys[codes.zoomOut[i]] = -zoomDelta;
}
},
},
_onKeyDown: function (e) {
+ if (e.altKey || e.ctrlKey || e.metaKey) { return; }
+
var key = e.keyCode,
- map = this._map;
+ map = this._map,
+ offset;
if (key in this._panKeys) {
if (map._panAnim && map._panAnim._inProgress) { return; }
- map.panBy(this._panKeys[key]);
+ offset = this._panKeys[key];
+ if (e.shiftKey) {
+ offset = L.point(offset).multiplyBy(3);
+ }
+
+ map.panBy(offset);
if (map.options.maxBounds) {
map.panInsideBounds(map.options.maxBounds);
}
} else if (key in this._zoomKeys) {
- map.setZoom(map.getZoom() + this._zoomKeys[key]);
+ map.setZoom(map.getZoom() + (e.shiftKey ? 3 : 1) * this._zoomKeys[key]);
+
+ } else if (key === 27) {
+ map.closePopup();
} else {
return;
}
});
+// @section Handlers
+// @section Handlers
+// @property keyboard: Handler
+// Keyboard navigation handler.
L.Map.addInitHook('addHandler', 'keyboard', L.Map.Keyboard);
+
/*
* L.Handler.MarkerDrag is used internally by L.Marker to make the markers draggable.
*/
+
+/* @namespace Marker
+ * @section Interaction handlers
+ *
+ * Interaction handlers are properties of a marker instance that allow you to control interaction behavior in runtime, enabling or disabling certain features such as dragging (see `Handler` methods). Example:
+ *
+ * ```js
+ * marker.dragging.disable();
+ * ```
+ *
+ * @property dragging: Handler
+ * Marker dragging handler (by both mouse and touch).
+ */
+
L.Handler.MarkerDrag = L.Handler.extend({
initialize: function (marker) {
this._marker = marker;
addHooks: function () {
var icon = this._marker._icon;
+
if (!this._draggable) {
- this._draggable = new L.Draggable(icon, icon);
+ this._draggable = new L.Draggable(icon, icon, true);
}
- this._draggable
- .on('dragstart', this._onDragStart, this)
- .on('drag', this._onDrag, this)
- .on('dragend', this._onDragEnd, this);
- this._draggable.enable();
- L.DomUtil.addClass(this._marker._icon, 'leaflet-marker-draggable');
+ this._draggable.on({
+ dragstart: this._onDragStart,
+ drag: this._onDrag,
+ dragend: this._onDragEnd
+ }, this).enable();
+
+ L.DomUtil.addClass(icon, 'leaflet-marker-draggable');
},
removeHooks: function () {
- this._draggable
- .off('dragstart', this._onDragStart, this)
- .off('drag', this._onDrag, this)
- .off('dragend', this._onDragEnd, this);
+ this._draggable.off({
+ dragstart: this._onDragStart,
+ drag: this._onDrag,
+ dragend: this._onDragEnd
+ }, this).disable();
- this._draggable.disable();
- L.DomUtil.removeClass(this._marker._icon, 'leaflet-marker-draggable');
+ if (this._marker._icon) {
+ L.DomUtil.removeClass(this._marker._icon, 'leaflet-marker-draggable');
+ }
},
moved: function () {
},
_onDragStart: function () {
+ // @section Dragging events
+ // @event dragstart: Event
+ // Fired when the user starts dragging the marker.
+
+ // @event movestart: Event
+ // Fired when the marker starts moving (because of dragging).
+
+ this._oldLatLng = this._marker.getLatLng();
this._marker
.closePopup()
.fire('movestart')
.fire('dragstart');
},
- _onDrag: function () {
+ _onDrag: function (e) {
var marker = this._marker,
shadow = marker._shadow,
iconPos = L.DomUtil.getPosition(marker._icon),
}
marker._latlng = latlng;
+ e.latlng = latlng;
+ e.oldLatLng = this._oldLatLng;
+ // @event drag: Event
+ // Fired repeatedly while the user drags the marker.
marker
- .fire('move', {latlng: latlng})
- .fire('drag');
+ .fire('move', e)
+ .fire('drag', e);
},
_onDragEnd: function (e) {
+ // @event dragend: DragEndEvent
+ // Fired when the user stops dragging the marker.
+
+ // @event moveend: Event
+ // Fired when the marker stops moving (because of dragging).
+ delete this._oldLatLng;
this._marker
.fire('moveend')
.fire('dragend', e);
});
+
/*
+ * @class Control
+ * @aka L.Control
+ *
* L.Control is a base class for implementing map controls. Handles positioning.
* All other controls extend from this class.
*/
L.Control = L.Class.extend({
+ // @section
+ // @aka Control options
options: {
+ // @option position: String = 'topright'
+ // The position of the control (one of the map corners). Possible values are `'topleft'`,
+ // `'topright'`, `'bottomleft'` or `'bottomright'`
position: 'topright'
},
L.setOptions(this, options);
},
+ /* @section
+ * Classes extending L.Control will inherit the following methods:
+ *
+ * @method getPosition: string
+ * Returns the position of the control.
+ */
getPosition: function () {
return this.options.position;
},
+ // @method setPosition(position: string): this
+ // Sets the position of the control.
setPosition: function (position) {
var map = this._map;
return this;
},
+ // @method getContainer: HTMLElement
+ // Returns the HTMLElement that contains the control.
getContainer: function () {
return this._container;
},
+ // @method addTo(map: Map): this
+ // Adds the control to the given map.
addTo: function (map) {
+ this.remove();
this._map = map;
var container = this._container = this.onAdd(map),
return this;
},
- removeFrom: function (map) {
- var pos = this.getPosition(),
- corner = map._controlCorners[pos];
+ // @method remove: this
+ // Removes the control from the map it is currently active on.
+ remove: function () {
+ if (!this._map) {
+ return this;
+ }
- corner.removeChild(this._container);
- this._map = null;
+ L.DomUtil.remove(this._container);
if (this.onRemove) {
- this.onRemove(map);
+ this.onRemove(this._map);
}
+ this._map = null;
+
return this;
},
- _refocusOnMap: function () {
- if (this._map) {
+ _refocusOnMap: function (e) {
+ // if map exists and event is not a keyboard event
+ if (this._map && e && e.screenX > 0 && e.screenY > 0) {
this._map.getContainer().focus();
}
}
return new L.Control(options);
};
+/* @section Extension methods
+ * @uninheritable
+ *
+ * Every control should extend from `L.Control` and (re-)implement the following methods.
+ *
+ * @method onAdd(map: Map): HTMLElement
+ * Should return the container DOM element for the control and add listeners on relevant map events. Called on [`control.addTo(map)`](#control-addTo).
+ *
+ * @method onRemove(map: Map)
+ * Optional method. Should contain all clean up code that removes the listeners previously added in [`onAdd`](#control-onadd). Called on [`control.remove()`](#control-remove).
+ */
-// adds control-related methods to L.Map
-
+/* @namespace Map
+ * @section Methods for Layers and Controls
+ */
L.Map.include({
+ // @method addControl(control: Control): this
+ // Adds the given control to the map
addControl: function (control) {
control.addTo(this);
return this;
},
+ // @method removeControl(control: Control): this
+ // Removes the given control from the map
removeControl: function (control) {
- control.removeFrom(this);
+ control.remove();
return this;
},
},
_clearControlPos: function () {
- this._container.removeChild(this._controlContainer);
+ L.DomUtil.remove(this._controlContainer);
}
});
+
/*
- * L.Control.Zoom is used for the default zoom buttons on the map.
+ * @class Control.Zoom
+ * @aka L.Control.Zoom
+ * @inherits Control
+ *
+ * A basic zoom control with two buttons (zoom in and zoom out). It is put on the map by default unless you set its [`zoomControl` option](#map-zoomcontrol) to `false`. Extends `Control`.
*/
L.Control.Zoom = L.Control.extend({
+ // @section
+ // @aka Control.Zoom options
options: {
position: 'topleft',
+
+ // @option zoomInText: String = '+'
+ // The text set on the 'zoom in' button.
zoomInText: '+',
+
+ // @option zoomInTitle: String = 'Zoom in'
+ // The title set on the 'zoom in' button.
zoomInTitle: 'Zoom in',
+
+ // @option zoomOutText: String = '-'
+ // The text set on the 'zoom out' button.
zoomOutText: '-',
+
+ // @option zoomOutTitle: String = 'Zoom out'
+ // The title set on the 'zoom out' button.
zoomOutTitle: 'Zoom out'
},
onAdd: function (map) {
var zoomName = 'leaflet-control-zoom',
- container = L.DomUtil.create('div', zoomName + ' leaflet-bar');
-
- this._map = map;
+ container = L.DomUtil.create('div', zoomName + ' leaflet-bar'),
+ options = this.options;
- this._zoomInButton = this._createButton(
- this.options.zoomInText, this.options.zoomInTitle,
- zoomName + '-in', container, this._zoomIn, this);
- this._zoomOutButton = this._createButton(
- this.options.zoomOutText, this.options.zoomOutTitle,
- zoomName + '-out', container, this._zoomOut, this);
+ this._zoomInButton = this._createButton(options.zoomInText, options.zoomInTitle,
+ zoomName + '-in', container, this._zoomIn);
+ this._zoomOutButton = this._createButton(options.zoomOutText, options.zoomOutTitle,
+ zoomName + '-out', container, this._zoomOut);
this._updateDisabled();
map.on('zoomend zoomlevelschange', this._updateDisabled, this);
map.off('zoomend zoomlevelschange', this._updateDisabled, this);
},
+ disable: function () {
+ this._disabled = true;
+ this._updateDisabled();
+ return this;
+ },
+
+ enable: function () {
+ this._disabled = false;
+ this._updateDisabled();
+ return this;
+ },
+
_zoomIn: function (e) {
- this._map.zoomIn(e.shiftKey ? 3 : 1);
+ if (!this._disabled && this._map._zoom < this._map.getMaxZoom()) {
+ this._map.zoomIn(this._map.options.zoomDelta * (e.shiftKey ? 3 : 1));
+ }
},
_zoomOut: function (e) {
- this._map.zoomOut(e.shiftKey ? 3 : 1);
+ if (!this._disabled && this._map._zoom > this._map.getMinZoom()) {
+ this._map.zoomOut(this._map.options.zoomDelta * (e.shiftKey ? 3 : 1));
+ }
},
- _createButton: function (html, title, className, container, fn, context) {
+ _createButton: function (html, title, className, container, fn) {
var link = L.DomUtil.create('a', className, container);
link.innerHTML = html;
link.href = '#';
link.title = title;
- var stop = L.DomEvent.stopPropagation;
-
L.DomEvent
- .on(link, 'click', stop)
- .on(link, 'mousedown', stop)
- .on(link, 'dblclick', stop)
- .on(link, 'click', L.DomEvent.preventDefault)
- .on(link, 'click', fn, context)
- .on(link, 'click', this._refocusOnMap, context);
+ .on(link, 'mousedown dblclick', L.DomEvent.stopPropagation)
+ .on(link, 'click', L.DomEvent.stop)
+ .on(link, 'click', fn, this)
+ .on(link, 'click', this._refocusOnMap, this);
return link;
},
_updateDisabled: function () {
var map = this._map,
- className = 'leaflet-disabled';
+ className = 'leaflet-disabled';
L.DomUtil.removeClass(this._zoomInButton, className);
L.DomUtil.removeClass(this._zoomOutButton, className);
- if (map._zoom === map.getMinZoom()) {
+ if (this._disabled || map._zoom === map.getMinZoom()) {
L.DomUtil.addClass(this._zoomOutButton, className);
}
- if (map._zoom === map.getMaxZoom()) {
+ if (this._disabled || map._zoom === map.getMaxZoom()) {
L.DomUtil.addClass(this._zoomInButton, className);
}
}
});
+// @namespace Map
+// @section Control options
+// @option zoomControl: Boolean = true
+// Whether a [zoom control](#control-zoom) is added to the map by default.
L.Map.mergeOptions({
zoomControl: true
});
}
});
+// @namespace Control.Zoom
+// @factory L.control.zoom(options: Control.Zoom options)
+// Creates a zoom control
L.control.zoom = function (options) {
return new L.Control.Zoom(options);
};
/*
- * L.Control.Attribution is used for displaying attribution on the map (added by default).
+ * @class Control.Attribution
+ * @aka L.Control.Attribution
+ * @inherits Control
+ *
+ * The attribution control allows you to display attribution data in a small text box on a map. It is put on the map by default unless you set its [`attributionControl` option](#map-attributioncontrol) to `false`, and it fetches attribution texts from layers with the [`getAttribution` method](#layer-getattribution) automatically. Extends Control.
*/
L.Control.Attribution = L.Control.extend({
+ // @section
+ // @aka Control.Attribution options
options: {
position: 'bottomright',
+
+ // @option prefix: String = 'Leaflet'
+ // The HTML text shown before the attributions. Pass `false` to disable.
prefix: '<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'
},
},
onAdd: function (map) {
+ map.attributionControl = this;
this._container = L.DomUtil.create('div', 'leaflet-control-attribution');
- L.DomEvent.disableClickPropagation(this._container);
+ if (L.DomEvent) {
+ L.DomEvent.disableClickPropagation(this._container);
+ }
+ // TODO ugly, refactor
for (var i in map._layers) {
if (map._layers[i].getAttribution) {
this.addAttribution(map._layers[i].getAttribution());
}
}
-
- map
- .on('layeradd', this._onLayerAdd, this)
- .on('layerremove', this._onLayerRemove, this);
this._update();
return this._container;
},
- onRemove: function (map) {
- map
- .off('layeradd', this._onLayerAdd)
- .off('layerremove', this._onLayerRemove);
-
- },
-
+ // @method setPrefix(prefix: String): this
+ // Sets the text before the attributions.
setPrefix: function (prefix) {
this.options.prefix = prefix;
this._update();
return this;
},
+ // @method addAttribution(text: String): this
+ // Adds an attribution text (e.g. `'Vector data © Mapbox'`).
addAttribution: function (text) {
- if (!text) { return; }
+ if (!text) { return this; }
if (!this._attributions[text]) {
this._attributions[text] = 0;
return this;
},
+ // @method removeAttribution(text: String): this
+ // Removes an attribution text.
removeAttribution: function (text) {
- if (!text) { return; }
+ if (!text) { return this; }
if (this._attributions[text]) {
this._attributions[text]--;
}
this._container.innerHTML = prefixAndAttribs.join(' | ');
- },
-
- _onLayerAdd: function (e) {
- if (e.layer.getAttribution) {
- this.addAttribution(e.layer.getAttribution());
- }
- },
-
- _onLayerRemove: function (e) {
- if (e.layer.getAttribution) {
- this.removeAttribution(e.layer.getAttribution());
- }
}
});
+// @namespace Map
+// @section Control options
+// @option attributionControl: Boolean = true
+// Whether a [attribution control](#control-attribution) is added to the map by default.
L.Map.mergeOptions({
attributionControl: true
});
L.Map.addInitHook(function () {
if (this.options.attributionControl) {
- this.attributionControl = (new L.Control.Attribution()).addTo(this);
+ new L.Control.Attribution().addTo(this);
}
});
+// @namespace Control.Attribution
+// @factory L.control.attribution(options: Control.Attribution options)
+// Creates an attribution control.
L.control.attribution = function (options) {
return new L.Control.Attribution(options);
};
+
/*
- * L.Control.Scale is used for displaying metric/imperial scale on the map.
+ * @class Control.Scale
+ * @aka L.Control.Scale
+ * @inherits Control
+ *
+ * A simple scale control that shows the scale of the current center of screen in metric (m/km) and imperial (mi/ft) systems. Extends `Control`.
+ *
+ * @example
+ *
+ * ```js
+ * L.control.scale().addTo(map);
+ * ```
*/
L.Control.Scale = L.Control.extend({
+ // @section
+ // @aka Control.Scale options
options: {
position: 'bottomleft',
+
+ // @option maxWidth: Number = 100
+ // Maximum width of the control in pixels. The width is set dynamically to show round values (e.g. 100, 200, 500).
maxWidth: 100,
+
+ // @option metric: Boolean = True
+ // Whether to show the metric scale line (m/km).
metric: true,
- imperial: true,
- updateWhenIdle: false
+
+ // @option imperial: Boolean = True
+ // Whether to show the imperial scale line (mi/ft).
+ imperial: true
+
+ // @option updateWhenIdle: Boolean = false
+ // If `true`, the control is updated on [`moveend`](#map-moveend), otherwise it's always up-to-date (updated on [`move`](#map-move)).
},
onAdd: function (map) {
- this._map = map;
-
var className = 'leaflet-control-scale',
container = L.DomUtil.create('div', className),
options = this.options;
- this._addScales(options, className, container);
+ this._addScales(options, className + '-line', container);
map.on(options.updateWhenIdle ? 'moveend' : 'move', this._update, this);
map.whenReady(this._update, this);
_addScales: function (options, className, container) {
if (options.metric) {
- this._mScale = L.DomUtil.create('div', className + '-line', container);
+ this._mScale = L.DomUtil.create('div', className, container);
}
if (options.imperial) {
- this._iScale = L.DomUtil.create('div', className + '-line', container);
+ this._iScale = L.DomUtil.create('div', className, container);
}
},
_update: function () {
- var bounds = this._map.getBounds(),
- centerLat = bounds.getCenter().lat,
- halfWorldMeters = 6378137 * Math.PI * Math.cos(centerLat * Math.PI / 180),
- dist = halfWorldMeters * (bounds.getNorthEast().lng - bounds.getSouthWest().lng) / 180,
-
- size = this._map.getSize(),
- options = this.options,
- maxMeters = 0;
+ var map = this._map,
+ y = map.getSize().y / 2;
- if (size.x > 0) {
- maxMeters = dist * (options.maxWidth / size.x);
- }
+ var maxMeters = map.distance(
+ map.containerPointToLatLng([0, y]),
+ map.containerPointToLatLng([this.options.maxWidth, y]));
- this._updateScales(options, maxMeters);
+ this._updateScales(maxMeters);
},
- _updateScales: function (options, maxMeters) {
- if (options.metric && maxMeters) {
+ _updateScales: function (maxMeters) {
+ if (this.options.metric && maxMeters) {
this._updateMetric(maxMeters);
}
-
- if (options.imperial && maxMeters) {
+ if (this.options.imperial && maxMeters) {
this._updateImperial(maxMeters);
}
},
_updateMetric: function (maxMeters) {
- var meters = this._getRoundNum(maxMeters);
+ var meters = this._getRoundNum(maxMeters),
+ label = meters < 1000 ? meters + ' m' : (meters / 1000) + ' km';
- this._mScale.style.width = this._getScaleWidth(meters / maxMeters) + 'px';
- this._mScale.innerHTML = meters < 1000 ? meters + ' m' : (meters / 1000) + ' km';
+ this._updateScale(this._mScale, label, meters / maxMeters);
},
_updateImperial: function (maxMeters) {
var maxFeet = maxMeters * 3.2808399,
- scale = this._iScale,
maxMiles, miles, feet;
if (maxFeet > 5280) {
maxMiles = maxFeet / 5280;
miles = this._getRoundNum(maxMiles);
-
- scale.style.width = this._getScaleWidth(miles / maxMiles) + 'px';
- scale.innerHTML = miles + ' mi';
+ this._updateScale(this._iScale, miles + ' mi', miles / maxMiles);
} else {
feet = this._getRoundNum(maxFeet);
-
- scale.style.width = this._getScaleWidth(feet / maxFeet) + 'px';
- scale.innerHTML = feet + ' ft';
+ this._updateScale(this._iScale, feet + ' ft', feet / maxFeet);
}
},
- _getScaleWidth: function (ratio) {
- return Math.round(this.options.maxWidth * ratio) - 10;
+ _updateScale: function (scale, text, ratio) {
+ scale.style.width = Math.round(this.options.maxWidth * ratio) + 'px';
+ scale.innerHTML = text;
},
_getRoundNum: function (num) {
var pow10 = Math.pow(10, (Math.floor(num) + '').length - 1),
d = num / pow10;
- d = d >= 10 ? 10 : d >= 5 ? 5 : d >= 3 ? 3 : d >= 2 ? 2 : 1;
+ d = d >= 10 ? 10 :
+ d >= 5 ? 5 :
+ d >= 3 ? 3 :
+ d >= 2 ? 2 : 1;
return pow10 * d;
}
});
+
+// @factory L.control.scale(options?: Control.Scale options)
+// Creates an scale control with the given options.
L.control.scale = function (options) {
return new L.Control.Scale(options);
};
+
/*
- * L.Control.Layers is a control to allow users to switch between different layers on the map.
+ * @class Control.Layers
+ * @aka L.Control.Layers
+ * @inherits Control
+ *
+ * The layers control gives users the ability to switch between different base layers and switch overlays on/off (check out the [detailed example](http://leafletjs.com/examples/layers-control.html)). Extends `Control`.
+ *
+ * @example
+ *
+ * ```js
+ * var baseLayers = {
+ * "Mapbox": mapbox,
+ * "OpenStreetMap": osm
+ * };
+ *
+ * var overlays = {
+ * "Marker": marker,
+ * "Roads": roadsLayer
+ * };
+ *
+ * L.control.layers(baseLayers, overlays).addTo(map);
+ * ```
+ *
+ * The `baseLayers` and `overlays` parameters are object literals with layer names as keys and `Layer` objects as values:
+ *
+ * ```js
+ * {
+ * "<someName1>": layer1,
+ * "<someName2>": layer2
+ * }
+ * ```
+ *
+ * The layer names can contain HTML, which allows you to add additional styling to the items:
+ *
+ * ```js
+ * {"<img src='my-layer-icon' /> <span class='my-layer-item'>My Layer</span>": myLayer}
+ * ```
*/
+
L.Control.Layers = L.Control.extend({
+ // @section
+ // @aka Control.Layers options
options: {
+ // @option collapsed: Boolean = true
+ // If `true`, the control will be collapsed into an icon and expanded on mouse hover or touch.
collapsed: true,
position: 'topright',
- autoZIndex: true
+
+ // @option autoZIndex: Boolean = true
+ // If `true`, the control will assign zIndexes in increasing order to all of its layers so that the order is preserved when switching them on/off.
+ autoZIndex: true,
+
+ // @option hideSingleBase: Boolean = false
+ // If `true`, the base layers in the control will be hidden when there is only one.
+ hideSingleBase: false
},
initialize: function (baseLayers, overlays, options) {
L.setOptions(this, options);
- this._layers = {};
+ this._layers = [];
this._lastZIndex = 0;
this._handlingClick = false;
this._initLayout();
this._update();
- map
- .on('layeradd', this._onLayerChange, this)
- .on('layerremove', this._onLayerChange, this);
+ this._map = map;
+ map.on('zoomend', this._checkDisabledLayers, this);
return this._container;
},
- onRemove: function (map) {
- map
- .off('layeradd', this._onLayerChange, this)
- .off('layerremove', this._onLayerChange, this);
+ onRemove: function () {
+ this._map.off('zoomend', this._checkDisabledLayers, this);
+
+ for (var i = 0; i < this._layers.length; i++) {
+ this._layers[i].layer.off('add remove', this._onLayerChange, this);
+ }
},
+ // @method addBaseLayer(layer: Layer, name: String): this
+ // Adds a base layer (radio button entry) with the given name to the control.
addBaseLayer: function (layer, name) {
this._addLayer(layer, name);
- this._update();
- return this;
+ return (this._map) ? this._update() : this;
},
+ // @method addOverlay(layer: Layer, name: String): this
+ // Adds an overlay (checkbox entry) with the given name to the control.
addOverlay: function (layer, name) {
this._addLayer(layer, name, true);
- this._update();
- return this;
+ return (this._map) ? this._update() : this;
},
+ // @method removeLayer(layer: Layer): this
+ // Remove the given layer from the control.
removeLayer: function (layer) {
- var id = L.stamp(layer);
- delete this._layers[id];
- this._update();
+ layer.off('add remove', this._onLayerChange, this);
+
+ var obj = this._getLayer(L.stamp(layer));
+ if (obj) {
+ this._layers.splice(this._layers.indexOf(obj), 1);
+ }
+ return (this._map) ? this._update() : this;
+ },
+
+ // @method expand(): this
+ // Expand the control container if collapsed.
+ expand: function () {
+ L.DomUtil.addClass(this._container, 'leaflet-control-layers-expanded');
+ this._form.style.height = null;
+ var acceptableHeight = this._map.getSize().y - (this._container.offsetTop + 50);
+ if (acceptableHeight < this._form.clientHeight) {
+ L.DomUtil.addClass(this._form, 'leaflet-control-layers-scrollbar');
+ this._form.style.height = acceptableHeight + 'px';
+ } else {
+ L.DomUtil.removeClass(this._form, 'leaflet-control-layers-scrollbar');
+ }
+ this._checkDisabledLayers();
+ return this;
+ },
+
+ // @method collapse(): this
+ // Collapse the control container if expanded.
+ collapse: function () {
+ L.DomUtil.removeClass(this._container, 'leaflet-control-layers-expanded');
return this;
},
var className = 'leaflet-control-layers',
container = this._container = L.DomUtil.create('div', className);
- //Makes this work on IE10 Touch devices by stopping it from firing a mouseout event when the touch is released
+ // makes this work on IE touch devices by stopping it from firing a mouseout event when the touch is released
container.setAttribute('aria-haspopup', true);
+ L.DomEvent.disableClickPropagation(container);
if (!L.Browser.touch) {
- L.DomEvent
- .disableClickPropagation(container)
- .disableScrollPropagation(container);
- } else {
- L.DomEvent.on(container, 'click', L.DomEvent.stopPropagation);
+ L.DomEvent.disableScrollPropagation(container);
}
var form = this._form = L.DomUtil.create('form', className + '-list');
if (this.options.collapsed) {
if (!L.Browser.android) {
- L.DomEvent
- .on(container, 'mouseover', this._expand, this)
- .on(container, 'mouseout', this._collapse, this);
+ L.DomEvent.on(container, {
+ mouseenter: this.expand,
+ mouseleave: this.collapse
+ }, this);
}
+
var link = this._layersLink = L.DomUtil.create('a', className + '-toggle', container);
link.href = '#';
link.title = 'Layers';
if (L.Browser.touch) {
L.DomEvent
.on(link, 'click', L.DomEvent.stop)
- .on(link, 'click', this._expand, this);
- }
- else {
- L.DomEvent.on(link, 'focus', this._expand, this);
+ .on(link, 'click', this.expand, this);
+ } else {
+ L.DomEvent.on(link, 'focus', this.expand, this);
}
- //Work around for Firefox android issue https://github.com/Leaflet/Leaflet/issues/2033
+
+ // work around for Firefox Android issue https://github.com/Leaflet/Leaflet/issues/2033
L.DomEvent.on(form, 'click', function () {
setTimeout(L.bind(this._onInputClick, this), 0);
}, this);
- this._map.on('click', this._collapse, this);
+ this._map.on('click', this.collapse, this);
// TODO keyboard accessibility
} else {
- this._expand();
+ this.expand();
}
this._baseLayersList = L.DomUtil.create('div', className + '-base', form);
container.appendChild(form);
},
+ _getLayer: function (id) {
+ for (var i = 0; i < this._layers.length; i++) {
+
+ if (this._layers[i] && L.stamp(this._layers[i].layer) === id) {
+ return this._layers[i];
+ }
+ }
+ },
+
_addLayer: function (layer, name, overlay) {
- var id = L.stamp(layer);
+ layer.on('add remove', this._onLayerChange, this);
- this._layers[id] = {
+ this._layers.push({
layer: layer,
name: name,
overlay: overlay
- };
+ });
if (this.options.autoZIndex && layer.setZIndex) {
this._lastZIndex++;
},
_update: function () {
- if (!this._container) {
- return;
- }
+ if (!this._container) { return this; }
- this._baseLayersList.innerHTML = '';
- this._overlaysList.innerHTML = '';
+ L.DomUtil.empty(this._baseLayersList);
+ L.DomUtil.empty(this._overlaysList);
- var baseLayersPresent = false,
- overlaysPresent = false,
- i, obj;
+ var baseLayersPresent, overlaysPresent, i, obj, baseLayersCount = 0;
- for (i in this._layers) {
+ for (i = 0; i < this._layers.length; i++) {
obj = this._layers[i];
this._addItem(obj);
overlaysPresent = overlaysPresent || obj.overlay;
baseLayersPresent = baseLayersPresent || !obj.overlay;
+ baseLayersCount += !obj.overlay ? 1 : 0;
+ }
+
+ // Hide base layers section if there's only one layer.
+ if (this.options.hideSingleBase) {
+ baseLayersPresent = baseLayersPresent && baseLayersCount > 1;
+ this._baseLayersList.style.display = baseLayersPresent ? '' : 'none';
}
this._separator.style.display = overlaysPresent && baseLayersPresent ? '' : 'none';
+
+ return this;
},
_onLayerChange: function (e) {
- var obj = this._layers[L.stamp(e.layer)];
-
- if (!obj) { return; }
-
if (!this._handlingClick) {
this._update();
}
+ var obj = this._getLayer(L.stamp(e.target));
+
+ // @namespace Map
+ // @section Layer events
+ // @event baselayerchange: LayersControlEvent
+ // Fired when the base layer is changed through the [layer control](#control-layers).
+ // @event overlayadd: LayersControlEvent
+ // Fired when an overlay is selected through the [layer control](#control-layers).
+ // @event overlayremove: LayersControlEvent
+ // Fired when an overlay is deselected through the [layer control](#control-layers).
+ // @namespace Control.Layers
var type = obj.overlay ?
- (e.type === 'layeradd' ? 'overlayadd' : 'overlayremove') :
- (e.type === 'layeradd' ? 'baselayerchange' : null);
+ (e.type === 'add' ? 'overlayadd' : 'overlayremove') :
+ (e.type === 'add' ? 'baselayerchange' : null);
if (type) {
this._map.fire(type, obj);
// IE7 bugs out if you create a radio dynamically, so you have to do it this hacky way (see http://bit.ly/PqYLBe)
_createRadioElement: function (name, checked) {
- var radioHtml = '<input type="radio" class="leaflet-control-layers-selector" name="' + name + '"';
- if (checked) {
- radioHtml += ' checked="checked"';
- }
- radioHtml += '/>';
+ var radioHtml = '<input type="radio" class="leaflet-control-layers-selector" name="' +
+ name + '"' + (checked ? ' checked="checked"' : '') + '/>';
var radioFragment = document.createElement('div');
radioFragment.innerHTML = radioHtml;
_addItem: function (obj) {
var label = document.createElement('label'),
- input,
- checked = this._map.hasLayer(obj.layer);
+ checked = this._map.hasLayer(obj.layer),
+ input;
if (obj.overlay) {
input = document.createElement('input');
var name = document.createElement('span');
name.innerHTML = ' ' + obj.name;
- label.appendChild(input);
- label.appendChild(name);
+ // Helps from preventing layer control flicker when checkboxes are disabled
+ // https://github.com/Leaflet/Leaflet/issues/2771
+ var holder = document.createElement('div');
+
+ label.appendChild(holder);
+ holder.appendChild(input);
+ holder.appendChild(name);
var container = obj.overlay ? this._overlaysList : this._baseLayersList;
container.appendChild(label);
+ this._checkDisabledLayers();
return label;
},
_onInputClick: function () {
- var i, input, obj,
- inputs = this._form.getElementsByTagName('input'),
- inputsLen = inputs.length;
+ var inputs = this._form.getElementsByTagName('input'),
+ input, layer, hasLayer;
+ var addedLayers = [],
+ removedLayers = [];
this._handlingClick = true;
- for (i = 0; i < inputsLen; i++) {
+ for (var i = inputs.length - 1; i >= 0; i--) {
input = inputs[i];
- obj = this._layers[input.layerId];
+ layer = this._getLayer(input.layerId).layer;
+ hasLayer = this._map.hasLayer(layer);
- if (input.checked && !this._map.hasLayer(obj.layer)) {
- this._map.addLayer(obj.layer);
+ if (input.checked && !hasLayer) {
+ addedLayers.push(layer);
- } else if (!input.checked && this._map.hasLayer(obj.layer)) {
- this._map.removeLayer(obj.layer);
+ } else if (!input.checked && hasLayer) {
+ removedLayers.push(layer);
}
}
+ // Bugfix issue 2318: Should remove all old layers before readding new ones
+ for (i = 0; i < removedLayers.length; i++) {
+ this._map.removeLayer(removedLayers[i]);
+ }
+ for (i = 0; i < addedLayers.length; i++) {
+ this._map.addLayer(addedLayers[i]);
+ }
+
this._handlingClick = false;
this._refocusOnMap();
},
+ _checkDisabledLayers: function () {
+ var inputs = this._form.getElementsByTagName('input'),
+ input,
+ layer,
+ zoom = this._map.getZoom();
+
+ for (var i = inputs.length - 1; i >= 0; i--) {
+ input = inputs[i];
+ layer = this._getLayer(input.layerId).layer;
+ input.disabled = (layer.options.minZoom !== undefined && zoom < layer.options.minZoom) ||
+ (layer.options.maxZoom !== undefined && zoom > layer.options.maxZoom);
+
+ }
+ },
+
_expand: function () {
- L.DomUtil.addClass(this._container, 'leaflet-control-layers-expanded');
+ // Backward compatibility, remove me in 1.1.
+ return this.expand();
},
_collapse: function () {
- this._container.className = this._container.className.replace(' leaflet-control-layers-expanded', '');
+ // Backward compatibility, remove me in 1.1.
+ return this.collapse();
}
+
});
+
+// @factory L.control.layers(baselayers?: Object, overlays?: Object, options?: Control.Layers options)
+// Creates an attribution control with the given layers. Base layers will be switched with radio buttons, while overlays will be switched with checkboxes. Note that all base layers should be passed in the base layers object, but only one should be added to the map during map instantiation.
L.control.layers = function (baseLayers, overlays, options) {
return new L.Control.Layers(baseLayers, overlays, options);
};
+
/*
- * L.PosAnimation is used by Leaflet internally for pan animations.
+ * @class PosAnimation
+ * @aka L.PosAnimation
+ * @inherits Evented
+ * Used internally for panning animations, utilizing CSS3 Transitions for modern browsers and a timer fallback for IE6-9.
+ *
+ * @example
+ * ```js
+ * var fx = new L.PosAnimation();
+ * fx.run(el, [300, 500], 0.5);
+ * ```
+ *
+ * @constructor L.PosAnimation()
+ * Creates a `PosAnimation` object.
+ *
*/
-L.PosAnimation = L.Class.extend({
- includes: L.Mixin.Events,
+L.PosAnimation = L.Evented.extend({
- run: function (el, newPos, duration, easeLinearity) { // (HTMLElement, Point[, Number, Number])
+ // @method run(el: HTMLElement, newPos: Point, duration?: Number, easeLinearity?: Number)
+ // Run an animation of a given element to a new position, optionally setting
+ // duration in seconds (`0.25` by default) and easing linearity factor (3rd
+ // argument of the [cubic bezier curve](http://cubic-bezier.com/#0,0,.5,1),
+ // `0.5` by default).
+ run: function (el, newPos, duration, easeLinearity) {
this.stop();
this._el = el;
this._inProgress = true;
- this._newPos = newPos;
-
- this.fire('start');
-
- el.style[L.DomUtil.TRANSITION] = 'all ' + (duration || 0.25) +
- 's cubic-bezier(0,0,' + (easeLinearity || 0.5) + ',1)';
+ this._duration = duration || 0.25;
+ this._easeOutPower = 1 / Math.max(easeLinearity || 0.5, 0.2);
- L.DomEvent.on(el, L.DomUtil.TRANSITION_END, this._onTransitionEnd, this);
- L.DomUtil.setPosition(el, newPos);
+ this._startPos = L.DomUtil.getPosition(el);
+ this._offset = newPos.subtract(this._startPos);
+ this._startTime = +new Date();
- // toggle reflow, Chrome flickers for some reason if you don't do this
- L.Util.falseFn(el.offsetWidth);
+ // @event start: Event
+ // Fired when the animation starts
+ this.fire('start');
- // there's no native way to track value updates of transitioned properties, so we imitate this
- this._stepTimer = setInterval(L.bind(this._onStep, this), 50);
+ this._animate();
},
+ // @method stop()
+ // Stops the animation (if currently running).
stop: function () {
if (!this._inProgress) { return; }
- // if we just removed the transition property, the element would jump to its final position,
- // so we need to make it stay at the current position
-
- L.DomUtil.setPosition(this._el, this._getPos());
- this._onTransitionEnd();
- L.Util.falseFn(this._el.offsetWidth); // force reflow in case we are about to start a new animation
+ this._step(true);
+ this._complete();
},
- _onStep: function () {
- var stepPos = this._getPos();
- if (!stepPos) {
- this._onTransitionEnd();
- return;
- }
- // jshint camelcase: false
- // make L.DomUtil.getPosition return intermediate position value during animation
- this._el._leaflet_pos = stepPos;
-
- this.fire('step');
+ _animate: function () {
+ // animation loop
+ this._animId = L.Util.requestAnimFrame(this._animate, this);
+ this._step();
},
- // you can't easily get intermediate values of properties animated with CSS3 Transitions,
- // we need to parse computed style (in case of transform it returns matrix string)
-
- _transformRe: /([-+]?(?:\d*\.)?\d+)\D*, ([-+]?(?:\d*\.)?\d+)\D*\)/,
-
- _getPos: function () {
- var left, top, matches,
- el = this._el,
- style = window.getComputedStyle(el);
+ _step: function (round) {
+ var elapsed = (+new Date()) - this._startTime,
+ duration = this._duration * 1000;
- if (L.Browser.any3d) {
- matches = style[L.DomUtil.TRANSFORM].match(this._transformRe);
- if (!matches) { return; }
- left = parseFloat(matches[1]);
- top = parseFloat(matches[2]);
+ if (elapsed < duration) {
+ this._runFrame(this._easeOut(elapsed / duration), round);
} else {
- left = parseFloat(style.left);
- top = parseFloat(style.top);
+ this._runFrame(1);
+ this._complete();
}
-
- return new L.Point(left, top, true);
},
- _onTransitionEnd: function () {
- L.DomEvent.off(this._el, L.DomUtil.TRANSITION_END, this._onTransitionEnd, this);
-
- if (!this._inProgress) { return; }
- this._inProgress = false;
+ _runFrame: function (progress, round) {
+ var pos = this._startPos.add(this._offset.multiplyBy(progress));
+ if (round) {
+ pos._round();
+ }
+ L.DomUtil.setPosition(this._el, pos);
- this._el.style[L.DomUtil.TRANSITION] = '';
+ // @event step: Event
+ // Fired continuously during the animation.
+ this.fire('step');
+ },
- // jshint camelcase: false
- // make sure L.DomUtil.getPosition returns the final position value after animation
- this._el._leaflet_pos = this._newPos;
+ _complete: function () {
+ L.Util.cancelAnimFrame(this._animId);
- clearInterval(this._stepTimer);
+ this._inProgress = false;
+ // @event end: Event
+ // Fired when the animation ends.
+ this.fire('end');
+ },
- this.fire('step').fire('end');
+ _easeOut: function (t) {
+ return 1 - Math.pow(1 - t, this._easeOutPower);
}
-
});
+
/*
* Extends L.Map to handle panning animations.
*/
center = this._limitCenter(L.latLng(center), zoom, this.options.maxBounds);
options = options || {};
- if (this._panAnim) {
- this._panAnim.stop();
- }
+ this._stop();
if (this._loaded && !options.reset && options !== true) {
if (options.animate !== undefined) {
options.zoom = L.extend({animate: options.animate}, options.zoom);
- options.pan = L.extend({animate: options.animate}, options.pan);
+ options.pan = L.extend({animate: options.animate, duration: options.duration}, options.pan);
}
// try animating pan or zoom
- var animated = (this._zoom !== zoom) ?
+ var moved = (this._zoom !== zoom) ?
this._tryAnimatedZoom && this._tryAnimatedZoom(center, zoom, options.zoom) :
this._tryAnimatedPan(center, options.pan);
- if (animated) {
+ if (moved) {
// prevent resize handler call, the view will refresh after animation anyway
clearTimeout(this._sizeTimer);
return this;
options = options || {};
if (!offset.x && !offset.y) {
+ return this.fire('moveend');
+ }
+ // If we pan too far, Chrome gets issues with tiles
+ // and makes them disappear or appear in the wrong place (slightly offset) #2602
+ if (options.animate !== true && !this.getSize().contains(offset)) {
+ this._resetView(this.unproject(this.project(this.getCenter()).add(offset)), this.getZoom());
return this;
}
if (options.animate !== false) {
L.DomUtil.addClass(this._mapPane, 'leaflet-pan-anim');
- var newPos = this._getMapPanePos().subtract(offset);
+ var newPos = this._getMapPanePos().subtract(offset).round();
this._panAnim.run(this._mapPane, newPos, options.duration || 0.25, options.easeLinearity);
} else {
this._rawPanBy(offset);
});
-/*
- * L.PosAnimation fallback implementation that powers Leaflet pan animations
- * in browsers that don't support CSS3 Transitions.
- */
-
-L.PosAnimation = L.DomUtil.TRANSITION ? L.PosAnimation : L.PosAnimation.extend({
-
- run: function (el, newPos, duration, easeLinearity) { // (HTMLElement, Point[, Number, Number])
- this.stop();
-
- this._el = el;
- this._inProgress = true;
- this._duration = duration || 0.25;
- this._easeOutPower = 1 / Math.max(easeLinearity || 0.5, 0.2);
-
- this._startPos = L.DomUtil.getPosition(el);
- this._offset = newPos.subtract(this._startPos);
- this._startTime = +new Date();
-
- this.fire('start');
-
- this._animate();
- },
-
- stop: function () {
- if (!this._inProgress) { return; }
-
- this._step();
- this._complete();
- },
-
- _animate: function () {
- // animation loop
- this._animId = L.Util.requestAnimFrame(this._animate, this);
- this._step();
- },
-
- _step: function () {
- var elapsed = (+new Date()) - this._startTime,
- duration = this._duration * 1000;
-
- if (elapsed < duration) {
- this._runFrame(this._easeOut(elapsed / duration));
- } else {
- this._runFrame(1);
- this._complete();
- }
- },
-
- _runFrame: function (progress) {
- var pos = this._startPos.add(this._offset.multiplyBy(progress));
- L.DomUtil.setPosition(this._el, pos);
-
- this.fire('step');
- },
-
- _complete: function () {
- L.Util.cancelAnimFrame(this._animId);
-
- this._inProgress = false;
- this.fire('end');
- },
-
- _easeOut: function (t) {
- return 1 - Math.pow(1 - t, this._easeOutPower);
- }
-});
-
/*
* Extends L.Map to handle zoom animations.
*/
+// @namespace Map
+// @section Animation Options
L.Map.mergeOptions({
+ // @option zoomAnimation: Boolean = true
+ // Whether the map zoom animation is enabled. By default it's enabled
+ // in all browsers that support CSS3 Transitions except Android.
zoomAnimation: true,
+
+ // @option zoomAnimationThreshold: Number = 4
+ // Won't animate zoom if the zoom difference exceeds this value.
zoomAnimationThreshold: 4
});
-if (L.DomUtil.TRANSITION) {
+var zoomAnimated = L.DomUtil.TRANSITION && L.Browser.any3d && !L.Browser.mobileOpera;
+
+if (zoomAnimated) {
L.Map.addInitHook(function () {
// don't animate on browsers without hardware-accelerated transitions or old Android/Opera
- this._zoomAnimated = this.options.zoomAnimation && L.DomUtil.TRANSITION &&
- L.Browser.any3d && !L.Browser.android23 && !L.Browser.mobileOpera;
+ this._zoomAnimated = this.options.zoomAnimation;
// zoom transitions run with the same duration for all layers, so if one of transitionend events
// happens after starting zoom animation (propagating to the map pane), we know that it ended globally
if (this._zoomAnimated) {
- L.DomEvent.on(this._mapPane, L.DomUtil.TRANSITION_END, this._catchTransitionEnd, this);
+
+ this._createAnimProxy();
+
+ L.DomEvent.on(this._proxy, L.DomUtil.TRANSITION_END, this._catchTransitionEnd, this);
}
});
}
-L.Map.include(!L.DomUtil.TRANSITION ? {} : {
+L.Map.include(!zoomAnimated ? {} : {
+
+ _createAnimProxy: function () {
+
+ var proxy = this._proxy = L.DomUtil.create('div', 'leaflet-proxy leaflet-zoom-animated');
+ this._panes.mapPane.appendChild(proxy);
+
+ this.on('zoomanim', function (e) {
+ var prop = L.DomUtil.TRANSFORM,
+ transform = proxy.style[prop];
+
+ L.DomUtil.setTransform(proxy, this.project(e.center, e.zoom), this.getZoomScale(e.zoom, 1));
+
+ // workaround for case when transform is the same and so transitionend event is not fired
+ if (transform === proxy.style[prop] && this._animatingZoom) {
+ this._onZoomTransitionEnd();
+ }
+ }, this);
+
+ this.on('load moveend', function () {
+ var c = this.getCenter(),
+ z = this.getZoom();
+ L.DomUtil.setTransform(proxy, this.project(c, z), this.getZoomScale(z, 1));
+ }, this);
+ },
_catchTransitionEnd: function (e) {
if (this._animatingZoom && e.propertyName.indexOf('transform') >= 0) {
// offset is the pixel coords of the zoom origin relative to the current center
var scale = this.getZoomScale(zoom),
- offset = this._getCenterOffset(center)._divideBy(1 - 1 / scale),
- origin = this._getCenterLayerPoint()._add(offset);
+ offset = this._getCenterOffset(center)._divideBy(1 - 1 / scale);
// don't animate if the zoom origin isn't within one screen from the current center, unless forced
if (options.animate !== true && !this.getSize().contains(offset)) { return false; }
- this
- .fire('movestart')
- .fire('zoomstart');
-
- this._animateZoom(center, zoom, origin, scale, null, true);
+ L.Util.requestAnimFrame(function () {
+ this
+ ._moveStart(true)
+ ._animateZoom(center, zoom, true);
+ }, this);
return true;
},
- _animateZoom: function (center, zoom, origin, scale, delta, backwards, forTouchZoom) {
-
- if (!forTouchZoom) {
+ _animateZoom: function (center, zoom, startAnim, noUpdate) {
+ if (startAnim) {
this._animatingZoom = true;
- }
-
- // put transform transition on all layers with leaflet-zoom-animated class
- L.DomUtil.addClass(this._mapPane, 'leaflet-zoom-anim');
- // remember what center/zoom to set after animation
- this._animateToCenter = center;
- this._animateToZoom = zoom;
+ // remember what center/zoom to set after animation
+ this._animateToCenter = center;
+ this._animateToZoom = zoom;
- // disable any dragging during animation
- if (L.Draggable) {
- L.Draggable._disabled = true;
+ L.DomUtil.addClass(this._mapPane, 'leaflet-zoom-anim');
}
- L.Util.requestAnimFrame(function () {
- this.fire('zoomanim', {
- center: center,
- zoom: zoom,
- origin: origin,
- scale: scale,
- delta: delta,
- backwards: backwards
- });
- // horrible hack to work around a Chrome bug https://github.com/Leaflet/Leaflet/issues/3689
- setTimeout(L.bind(this._onZoomTransitionEnd, this), 250);
- }, this);
+ // @event zoomanim: ZoomAnimEvent
+ // Fired on every frame of a zoom animation
+ this.fire('zoomanim', {
+ center: center,
+ zoom: zoom,
+ noUpdate: noUpdate
+ });
+
+ // Work around webkit not firing 'transitionend', see https://github.com/Leaflet/Leaflet/issues/3689, 2693
+ setTimeout(L.bind(this._onZoomTransitionEnd, this), 250);
},
_onZoomTransitionEnd: function () {
if (!this._animatingZoom) { return; }
+ L.DomUtil.removeClass(this._mapPane, 'leaflet-zoom-anim');
+
this._animatingZoom = false;
- L.DomUtil.removeClass(this._mapPane, 'leaflet-zoom-anim');
+ this._move(this._animateToCenter, this._animateToZoom);
+ // This anim frame should prevent an obscure iOS webkit tile loading race condition.
L.Util.requestAnimFrame(function () {
- this._resetView(this._animateToCenter, this._animateToZoom, true, true);
-
- if (L.Draggable) {
- L.Draggable._disabled = false;
- }
+ this._moveEnd(true);
}, this);
}
});
-/*
- Zoom animation logic for L.TileLayer.
-*/
-L.TileLayer.include({
- _animateZoom: function (e) {
- if (!this._animating) {
- this._animating = true;
- this._prepareBgBuffer();
- }
+// @namespace Map
+// @section Methods for modifying map state
+L.Map.include({
- var bg = this._bgBuffer,
- transform = L.DomUtil.TRANSFORM,
- initialTransform = e.delta ? L.DomUtil.getTranslateString(e.delta) : bg.style[transform],
- scaleStr = L.DomUtil.getScaleString(e.scale, e.origin);
+ // @method flyTo(latlng: LatLng, zoom?: Number, options?: Zoom/pan options): this
+ // Sets the view of the map (geographical center and zoom) performing a smooth
+ // pan-zoom animation.
+ flyTo: function (targetCenter, targetZoom, options) {
- bg.style[transform] = e.backwards ?
- scaleStr + ' ' + initialTransform :
- initialTransform + ' ' + scaleStr;
- },
+ options = options || {};
+ if (options.animate === false || !L.Browser.any3d) {
+ return this.setView(targetCenter, targetZoom, options);
+ }
- _endZoomAnim: function () {
- var front = this._tileContainer,
- bg = this._bgBuffer;
+ this._stop();
- front.style.visibility = '';
- front.parentNode.appendChild(front); // Bring to fore
+ var from = this.project(this.getCenter()),
+ to = this.project(targetCenter),
+ size = this.getSize(),
+ startZoom = this._zoom;
- // force reflow
- L.Util.falseFn(bg.offsetWidth);
+ targetCenter = L.latLng(targetCenter);
+ targetZoom = targetZoom === undefined ? startZoom : targetZoom;
- var zoom = this._map.getZoom();
- if (zoom > this.options.maxZoom || zoom < this.options.minZoom) {
- this._clearBgBuffer();
- }
+ var w0 = Math.max(size.x, size.y),
+ w1 = w0 * this.getZoomScale(startZoom, targetZoom),
+ u1 = (to.distanceTo(from)) || 1,
+ rho = 1.42,
+ rho2 = rho * rho;
- this._animating = false;
- },
+ function r(i) {
+ var s1 = i ? -1 : 1,
+ s2 = i ? w1 : w0,
+ t1 = w1 * w1 - w0 * w0 + s1 * rho2 * rho2 * u1 * u1,
+ b1 = 2 * s2 * rho2 * u1,
+ b = t1 / b1,
+ sq = Math.sqrt(b * b + 1) - b;
- _clearBgBuffer: function () {
- var map = this._map;
+ // workaround for floating point precision bug when sq = 0, log = -Infinite,
+ // thus triggering an infinite loop in flyTo
+ var log = sq < 0.000000001 ? -18 : Math.log(sq);
- if (map && !map._animatingZoom && !map.touchZoom._zooming) {
- this._bgBuffer.innerHTML = '';
- this._bgBuffer.style[L.DomUtil.TRANSFORM] = '';
+ return log;
}
- },
-
- _prepareBgBuffer: function () {
-
- var front = this._tileContainer,
- bg = this._bgBuffer;
- // if foreground layer doesn't have many tiles but bg layer does,
- // keep the existing bg layer and just zoom it some more
+ function sinh(n) { return (Math.exp(n) - Math.exp(-n)) / 2; }
+ function cosh(n) { return (Math.exp(n) + Math.exp(-n)) / 2; }
+ function tanh(n) { return sinh(n) / cosh(n); }
- var bgLoaded = this._getLoadedTilesPercentage(bg),
- frontLoaded = this._getLoadedTilesPercentage(front);
+ var r0 = r(0);
- if (bg && bgLoaded > 0.5 && frontLoaded < 0.5) {
+ function w(s) { return w0 * (cosh(r0) / cosh(r0 + rho * s)); }
+ function u(s) { return w0 * (cosh(r0) * tanh(r0 + rho * s) - sinh(r0)) / rho2; }
- front.style.visibility = 'hidden';
- this._stopLoadingImages(front);
- return;
- }
+ function easeOut(t) { return 1 - Math.pow(1 - t, 1.5); }
- // prepare the buffer to become the front tile pane
- bg.style.visibility = 'hidden';
- bg.style[L.DomUtil.TRANSFORM] = '';
+ var start = Date.now(),
+ S = (r(1) - r0) / rho,
+ duration = options.duration ? 1000 * options.duration : 1000 * S * 0.8;
- // switch out the current layer to be the new bg layer (and vice-versa)
- this._tileContainer = bg;
- bg = this._bgBuffer = front;
+ function frame() {
+ var t = (Date.now() - start) / duration,
+ s = easeOut(t) * S;
- this._stopLoadingImages(bg);
-
- //prevent bg buffer from clearing right after zoom
- clearTimeout(this._clearBgBufferTimer);
- },
+ if (t <= 1) {
+ this._flyToFrame = L.Util.requestAnimFrame(frame, this);
- _getLoadedTilesPercentage: function (container) {
- var tiles = container.getElementsByTagName('img'),
- i, len, count = 0;
+ this._move(
+ this.unproject(from.add(to.subtract(from).multiplyBy(u(s) / u1)), startZoom),
+ this.getScaleZoom(w0 / w(s), startZoom),
+ {flyTo: true});
- for (i = 0, len = tiles.length; i < len; i++) {
- if (tiles[i].complete) {
- count++;
+ } else {
+ this
+ ._move(targetCenter, targetZoom)
+ ._moveEnd(true);
}
}
- return count / len;
- },
-
- // stops loading all tiles in the background layer
- _stopLoadingImages: function (container) {
- var tiles = Array.prototype.slice.call(container.getElementsByTagName('img')),
- i, len, tile;
- for (i = 0, len = tiles.length; i < len; i++) {
- tile = tiles[i];
+ this._moveStart(true);
- if (!tile.complete) {
- tile.onload = L.Util.falseFn;
- tile.onerror = L.Util.falseFn;
- tile.src = L.Util.emptyImageUrl;
+ frame.call(this);
+ return this;
+ },
- tile.parentNode.removeChild(tile);
- }
- }
+ // @method flyToBounds(bounds: LatLngBounds, options?: fitBounds options): this
+ // Sets the view of the map with a smooth animation like [`flyTo`](#map-flyto),
+ // but takes a bounds parameter like [`fitBounds`](#map-fitbounds).
+ flyToBounds: function (bounds, options) {
+ var target = this._getBoundsCenterZoom(bounds, options);
+ return this.flyTo(target.center, target.zoom, options);
}
});
+
/*
* Provides L.Map with convenient shortcuts for using browser geolocation features.
*/
+// @namespace Map
+
L.Map.include({
+ // @section Geolocation methods
_defaultLocateOptions: {
- watch: false,
- setView: false,
- maxZoom: Infinity,
timeout: 10000,
- maximumAge: 0,
- enableHighAccuracy: false
- },
-
- locate: function (/*Object*/ options) {
-
- options = this._locateOptions = L.extend(this._defaultLocateOptions, options);
-
- if (!navigator.geolocation) {
+ watch: false
+ // setView: false
+ // maxZoom: <Number>
+ // maximumAge: 0
+ // enableHighAccuracy: false
+ },
+
+ // @method locate(options?: Locate options): this
+ // Tries to locate the user using the Geolocation API, firing a [`locationfound`](#map-locationfound)
+ // event with location data on success or a [`locationerror`](#map-locationerror) event on failure,
+ // and optionally sets the map view to the user's location with respect to
+ // detection accuracy (or to the world view if geolocation failed).
+ // Note that, if your page doesn't use HTTPS, this method will fail in
+ // modern browsers ([Chrome 50 and newer](https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins))
+ // See `Locate options` for more details.
+ locate: function (options) {
+
+ options = this._locateOptions = L.extend({}, this._defaultLocateOptions, options);
+
+ if (!('geolocation' in navigator)) {
this._handleGeolocationError({
code: 0,
message: 'Geolocation not supported.'
}
var onResponse = L.bind(this._handleGeolocationResponse, this),
- onError = L.bind(this._handleGeolocationError, this);
+ onError = L.bind(this._handleGeolocationError, this);
if (options.watch) {
this._locationWatchId =
return this;
},
+ // @method stopLocate(): this
+ // Stops watching location previously initiated by `map.locate({watch: true})`
+ // and aborts resetting the map view if map.locate was called with
+ // `{setView: true}`.
stopLocate: function () {
- if (navigator.geolocation) {
+ if (navigator.geolocation && navigator.geolocation.clearWatch) {
navigator.geolocation.clearWatch(this._locationWatchId);
}
if (this._locateOptions) {
this.fitWorld();
}
+ // @section Location events
+ // @event locationerror: ErrorEvent
+ // Fired when geolocation (using the [`locate`](#map-locate) method) failed.
this.fire('locationerror', {
code: c,
message: 'Geolocation error: ' + message + '.'
var lat = pos.coords.latitude,
lng = pos.coords.longitude,
latlng = new L.LatLng(lat, lng),
-
- latAccuracy = 180 * pos.coords.accuracy / 40075017,
- lngAccuracy = latAccuracy / Math.cos(L.LatLng.DEG_TO_RAD * lat),
-
- bounds = L.latLngBounds(
- [lat - latAccuracy, lng - lngAccuracy],
- [lat + latAccuracy, lng + lngAccuracy]),
-
+ bounds = latlng.toBounds(pos.coords.accuracy),
options = this._locateOptions;
if (options.setView) {
- var zoom = Math.min(this.getBoundsZoom(bounds), options.maxZoom);
- this.setView(latlng, zoom);
+ var zoom = this.getBoundsZoom(bounds);
+ this.setView(latlng, options.maxZoom ? Math.min(zoom, options.maxZoom) : zoom);
}
var data = {
}
}
+ // @event locationfound: LocationEvent
+ // Fired when geolocation (using the [`locate`](#map-locate) method)
+ // went successfully.
this.fire('locationfound', data);
}
});
-}(window, document));
\ No newline at end of file
+
+}(window, document));
+//# sourceMappingURL=leaflet-src.map
\ No newline at end of file
-/*
-Copyright (c) 2014 Dominik Moritz
+/*!
+Copyright (c) 2016 Dominik Moritz
This file is part of the leaflet locate control. It is licensed under the MIT license.
You can find the project at: https://github.com/domoritz/leaflet-locatecontrol
*/
-L.Control.Locate = L.Control.extend({
- options: {
- position: 'topleft',
- drawCircle: true,
- follow: false, // follow with zoom and pan the user's location
- stopFollowingOnDrag: false, // if follow is true, stop following when map is dragged (deprecated)
- // range circle
- circleStyle: {
- color: '#136AEC',
- fillColor: '#136AEC',
- fillOpacity: 0.15,
- weight: 2,
- opacity: 0.5
- },
- // inner marker
- markerStyle: {
- color: '#136AEC',
- fillColor: '#2A93EE',
- fillOpacity: 0.7,
- weight: 2,
- opacity: 0.9,
- radius: 5
- },
- // changes to range circle and inner marker while following
- // it is only necessary to provide the things that should change
- followCircleStyle: {},
- followMarkerStyle: {
- //color: '#FFA500',
- //fillColor: '#FFB000'
- },
- icon: 'icon-location', // icon-location or icon-direction
- iconLoading: 'icon-spinner animate-spin',
- circlePadding: [0, 0],
- metric: true,
- onLocationError: function(err) {
- // this event is called in case of any location error
- // that is not a time out error.
- alert(err.message);
- },
- onLocationOutsideMapBounds: function(control) {
- // this event is repeatedly called when the location changes
- control.stopLocate();
- alert(context.options.strings.outsideMapBoundsMsg);
+(function (factory, window) {
+ // see https://github.com/Leaflet/Leaflet/blob/master/PLUGIN-GUIDE.md#module-loaders
+ // for details on how to structure a leaflet plugin.
+
+ // define an AMD module that relies on 'leaflet'
+ if (typeof define === 'function' && define.amd) {
+ define(['leaflet'], factory);
+
+ // define a Common JS module that relies on 'leaflet'
+ } else if (typeof exports === 'object') {
+ if (typeof window !== 'undefined' && window.L) {
+ module.exports = factory(L);
+ } else {
+ module.exports = factory(require('leaflet'));
+ }
+ }
+
+ // attach your plugin to the global 'L' variable
+ if(typeof window !== 'undefined' && window.L){
+ window.L.Control.Locate = factory(L);
+ }
+} (function (L) {
+ var LocateControl = L.Control.extend({
+ options: {
+ /** Position of the control */
+ position: 'topleft',
+ /** The layer that the user's location should be drawn on. By default creates a new layer. */
+ layer: undefined,
+ /**
+ * Automatically sets the map view (zoom and pan) to the user's location as it updates.
+ * While the map is following the user's location, the control is in the `following` state,
+ * which changes the style of the control and the circle marker.
+ *
+ * Possible values:
+ * - false: never updates the map view when location changes.
+ * - 'once': set the view when the location is first determined
+ * - 'always': always updates the map view when location changes.
+ * The map view follows the users location.
+ * - 'untilPan': (default) like 'always', except stops updating the
+ * view if the user has manually panned the map.
+ * The map view follows the users location until she pans.
+ */
+ setView: 'untilPan',
+ /** Keep the current map zoom level when setting the view and only pan. */
+ keepCurrentZoomLevel: false,
+ /** Smooth pan and zoom to the location of the marker. Only works in Leaflet 1.0+. */
+ flyTo: false,
+ /**
+ * The user location can be inside and outside the current view when the user clicks on the
+ * control that is already active. Both cases can be configures separately.
+ * Possible values are:
+ * - 'setView': zoom and pan to the current location
+ * - 'stop': stop locating and remove the location marker
+ */
+ clickBehavior: {
+ /** What should happen if the user clicks on the control while the location is within the current view. */
+ inView: 'stop',
+ /** What should happen if the user clicks on the control while the location is outside the current view. */
+ outOfView: 'setView',
+ },
+ /**
+ * If set, save the map bounds just before centering to the user's
+ * location. When control is disabled, set the view back to the
+ * bounds that were saved.
+ */
+ returnToPrevBounds: false,
+ /** If set, a circle that shows the location accuracy is drawn. */
+ drawCircle: true,
+ /** If set, the marker at the users' location is drawn. */
+ drawMarker: true,
+ /** The class to be used to create the marker. For example L.CircleMarker or L.Marker */
+ markerClass: L.CircleMarker,
+ /** Accuracy circle style properties. */
+ circleStyle: {
+ color: '#136AEC',
+ fillColor: '#136AEC',
+ fillOpacity: 0.15,
+ weight: 2,
+ opacity: 0.5
+ },
+ /** Inner marker style properties. */
+ markerStyle: {
+ color: '#136AEC',
+ fillColor: '#2A93EE',
+ fillOpacity: 0.7,
+ weight: 2,
+ opacity: 0.9,
+ radius: 5
+ },
+ /**
+ * Changes to accuracy circle and inner marker while following.
+ * It is only necessary to provide the properties that should change.
+ */
+ followCircleStyle: {},
+ followMarkerStyle: {
+ // color: '#FFA500',
+ // fillColor: '#FFB000'
+ },
+ /** The CSS class for the icon. For example fa-location-arrow or fa-map-marker */
+ icon: 'fa fa-map-marker',
+ iconLoading: 'fa fa-spinner fa-spin',
+ /** The element to be created for icons. For example span or i */
+ iconElementTag: 'span',
+ /** Padding around the accuracy circle. */
+ circlePadding: [0, 0],
+ /** Use metric units. */
+ metric: true,
+ /** This event is called in case of any location error that is not a time out error. */
+ onLocationError: function(err, control) {
+ alert(err.message);
+ },
+ /**
+ * This even is called when the user's location is outside the bounds set on the map.
+ * The event is called repeatedly when the location changes.
+ */
+ onLocationOutsideMapBounds: function(control) {
+ control.stop();
+ alert(control.options.strings.outsideMapBoundsMsg);
+ },
+ /** Display a pop-up when the user click on the inner marker. */
+ showPopup: true,
+ strings: {
+ title: "Show me where I am",
+ metersUnit: "meters",
+ feetUnit: "feet",
+ popup: "You are within {distance} {unit} from this point",
+ outsideMapBoundsMsg: "You seem located outside the boundaries of the map"
+ },
+ /** The default options passed to leaflets locate method. */
+ locateOptions: {
+ maxZoom: Infinity,
+ watch: true, // if you overwrite this, visualization cannot be updated
+ setView: false // have to set this to false because we have to
+ // do setView manually
+ }
},
- setView: true, // automatically sets the map view to the user's location
- // keep the current map zoom level when displaying the user's location. (if 'false', use maxZoom)
- keepCurrentZoomLevel: false,
- strings: {
- title: "Show me where I am",
- popup: "You are within {distance} {unit} from this point",
- outsideMapBoundsMsg: "You seem located outside the boundaries of the map"
+
+ initialize: function (options) {
+ // set default options if nothing is set (merge one step deep)
+ for (var i in options) {
+ if (typeof this.options[i] === 'object') {
+ L.extend(this.options[i], options[i]);
+ } else {
+ this.options[i] = options[i];
+ }
+ }
+
+ // extend the follow marker style and circle from the normal style
+ this.options.followMarkerStyle = L.extend({}, this.options.markerStyle, this.options.followMarkerStyle);
+ this.options.followCircleStyle = L.extend({}, this.options.circleStyle, this.options.followCircleStyle);
},
- locateOptions: {
- maxZoom: Infinity,
- watch: true // if you overwrite this, visualization cannot be updated
- }
- },
- onAdd: function (map) {
- var container = L.DomUtil.create('div', 'control-locate');
+ /**
+ * Add control to map. Returns the container for the control.
+ */
+ onAdd: function (map) {
+ var container = L.DomUtil.create('div',
+ 'leaflet-control-locate leaflet-bar leaflet-control');
- var self = this;
- this._layer = new L.LayerGroup();
- this._layer.addTo(map);
- this._event = undefined;
+ this._layer = this.options.layer || new L.LayerGroup();
+ this._layer.addTo(map);
+ this._event = undefined;
- this._locateOptions = this.options.locateOptions;
- L.extend(this._locateOptions, this.options.locateOptions);
- L.extend(this._locateOptions, {
- setView: false // have to set this to false because we have to
- // do setView manually
- });
+ this._link = L.DomUtil.create('a', 'leaflet-bar-part leaflet-bar-part-single', container);
+ this._link.href = '#';
+ this._link.title = this.options.strings.title;
+ this._icon = L.DomUtil.create(this.options.iconElementTag, this.options.icon, this._link);
- // extend the follow marker style and circle from the normal style
- var tmp = {};
- L.extend(tmp, this.options.markerStyle, this.options.followMarkerStyle);
- this.options.followMarkerStyle = tmp;
- tmp = {};
- L.extend(tmp, this.options.circleStyle, this.options.followCircleStyle);
- this.options.followCircleStyle = tmp;
-
- var link = L.DomUtil.create('a', 'control-button ' + this.options.icon, container);
- link.innerHTML = "<span class='icon geolocate'></span>";
- link.href = '#';
- link.title = this.options.strings.title;
-
- L.DomEvent
- .on(link, 'click', L.DomEvent.stopPropagation)
- .on(link, 'click', L.DomEvent.preventDefault)
- .on(link, 'click', function() {
- if (self._active && (self._event === undefined || map.getBounds().contains(self._event.latlng) || !self.options.setView ||
- isOutsideMapBounds())) {
- stopLocate();
- } else {
- locate();
- }
- })
- .on(link, 'dblclick', L.DomEvent.stopPropagation);
+ L.DomEvent
+ .on(this._link, 'click', L.DomEvent.stopPropagation)
+ .on(this._link, 'click', L.DomEvent.preventDefault)
+ .on(this._link, 'click', this._onClick, this)
+ .on(this._link, 'dblclick', L.DomEvent.stopPropagation);
- var locate = function () {
- if (self.options.setView) {
- self._locateOnNextLocationFound = true;
- }
- if(!self._active) {
- map.locate(self._locateOptions);
- }
- self._active = true;
- if (self.options.follow) {
- startFollowing();
- }
- if (!self._event) {
- setClasses('requesting');
+ this._resetVariables();
+
+ this._map.on('unload', this._unload, this);
+
+ return container;
+ },
+
+ /**
+ * This method is called when the user clicks on the control.
+ */
+ _onClick: function() {
+ this._justClicked = true;
+ this._userPanned = false;
+ this._prevBounds = null;
+
+ if (this._active && !this._event) {
+ // click while requesting
+ this.stop();
+ } else if (this._active && this._event !== undefined) {
+ var behavior = this._map.getBounds().contains(this._event.latlng) ?
+ this.options.clickBehavior.inView : this.options.clickBehavior.outOfView;
+ switch (behavior) {
+ case 'setView':
+ this.setView();
+ break;
+ case 'stop':
+ this.stop();
+ if (this.options.returnToPrevBounds) {
+ var f = this.options.flyTo ? this._map.flyToBounds : this._map.fitBounds;
+ f.bind(this._map)(this._prevBounds);
+ }
+ break;
+ }
} else {
- visualizeLocation();
+ if (this.options.returnToPrevBounds) {
+ this._prevBounds = this._map.getBounds();
+ }
+ this.start();
}
- };
- var onLocationFound = function (e) {
- // no need to do anything if the location has not changed
- if (self._event &&
- (self._event.latlng.lat === e.latlng.lat &&
- self._event.latlng.lng === e.latlng.lng &&
- self._event.accuracy === e.accuracy)) {
- return;
- }
+ this._updateContainerStyle();
+ },
- if (!self._active) {
- return;
- }
+ /**
+ * Starts the plugin:
+ * - activates the engine
+ * - draws the marker (if coordinates available)
+ */
+ start: function() {
+ this._activate();
- self._event = e;
+ if (this._event) {
+ this._drawMarker(this._map);
- if (self.options.follow && self._following) {
- self._locateOnNextLocationFound = true;
+ // if we already have a location but the user clicked on the control
+ if (this.options.setView) {
+ this.setView();
+ }
}
+ this._updateContainerStyle();
+ },
- visualizeLocation();
- };
+ /**
+ * Stops the plugin:
+ * - deactivates the engine
+ * - reinitializes the button
+ * - removes the marker
+ */
+ stop: function() {
+ this._deactivate();
- var startFollowing = function() {
- map.fire('startfollowing', self);
- self._following = true;
- if (self.options.stopFollowingOnDrag) {
- map.on('dragstart', stopFollowing);
- }
- };
+ this._cleanClasses();
+ this._resetVariables();
+
+ this._removeMarker();
+ },
- var stopFollowing = function() {
- map.fire('stopfollowing', self);
- self._following = false;
- if (self.options.stopFollowingOnDrag) {
- map.off('dragstart', stopFollowing);
+ /**
+ * This method launches the location engine.
+ * It is called before the marker is updated,
+ * event if it does not mean that the event will be ready.
+ *
+ * Override it if you want to add more functionalities.
+ * It should set the this._active to true and do nothing if
+ * this._active is true.
+ */
+ _activate: function() {
+ if (!this._active) {
+ this._map.locate(this.options.locateOptions);
+ this._active = true;
+
+ // bind event listeners
+ this._map.on('locationfound', this._onLocationFound, this);
+ this._map.on('locationerror', this._onLocationError, this);
+ this._map.on('dragstart', this._onDrag, this);
}
- visualizeLocation();
- };
+ },
- var isOutsideMapBounds = function () {
- if (self._event === undefined)
- return false;
- return map.options.maxBounds &&
- !map.options.maxBounds.contains(self._event.latlng);
- };
-
- var visualizeLocation = function() {
- if (self._event.accuracy === undefined)
- self._event.accuracy = 0;
-
- var radius = self._event.accuracy;
- if (self._locateOnNextLocationFound) {
- if (isOutsideMapBounds()) {
- self.options.onLocationOutsideMapBounds(self);
+ /**
+ * Called to stop the location engine.
+ *
+ * Override it to shutdown any functionalities you added on start.
+ */
+ _deactivate: function() {
+ this._map.stopLocate();
+ this._active = false;
+
+ // unbind event listeners
+ this._map.off('locationfound', this._onLocationFound, this);
+ this._map.off('locationerror', this._onLocationError, this);
+ this._map.off('dragstart', this._onDrag, this);
+ },
+
+ /**
+ * Zoom (unless we should keep the zoom level) and an to the current view.
+ */
+ setView: function() {
+ this._drawMarker();
+ if (this._isOutsideMapBounds()) {
+ this.options.onLocationOutsideMapBounds(this);
+ } else {
+ if (this.options.keepCurrentZoomLevel) {
+ var f = this.options.flyTo ? this._map.flyTo : this._map.panTo;
+ f.bind(this._map)([this._event.latitude, this._event.longitude]);
} else {
- map.fitBounds(self._event.bounds, {
- padding: self.options.circlePadding,
- maxZoom: self.options.keepCurrentZoomLevel ? map.getZoom() : self._locateOptions.maxZoom
+ var f = this.options.flyTo ? this._map.flyToBounds : this._map.fitBounds;
+ f.bind(this._map)(this._event.bounds, {
+ padding: this.options.circlePadding,
+ maxZoom: this.options.locateOptions.maxZoom
});
}
- self._locateOnNextLocationFound = false;
}
+ },
+
+ /**
+ * Draw the marker and accuracy circle on the map.
+ *
+ * Uses the event retrieved from onLocationFound from the map.
+ */
+ _drawMarker: function() {
+ if (this._event.accuracy === undefined) {
+ this._event.accuracy = 0;
+ }
+
+ var radius = this._event.accuracy;
+ var latlng = this._event.latlng;
// circle with the radius of the location's accuracy
- var style, o;
- if (self.options.drawCircle) {
- if (self._following) {
- style = self.options.followCircleStyle;
- } else {
- style = self.options.circleStyle;
- }
+ if (this.options.drawCircle) {
+ var style = this._isFollowing() ? this.options.followCircleStyle : this.options.circleStyle;
- if (!self._circle) {
- self._circle = L.circle(self._event.latlng, radius, style)
- .addTo(self._layer);
+ if (!this._circle) {
+ this._circle = L.circle(latlng, radius, style).addTo(this._layer);
} else {
- self._circle.setLatLng(self._event.latlng).setRadius(radius);
- for (o in style) {
- self._circle.options[o] = style[o];
- }
+ this._circle.setLatLng(latlng).setRadius(radius).setStyle(style);
}
}
var distance, unit;
- if (self.options.metric) {
+ if (this.options.metric) {
distance = radius.toFixed(0);
- unit = "meters";
+ unit = this.options.strings.metersUnit;
} else {
distance = (radius * 3.2808399).toFixed(0);
- unit = "feet";
+ unit = this.options.strings.feetUnit;
}
// small inner marker
- var mStyle;
- if (self._following) {
- mStyle = self.options.followMarkerStyle;
- } else {
- mStyle = self.options.markerStyle;
+ if (this.options.drawMarker) {
+ var mStyle = this._isFollowing() ? this.options.followMarkerStyle : this.options.markerStyle;
+
+ if (!this._marker) {
+ this._marker = new this.options.markerClass(latlng, mStyle).addTo(this._layer);
+ } else {
+ this._marker.setLatLng(latlng).setStyle(mStyle);
+ }
}
- var t = self.options.strings.popup;
- if (!self._circleMarker) {
- self._circleMarker = L.circleMarker(self._event.latlng, mStyle)
+ var t = this.options.strings.popup;
+ if (this.options.showPopup && t && this._marker) {
+ this._marker
.bindPopup(L.Util.template(t, {distance: distance, unit: unit}))
- .addTo(self._layer);
- } else {
- self._circleMarker.setLatLng(self._event.latlng)
- .bindPopup(L.Util.template(t, {distance: distance, unit: unit}))
- ._popup.setLatLng(self._event.latlng);
- for (o in mStyle) {
- self._circleMarker.options[o] = mStyle[o];
- }
+ ._popup.setLatLng(latlng);
}
+ },
+
+ /**
+ * Remove the marker from map.
+ */
+ _removeMarker: function() {
+ this._layer.clearLayers();
+ this._marker = undefined;
+ this._circle = undefined;
+ },
+
+ /**
+ * Unload the plugin and all event listeners.
+ * Kind of the opposite of onAdd.
+ */
+ _unload: function() {
+ this.stop();
+ this._map.off('unload', this._unload, this);
+ },
- if (!self._container)
+ /**
+ * Calls deactivate and dispatches an error.
+ */
+ _onLocationError: function(err) {
+ // ignore time out error if the location is watched
+ if (err.code == 3 && this.options.locateOptions.watch) {
return;
- if (self._following) {
- setClasses('following');
- } else {
- setClasses('active');
}
- };
- var setClasses = function(state) {
- if (state == 'requesting') {
- L.DomUtil.removeClasses(self._container, "active following");
- L.DomUtil.addClasses(self._container, "requesting");
+ this.stop();
+ this.options.onLocationError(err, this);
+ },
- L.DomUtil.removeClasses(link, self.options.icon);
- L.DomUtil.addClasses(link, self.options.iconLoading);
- } else if (state == 'active') {
- L.DomUtil.removeClasses(self._container, "requesting following");
- L.DomUtil.addClasses(self._container, "active");
+ /**
+ * Stores the received event and updates the marker.
+ */
+ _onLocationFound: function(e) {
+ // no need to do anything if the location has not changed
+ if (this._event &&
+ (this._event.latlng.lat === e.latlng.lat &&
+ this._event.latlng.lng === e.latlng.lng &&
+ this._event.accuracy === e.accuracy)) {
+ return;
+ }
- L.DomUtil.removeClasses(link, self.options.iconLoading);
- L.DomUtil.addClasses(link, self.options.icon);
- } else if (state == 'following') {
- L.DomUtil.removeClasses(self._container, "requesting");
- L.DomUtil.addClasses(self._container, "active following");
+ if (!this._active) {
+ // we may have a stray event
+ return;
+ }
+
+ this._event = e;
+
+ this._drawMarker();
+ this._updateContainerStyle();
- L.DomUtil.removeClasses(link, self.options.iconLoading);
- L.DomUtil.addClasses(link, self.options.icon);
+ switch (this.options.setView) {
+ case 'once':
+ if (this._justClicked) {
+ this.setView();
+ }
+ break;
+ case 'untilPan':
+ if (!this._userPanned) {
+ this.setView();
+ }
+ break;
+ case 'always':
+ this.setView();
+ break;
+ case false:
+ // don't set the view
+ break;
}
- }
- var resetVariables = function() {
- self._active = false;
- self._locateOnNextLocationFound = self.options.setView;
- self._following = false;
- };
+ this._justClicked = false;
+ },
- resetVariables();
+ /**
+ * When the user drags. Need a separate even so we can bind and unbind even listeners.
+ */
+ _onDrag: function() {
+ // only react to drags once we have a location
+ if (this._event) {
+ this._userPanned = true;
+ this._updateContainerStyle();
+ this._drawMarker();
+ }
+ },
- var stopLocate = function() {
- map.stopLocate();
- map.off('dragstart', stopFollowing);
- if (self.options.follow && self._following) {
- stopFollowing();
+ /**
+ * Compute whether the map is following the user location with pan and zoom.
+ */
+ _isFollowing: function() {
+ if (!this._active) {
+ return false;
}
- L.DomUtil.removeClass(self._container, "requesting");
- L.DomUtil.removeClass(self._container, "active");
- L.DomUtil.removeClass(self._container, "following");
- resetVariables();
+ if (this.options.setView === 'always') {
+ return true;
+ } else if (this.options.setView === 'untilPan') {
+ return !this._userPanned;
+ }
+ },
- self._layer.clearLayers();
- self._circleMarker = undefined;
- self._circle = undefined;
- };
+ /**
+ * Check if location is in map bounds
+ */
+ _isOutsideMapBounds: function() {
+ if (this._event === undefined) {
+ return false;
+ }
+ return this._map.options.maxBounds &&
+ !this._map.options.maxBounds.contains(this._event.latlng);
+ },
- var onLocationError = function (err) {
- // ignore time out error if the location is watched
- if (err.code == 3 && self._locateOptions.watch) {
+ /**
+ * Toggles button class between following and active.
+ */
+ _updateContainerStyle: function() {
+ if (!this._container) {
return;
}
- stopLocate();
- self.options.onLocationError(err);
- };
+ if (this._active && !this._event) {
+ // active but don't have a location yet
+ this._setClasses('requesting');
+ } else if (this._isFollowing()) {
+ this._setClasses('following');
+ } else if (this._active) {
+ this._setClasses('active');
+ } else {
+ this._cleanClasses();
+ }
+ },
- // event hooks
- map.on('locationfound', onLocationFound, self);
- map.on('locationerror', onLocationError, self);
+ /**
+ * Sets the CSS classes for the state.
+ */
+ _setClasses: function(state) {
+ if (state == 'requesting') {
+ L.DomUtil.removeClasses(this._container, "active following");
+ L.DomUtil.addClasses(this._container, "requesting");
- // make locate functions available to outside world
- this.locate = locate;
- this.stopLocate = stopLocate;
- this.stopFollowing = stopFollowing;
+ L.DomUtil.removeClasses(this._icon, this.options.icon);
+ L.DomUtil.addClasses(this._icon, this.options.iconLoading);
+ } else if (state == 'active') {
+ L.DomUtil.removeClasses(this._container, "requesting following");
+ L.DomUtil.addClasses(this._container, "active");
- return container;
- }
-});
+ L.DomUtil.removeClasses(this._icon, this.options.iconLoading);
+ L.DomUtil.addClasses(this._icon, this.options.icon);
+ } else if (state == 'following') {
+ L.DomUtil.removeClasses(this._container, "requesting");
+ L.DomUtil.addClasses(this._container, "active following");
-L.Map.addInitHook(function () {
- if (this.options.locateControl) {
- this.locateControl = L.control.locate();
- this.addControl(this.locateControl);
- }
-});
-
-L.control.locate = function (options) {
- return new L.Control.Locate(options);
-};
-
-(function(){
- // leaflet.js raises bug when trying to addClass / removeClass multiple classes at once
- // Let's create a wrapper on it which fixes it.
- var LDomUtilApplyClassesMethod = function(method, element, classNames) {
- classNames = classNames.split(' ');
- classNames.forEach(function(className) {
- L.DomUtil[method].call(this, element, className);
+ L.DomUtil.removeClasses(this._icon, this.options.iconLoading);
+ L.DomUtil.addClasses(this._icon, this.options.icon);
+ }
+ },
+
+ /**
+ * Removes all classes from button.
+ */
+ _cleanClasses: function() {
+ L.DomUtil.removeClass(this._container, "requesting");
+ L.DomUtil.removeClass(this._container, "active");
+ L.DomUtil.removeClass(this._container, "following");
+
+ L.DomUtil.removeClasses(this._icon, this.options.iconLoading);
+ L.DomUtil.addClasses(this._icon, this.options.icon);
+ },
+
+ /**
+ * Reinitializes state variables.
+ */
+ _resetVariables: function() {
+ // whether locate is active or not
+ this._active = false;
+
+ // true if the control was clicked for the first time
+ // we need this so we can pan and zoom once we have the location
+ this._justClicked = false;
+
+ // true if the user has panned the map after clicking the control
+ this._userPanned = false;
+ }
});
- };
- L.DomUtil.addClasses = function(el, names) { LDomUtilApplyClassesMethod('addClass', el, names); }
- L.DomUtil.removeClasses = function(el, names) { LDomUtilApplyClassesMethod('removeClass', el, names); }
-})();
+ L.control.locate = function (options) {
+ return new L.Control.Locate(options);
+ };
+
+ (function(){
+ // leaflet.js raises bug when trying to addClass / removeClass multiple classes at once
+ // Let's create a wrapper on it which fixes it.
+ var LDomUtilApplyClassesMethod = function(method, element, classNames) {
+ classNames = classNames.split(' ');
+ classNames.forEach(function(className) {
+ L.DomUtil[method].call(this, element, className);
+ });
+ };
+
+ L.DomUtil.addClasses = function(el, names) { LDomUtilApplyClassesMethod('addClass', el, names); };
+ L.DomUtil.removeClasses = function(el, names) { LDomUtilApplyClassesMethod('removeClass', el, names); };
+ })();
+
+ return LocateControl;
+}, window));
}
});
-L.LocationFilter = L.Class.extend({
+L.LocationFilter = L.Layer.extend({
includes: L.Mixin.Events,
options: {
L.OSM.CycleMap = L.OSM.TileLayer.extend({
options: {
url: document.location.protocol === 'https:' ?
- 'https://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png' :
- 'http://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png',
+ 'https://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey={apikey}' :
+ 'http://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey={apikey}',
attribution: '© <a href="http://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors. Tiles courtesy of <a href="http://www.thunderforest.com/" target="_blank">Andy Allan</a>'
}
});
L.OSM.TransportMap = L.OSM.TileLayer.extend({
options: {
url: document.location.protocol === 'https:' ?
- 'https://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png' :
- 'http://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png',
+ 'https://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey={apikey}' :
+ 'http://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey={apikey}',
attribution: '© <a href="http://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors. Tiles courtesy of <a href="http://www.thunderforest.com/" target="_blank">Andy Allan</a>'
}
});
*/
(function () {
- 'use strict';
+ 'use strict';
- var defaultOptions = function (options) {
- if (typeof options === 'number') {
- // Legacy
- options = {
- precision: options
- };
- } else {
- options = options || {};
- }
+ var defaultOptions = function (options) {
+ if (typeof options === 'number') {
+ // Legacy
+ options = {
+ precision: options
+ };
+ } else {
+ options = options || {};
+ }
- options.precision = options.precision || 5;
- options.factor = options.factor || Math.pow(10, options.precision);
- options.dimension = options.dimension || 2;
- return options;
- };
+ options.precision = options.precision || 5;
+ options.factor = options.factor || Math.pow(10, options.precision);
+ options.dimension = options.dimension || 2;
+ return options;
+ };
- var PolylineUtil = {
- encode: function (points, options) {
- options = defaultOptions(options);
+ var PolylineUtil = {
+ encode: function (points, options) {
+ options = defaultOptions(options);
- var flatPoints = [];
- for (var i = 0, len = points.length; i < len; ++i) {
- var point = points[i];
+ var flatPoints = [];
+ for (var i = 0, len = points.length; i < len; ++i) {
+ var point = points[i];
- if (options.dimension === 2) {
- flatPoints.push(point.lat || point[0]);
- flatPoints.push(point.lng || point[1]);
- } else {
- for (var dim = 0; dim < options.dimension; ++dim) {
- flatPoints.push(point[dim]);
- }
- }
- }
+ if (options.dimension === 2) {
+ flatPoints.push(point.lat || point[0]);
+ flatPoints.push(point.lng || point[1]);
+ } else {
+ for (var dim = 0; dim < options.dimension; ++dim) {
+ flatPoints.push(point[dim]);
+ }
+ }
+ }
+
+ return this.encodeDeltas(flatPoints, options);
+ },
+
+ decode: function (encoded, options) {
+ options = defaultOptions(options);
+
+ var flatPoints = this.decodeDeltas(encoded, options);
+
+ var points = [];
+ for (var i = 0, len = flatPoints.length; i + (options.dimension - 1) < len;) {
+ var point = [];
+
+ for (var dim = 0; dim < options.dimension; ++dim) {
+ point.push(flatPoints[i++]);
+ }
- return this.encodeDeltas(flatPoints, options);
- },
+ points.push(point);
+ }
- decode: function (encoded, options) {
- options = defaultOptions(options);
+ return points;
+ },
+
+ encodeDeltas: function (numbers, options) {
+ options = defaultOptions(options);
+
+ var lastNumbers = [];
- var flatPoints = this.decodeDeltas(encoded, options);
-
- var points = [];
- for (var i = 0, len = flatPoints.length; i + (options.dimension - 1) < len;) {
- var point = [];
-
- for (var dim = 0; dim < options.dimension; ++dim) {
- point.push(flatPoints[i++]);
- }
-
- points.push(point);
- }
-
- return points;
- },
-
- encodeDeltas: function(numbers, options) {
- options = defaultOptions(options);
-
- var lastNumbers = [];
-
- for (var i = 0, len = numbers.length; i < len;) {
- for (var d = 0; d < options.dimension; ++d, ++i) {
- var num = numbers[i];
- var delta = num - (lastNumbers[d] || 0);
- lastNumbers[d] = num;
-
- numbers[i] = delta;
- }
- }
-
- return this.encodeFloats(numbers, options);
- },
-
- decodeDeltas: function(encoded, options) {
- options = defaultOptions(options);
-
- var lastNumbers = [];
-
- var numbers = this.decodeFloats(encoded, options);
- for (var i = 0, len = numbers.length; i < len;) {
- for (var d = 0; d < options.dimension; ++d, ++i) {
- numbers[i] = Math.round((lastNumbers[d] = numbers[i] + (lastNumbers[d] || 0)) * options.factor) / options.factor;
- }
- }
-
- return numbers;
- },
-
- encodeFloats: function(numbers, options) {
- options = defaultOptions(options);
-
- for (var i = 0, len = numbers.length; i < len; ++i) {
- numbers[i] = Math.round(numbers[i] * options.factor);
- }
-
- return this.encodeSignedIntegers(numbers);
- },
-
- decodeFloats: function(encoded, options) {
- options = defaultOptions(options);
-
- var numbers = this.decodeSignedIntegers(encoded);
- for (var i = 0, len = numbers.length; i < len; ++i) {
- numbers[i] /= options.factor;
- }
-
- return numbers;
- },
-
- /* jshint bitwise:false */
-
- encodeSignedIntegers: function(numbers) {
- for (var i = 0, len = numbers.length; i < len; ++i) {
- var num = numbers[i];
- numbers[i] = (num < 0) ? ~(num << 1) : (num << 1);
- }
-
- return this.encodeUnsignedIntegers(numbers);
- },
-
- decodeSignedIntegers: function(encoded) {
- var numbers = this.decodeUnsignedIntegers(encoded);
-
- for (var i = 0, len = numbers.length; i < len; ++i) {
- var num = numbers[i];
- numbers[i] = (num & 1) ? ~(num >> 1) : (num >> 1);
- }
-
- return numbers;
- },
-
- encodeUnsignedIntegers: function(numbers) {
- var encoded = '';
- for (var i = 0, len = numbers.length; i < len; ++i) {
- encoded += this.encodeUnsignedInteger(numbers[i]);
- }
- return encoded;
- },
-
- decodeUnsignedIntegers: function(encoded) {
- var numbers = [];
-
- var current = 0;
- var shift = 0;
-
- for (var i = 0, len = encoded.length; i < len; ++i) {
- var b = encoded.charCodeAt(i) - 63;
-
- current |= (b & 0x1f) << shift;
-
- if (b < 0x20) {
- numbers.push(current);
- current = 0;
- shift = 0;
- } else {
- shift += 5;
- }
- }
-
- return numbers;
- },
-
- encodeSignedInteger: function (num) {
- num = (num < 0) ? ~(num << 1) : (num << 1);
- return this.encodeUnsignedInteger(num);
- },
-
- // This function is very similar to Google's, but I added
- // some stuff to deal with the double slash issue.
- encodeUnsignedInteger: function (num) {
- var value, encoded = '';
- while (num >= 0x20) {
- value = (0x20 | (num & 0x1f)) + 63;
- encoded += (String.fromCharCode(value));
- num >>= 5;
- }
- value = num + 63;
- encoded += (String.fromCharCode(value));
-
- return encoded;
- }
-
- /* jshint bitwise:true */
- };
-
- // Export Node module
- if (typeof module === 'object' && typeof module.exports === 'object') {
- module.exports = PolylineUtil;
- }
-
- // Inject functionality into Leaflet
- if (typeof L === 'object') {
- if (!(L.Polyline.prototype.fromEncoded)) {
- L.Polyline.fromEncoded = function (encoded, options) {
- return new L.Polyline(PolylineUtil.decode(encoded), options);
- };
- }
- if (!(L.Polygon.prototype.fromEncoded)) {
- L.Polygon.fromEncoded = function (encoded, options) {
- return new L.Polygon(PolylineUtil.decode(encoded), options);
- };
- }
-
- var encodeMixin = {
- encodePath: function () {
- return PolylineUtil.encode(this.getLatLngs());
- }
- };
-
- if (!L.Polyline.prototype.encodePath) {
- L.Polyline.include(encodeMixin);
- }
- if (!L.Polygon.prototype.encodePath) {
- L.Polygon.include(encodeMixin);
- }
-
- L.PolylineUtil = PolylineUtil;
- }
+ for (var i = 0, len = numbers.length; i < len;) {
+ for (var d = 0; d < options.dimension; ++d, ++i) {
+ var num = numbers[i];
+ var delta = num - (lastNumbers[d] || 0);
+ lastNumbers[d] = num;
+
+ numbers[i] = delta;
+ }
+ }
+
+ return this.encodeFloats(numbers, options);
+ },
+
+ decodeDeltas: function (encoded, options) {
+ options = defaultOptions(options);
+
+ var lastNumbers = [];
+
+ var numbers = this.decodeFloats(encoded, options);
+ for (var i = 0, len = numbers.length; i < len;) {
+ for (var d = 0; d < options.dimension; ++d, ++i) {
+ numbers[i] = Math.round((lastNumbers[d] = numbers[i] + (lastNumbers[d] || 0)) * options.factor) / options.factor;
+ }
+ }
+
+ return numbers;
+ },
+
+ encodeFloats: function (numbers, options) {
+ options = defaultOptions(options);
+
+ for (var i = 0, len = numbers.length; i < len; ++i) {
+ numbers[i] = Math.round(numbers[i] * options.factor);
+ }
+
+ return this.encodeSignedIntegers(numbers);
+ },
+
+ decodeFloats: function (encoded, options) {
+ options = defaultOptions(options);
+
+ var numbers = this.decodeSignedIntegers(encoded);
+ for (var i = 0, len = numbers.length; i < len; ++i) {
+ numbers[i] /= options.factor;
+ }
+
+ return numbers;
+ },
+
+ encodeSignedIntegers: function (numbers) {
+ for (var i = 0, len = numbers.length; i < len; ++i) {
+ var num = numbers[i];
+ numbers[i] = (num < 0) ? ~(num << 1) : (num << 1);
+ }
+
+ return this.encodeUnsignedIntegers(numbers);
+ },
+
+ decodeSignedIntegers: function (encoded) {
+ var numbers = this.decodeUnsignedIntegers(encoded);
+
+ for (var i = 0, len = numbers.length; i < len; ++i) {
+ var num = numbers[i];
+ numbers[i] = (num & 1) ? ~(num >> 1) : (num >> 1);
+ }
+
+ return numbers;
+ },
+
+ encodeUnsignedIntegers: function (numbers) {
+ var encoded = '';
+ for (var i = 0, len = numbers.length; i < len; ++i) {
+ encoded += this.encodeUnsignedInteger(numbers[i]);
+ }
+ return encoded;
+ },
+
+ decodeUnsignedIntegers: function (encoded) {
+ var numbers = [];
+
+ var current = 0;
+ var shift = 0;
+
+ for (var i = 0, len = encoded.length; i < len; ++i) {
+ var b = encoded.charCodeAt(i) - 63;
+
+ current |= (b & 0x1f) << shift;
+
+ if (b < 0x20) {
+ numbers.push(current);
+ current = 0;
+ shift = 0;
+ } else {
+ shift += 5;
+ }
+ }
+
+ return numbers;
+ },
+
+ encodeSignedInteger: function (num) {
+ num = (num < 0) ? ~(num << 1) : (num << 1);
+ return this.encodeUnsignedInteger(num);
+ },
+
+ // This function is very similar to Google's, but I added
+ // some stuff to deal with the double slash issue.
+ encodeUnsignedInteger: function (num) {
+ var value, encoded = '';
+ while (num >= 0x20) {
+ value = (0x20 | (num & 0x1f)) + 63;
+ encoded += (String.fromCharCode(value));
+ num >>= 5;
+ }
+ value = num + 63;
+ encoded += (String.fromCharCode(value));
+
+ return encoded;
+ }
+ };
+
+ // Export Node module
+ if (typeof module === 'object' && typeof module.exports === 'object') {
+ module.exports = PolylineUtil;
+ }
+
+ // Inject functionality into Leaflet
+ if (typeof L === 'object') {
+ if (!(L.Polyline.prototype.fromEncoded)) {
+ L.Polyline.fromEncoded = function (encoded, options) {
+ return L.polyline(PolylineUtil.decode(encoded), options);
+ };
+ }
+ if (!(L.Polygon.prototype.fromEncoded)) {
+ L.Polygon.fromEncoded = function (encoded, options) {
+ return L.polygon(PolylineUtil.decode(encoded), options);
+ };
+ }
+
+ var encodeMixin = {
+ encodePath: function () {
+ return PolylineUtil.encode(this.getLatLngs());
+ }
+ };
+
+ if (!L.Polyline.prototype.encodePath) {
+ L.Polyline.include(encodeMixin);
+ }
+ if (!L.Polygon.prototype.encodePath) {
+ L.Polygon.include(encodeMixin);
+ }
+
+ L.PolylineUtil = PolylineUtil;
+ }
})();